Class CSRMatrix

Inheritance Relationships

Base Type

Class Documentation

class SymEngine::CSRMatrix : public SymEngine::MatrixBase

Public Functions

CSRMatrix()
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)
CSRMatrix &operator=(CSRMatrix &&other)
CSRMatrix(const CSRMatrix&) = default
std::tuple<std::vector<unsigned>, std::vector<unsigned>, vec_basic> as_vectors() const
bool is_canonical() const
bool eq(const MatrixBase &other) const
RCP<const Basic> get(unsigned i, unsigned j) const
void set(unsigned i, unsigned j, const RCP<const Basic> &e)
unsigned nrows() const
unsigned ncols() const
unsigned rank() const
RCP<const Basic> det() const
void inv(MatrixBase &result) const
void add_matrix(const MatrixBase &other, MatrixBase &result) const
void mul_matrix(const MatrixBase &other, MatrixBase &result) const
void elementwise_mul_matrix(const MatrixBase &other, MatrixBase &result) const
void add_scalar(const RCP<const Basic> &k, MatrixBase &result) const
void mul_scalar(const RCP<const Basic> &k, MatrixBase &result) const
void conjugate(MatrixBase &result) const
void transpose(MatrixBase &result) const
CSRMatrix transpose(bool conjugate = false) const
void conjugate_transpose(MatrixBase &result) const
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
void LU(MatrixBase &L, MatrixBase &U) const
void LDL(MatrixBase &L, MatrixBase &D) const
void LU_solve(const MatrixBase &b, MatrixBase &x) const
void FFLU(MatrixBase &LU) const
void FFLDU(MatrixBase &L, MatrixBase &D, MatrixBase &U) const
void QR(MatrixBase &Q, MatrixBase &R) const
void cholesky(MatrixBase &L) const

Public Static Functions

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

Friends

friend void csr_matmat_pass1(const CSRMatrix &A, const CSRMatrix &B, CSRMatrix &C)
friend void csr_matmat_pass2(const CSRMatrix &A, const CSRMatrix &B, CSRMatrix &C)
friend void csr_diagonal(const CSRMatrix &A, DenseMatrix &D)
friend void csr_scale_rows(CSRMatrix &A, const DenseMatrix &X)
friend void csr_scale_columns(CSRMatrix &A, const DenseMatrix &X)
friend 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>&))