Boost logo

Ublas :

From: Karl Meerbergen (Karl.Meerbergen_at_[hidden])
Date: 2005-09-26 08:14:50


On Thursday 22 September 2005 16:41, Nico Galoppo wrote:
> Hi,
>
> the documentation of atlas::potrf(SA) suggests using symmetric_adaptor<>(A)
> to let potrf() know which part of the matrix (upper,lower) is being
> represented. But what about if I don't want to store the original matrix A
> as a dense matrix? Say i have a symmetric_matrix<> A, shouldn't I be able
> to call atlas::potrf(A)?

Hi,

potrf assumes a matrix has dense storage, for computational efficiency
reasons.

For the packed format, there is pptrf()

Bye the way, it is lapack::potrf() and not atlas, and the matrix should be a
hermitian_adaptor<>(A) and not symmetric_adaptor<>(A) (except when A is
real).

Best,

Karl

>
> Trying to compile above approach gives following compilation error:
>
> h:\Dev\boost_1_33_0\boost\numeric\bindings\atlas\clapack.hpp(539) : error
> C2027: use of undefined type 'boost::STATIC_ASSERTION_FAILURE<x>'
> with
> [
> x=false
> ]
> h:\Dev\boost_1_33_0\boost\numeric\bindings\atlas\clapack.hpp(539)
> : see reference to class template instantiation
> 'boost::STATIC_ASSERTION_FAILURE<x>' being compiled
> with
> [
> x=false
> ]
> h:\Nico's Documents\Code\Hybrid\include\math\smwmatrix.h(135) :
> see reference to function template instantiation 'int
> boost::numeric::bindings::atlas::potrf<boost::numeric::ublas::symmetric_mat
>rix<T,TRI>>(SymmA &)' being compiled
> with
> [
> T=OpenTissue::SMWMatrix<Application::model_type>::real_type,
> TRI=boost::numeric::ublas::upper,
>
> SymmA=boost::numeric::ublas::symmetric_matrix<OpenTissue::SMWMatrix<Applica
>tion::model_type>::real_type,boost::numeric::ublas::upper> ]
> C:\Program Files\Microsoft Visual Studio .NET
> 2003\Vc7\include\map(36)
>
> : while compiling class-template member function 'void
>
> OpenTissue::SMWMatrix<Model>::init(const Model &,const
> OpenTissue::SMWMatrix<Model>::real_type)'
> with
> [
> Model=Application::model_type
> ]

-- 
==============================================
Look at our unique training program and
Register on-line at http://www.fft.be/?id=35
----------------------------------------------
Karl Meerbergen
Free Field Technologies
16 place de l'Université
B-1348 Louvain-la-Neuve - BELGIUM
Company Phone:  +32 10 45 12 26
Company Fax:    +32 10 45 46 26
Mobile Phone:   +32 474 26 66 59
Home Phone:     +32 2 306 38 10
mailto:Karl.Meerbergen_at_[hidden]
http://www.fft.be
==============================================