Boost logo

Ublas :

From: eeitan_at_[hidden]
Date: 2006-03-09 02:49:24


typedef ublas::compressed_matrix<double, boost::numeric::ublas::row_major>
SparseMatrix;

and i have (3) more technical questions:
1.
using the lanczos.h i get the following warnings:

g++ -O3 -Wall -I/usr/local/include/boost-1_33 -I/usr/local/include
-I/usr/local/src/ALPS/alps-1.2.2/src/ QuantOperator.C testFinite2sites.C
-lg2c -llapack -lblas -lboost_filesystem-gcc-1_33 -o testFinite2sites
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h: In member function `void
   ietl::lanczos<MATRIX, VS>::eigenvectors(IN, IN, OUT, ietl::Info<typename
ietl::vectorspace_traits<VS>::magnitude_type>&, GEN, int) [with IN =
   __gnu_cxx::__normal_iterator<double*, std::vector<double,
   std::allocator<double> > >, OUT = std::back_insert_iterator<Base>, GEN =
   boost::random::lagged_fibonacci_01<double, 48, 607, 273>, MATRIX =
   SparseMatrix, VS = SuperBlock::getEigenPairsNoMultiplicities(Base&, Vector&)
   const::Vecspace]':
QuantOperator.C:925: instantiated from here
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h:225: warning: comparison
   between signed and unsigned integer expressions
QuantOperator.C:925: instantiated from here
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h:227: warning: comparison
   between signed and unsigned integer expressions
QuantOperator.C:925: instantiated from here
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h:272: warning: comparison
   between signed and unsigned integer expressions
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h: In member function `void
   ietl::lanczos<MATRIX, VS>::generate_tmatrix(IT&) [with IT =
   ietl::lanczos_iteration_nlowest<double>, MATRIX = SparseMatrix, VS =
   SuperBlock::getEigenPairsNoMultiplicities(Base&, Vector&) const::Vecspace]':
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h:349: instantiated from `void
ietl::lanczos<MATRIX, VS>::generate_tmatrix(IT&, GEN) [with IT =
ietl::lanczos_iteration_nlowest<double>, GEN =
boost::random::lagged_fibonacci_01<double, 48, 607, 273>, MATRIX =
SparseMatrix, VS = SuperBlock::getEigenPairsNoMultiplicities(Base&, Vector&)
const::Vecspace]'
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h:89: instantiated from `void
ietl::lanczos<MATRIX, VS>::calculate_eigenvalues(IT&, GEN) [with IT =
ietl::lanczos_iteration_nlowest<double>, GEN =
boost::random::lagged_fibonacci_01<double, 48, 607, 273>, MATRIX =
SparseMatrix, VS = SuperBlock::getEigenPairsNoMultiplicities(Base&, Vector&)
const::Vecspace]'
QuantOperator.C:900: instantiated from here
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h:357: warning: comparison
   between signed and unsigned integer expressions
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h: In member function `void
   ietl::lanczos<MATRIX, VS>::generate_tmatrix(IT&) [with IT =
   ietl::fixed_lanczos_iteration<double>, MATRIX = SparseMatrix, VS =
   SuperBlock::getEigenPairsNoMultiplicities(Base&, Vector&) const::Vecspace]':
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h:349: instantiated from `void
ietl::lanczos<MATRIX, VS>::generate_tmatrix(IT&, GEN) [with IT =
ietl::fixed_lanczos_iteration<double>, GEN =
boost::random::lagged_fibonacci_01<double, 48, 607, 273>, MATRIX =
SparseMatrix, VS = SuperBlock::getEigenPairsNoMultiplicities(Base&, Vector&)
const::Vecspace]'
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h:191: instantiated from `void
ietl::lanczos<MATRIX, VS>::eigenvectors(IN, IN, OUT, ietl::Info<typename
ietl::vectorspace_traits<VS>::magnitude_type>&, GEN, int) [with IN =
__gnu_cxx::__normal_iterator<double*, std::vector<double,
std::allocator<double> > >, OUT = std::back_insert_iterator<Base>, GEN =
boost::random::lagged_fibonacci_01<double, 48, 607, 273>, MATRIX =
SparseMatrix, VS = SuperBlock::getEigenPairsNoMultiplicities(Base&, Vector&)
const::Vecspace]'
QuantOperator.C:925: instantiated from here
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h:357: warning: comparison
   between signed and unsigned integer expressions
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h: In member function `void
   ietl::lanczos<MATRIX, VS>::eigenvectors(IN, IN, OUT, ietl::Info<typename
   ietl::vectorspace_traits<VS>::magnitude_type>&, GEN, int) [with IN =
   __gnu_cxx::__normal_iterator<double*, std::vector<double,
   std::allocator<double> > >, OUT = std::back_insert_iterator<Base>, GEN =
   boost::random::lagged_fibonacci_01<double, 48, 607, 273>, MATRIX =
   SparseMatrix, VS = SuperBlock::getEigenPairsNoMultiplicities(Base&, Vector&)
   const::Vecspace]':
/usr/local/src/ALPS/alps-1.2.2/src/ietl/lanczos.h:142: warning: `unsigned int
   deltam' might be used uninitialized in this function

2.
but my bigger problem is that i have multiplicity in my matrix so i need to use
band lanczos algorithm. if i try to only #include <ietl/bandlanczos.h> and not
even using it....i get a linkage problem:

g++ -O3 -Wall -I/usr/local/include/boost-1_33 -I/usr/local/include
-I/usr/local/src/ALPS/alps-1.2.2/src/ QuantOperator.C testFinite2sites.C
-lg2c -llapack -lblas -lboost_filesystem-gcc-1_33 -o testFinite2sites
In file included from QuantOperator.hpp:13,
                 from QuantOperator.C:1:
/usr/local/src/ALPS/alps-1.2.2/src/ietl/bandlanczos.h: In member function `void
   ietl::indexer::next()':
/usr/local/src/ALPS/alps-1.2.2/src/ietl/bandlanczos.h:119: warning: comparison
   between signed and unsigned integer expressions
In file included from QuantOperator.hpp:13,
                 from testFinite2sites.C:6:
/usr/local/src/ALPS/alps-1.2.2/src/ietl/bandlanczos.h: In member function `void
   ietl::indexer::next()':
/usr/local/src/ALPS/alps-1.2.2/src/ietl/bandlanczos.h:119: warning: comparison
   between signed and unsigned integer expressions
/tmp/ccd7mHYv.o(.text+0x0): In function `ietl::indexer::cnv(int)':
: multiple definition of `ietl::indexer::cnv(int)'
/tmp/ccI4CH6f.o(.text+0x0): first defined here
/tmp/ccd7mHYv.o(.text+0x40): In function `ietl::indexer::next()':
: multiple definition of `ietl::indexer::next()'
/tmp/ccI4CH6f.o(.text+0x40): first defined here
/tmp/ccd7mHYv.o(.text+0x160): In function `ietl::indexer::deflate(int)':
: multiple definition of `ietl::indexer::deflate(int)'
/tmp/ccI4CH6f.o(.text+0x160): first defined here
/tmp/ccd7mHYv.o(.text+0x220): In function `ietl::indexer::~indexer
[in-charge]()':
: multiple definition of `ietl::indexer::~indexer [in-charge]()'
/tmp/ccI4CH6f.o(.text+0x220): first defined here
/tmp/ccd7mHYv.o(.text+0x340): In function `ietl::indexer::~indexer
[not-in-charge]()':
: multiple definition of `ietl::indexer::~indexer [not-in-charge]()'
/tmp/ccI4CH6f.o(.text+0x340): first defined here
/tmp/ccd7mHYv.o(.text+0x460): In function
`ietl::indexer::indexer[in-charge](int)':
: multiple definition of `ietl::indexer::indexer[in-charge](int)'
/tmp/ccI4CH6f.o(.text+0x460): first defined here
/tmp/ccd7mHYv.o(.text+0x7a0): In function
`ietl::indexer::indexer[not-in-charge](int)':
: multiple definition of `ietl::indexer::indexer[not-in-charge](int)'
/tmp/ccI4CH6f.o(.text+0x7a0): first defined here
collect2: ld returned 1 exit status

3.
in addition i will happy to get examples of using jacobi.h and bandlanczos.h .
thanks for your attention eitan.

Quoting Matthias Troyer <troyer_at_[hidden]>:

> Hi Eitan,
>
> Which matrix class do you use?
>
> Matthias
>
> On Mar 8, 2006, at 4:27 PM, eeitan_at_[hidden] wrote:
>
> >
> > thanks for your answear. i am using ublas with ietl::lanczos to get
> > lowest
> > eigen-pair and its takes much more time than using lapack to get all
> > eigen-pairs ( i am talking about sparse matrices 4000x4000 but my
> > plan is to
> > work with much larger)
> > eitan
> > Quoting Matthias Troyer <troyer_at_[hidden]>:
> >
> >> Hi Eeitan,
> >>
> >> The performance of IETL depends *only* on the performance of the
> >> underlying matrix/vector library. The time spent in the actual IETL
> >> functions is negligible. If you see any bad performance when using
> >> IETL with a specific linear algebra library, then it is because of
> >> that library.
> >>
> >> Matthias
> >>
> >> On Feb 20, 2006, at 3:45 AM, eeitan_at_[hidden] wrote:
> >>
> >>>
> >>> hello, is someone knows a good package that uses UBLAS ,for
> >>> calculating
> >>> eigenvalues & eigenvectors for sparse matrices?? ( i tried IETL but
> >>> their
> >>> performance is poor as far as i can see) .
> >>> thanks eitan.
> >>>
> >>> ----------------------------------------------------------------
> >>> This message was sent using IMP, the Internet Messaging Program.
> >>>
> >>> _______________________________________________
> >>> ublas mailing list
> >>> ublas_at_[hidden]
> >>> http://lists.boost.org/mailman/listinfo.cgi/ublas
> >>
> >> _______________________________________________
> >> ublas mailing list
> >> ublas_at_[hidden]
> >> http://lists.boost.org/mailman/listinfo.cgi/ublas
> >>
> >
> >
> >
> >
> > ----------------------------------------------------------------
> > This message was sent using IMP, the Internet Messaging Program.
> >
> > _______________________________________________
> > ublas mailing list
> > ublas_at_[hidden]
> > http://lists.boost.org/mailman/listinfo.cgi/ublas
>
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/ublas
>

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.