SymEngine::DenseMatrix Class Reference
+ Inheritance diagram for SymEngine::DenseMatrix:
+ Collaboration diagram for SymEngine::DenseMatrix:

Public Member Functions

 DenseMatrix (const DenseMatrix &)=default
 
 DenseMatrix (unsigned row, unsigned col)
 
 DenseMatrix (unsigned row, unsigned col, const vec_basic &l)
 
 DenseMatrix (const vec_basic &column_elements)
 
DenseMatrixoperator= (const DenseMatrix &other)=default
 
void resize (unsigned i, unsigned j)
 
virtual RCP< const Basicget (unsigned i, unsigned j) const
 
virtual void set (unsigned i, unsigned j, const RCP< const Basic > &e)
 
virtual vec_basic as_vec_basic () const
 
virtual unsigned nrows () const
 
virtual unsigned ncols () const
 
virtual bool is_lower () const
 
virtual bool is_upper () const
 
virtual tribool is_zero () const
 
virtual tribool is_diagonal () const
 
virtual tribool is_real (const Assumptions *assumptions=nullptr) const
 
virtual tribool is_symmetric () const
 
virtual tribool is_hermitian () const
 
virtual tribool is_weakly_diagonally_dominant () const
 
virtual tribool is_strictly_diagonally_dominant () const
 
virtual tribool is_positive_definite () const
 
virtual tribool is_negative_definite () const
 
RCP< const Basictrace () const
 
virtual unsigned rank () const
 
virtual RCP< const Basicdet () const
 
virtual void inv (MatrixBase &result) const
 
virtual void add_matrix (const MatrixBase &other, MatrixBase &result) const
 
virtual void mul_matrix (const MatrixBase &other, MatrixBase &result) const
 
virtual void elementwise_mul_matrix (const MatrixBase &other, MatrixBase &result) const
 
virtual void add_scalar (const RCP< const Basic > &k, MatrixBase &result) const
 
virtual void mul_scalar (const RCP< const Basic > &k, MatrixBase &result) const
 
virtual void conjugate (MatrixBase &result) const
 
virtual void transpose (MatrixBase &result) const
 
virtual void conjugate_transpose (MatrixBase &result) const
 
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
 
virtual void LU (MatrixBase &L, MatrixBase &U) const
 
virtual void LDL (MatrixBase &L, MatrixBase &D) const
 
virtual void LU_solve (const MatrixBase &b, MatrixBase &x) const
 
virtual void FFLU (MatrixBase &LU) const
 
virtual void FFLDU (MatrixBase &L, MatrixBase &D, MatrixBase &U) const
 
virtual void QR (MatrixBase &Q, MatrixBase &R) const
 
virtual void cholesky (MatrixBase &L) const
 
void row_join (const DenseMatrix &B)
 
void col_join (const DenseMatrix &B)
 
void row_insert (const DenseMatrix &B, unsigned pos)
 
void col_insert (const DenseMatrix &B, unsigned pos)
 
void row_del (unsigned k)
 
void col_del (unsigned k)
 
- Public Member Functions inherited from SymEngine::MatrixBase
bool is_square () const
 
virtual bool eq (const MatrixBase &other) const
 
virtual std::string __str__ () const
 

Data Fields

friend CSRMatrix
 

Private Member Functions

tribool shortcut_to_posdef () const
 
tribool is_positive_definite_GE ()
 

Private Attributes

vec_basic m_
 
unsigned row_
 
unsigned col_
 

Friends

void jacobian (const DenseMatrix &A, const DenseMatrix &x, DenseMatrix &result, bool diff_cache)
 
void sjacobian (const DenseMatrix &A, const DenseMatrix &x, DenseMatrix &result, bool diff_cache)
 
void diff (const DenseMatrix &A, const RCP< const Symbol > &x, DenseMatrix &result, bool diff_cache)
 
void sdiff (const DenseMatrix &A, const RCP< const Basic > &x, DenseMatrix &result, bool diff_cache)
 
void add_dense_dense (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &C)
 
void add_dense_scalar (const DenseMatrix &A, const RCP< const Basic > &k, DenseMatrix &B)
 
void mul_dense_dense (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &C)
 
void elementwise_mul_dense_dense (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &C)
 
void mul_dense_scalar (const DenseMatrix &A, const RCP< const Basic > &k, DenseMatrix &C)
 
void conjugate_dense (const DenseMatrix &A, DenseMatrix &B)
 
void transpose_dense (const DenseMatrix &A, DenseMatrix &B)
 
void conjugate_transpose_dense (const DenseMatrix &A, DenseMatrix &B)
 
void submatrix_dense (const DenseMatrix &A, DenseMatrix &B, unsigned row_start, unsigned col_start, unsigned row_end, unsigned col_end, unsigned row_step, unsigned col_step)
 
void row_exchange_dense (DenseMatrix &A, unsigned i, unsigned j)
 
void row_mul_scalar_dense (DenseMatrix &A, unsigned i, RCP< const Basic > &c)
 
void row_add_row_dense (DenseMatrix &A, unsigned i, unsigned j, RCP< const Basic > &c)
 
void permuteFwd (DenseMatrix &A, permutelist &pl)
 
void column_exchange_dense (DenseMatrix &A, unsigned i, unsigned j)
 
void pivoted_gaussian_elimination (const DenseMatrix &A, DenseMatrix &B, permutelist &pivotlist)
 
void fraction_free_gaussian_elimination (const DenseMatrix &A, DenseMatrix &B)
 
void pivoted_fraction_free_gaussian_elimination (const DenseMatrix &A, DenseMatrix &B, permutelist &pivotlist)
 
void pivoted_gauss_jordan_elimination (const DenseMatrix &A, DenseMatrix &B, permutelist &pivotlist)
 
void fraction_free_gauss_jordan_elimination (const DenseMatrix &A, DenseMatrix &B)
 
void pivoted_fraction_free_gauss_jordan_elimination (const DenseMatrix &A, DenseMatrix &B, permutelist &pivotlist)
 
unsigned pivot (DenseMatrix &B, unsigned r, unsigned c)
 
void reduced_row_echelon_form (const DenseMatrix &A, DenseMatrix &B, vec_uint &pivot_cols, bool normalize_last)
 
void diagonal_solve (const DenseMatrix &A, const DenseMatrix &b, DenseMatrix &x)
 
void back_substitution (const DenseMatrix &U, const DenseMatrix &b, DenseMatrix &x)
 
void forward_substitution (const DenseMatrix &A, const DenseMatrix &b, DenseMatrix &x)
 
void fraction_free_gaussian_elimination_solve (const DenseMatrix &A, const DenseMatrix &b, DenseMatrix &x)
 
void fraction_free_gauss_jordan_solve (const DenseMatrix &A, const DenseMatrix &b, DenseMatrix &x, bool pivot)
 
void fraction_free_LU (const DenseMatrix &A, DenseMatrix &LU)
 
void LU (const DenseMatrix &A, DenseMatrix &L, DenseMatrix &U)
 
void pivoted_LU (const DenseMatrix &A, DenseMatrix &LU, permutelist &pl)
 
void pivoted_LU (const DenseMatrix &A, DenseMatrix &L, DenseMatrix &U, permutelist &pl)
 
void fraction_free_LDU (const DenseMatrix &A, DenseMatrix &L, DenseMatrix &D, DenseMatrix &U)
 
void QR (const DenseMatrix &A, DenseMatrix &Q, DenseMatrix &R)
 
void LDL (const DenseMatrix &A, DenseMatrix &L, DenseMatrix &D)
 
void cholesky (const DenseMatrix &A, DenseMatrix &L)
 
bool is_symmetric_dense (const DenseMatrix &A)
 
RCP< const Basicdet_bareis (const DenseMatrix &A)
 
void berkowitz (const DenseMatrix &A, std::vector< DenseMatrix > &polys)
 
void inverse_fraction_free_LU (const DenseMatrix &A, DenseMatrix &B)
 
void inverse_LU (const DenseMatrix &A, DenseMatrix &B)
 
void inverse_pivoted_LU (const DenseMatrix &A, DenseMatrix &B)
 
void inverse_gauss_jordan (const DenseMatrix &A, DenseMatrix &B)
 
void dot (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &C)
 
void cross (const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &C)
 
void eye (DenseMatrix &A, int k)
 
void diag (DenseMatrix &A, vec_basic &v, int k)
 
void ones (DenseMatrix &A)
 
void zeros (DenseMatrix &A)
 

Detailed Description

Definition at line 102 of file matrix.h.


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