Ostien, Jakob T wrote: > Hi, > > I got myself confused with the down_cast functionality. Say I assemble three > bilinear forms into Matrix A, B, and C, and then consider the expression: > > K = A - A (B^-1) C > > (which I actually want to do, go figure). I like the uBLAS backend so I > would like to try > > A.mat() - ublas::prod( A.mat(), ublas::prod( B.invert(), C.mat() ) ) > > But when I try and down_cast from dolfin::Matrix to uBLASMatrix with > > uBLASDenseMatrix AA = A.down_cast<uBLASDenseMatrix>(); > > I get a message that down_cast doesn't live in the Matrix class (even though > its in the GenericTensor class). > > So I ask, what is the intended usage to get a uBLASMatrix from a Matrix? >
You shouldn't be casting from Matrix to uBLASFooMatrix. Down casting is intended for casting from a GenericMatrix to a derived class (e.g. PETScMatrix, uBLASSparseMatrix, etc). You should create a uBLASSparseMatrix instead of a Matrix. Garth > Thanks, > Jake > > > _______________________________________________ > DOLFIN-dev mailing list > [email protected] > http://www.fenics.org/mailman/listinfo/dolfin-dev _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
