Hi, I already talked to some of you about this in combination with some other problem, but somehow I don't get it. I want the diagonal entries of the matrix M. But my vector 'diag' is mainly full of zeros when using MatGetDiagonal(). I can print 'DiagM' (VecView) where I see all the diagonal entries but I cannot access them using MatGetValue (Object is in wrong state. Not for factored matrix!). How can I get access to the diagonal? Thx - Clemens
KSPCreate( coml, &kspBA); KSPGetPC( kspBA, &precond); PCSetType( precond, PCCHOLESKY); PCFactorSetMatSolverPackage( precond, MAT_SOLVER_PETSC); KSPSetOptionsPrefix( kspBA, "diag_pc_type cholesky"); KSPSetFromOptions( kspBA); KSPSetOperators( kspBA, Kt, Kt, DIFFERENT_NONZERO_PATTERN); KSPSetUp( kspBA); PCFactorGetMatrix( precond, &DiagM); //DO NOT DESTROY DiagM !!! MatGetDiagonal( DiagM, diag);
