← Back to team overview

dolfin team mailing list archive

Diagonal operations on GenericMatrix

 

Hello!

I would very much like to have something like:

  // Set the diagonal of a matrix
  GenericMatrix::set_diagonal(const GenericVector& vec);

  // Scale Matrix with a diagonal matrix (represented as a Vector)
  GenericMatrix::scale(const GenericVector& vec);
  (maybe use operator*=)

added to the GenericMatrix interface.

The corresponding backend specific methods would be:

  // PETSc
  MatDiagonalSet
  MatDiagonalScale

  // Epetra
  ReplaceDiagonalValues
  RightScale

  // MTL4/uBLAS find out later...

which should ensure the methods works in parallel too.

Any objections or advices in respect to implement these?

Best regards,

Johan



Follow ups