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

This commit is contained in:
Charles Schlosser
2023-01-11 15:57:28 +00:00
parent 9463fc95f4
commit be7791e097
10 changed files with 309 additions and 252 deletions

View File

@@ -252,15 +252,22 @@ template<typename ExpressionType, int Direction> class VectorwiseOp;
template<typename MatrixType,int RowFactor,int ColFactor> class Replicate;
template<typename MatrixType, int Direction = BothDirections> class Reverse;
#if defined(EIGEN_USE_LAPACKE)
// Lapacke interface requires StorageIndex to be lapack_int
typedef lapack_int DefaultStorageIndex;
#else
typedef int DefaultStorageIndex;
#endif
template<typename MatrixType> class FullPivLU;
template<typename MatrixType> class PartialPivLU;
namespace internal {
template<typename MatrixType> struct inverse_impl;
}
template<typename MatrixType> class HouseholderQR;
template<typename MatrixType> class ColPivHouseholderQR;
template<typename MatrixType> class FullPivHouseholderQR;
template<typename MatrixType> class CompleteOrthogonalDecomposition;
template<typename MatrixType, typename StorageIndex = DefaultStorageIndex> class ColPivHouseholderQR;
template<typename MatrixType, typename StorageIndex = int> class FullPivHouseholderQR;
template<typename MatrixType, typename StorageIndex = DefaultStorageIndex> class CompleteOrthogonalDecomposition;
template<typename MatrixType> class SVDBase;
template<typename MatrixType, int Options = 0> class JacobiSVD;
template<typename MatrixType, int Options = 0> class BDCSVD;