This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Problem with sparsesolvers

Tags: None
(comma "," separated)
rochmollero
Registered Member
Posts
2
Karma
0

Problem with sparsesolvers

Mon Mar 24, 2014 4:12 pm
Hi,
I'm a french student, and I have the following problem (http://hastebin.com/husetorebi.tex)

Here's my code :

SparseMatrix<double, ColMajor> A;
SparseLU<SparseMatrix<double, ColMajor>, COLAMDOrdering<double> > solver3;
solver3.analyzePattern(A);
//solver3.factorize(A);


And the error

Erreur 76 error C2664:
'void Eigen::COLAMDOrdering<Index>::operator ()<Eigen::SparseMatrix<_Scalar>>(const MatrixType &,Eigen::PermutationMatrix<SizeAtCompileTime,MaxSizeAtCompileTime,IndexType> &)' :
impossible de convertir le paramètre 2 de
'Eigen::PermutationMatrix<SizeAtCompileTime,MaxSizeAtCompileTime,IndexType>' en
'Eigen::PermutationMatrix<SizeAtCompileTime,MaxSizeAtCompileTime,IndexType> &'
c:\eigen\eigen\src\SparseLU\SparseLU.h 377 1


French means : "Unable to convert the param 2 of"



Seems to be linking to this line in SparseLU.h :

void SparseLU<MatrixType, OrderingType>::analyzePattern(const MatrixType& mat)
{

//TODO It is possible as in SuperLU to compute row and columns scaling vectors to equilibrate the matrix mat.

OrderingType ord;
ord(mat,m_perm_c); ///////////// THERE !


m_perm_c seems not to be the right type, or the argument at compile time

Any idea ?
Regards,
Roch
rochmollero
Registered Member
Posts
2
Karma
0

Re: Problem with sparsesolvers

Mon Mar 24, 2014 5:57 pm
Problem Solved on the chat :
COLAMDOrdering<double> is wrong
COLAMDOrdering<int> is good
because the type is the one of indices in arrays.

Now it compiles.
Thanks


Bookmarks



Who is online

Registered users: Baidu [Spider], Bing [Bot], Google [Bot]