Boost logo

Ublas :

From: Karl Meerbergen (karl.meerbergen_at_[hidden])
Date: 2008-08-16 10:08:51


Andreas Klöckner wrote:
>
> Hi Thomas, all,
>
> Another point: when unifying over complex and real matrix properties
> (orthogonal/unitary, symmetric/hermitian), we should pick one, and
> stick to it. There's some inconsistency in there already: we use hegv,
> but orgqr. I'd suggest we stick to the 'real' terms (orthogonal,
> symmetric).
>
> Andreas
>

This is a good point, but we need to be careful here. Symmetric and
Hermitian are not the same in the complex case. For example, a complex
symmetric system is solved with sysv and a Hermitian complex system with
hesv. Both should be available.
Mathematically, zhesv (complex) corresponds to dsysv (real).

The name orgqr() does not mean anything in the complex case.

The same holds for the eigenvalue problem: Hermitian complex eigenvalue
problems behave like real symmetric problems.

There is some confusion about the name Hermitian outside the mathematics
world, but this is a weak argument for using wrong names. The same holds
for orthogonal and unitary.

One possibility that should please everyone is to have both names, but
in the complex case the symmetric function name might not exist (since
it mathematically does not make sense) or mean someting else than its
Hermitian brother.

For example syev() and heev() are the same for the real case, while for
the complex case there is only heev() (I do not think there is a complex
symmetric eigensolver in LAPACK.)

For linear systems, sysv() and hesv() are the same for the real case,
while they are something different for the complex case.

Karl

> ------------------------------------------------------------------------
>
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/ublas
>