Hi.
The attached file solves the
mixed formulation of the diffusion equation
as a
block system
. I would like to create a specific preconditioner:
BlockMatrix( [ [D, None], [None, M] ] )
in which D = diag(a.mat) and M is the symmetric Gauss-Seidel (GS) matrix for
Y = b.mat @ D-1 @ b.mat.T
where @ means matrix multiplication. I know one can create
Jacobi and GS preconditioners
, but I first need to compute matrix Y. Is this possible in NGSolve, so that Y can be a BaseMatrix for GS?
I would appreciate any advice about best practices for doing linear algebra in NGSolve.
Thank you,
Barry