Loading...
Searching...
No Matches
SymEngine::MatrixBase Class Referenceabstract
+ Inheritance diagram for SymEngine::MatrixBase:

Public Member Functions

bool is_square () const
 
virtual unsigned nrows () const =0
 
virtual unsigned ncols () const =0
 
virtual bool eq (const MatrixBase &other) const
 
virtual tribool is_real (const Assumptions *assumptions=nullptr) const =0
 
virtual RCP< const Basicget (unsigned i, unsigned j) const =0
 
virtual void set (unsigned i, unsigned j, const RCP< const Basic > &e)=0
 
virtual std::string __str__ () const
 
virtual unsigned rank () const =0
 
virtual RCP< const Basicdet () const =0
 
virtual void inv (MatrixBase &result) const =0
 
virtual void add_matrix (const MatrixBase &other, MatrixBase &result) const =0
 
virtual void mul_matrix (const MatrixBase &other, MatrixBase &result) const =0
 
virtual void elementwise_mul_matrix (const MatrixBase &other, MatrixBase &result) const =0
 
virtual void add_scalar (const RCP< const Basic > &k, MatrixBase &result) const =0
 
virtual void mul_scalar (const RCP< const Basic > &k, MatrixBase &result) const =0
 
virtual void conjugate (MatrixBase &result) const =0
 
virtual void transpose (MatrixBase &result) const =0
 
virtual void conjugate_transpose (MatrixBase &result) const =0
 
virtual void submatrix (MatrixBase &result, unsigned row_start, unsigned col_start, unsigned row_end, unsigned col_end, unsigned row_step=1, unsigned col_step=1) const =0
 
virtual void LU (MatrixBase &L, MatrixBase &U) const =0
 
virtual void LDL (MatrixBase &L, MatrixBase &D) const =0
 
virtual void FFLU (MatrixBase &LU) const =0
 
virtual void FFLDU (MatrixBase &L, MatrixBase &D, MatrixBase &U) const =0
 
virtual void QR (MatrixBase &Q, MatrixBase &R) const =0
 
virtual void cholesky (MatrixBase &L) const =0
 
virtual void LU_solve (const MatrixBase &b, MatrixBase &x) const =0
 

Detailed Description

Definition at line 11 of file matrix.h.

Constructor & Destructor Documentation

◆ ~MatrixBase()

virtual SymEngine::MatrixBase::~MatrixBase ( )
inlinevirtual

Definition at line 14 of file matrix.h.

14{};

Member Function Documentation

◆ __str__()

std::string SymEngine::MatrixBase::__str__ ( ) const
virtual

Definition at line 6 of file matrix.cpp.

7{
9
10 for (unsigned i = 0; i < nrows(); i++) {
11 o << "[";
12 for (unsigned j = 0; j < ncols() - 1; j++)
13 o << *this->get(i, j) << ", ";
14 o << *this->get(i, ncols() - 1) << "]" << std::endl;
15 }
16
17 return o.str();
18}
T endl(T... args)
T str(T... args)

◆ eq()

bool SymEngine::MatrixBase::eq ( const MatrixBase other) const
virtual

Definition at line 20 of file matrix.cpp.

21{
22 if (this->nrows() != other.nrows() or this->ncols() != other.ncols())
23 return false;
24
25 for (unsigned i = 0; i < this->nrows(); i++)
26 for (unsigned j = 0; j < this->ncols(); j++)
27 if (neq(*this->get(i, j), *(other.get(i, j))))
28 return false;
29
30 return true;
31}
bool neq(const Basic &a, const Basic &b)
Checks inequality for a and b
Definition: basic-inl.h:29

◆ is_square()

bool SymEngine::MatrixBase::is_square ( ) const
inline

Definition at line 16 of file matrix.h.

17 {
18 return ncols() == nrows();
19 }

The documentation for this class was generated from the following files: