# Boost :

From: boost (boost_at_[hidden])
Date: 2001-03-29 05:54:06

Salut,

> > I had to do some linear algebra (eigenvalues,
> > eigen vectors, linear system of equation, on dense and sparse
> > matrices, dyadics vectors ... ).
>
> Many things to come :-).
At least I'd be able spend a sparse matrix diagonalization,
the Davidson algorithm, which is at least as efficient as plain Lanczos,
but has no problems with degenracies. Seems to be unknown outside of physics,
allthough it's not a new one.

>
> > b)
> > // defined as ( a*b + b*a) /2
> > {
> > return a.real() * b.real() - a.imag() * b.imag();
> > }
[...]
>
> BTW, where is the typo in LA_HermiteanMul, comment or code?
In the comment I added yesterday night,
defined as conjugate(a)*b + a*conjugate(b)

I need it since I have to deal with the problem that the product
of 2 Hermitean matrices doesn't nned to be hermitean,
but (A^+) * B + (B^+) * A is hermitean.

> > I would be interested in switching to boost and to do
> > some contributions to a matrix/linear algebra library
> > if Hermitean matrices will be supported.
>
> IMHO Hermitean matrices should be supported.
I still don't know how a could interface should look like.
The advantage of my approach is that the diagonals of
a hermitean matrix are reals, which works even fine
for my sparse matrix diagonalization.
The disatvantage is that H(i,j) gives an error if j>=i.
The diagonalal elemetns are accessed with H(i).

>
> > Uups, I just found your
> >
> > template<class E, class F>
> > class vector_scalar_unary
> > {
> > ...
> > }
>
> These things need a lot of documentation, I fear.
Well, I just got the
http://www.lsc.nd.edu/~jsiek/tlc/multi_array/libs/numeric/doc/LinearAlgebraConcepts.html
announcement.
Seems like I have to by a laptop so that I can read all this stuff in the
living room in front of the fire place.

Seems to get interesting,
Best wishes,
Peter