Macaulay2 Engine
Loading...
Searching...
No Matches
mutable-matrix.cpp File Reference
#include "interface/mutable-matrix.h"
#include <assert.h>
#include <algorithm>
#include <vector>
#include "LLL.hpp"
#include "aring-zzp-ffpack.hpp"
#include "buffer.hpp"
#include "error.h"
#include "exceptions.hpp"
#include "finalize.hpp"
#include "fractionfreeLU.hpp"
#include "interface/gmp-util.h"
#include "interface/random.h"
#include "mat.hpp"
#include "matrix.hpp"
#include "relem.hpp"
#include "ring.hpp"
#include "ringelem.hpp"
#include "util.hpp"
#include <fplll-interface.hpp>
#include "ntl-interface.hpp"

Go to the source code of this file.

Functions

MutableMatrixIM2_MutableMatrix_identity (const Ring *R, int n, M2_bool is_dense)
MutableMatrixIM2_MutableMatrix_make (const Ring *R, int nrows, int ncols, M2_bool is_dense)
MutableMatrixIM2_MutableMatrix_from_matrix (const Matrix *M, M2_bool is_dense)
const MatrixIM2_MutableMatrix_to_matrix (const MutableMatrix *M)
M2_string IM2_MutableMatrix_to_string (const MutableMatrix *M)
unsigned int rawMutableMatrixHash (const MutableMatrix *M)
MutableMatrixrawMutableMatrixPromote (const Ring *S, const MutableMatrix *f)
MutableMatrixrawMutableMatrixLift (int *success_return, const Ring *R, const MutableMatrix *f)
int IM2_MutableMatrix_n_rows (const MutableMatrix *M)
int IM2_MutableMatrix_n_cols (const MutableMatrix *M)
void rawMutableMatrixFillRandom (MutableMatrix *M, long nelems)
void rawMutableMatrixFillRandomDensity (MutableMatrix *M, double density, int special_type)
const RingElementIM2_MutableMatrix_get_entry (const MutableMatrix *M, int r, int c)
engine_RawRingElementArrayArrayOrNull IM2_MutableMatrix_get_entries (const MutableMatrix *M)
M2_bool IM2_MutableMatrix_set_entry (MutableMatrix *M, int r, int c, const RingElement *a)
M2_bool IM2_MutableMatrix_row_swap (MutableMatrix *M, int i, int j)
M2_bool IM2_MutableMatrix_column_swap (MutableMatrix *M, int i, int j)
M2_bool IM2_MutableMatrix_row_operation (MutableMatrix *M, int i, const RingElement *r, int j, M2_bool opposite_mult)
M2_bool IM2_MutableMatrix_column_operation (MutableMatrix *M, int i, const RingElement *r, int j, M2_bool opposite_mult)
M2_bool IM2_MutableMatrix_row_scale (MutableMatrix *M, const RingElement *r, int i, M2_bool opposite_mult)
M2_bool IM2_MutableMatrix_column_scale (MutableMatrix *M, const RingElement *r, int i, M2_bool opposite_mult)
M2_bool IM2_MutableMatrix_insert_columns (MutableMatrix *M, int i, int n_to_add)
M2_bool IM2_MutableMatrix_insert_rows (MutableMatrix *M, int i, int n_to_add)
M2_bool IM2_MutableMatrix_delete_columns (MutableMatrix *M, int i, int j)
M2_bool IM2_MutableMatrix_delete_rows (MutableMatrix *M, int i, int j)
M2_bool IM2_MutableMatrix_column_2by2 (MutableMatrix *M, int c1, int c2, const RingElement *a1, const RingElement *a2, const RingElement *b1, const RingElement *b2, M2_bool opposite_mult)
M2_bool IM2_MutableMatrix_row_2by2 (MutableMatrix *M, int r1, int r2, const RingElement *a1, const RingElement *a2, const RingElement *b1, const RingElement *b2, M2_bool opposite_mult)
M2_bool IM2_MutableMatrix_sort_columns (MutableMatrix *M, int lo, int hi)
M2_bool IM2_MutableMatrix_row_permute (MutableMatrix *M, int start, M2_arrayint perm)
M2_bool IM2_MutableMatrix_column_permute (MutableMatrix *M, int start, M2_arrayint perm)
const RingElementIM2_Matrix_dot_product (const MutableMatrix *M, int c1, int c2)
M2_bool IM2_MutableMatrix_is_zero (const MutableMatrix *M)
M2_bool IM2_MutableMatrix_is_equal (const MutableMatrix *M, const MutableMatrix *N)
MutableMatrixrawMutableMatrixTranspose (MutableMatrix *M)
M2_bool rawMutableMatrixIsDense (const MutableMatrix *M)
MutableMatrixIM2_MutableMatrix_copy (MutableMatrix *M, M2_bool prefer_dense)
M2_bool IM2_MutableMatrix_set_values (MutableMatrix *M, M2_arrayint rows, M2_arrayint cols, engine_RawRingElementArray values)
M2_bool IM2_MutableMatrix_reduce_by_pivots (MutableMatrix *M)
MutableMatrixIM2_MutableMatrix_submatrix (const MutableMatrix *M, M2_arrayint rows, M2_arrayint cols)
MutableMatrixIM2_MutableMatrix_submatrix1 (const MutableMatrix *M, M2_arrayint cols)
M2_arrayintOrNull IM2_FF_LU (MutableMatrix *M)
M2_bool rawLLL (MutableMatrix *M, MutableMatrix *U, gmp_QQ threshold, int strategy)
M2_bool IM2_SmithNormalForm (MutableMatrix *M)
M2_bool IM2_HermiteNormalForm (MutableMatrix *M)
M2_arrayintOrNull rawLU (const MutableMatrix *A, MutableMatrix *L, MutableMatrix *U)
M2_arrayintOrNull rawLUincremental (M2_arrayintOrNull P, MutableMatrix *LU, const MutableMatrix *v, int i)
void rawTriangularSolve (MutableMatrix *Lv, MutableMatrix *x, int m, int strategy)
M2_bool rawEigenvalues (MutableMatrix *A, MutableMatrix *eigenvalues, M2_bool is_symm_or_hermitian)
M2_bool rawEigenvectors (MutableMatrix *A, MutableMatrix *eigenvalues, MutableMatrix *eigenvectors, M2_bool is_symm_or_hermitian)
M2_bool rawSVD (MutableMatrix *A, MutableMatrix *Sigma, MutableMatrix *U, MutableMatrix *VT, M2_bool use_divide_and_conquer)
M2_bool rawLeastSquares (MutableMatrix *A, MutableMatrix *b, MutableMatrix *x, M2_bool assume_full_rank)
M2_bool rawQR (const MutableMatrix *A, MutableMatrix *Q, MutableMatrix *R, M2_bool return_QR)
long rawLinAlgRank (MutableMatrix *M)
const RingElementrawLinAlgDeterminant (MutableMatrix *A)
MutableMatrixrawLinAlgInverse (MutableMatrix *A)
MutableMatrixrawLinAlgRREF (MutableMatrix *A)
M2_arrayintOrNull rawLinAlgRankProfile (MutableMatrix *A, M2_bool row_profile)
MutableMatrixrawLinAlgNullSpace (MutableMatrix *A)
MutableMatrixrawLinAlgSolve (const MutableMatrix *A, const MutableMatrix *B, int *success)
MutableMatrixrawLinAlgSolveInvertible (const MutableMatrix *A, const MutableMatrix *B, int *success)
M2_bool rawLinAlgAddMult (MutableMatrix *C, const MutableMatrix *A, const MutableMatrix *B)
M2_bool rawLinAlgSubMult (MutableMatrix *C, const MutableMatrix *A, const MutableMatrix *B)
MutableMatrixrawLinAlgMult (const MutableMatrix *A, const MutableMatrix *B)
engine_RawRingElementArray convertRingelemsToArray (const Ring *R, std::vector< M2::ARingZZpFFPACK::ElementType > &elems)
engine_RawRingElementArrayOrNull rawLinAlgCharPoly (MutableMatrix *A)
engine_RawRingElementArrayOrNull rawLinAlgMinPoly (MutableMatrix *A)
const MatrixrawMatrixClean (gmp_RR epsilon, const Matrix *M)
const RingElementrawRingElementClean (gmp_RR epsilon, const RingElement *f)
MutableMatrixrawMutableMatrixClean (gmp_RR epsilon, MutableMatrix *M)
static gmp_RRmutable get_norm_start (gmp_RR p, const Ring *R)
gmp_RRorNull rawMatrixNorm (gmp_RR p, const Matrix *M)
gmp_RRorNull rawRingElementNorm (gmp_RR p, const RingElement *f)
gmp_RRorNull rawMutableMatrixNorm (gmp_RR p, const MutableMatrix *M)