1#ifndef included_EpetraMatrixOperations_H_
2#define included_EpetraMatrixOperations_H_
4#include "AMP/matrices/operations/MatrixOperations.h"
17 void mult( std::shared_ptr<const Vector> x,
19 std::shared_ptr<Vector> y )
override;
29 std::shared_ptr<Vector> out )
override;
52 std::shared_ptr<MatrixData> B,
53 std::shared_ptr<MatrixData> C )
override;
void multTranspose(std::shared_ptr< const Vector > in, MatrixData const &A, std::shared_ptr< Vector > out) override
Matrix transpose-vector multiplication.
void scale(AMP::Scalar, std::shared_ptr< const Vector >, MatrixData &) override
Scale the matrix by a scalar and diagonal matrix.
void setScalar(AMP::Scalar alpha, MatrixData &A) override
Set the non-zeros of the matrix to a scalar.
void setIdentity(MatrixData &A) override
Set the matrix to the identity matrix.
void mult(std::shared_ptr< const Vector > x, MatrixData const &A, std::shared_ptr< Vector > y) override
Matrix-vector multiplication.
void scaleInv(AMP::Scalar, std::shared_ptr< const Vector >, MatrixData &) override
Scale the matrix by a scalar and inverse of diagonal matrix.
void matMatMult(std::shared_ptr< MatrixData > A, std::shared_ptr< MatrixData > B, std::shared_ptr< MatrixData > C) override
Compute the product of two matrices.
void axpy(AMP::Scalar alpha, const MatrixData &X, MatrixData &Y) override
Compute the linear combination of two matrices.
void extractDiagonal(MatrixData const &A, std::shared_ptr< Vector > buf) override
Extract the diagonal values into a vector.
void setDiagonal(std::shared_ptr< const Vector > in, MatrixData &A) override
Set the diagonal to the values in a vector.
void copy(const MatrixData &X, MatrixData &Y) override
Copy size and entries from X into Y.
void scale(AMP::Scalar alpha, MatrixData &A) override
Scale the matrix by a scalar.
void zero(MatrixData &A) override
Set the non-zeros of the matrix to zero.
AMP::Scalar LinfNorm(const MatrixData &X) const override
Compute the maximum row sum.
Scalar is a class used to store a scalar variable that may be different types/precision.