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

Public Member Functions

 CSRMatrix (unsigned row, unsigned col)
 
 CSRMatrix (unsigned row, unsigned col, const std::vector< unsigned > &p, const std::vector< unsigned > &j, const vec_basic &x)
 
 CSRMatrix (unsigned row, unsigned col, std::vector< unsigned > &&p, std::vector< unsigned > &&j, vec_basic &&x)
 
CSRMatrixoperator= (CSRMatrix &&other)
 
 CSRMatrix (const CSRMatrix &)=default
 
std::tuple< std::vector< unsigned >, std::vector< unsigned >, vec_basicas_vectors () const
 
bool is_canonical () const
 
bool eq (const MatrixBase &other) const override
 
RCP< const Basicget (unsigned i, unsigned j) const override
 
void set (unsigned i, unsigned j, const RCP< const Basic > &e) override
 
unsigned nrows () const override
 
unsigned ncols () const override
 
tribool is_real (const Assumptions *assumptions=nullptr) const override
 
unsigned rank () const override
 
RCP< const Basicdet () const override
 
void inv (MatrixBase &result) const override
 
void add_matrix (const MatrixBase &other, MatrixBase &result) const override
 
void mul_matrix (const MatrixBase &other, MatrixBase &result) const override
 
void elementwise_mul_matrix (const MatrixBase &other, MatrixBase &result) const override
 
void add_scalar (const RCP< const Basic > &k, MatrixBase &result) const override
 
void mul_scalar (const RCP< const Basic > &k, MatrixBase &result) const override
 
void conjugate (MatrixBase &result) const override
 
void transpose (MatrixBase &result) const override
 
CSRMatrix transpose (bool conjugate=false) const
 
void conjugate_transpose (MatrixBase &result) const override
 
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 override
 
void LU (MatrixBase &L, MatrixBase &U) const override
 
void LDL (MatrixBase &L, MatrixBase &D) const override
 
void LU_solve (const MatrixBase &b, MatrixBase &x) const override
 
void FFLU (MatrixBase &LU) const override
 
void FFLDU (MatrixBase &L, MatrixBase &D, MatrixBase &U) const override
 
void QR (MatrixBase &Q, MatrixBase &R) const override
 
void cholesky (MatrixBase &L) const override
 
- Public Member Functions inherited from SymEngine::MatrixBase
bool is_square () const
 
virtual std::string __str__ () const
 

Static Public Member Functions

static void csr_sum_duplicates (std::vector< unsigned > &p_, std::vector< unsigned > &j_, vec_basic &x_, unsigned row_)
 
static void csr_sort_indices (std::vector< unsigned > &p_, std::vector< unsigned > &j_, vec_basic &x_, unsigned row_)
 
static bool csr_has_sorted_indices (const std::vector< unsigned > &p_, const std::vector< unsigned > &j_, unsigned row_)
 
static bool csr_has_duplicates (const std::vector< unsigned > &p_, const std::vector< unsigned > &j_, unsigned row_)
 
static bool csr_has_canonical_format (const std::vector< unsigned > &p_, const std::vector< unsigned > &j_, unsigned row_)
 
static CSRMatrix from_coo (unsigned row, unsigned col, const std::vector< unsigned > &i, const std::vector< unsigned > &j, const vec_basic &x)
 
static CSRMatrix jacobian (const vec_basic &exprs, const vec_sym &x, bool diff_cache=true)
 
static CSRMatrix jacobian (const DenseMatrix &A, const DenseMatrix &x, bool diff_cache=true)
 

Private Attributes

std::vector< unsigned > p_
 
std::vector< unsigned > j_
 
vec_basic x_
 
unsigned row_
 
unsigned col_
 

Friends

void csr_matmat_pass1 (const CSRMatrix &A, const CSRMatrix &B, CSRMatrix &C)
 
void csr_matmat_pass2 (const CSRMatrix &A, const CSRMatrix &B, CSRMatrix &C)
 
void csr_diagonal (const CSRMatrix &A, DenseMatrix &D)
 
void csr_scale_rows (CSRMatrix &A, const DenseMatrix &X)
 
void csr_scale_columns (CSRMatrix &A, const DenseMatrix &X)
 
void csr_binop_csr_canonical (const CSRMatrix &A, const CSRMatrix &B, CSRMatrix &C, RCP< const Basic >(&bin_op)(const RCP< const Basic > &, const RCP< const Basic > &))
 

Detailed Description

Definition at line 342 of file matrix.h.


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