|
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 ==============================================