Add template to specify QR permutation index type, Fix ColPivHouseholderQR Lapacke bindings

Reference issue

Fixes #2586 (closed)

What does this implement/fix?

The permutation index type can now be specified for ColPivHouseholderQR, FullPivHouseHolderQR, and CompleteOrthogonalDecomposition. The default type is either int or lapack_int if the lapacke bindings are used. Fixed ColPivHouseholderQR lapacke bindings so that they are called when passed by non-const reference, and if lapack_int is int64_t. Also fixed determinant() to produce correct sign. Removed much of the macros to make it easier to debug.

TODO: apply the same changes to LU and SVD. The changes are pretty simple, mostly copy and paste work. Would be a good project for someone who is starting out.

Additional information

Edited by Charles Schlosser

Merge request reports

Loading