Closed IuriiSorokin closed 6 years ago
Hi,
Thank you for reporting and supplying an example.
I failed to catch this requirement of SparseLU last time I updated the _compute_controlpoints function. I have committed a fix in ce953636453941b98e6bd4fdf166dae8068d30f9. We now use the SparseQR solver if the left-hand side matrix is non-square. I have also added your example to test this case (see test/examples/fit_random_1d_spline.cpp). You can run the tests in test/examples by supplying the argument [examples] to splinter-test.
I will proceed with closing this issue.
When fitting a
BSpline
to N > 100 data points, the SparseLU solver is used. However, if no regularization is chosen, incompute_control_points(...)
the matricesA
andB
are not square, and SparseLU is inapplicable to non-square matrices. The problem can be reproduced with the code below.I assume, this is not the expected behavior, otherwise please delete the issue.