Hello all,

I have a "small" linear of the type M x = y where M = [ A  B; C  A^T] and x = 
[x1 x2], y = [y1 y2]. The block-matrix M is small enough to be directly 
inverted 
with a sparse direct solver like SparseDirectUMFPACK. I have a couple of 
questions concerning the "assembly" process for M.

I have A, B and C already assembled as SparseMatrix<double>, and I am thinking 
of using the BlockMatrix class, that is, to have M as a BlockMatrix with 4 
blocks (organized as a 2x2 grid). Trouble is, I cannot seem to find the 
transpose operation for a SparseMatrix to create the "A^T" block... my guess 
that can be avoided somehow but I cannot see how to do that in the context of 
the BlockMatrix classes.

If I were to use an iterative solver (GMRES) instead of UMFPACK, could I have 
"M" to be some generic matrix type (derived from SparseMatrix<double>) for 
which 
I override the vmult operation to do what I want? Or is this not a good 
approach?

thanks for helping!
  -- Mihai


_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to