$include_dir="/home/hyper-archives/ublas/include"; include("$include_dir/msg-header.inc") ?>
From: Kresimir Fresl (fresl_at_[hidden])
Date: 2007-08-24 12:22:56
Hi aain,
> Additional question:
>   When it is written "symmetric matrix" in the documentation
> there, that means that I still pass a "usual"
> "ublas::matrix<std::complex<double> >",
> and during the call only upper or lower triangular
> part of it will be refered by lapack ; i.e. no
> "ublas::symmetric_adaptor" or "ublas::symmetric_matrix"
> is needed ?
As you can see in the table in atlas bindings doc, there are usually two 
overloads of functions for symmetric and Hermitian matrices; eg.:
   syrk (Uplo,Trans,a,A,b,C)
   syrk (Trans,a,A,b,C)
For second overload, "It is assumed that matrix traits class can 
determine whether upper or lower triangular part of A contains the 
corresponding part of the symmetric/Hermitian matrix".
That is, first overload is for "usual" ublas matrices (and first 
argument must be either CblasUpper or CblasLower, denoting that leading 
upper or lower triangular part of A contains the upper or lower 
triangular part of the symmetric/Hermitian matrix).
Second overload is for matrices wrapped in "ublas::symmetric_adaptor". 
Traits class will extract CblasUpper/CblasLower from adaptor.
See examples ublas_symm*.cc in
http://boost.cvs.sourceforge.net/boost-sandbox/boost-sandbox/libs/numeric/bindings/atlas/
Hope this helps. Regards,
fres