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

Sparse solver in Eigen 2.0

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

Sparse solver in Eigen 2.0

Tue Sep 02, 2014 11:23 am
I am forced to use Visual C++ 2005 version because of the project requirement. Now I am trying to use Eigen 2.0 (as it is compatible with VS2005) and am unable to use a sparse solver. Is it not implemented in Eigen 2.0 ? I am trying to solve A*x=b, where A is sparse and very high dimensional (order of 10000-50000).
I also tried using Eigen 3.2.2, but, there was a compiler error as follows:

c:\sumukhabackupofvsv\sw-partially-with-src\fc_driverassistancevideo\vehicle3danimation\DA_vsvCameraNi.h(80) : warning C4100: 'x1' : unreferenced formal parameter
1>Eigen2 support is deprecated in Eigen 3.2.x and it will be removed in Eigen 3.3. (Define EIGEN_NO_EIGEN2_DEPRECATED_WARNING to disable this warning)
1>c:\users\msu1hi\downloads\eigen-eigen-1306d75b4a21latest(3.2.2)\eigen\src/SparseCore/SparseDenseProduct.h(316) : error C2244: 'Eigen::SparseMatrixBase<Derived>::operator *' : unable to match function definition to an existing declaration definition
'const SparseDenseProductReturnType<Derived,OtherDerived>::Type Eigen::SparseMatrixBase<Derived>::operator *(const Eigen::MatrixBase<OtherDerived> &) const' existing declarations
'const SparseDenseProductReturnType<Derived,OtherDerived>::Type Eigen::SparseMatrixBase<Derived>::operator *(const Eigen::MatrixBase<OtherDerived> &) const'
'const Eigen::SparseDiagonalProduct<Derived,OtherDerived> Eigen::SparseMatrixBase<Derived>::operator *(const Eigen::DiagonalBase<DiagonalDerived> &) const'
'const SparseSparseProductReturnType<Derived,OtherDerived>::Type Eigen::SparseMatrixBase<Derived>::operator *(const Eigen::SparseMatrixBase<OtherDerived> &) const'
'const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple2_op<internal::traits<T>::Scalar,std::complex<internal::traits<T>::Scalar>>,const Derived> Eigen::SparseMatrixBase<Derived>::operator *(const std::complex<internal::traits<T>::Scalar> &) const'
'const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<internal::traits<T>::Scalar>,const Derived> Eigen::SparseMatrixBase<Derived>::operator *(const internal::traits<T>::Scalar &) const'

Any help in this regard is appreciated.
Thanks.
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS

Re: Sparse solver in Eigen 2.0

Tue Sep 02, 2014 8:27 pm
if that's the only error you get, the latest 3.2 branch should do the job: https://bitbucket.org/eigen/eigen/get/3.2.zip
sumukham
Registered Member
Posts
2
Karma
0

Re: Sparse solver in Eigen 2.0

Wed Sep 03, 2014 8:15 am
Nope. That did not help. It throws many more basic errors. An example is:
error C2676: binary '[' : 'const Eigen::CwiseNullaryOp<NullaryOp,PlainObjectType>' does not define this operator or a conversion to a type acceptable to the predefined operator - This error is in sparsematrix.h. Unable to compile my file even without using the solver.
User avatar
ggael
Moderator
Posts
3447
Karma
19
OS

Re: Sparse solver in Eigen 2.0

Fri Sep 05, 2014 6:49 am
Yes, MSVC2005 has a lot of issues with standard C++98 code, that is why we do not support it anymore ourself, but we could accept patches.


Bookmarks



Who is online

Registered users: Bing [Bot], claydoh, Google [Bot], rblackwell, Yahoo [Bot]