 |
Ice Sheet System Model
4.18
Code documentation
|
Go to the documentation of this file.
5 #ifndef _MATRIXUTILS_H_
6 #define _MATRIXUTILS_H_
8 #include "../Numerics/types.h"
10 int TripleMultiply(
IssmDouble* a,
int nrowa,
int ncola,
int itrna,
IssmDouble* b,
int nrowb,
int ncolb,
int itrnb,
IssmDouble* c,
int nrowc,
int ncolc,
int itrnc,
IssmDouble* d,
int iaddd);
32 void cellecho(
int numcells,
int m, ...);
33 #endif //ifndef _MATRIXUTILS_H_
void newcell(IssmDouble **pcell, IssmDouble newvalue, bool top, int m)
int MatrixInverse(IssmDouble *a, int ndim, int nrow, IssmDouble *b, int nvec, IssmDouble *pdet)
void Matrix2x2Invert(IssmDouble *Ainv, IssmDouble *A)
void Matrix4x4Solve(IssmDouble *X, IssmDouble *A, IssmDouble *B)
int TripleMultiply(IssmDouble *a, int nrowa, int ncola, int itrna, IssmDouble *b, int nrowb, int ncolb, int itrnb, IssmDouble *c, int nrowc, int ncolc, int itrnc, IssmDouble *d, int iaddd)
void Matrix4x4Invert(IssmDouble *Ainv, IssmDouble *A)
void Matrix2x2Determinant(IssmDouble *Adet, IssmDouble *A)
void Matrix3x3Invert(IssmDouble *Ainv, IssmDouble *A)
void Matrix2x2Eigen(IssmDouble *plambda1, IssmDouble *plambda2, IssmDouble *pvx, IssmDouble *pvy, IssmDouble a11, IssmDouble a21, IssmDouble a22)
void Matrix4x4Adjoint(IssmDouble *Aadj, IssmDouble *A)
IssmDouble cellsum(IssmDouble *cell, int m)
void Matrix4x4Determinant(IssmDouble *Adet, IssmDouble *A)
void Matrix3x3Determinant(IssmDouble *Adet, IssmDouble *A)
void cellsplit(IssmDouble **pcell, int m, int i, IssmDouble scale)
int MatrixMultiply(IssmDouble *a, int nrowa, int ncola, int itrna, IssmDouble *b, int nrowb, int ncolb, int itrnb, IssmDouble *c, int iaddc)
void Matrix3x3Solve(IssmDouble *X, IssmDouble *A, IssmDouble *B)
void cellecho(int numcells, int m,...)
void celldelete(IssmDouble **pcell, int m, int *indices, int nind)