Macaulay2 Engine
Loading...
Searching...
No Matches
SMat< ACoeffRing > Class Template Reference

#include <smat.hpp>

Inheritance diagram for SMat< ACoeffRing >:
our_new_delete

Classes

struct  sparsevec
class  iterator

Public Types

typedef ACoeffRing CoeffRing
typedef CoeffRing::elem ElementType
typedef ElementType elem
typedef CoeffRing::Element Element

Public Member Functions

 SMat ()
 SMat (const CoeffRing &coeffR0, size_t nrows, size_t ncols)
 SMat (const SMat< ACoeffRing > &M, size_t nrows, size_t ncols)
 SMat (const SMat< ACoeffRing > &M)
virtual ~SMat ()
void grab (SMat *M)
SMat< CoeffRing > * copy () const
bool is_dense () const
size_t numRows () const
size_t numColumns () const
const CoeffRingring () const
void initialize (size_t nrows, size_t ncols, sparsevec **cols)
iterator begin () const
size_t lead_row (size_t col) const
size_t lead_row (size_t col, elem &result) const
bool get_entry (size_t r, size_t c, elem &result) const
void set_entry (size_t r, size_t c, const elem a)
void interchange_rows (size_t i, size_t j)
void interchange_columns (size_t i, size_t j)
void scale_row (size_t i, elem r)
void scale_column (size_t i, elem r)
void divide_row (size_t i, elem r)
void divide_column (size_t i, elem r)
void row_op (size_t i, elem r, size_t j)
void column_op (size_t i, elem r, size_t j)
void column2by2 (size_t c1, size_t c2, elem a1, elem a2, elem b1, elem b2)
void row2by2 (size_t r1, size_t r2, elem a1, elem a2, elem b1, elem b2)
void dot_product (size_t i, size_t j, elem &result) const
bool row_permute (size_t start_row, M2_arrayint perm)
bool column_permute (size_t start_col, M2_arrayint perm)
void insert_columns (size_t i, size_t n_to_add)
void insert_rows (size_t i, size_t n_to_add)
void delete_columns (size_t i, size_t j)
void delete_rows (size_t i, size_t j)
bool is_zero () const
bool is_equal (const SMat &B) const
void addInPlace (const SMat &B)
void subtractInPlace (const SMat &B)
void negateInPlace ()
void scalarMultInPlace (const elem &f)
void setFromSubmatrix (const SMat &A, M2_arrayint rows, M2_arrayint cols)
void setFromSubmatrix (const SMat &A, M2_arrayint cols)

Private Member Functions

const sparseveccolumn (size_t c) const
sparseveccolumn (size_t c)
sparsevecvec_new () const
void vec_remove_node (sparsevec *&v) const
void vec_remove (sparsevec *&v) const
sparsevecvec_copy (const sparsevec *v) const
bool vec_equals (const sparsevec *v, const sparsevec *w) const
bool vec_get_entry (const sparsevec *v, size_t r, elem &result) const
void vec_set_entry (sparsevec *&v, size_t r, const elem &result) const
void vec_interchange_rows (sparsevec *&v, size_t r1, size_t r2) const
void vec_negate (sparsevec *&v) const
void vec_scale_row (sparsevec *&v, size_t r, const elem &a) const
void vec_scale (sparsevec *&v, const elem &a) const
void vec_divide_row (sparsevec *&v, size_t r, const elem &a) const
void vec_divide (sparsevec *&v, const elem &a) const
void vec_add_to (sparsevec *&v, sparsevec *&w) const
void vec_row_op (sparsevec *&v, size_t r1, const elem &a, size_t r2) const
void vec_row_op2 (sparsevec *&v, size_t r1, size_t r2, const elem &a1, const elem &a2, const elem &b1, const elem &b2) const
void vec_column_op (sparsevec *&v, const elem &a, sparsevec *w) const
void vec_dot_product (sparsevec *v, sparsevec *w, elem &result) const
void vec_sort (sparsevec *&v) const
void vec_permute (sparsevec *&v, size_t start_row, M2_arrayint perm) const
void vec_insert_rows (sparsevec *&v, size_t i, size_t n_to_add) const
void vec_delete_rows (sparsevec *&v, size_t i, size_t j) const

Private Attributes

const RingR
const CoeffRingcoeffR
size_t nrows_
size_t ncols_
sparsevec ** columns_

Friends

class MatElementaryOps< SMat >

Additional Inherited Members

Static Public Member Functions inherited from our_new_delete
static void * operator new (size_t size)
static void * operator new[] (size_t size)
static void operator delete (void *obj)
static void operator delete[] (void *obj)
static void * operator new (size_t size, void *existing_memory)
static void * operator new[] (size_t size, void *existing_memory)
static void operator delete (void *obj, void *existing_memory)
static void operator delete[] (void *obj, void *existing_memory)

Detailed Description

template<typename ACoeffRing>
class SMat< ACoeffRing >

Definition at line 42 of file smat.hpp.


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