20 #ifndef _MATRIXUTILS_H
21 #define _MATRIXUTILS_H
23 #include <lal/LALStdlib.h>
128 #define MATRIXUTILSH_ENUL 1
129 #define MATRIXUTILSH_EDIM 2
130 #define MATRIXUTILSH_EITER 3
131 #define MATRIXUTILSH_ESING 4
132 #define MATRIXUTILSH_EMEM 5
137 #define MATRIXUTILSH_MSGENUL "Unexpected null pointer in arguments"
138 #define MATRIXUTILSH_MSGEDIM "Bad matrix dimensions"
139 #define MATRIXUTILSH_MSGEITER "Did not converge after maximum iterations"
140 #define MATRIXUTILSH_MSGESING "Singular matrix"
141 #define MATRIXUTILSH_MSGEMEM "Memory allocation error"
void LALDMatrixInverse(LALStatus *, REAL8 *det, REAL8Array *matrix, REAL8Array *inverse)
void LALDMatrixDeterminant(LALStatus *, REAL8 *det, REAL8Array *matrix)
void LALSMatrixInverse(LALStatus *, REAL4 *det, REAL4Array *matrix, REAL4Array *inverse)
void LALDMatrixDeterminantErr(LALStatus *, REAL8 det[2], REAL8Array *matrix, REAL8Array *matrixErr)
void LALDSymmetricEigenVectors(LALStatus *, REAL8Vector *values, REAL8Array *matrix)
void LALSSymmetricEigenVectors(LALStatus *, REAL4Vector *values, REAL4Array *matrix)
double REAL8
Double precision real floating-point number (8 bytes).
float REAL4
Single precision real floating-point number (4 bytes).
void LALDMatrixMultiply(LALStatus *, REAL8Array *out, REAL8Array *in1, REAL8Array *in2)
void LALDMatrixTranspose(LALStatus *, REAL8Array *out, REAL8Array *in1)
LAL status structure, see The LALStatus structure for more details.
Multidimentional array of REAL4, see DATATYPE-Array types for more details.
Vector of type REAL4, see DATATYPE-Vector types for more details.
Multidimentional array of REAL8, see DATATYPE-Array types for more details.
Vector of type REAL8, see DATATYPE-Vector types for more details.