Update SPQR interface

This commit is contained in:
Desire NUENTSA 2012-12-07 15:32:04 +01:00
parent 895d90d3e1
commit 5afaacedc6
3 changed files with 7 additions and 7 deletions

View File

@ -141,8 +141,8 @@ template<typename Scalar, int Flags, typename Index>
MappedSparseMatrix<Scalar,Flags,Index> viewAsEigen(cholmod_sparse& cm)
{
return MappedSparseMatrix<Scalar,Flags,Index>
(cm.nrow, cm.ncol, reinterpret_cast<Index*>(cm.p)[cm.ncol],
reinterpret_cast<Index*>(cm.p), reinterpret_cast<Index*>(cm.i),reinterpret_cast<Scalar*>(cm.x) );
(cm.nrow, cm.ncol, static_cast<Index*>(cm.p)[cm.ncol],
static_cast<Index*>(cm.p), static_cast<Index*>(cm.i),static_cast<Scalar*>(cm.x) );
}
enum CholmodMode {

View File

@ -82,7 +82,7 @@ class AMDOrdering
template <typename SrcType, unsigned int SrcUpLo>
void operator()(const SparseSelfAdjointView<SrcType, SrcUpLo>& mat, PermutationType& perm)
{
SparseMatrix<typename SrcType::Scalar, ColMajor, Index> C = mat;
SparseMatrix<typename SrcType::Scalar, ColMajor, Index> C; C = mat;
// Call the AMD routine
// m_mat.prune(keep_diag()); //Remove the diagonal elements
@ -104,7 +104,7 @@ class NaturalOrdering
/** Compute the permutation vector from a column-major sparse matrix */
template <typename MatrixType>
void operator()(const MatrixType& mat, PermutationType& perm)
void operator()(const MatrixType& /*mat*/, PermutationType& perm)
{
perm.resize(0);
}

View File

@ -49,7 +49,7 @@ namespace Eigen {
* R is the sparse triangular factor. Use matrixQR() to get it as SparseMatrix.
* NOTE : The Index type of R is always UF_long. You can get it with SPQR::Index
*
* \tparam _MatrixType The type of the sparse matrix A, must be a SparseMatrix<>, either row-major or column-major.
* \tparam _MatrixType The type of the sparse matrix A, must be a column-major SparseMatrix<>
* NOTE
*
*/
@ -61,7 +61,7 @@ class SPQR
typedef typename _MatrixType::RealScalar RealScalar;
typedef UF_long Index ;
typedef SparseMatrix<Scalar, _MatrixType::Flags, Index> MatrixType;
typedef PermutationMatrix<Dynamic, Dynamic, Index> PermutationType;
typedef PermutationMatrix<Dynamic, Dynamic> PermutationType;
public:
SPQR()
: m_ordering(SPQR_ORDERING_DEFAULT),
@ -153,7 +153,7 @@ class SPQR
MatrixType matrixQR() const
{
MatrixType R;
R = viewAsEigen<Scalar, MatrixType::Flags, Index>(*m_cR);
R = viewAsEigen<Scalar, MatrixType::Flags, typename MatrixType::Index>(*m_cR);
return R;
}
/// Get an expression of the matrix Q