Re: matrix<dense1D<double> > possible for representing rank-3 tensor?

Peter Gottschling <[email protected]> Wed, 14 Dec 2005 11:09:44 -0500
Newsgroups gmane.comp.lib.mtl.devel
Message-ID <[email protected]>
Hello Johan,

There are tensors implemented in Blitz++ (http://www.oonumerics.org/ 
blitz/).   I suppose that you can write your algorithm in a better  
way there then with a MTL hack.  BTW, I don't say this to scare you  
away for the rest of my life.

Cheers,
Peter

On Dec 14, 2005, at 9:54 AM, Johan Seland wrote:

> Hello all MTLers.
>
> I am trying to implement a change of basis algorithm from trivariate
> power basis to trivariate Bernstein basis. I have it all up and
> running in Mathematica, so I think my algorithm is sound.
>
> However, it involves a rank-3 tensor, which I had hoped I could
> represent in MTL using matrix<dense1D<double>, rectangle<>,
> dense<internal>, column_major>?
>
> Is this a viable option, or would I run into all sorts of trouble?
> (I know I can't directly expect MTL to handle Matrix.Tensor products,
> and I am prepared to write these myself using slices (ie. MTL
> 2D-matrices) )
>
> I am currently having  problems passing references to this beast
> around. It seems like the caller always segfaults after my
> initialization function of this beast has returned.
>
> What I am trying to do is along these lines:
>
> template<typename T>
> T
> torus( T& A) {
>     A.resize( 5, 5 );
>
>     for ( typename T::iterator i = A.begin();
>         i != A.end(); ++i )
>         for ( typename T::OneD::iterator j = (*i).begin();
>             j != (*i).end(); ++j ) {
>                 (*j).resize( 5 );
>             }
>         A[.][.][.] = ...
>         .
>         .
>     }
>
> calculateM() {
>     matrix<dense1D<double>, rectangle<>, dense<internal>,  
> column_major> A;
>     torus(A);
>     <-- SEGFAULTS here.
> }
>
> --
> Help a man with his math problems and you get him off your back for  
> a day.
> Teach a man math, and you scare him off for the rest of your life.
>
> Regards Johan Seland
> PhD Student
> Center of Mathematics for Applications
> University of Oslo
>
> _______________________________________________
> This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/
>

------------
Peter Gottschling
Research Associate
Open Systems Laboratory
Indiana University
301i Lindley Hall
Bloomington, IN 47405
Tel.: +1 812 855-8898   Fax: +1 812 856 0853
http://www.osl.iu.edu/~pgottsch


_______________________________________________
This list is archived at http://www.osl.iu.edu/MailArchives/mtl-devel/