Macaulay2 Engine
Loading...
Searching...
No Matches
MutableMat< Mat > Class Template Reference

#include <mutablemat-defs.hpp>

Inheritance diagram for MutableMat< Mat >:
MutableMatrix MutableEngineObject our_gc_cleanup our_new_delete

Public Types

typedef Mat MatType
typedef Mat::CoeffRing CoeffRing
typedef CoeffRing::elem elem
typedef CoeffRing::Element Element
typedef CoeffRing::ElementType ElementType
typedef MatElementaryOps< Mat > MatOps
typedef EigenTypes< CoeffRing >::EigenvalueType EigenvalueType
typedef EigenTypes< CoeffRing >::EigenvectorType EigenvectorType
typedef EigenTypes< CoeffRing >::HermitianEigenvalueType HermitianEigenvalueType
typedef EigenTypes< CoeffRing >::HermitianEigenvectorType HermitianEigenvectorType

Public Member Functions

 MutableMat (const Ring *R, const CoeffRing *coeffR, size_t nrows, size_t ncols)
MutableMatmakeZeroMatrix (size_t nrows, size_t ncols) const
Mat * get_Mat ()
const Mat * get_Mat () const
Mat & getMat ()
const Mat & getMat () const
virtual const Ringget_ring () const
virtual size_t n_rows () const
virtual size_t n_cols () const
virtual bool is_dense () const
virtual Matrixto_matrix () const
virtual MutableMatcopy (bool prefer_dense) const
virtual MutableMatclone () const
virtual size_t lead_row (size_t col) const
virtual size_t lead_row (size_t col, ring_elem &result) const
virtual bool get_entry (size_t r, size_t c, ring_elem &result) const
virtual bool set_entry (size_t r, size_t c, const ring_elem a)
virtual bool interchange_rows (size_t i, size_t j)
virtual bool interchange_columns (size_t i, size_t j)
virtual bool scale_row (size_t i, ring_elem r)
virtual bool scale_column (size_t i, ring_elem r)
virtual bool divide_row (size_t i, ring_elem r)
virtual bool divide_column (size_t i, ring_elem r)
virtual bool row_op (size_t i, ring_elem r, size_t j)
virtual bool column_op (size_t i, ring_elem r, size_t j)
virtual bool column2by2 (size_t c1, size_t c2, ring_elem a1, ring_elem a2, ring_elem b1, ring_elem b2)
virtual bool row2by2 (size_t r1, size_t r2, ring_elem a1, ring_elem a2, ring_elem b1, ring_elem b2)
virtual bool dot_product (size_t c1, size_t c2, ring_elem &result) const
virtual bool row_permute (size_t start_row, M2_arrayint perm)
virtual bool column_permute (size_t start_col, M2_arrayint perm)
virtual bool insert_columns (size_t i, size_t n_to_add)
virtual bool insert_rows (size_t i, size_t n_to_add)
virtual bool delete_columns (size_t i, size_t j)
virtual bool delete_rows (size_t i, size_t j)
virtual void reduce_by_pivots ()
virtual MutableMatrixsubmatrix (M2_arrayint rows, M2_arrayint cols) const
virtual MutableMatrixsubmatrix (M2_arrayint cols) const
virtual MutableMatrixpromote (const Ring *S) const
virtual MutableMatrixlift (const Ring *R) const
virtual MutableMatrixeval (const RingMap *F) const
virtual bool is_zero () const
virtual bool is_equal (const MutableMatrix *B) const
virtual MutableMatadd (const MutableMatrix *B) const
virtual MutableMatrixnegate () const
virtual MutableMatsubtract (const MutableMatrix *B) const
virtual MutableMatmult (const RingElement *f) const
virtual MutableMattranspose () const
virtual M2_arrayintOrNull LU (MutableMatrix *L, MutableMatrix *U) const
virtual M2_arrayintOrNull LUincremental (std::vector< size_t > &P, const MutableMatrix *v, int i)
virtual void triangularSolve (MutableMatrix *x, int m, int strategy)
virtual bool eigenvalues (MutableMatrix *eigenvals, bool is_symm_or_hermitian) const
virtual bool eigenvectors (MutableMatrix *eigenvals, MutableMatrix *eigenvecs, bool is_symm_or_hermitian) const
virtual bool SVD (MutableMatrix *Sigma, MutableMatrix *U, MutableMatrix *Vt, bool use_divide_and_conquer) const
virtual bool least_squares (const MutableMatrix *b, MutableMatrix *x, bool assume_full_rank) const
virtual bool QR (MutableMatrix *Q, MutableMatrix *R, bool return_QR) const
virtual engine_RawArrayIntPairOrNull LQUPFactorizationInPlace (bool transpose)
 LU decomposition routines /////.
virtual size_t rank () const
 Fast linear algebra routines (well, fast for some rings).
virtual const RingElementdeterminant () const
virtual MutableMatrixinvert () const
virtual MutableMatrixrowReducedEchelonForm () const
virtual M2_arrayintOrNull rankProfile (bool row_profile) const
virtual MutableMatrixnullSpace () const
virtual MutableMatrixsolveLinear (const MutableMatrix *B) const
virtual MutableMatrixsolveInvertible (const MutableMatrix *B) const
virtual void addMultipleTo (const MutableMatrix *A, const MutableMatrix *B)
virtual void subtractMultipleTo (const MutableMatrix *A, const MutableMatrix *B)
virtual MutableMatrixmult (const MutableMatrix *B) const
virtual void clean (gmp_RR epsilon)
virtual gmp_RRorNull norm () const
virtual M2SLEvaluatorcreateSLEvaluator (M2SLProgram *P, M2_arrayint constsPos, M2_arrayint varsPos) const
virtual M2SLEvaluatorcreateCompiledSLEvaluator (M2_string libName, int nInputs, int nOutputs) const
Public Member Functions inherited from MutableMatrix
virtual ~MutableMatrix ()
void text_out (buffer &o) const
bool set_values (M2_arrayint rows, M2_arrayint cols, engine_RawRingElementArray values)
template<typename MatType>
MutableMat< MatType > * cast_to_MutableMat ()
template<typename MatType>
const MutableMat< MatType > * cast_to_MutableMat () const
template<typename MatT>
MatT * coerce ()
template<typename MatT>
const MatT * coerce_const () const
Public Member Functions inherited from MutableEngineObject
 MutableEngineObject ()
virtual ~MutableEngineObject ()
unsigned int hash () const
Public Member Functions inherited from our_gc_cleanup
 our_gc_cleanup ()
virtual ~our_gc_cleanup ()

Private Member Functions

 MutableMat ()
 MutableMat (const Ring *R, const Mat &m)

Private Attributes

const RingmRing
Mat mat

Additional Inherited Members

Static Public Member Functions inherited from MutableMatrix
static MutableMatrixzero_matrix (const Ring *R, size_t nrows, size_t ncols, bool dense)
static MutableMatrixidentity (const Ring *R, size_t nrows, bool dense)
static MutableMatrixfrom_matrix (const Matrix *N, bool is_dense)
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)
Protected Member Functions inherited from MutableMatrix
 MutableMatrix ()

Detailed Description

template<typename Mat>
class MutableMat< Mat >

Definition at line 240 of file mutablemat-defs.hpp.


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