mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-10-16 18:11:29 +08:00
bug #1086: replace deprecated UF_long by SuiteSparse_long
This commit is contained in:
parent
56488ddc0f
commit
7aa90a3b0f
@ -78,7 +78,11 @@ cholmod_sparse viewAsCholmod(SparseMatrix<_Scalar,_Options,_Index>& mat)
|
|||||||
{
|
{
|
||||||
res.itype = CHOLMOD_INT;
|
res.itype = CHOLMOD_INT;
|
||||||
}
|
}
|
||||||
|
<<<<<<< local
|
||||||
else if (internal::is_same<_Index,UF_long>::value)
|
else if (internal::is_same<_Index,UF_long>::value)
|
||||||
|
=======
|
||||||
|
else if (internal::is_same<_StorageIndex,SuiteSparse_long>::value)
|
||||||
|
>>>>>>> other
|
||||||
{
|
{
|
||||||
res.itype = CHOLMOD_LONG;
|
res.itype = CHOLMOD_LONG;
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ namespace Eigen {
|
|||||||
} // End namespace internal
|
} // End namespace internal
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
<<<<<<< local
|
||||||
* \ingroup SPQRSupport_Module
|
* \ingroup SPQRSupport_Module
|
||||||
* \class SPQR
|
* \class SPQR
|
||||||
* \brief Sparse QR factorization based on SuiteSparseQR library
|
* \brief Sparse QR factorization based on SuiteSparseQR library
|
||||||
@ -53,15 +54,46 @@ namespace Eigen {
|
|||||||
* NOTE
|
* NOTE
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
=======
|
||||||
|
* \ingroup SPQRSupport_Module
|
||||||
|
* \class SPQR
|
||||||
|
* \brief Sparse QR factorization based on SuiteSparseQR library
|
||||||
|
*
|
||||||
|
* This class is used to perform a multithreaded and multifrontal rank-revealing QR decomposition
|
||||||
|
* of sparse matrices. The result is then used to solve linear leasts_square systems.
|
||||||
|
* Clearly, a QR factorization is returned such that A*P = Q*R where :
|
||||||
|
*
|
||||||
|
* P is the column permutation. Use colsPermutation() to get it.
|
||||||
|
*
|
||||||
|
* Q is the orthogonal matrix represented as Householder reflectors.
|
||||||
|
* Use matrixQ() to get an expression and matrixQ().transpose() to get the transpose.
|
||||||
|
* You can then apply it to a vector.
|
||||||
|
*
|
||||||
|
* R is the sparse triangular factor. Use matrixQR() to get it as SparseMatrix.
|
||||||
|
* NOTE : The Index type of R is always SuiteSparse_long. You can get it with SPQR::Index
|
||||||
|
*
|
||||||
|
* \tparam _MatrixType The type of the sparse matrix A, must be a column-major SparseMatrix<>
|
||||||
|
*
|
||||||
|
* \implsparsesolverconcept
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
>>>>>>> other
|
||||||
template<typename _MatrixType>
|
template<typename _MatrixType>
|
||||||
class SPQR
|
class SPQR
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef typename _MatrixType::Scalar Scalar;
|
typedef typename _MatrixType::Scalar Scalar;
|
||||||
typedef typename _MatrixType::RealScalar RealScalar;
|
typedef typename _MatrixType::RealScalar RealScalar;
|
||||||
|
<<<<<<< local
|
||||||
typedef UF_long Index ;
|
typedef UF_long Index ;
|
||||||
typedef SparseMatrix<Scalar, ColMajor, Index> MatrixType;
|
typedef SparseMatrix<Scalar, ColMajor, Index> MatrixType;
|
||||||
typedef PermutationMatrix<Dynamic, Dynamic> PermutationType;
|
typedef PermutationMatrix<Dynamic, Dynamic> PermutationType;
|
||||||
|
=======
|
||||||
|
typedef SuiteSparse_long StorageIndex ;
|
||||||
|
typedef SparseMatrix<Scalar, ColMajor, StorageIndex> MatrixType;
|
||||||
|
typedef Map<PermutationMatrix<Dynamic, Dynamic, StorageIndex> > PermutationType;
|
||||||
|
>>>>>>> other
|
||||||
public:
|
public:
|
||||||
SPQR()
|
SPQR()
|
||||||
: m_isInitialized(false), m_ordering(SPQR_ORDERING_DEFAULT), m_allow_tol(SPQR_DEFAULT_TOL), m_tolerance (NumTraits<Scalar>::epsilon()), m_useDefaultThreshold(true)
|
: m_isInitialized(false), m_ordering(SPQR_ORDERING_DEFAULT), m_allow_tol(SPQR_DEFAULT_TOL), m_tolerance (NumTraits<Scalar>::epsilon()), m_useDefaultThreshold(true)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user