Make NonLinearOptimization module work with sparse matrices
Describe the feature you would like to be implemented.
I would like to make the Powell Hybrid Method work with a sparse Jacobian matrix, potentially with Eigens inbuilt SparseQR or SparseLU solvers.
Would such a feature be useful for other users? Why?
In some cases, factorisation of a sparse matrix is considerably faster than for an equivalent dense matrix.
Any hints on how to implement the requested feature?
Currently the routine is implemented using the HouseholderQR factorization for dense matrices, this does not do any column pivoting. Whereas SparseQR does use column pivoting. Due to the presence of the P pivoting matrix, the result Q and R matrices are not equivalent. As such, I am currently unsure how I might use the results of SparseQR in the subroutines such as dogleg, r1updt etc. Unfortunately my grasp of what these internal methods are doing is not sufficient. If anyone could point me in the right direction I would be very grateful.