Logo Search packages:      
Sourcecode: gandalf version File versions

General Size Matrices
[General Size Matrices and Vectors]


Modules

 Access an Element of a General Size Matrix
 Threshold Elements of a General Size Matrix
 Eigendecomposition of a General Size Matrix
 Test a General Size Matrix
 Norms of a General Size Matrix
 Invert a General Size Matrix
 Fill a General Size Matrix with Values
 Read Elements of a General Size Matrix
 Copy a General Size Matrix
 Multiply/Divide a General Size Matrix by a Scalar
 Transpose a General Size Matrix
 Add General Size Matrices
 Subtract General Size Matrices
 General Size Matrix/Vector Product
 General Size Matrix/Matrix Product
 Insert Part of a General Size Matrix in Another
 Extract Part of a General Size Matrix
 General Size Matrix I/O
 Set Attributes of a General Size Matrix
 Get Dimensions of General Size Matrix
 Allocate/Free a General Size Matrix
 LQ Decomposition of a General Size Matrix
 QR Decomposition of a General Size Matrix
 General Size Matrix Triple Product
 Cholesky Factorisation of a General Size Matrix
 Convert a General Size Matrix
 Singular Value Decomposition of a General Size Matrix
 Pseudo-Inverse of a General Size Matrix

Classes

struct  Gan_Matrix
 Structure definition for double precision general size matrix. More...
struct  Gan_Matrix_f
 Structure definition for single precision general size matrix. More...
struct  Gan_SquMatrix
 Structure definition for double precision general size square matrix. More...
struct  Gan_SquMatrix_f
 Structure definition for single precision general size square matrix. More...
struct  Gan_SquMatrixFFuncs
 Structure containing type-specific functions. More...
struct  Gan_SquMatrixFuncs
 Structure containing type-specific functions. More...

Defines

#define gan_mat_realloc(A, rows, cols)   gan_mat_realloc_gen(A,rows,cols)
#define gan_matf_realloc(A, rows, cols)   gan_matf_realloc_gen(A,rows,cols)
#define GAN_MATRIX_STRUCT_DEFINED
#define GAN_MATRIXF_STRUCT_DEFINED
#define GAN_SQUMATRIX_STRUCT_DEFINED
#define GAN_SQUMATRIXF_STRUCT_DEFINED

Enumerations

enum  Gan_InvertFlag { GAN_INVERT, GAN_NOINVERT, GAN_NOINVERT = 0, GAN_INVERT = 1 }
 Whether or not matrix is (to be) inverted. More...
enum  Gan_SideFlag { GAN_LEFTMULT = 0, GAN_RIGHTMULT = 1 }
 Whether product is on left or right side. More...
enum  Gan_SquMatrixType {
  GAN_SYMMETRIC_MATRIX, GAN_DIAGONAL_MATRIX, GAN_SCALED_IDENT_MATRIX, GAN_LOWER_TRI_MATRIX,
  GAN_UPPER_TRI_MATRIX, GAN_ZERO_SQUARE_MATRIX
}
 Types of square matrix. More...
enum  Gan_TposeFlag { GAN_TRANSPOSE, GAN_NOTRANSPOSE, GAN_NOTRANSPOSE = 0, GAN_TRANSPOSE = 1 }
 Whether or not matrix is (to be) transposed. More...
enum  Gan_UnitFlag { GAN_UNIT, GAN_NOUNIT, GAN_NOUNIT = 0, GAN_UNIT = 1 }
 Whether triangular matrix is unit along the diagonal. More...
enum  Gan_UpLoFlag { GAN_LOWER, GAN_UPPER, GAN_LOWER, GAN_UPPER }
 Whether matrix is upper or lower triangular. More...

Functions

static Gan_SquMatrix_fdiagonal_matrix_add (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_SquMatrix_f *C)
static Gan_SquMatrixdiagonal_matrix_add (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_SquMatrix *C)
static Gan_SquMatrix_fdiagonal_matrix_cholesky (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B, int *error_code)
static Gan_SquMatrixdiagonal_matrix_cholesky (Gan_SquMatrix *A, Gan_SquMatrix *B, int *error_code)
static Gan_SquMatrix_fdiagonal_matrix_copy (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
static Gan_SquMatrixdiagonal_matrix_copy (Gan_SquMatrix *A, Gan_SquMatrix *B)
static Gan_Bool diagonal_matrix_dec_el (Gan_SquMatrix_f *A, unsigned i, unsigned j, float value)
static Gan_Bool diagonal_matrix_dec_el (Gan_SquMatrix *A, unsigned i, unsigned j, double value)
static float diagonal_matrix_Fnorm (Gan_SquMatrix_f *A)
static double diagonal_matrix_Fnorm (Gan_SquMatrix *A)
static Gan_Bool diagonal_matrix_fprint (FILE *fp, Gan_SquMatrix_f *A, const char *prefix, unsigned indent, const char *fmt)
static Gan_Bool diagonal_matrix_fprint (FILE *fp, Gan_SquMatrix *A, const char *prefix, unsigned indent, const char *fmt)
static float diagonal_matrix_get_el (Gan_SquMatrix_f *A, unsigned i, unsigned j)
static double diagonal_matrix_get_el (Gan_SquMatrix *A, unsigned i, unsigned j)
static Gan_Bool diagonal_matrix_inc_el (Gan_SquMatrix_f *A, unsigned i, unsigned j, float value)
static Gan_Bool diagonal_matrix_inc_el (Gan_SquMatrix *A, unsigned i, unsigned j, double value)
static Gan_SquMatrix_fdiagonal_matrix_invert (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
static Gan_SquMatrixdiagonal_matrix_invert (Gan_SquMatrix *A, Gan_SquMatrix *B)
static Gan_Matrix_fdiagonal_matrix_lmult (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
static Gan_Matrixdiagonal_matrix_lmult (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
static Gan_SquMatrix_fdiagonal_matrix_lrmult (Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C, Gan_SquMatrix_f *D)
static Gan_SquMatrixdiagonal_matrix_lrmult (Gan_SquMatrix *A, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C, Gan_SquMatrix *D)
static Gan_Matrix_fdiagonal_matrix_matrix (Gan_SquMatrix_f *A, struct Gan_Matrix_f *B)
static Gan_Matrixdiagonal_matrix_matrix (Gan_SquMatrix *A, struct Gan_Matrix *B)
static Gan_Vector_fdiagonal_matrix_multv (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Vector_f *x, Gan_Vector_f *y)
static Gan_Vectordiagonal_matrix_multv (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Vector *x, Gan_Vector *y)
static Gan_Matrix_fdiagonal_matrix_rmult (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
static Gan_Matrixdiagonal_matrix_rmult (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
static Gan_SquMatrix_fdiagonal_matrix_rmult_squ (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_InvertFlag B_inv, Gan_SquMatrix_f *C)
static Gan_SquMatrixdiagonal_matrix_rmult_squ (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_InvertFlag B_inv, Gan_SquMatrix *C)
static Gan_SquMatrix_fdiagonal_matrix_scale (Gan_SquMatrix_f *A, float a, Gan_SquMatrix_f *B)
static Gan_SquMatrixdiagonal_matrix_scale (Gan_SquMatrix *A, double a, Gan_SquMatrix *B)
static Gan_Bool diagonal_matrix_set_el (Gan_SquMatrix_f *A, unsigned i, unsigned j, float value)
static Gan_Bool diagonal_matrix_set_el (Gan_SquMatrix *A, unsigned i, unsigned j, double value)
static Gan_SquMatrix_fdiagonal_matrix_sub (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_SquMatrix_f *C)
static Gan_SquMatrixdiagonal_matrix_sub (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_SquMatrix *C)
static float diagonal_matrix_sumsqr (Gan_SquMatrix_f *A)
static double diagonal_matrix_sumsqr (Gan_SquMatrix *A)
Gan_SquMatrixgan_diagmat_diag_thres (Gan_SquMatrix *A, unsigned null_space, double thres, int *indexptr, double **elptr)
 Threshold small diagonal elements of a diagonal matrix.
Gan_SquMatrixgan_diagmat_fill_const_q (Gan_SquMatrix *A, unsigned long size, double value)
 Fill a diagonal matrix with constant value.
Gan_SquMatrixgan_diagmat_fill_va (Gan_SquMatrix *A, unsigned long size,...)
 Fill diagonal matrix from variable argument list.
Gan_SquMatrixgan_diagmat_fill_vap (Gan_SquMatrix *A, unsigned long size, va_list *aptr)
 Fill diagonal matrix with values from variable argument list.
Gan_SquMatrixgan_diagmat_form_gen (Gan_SquMatrix *A, unsigned long size, double *data, size_t data_size)
Gan_SquMatrixgan_diagmat_inv_diag_thres (Gan_SquMatrix *A, unsigned null_space, double thres)
 Invert the elements of diagonal matrix.
Gan_Bool gan_diagmat_read_va (Gan_SquMatrix *A, unsigned long size,...)
 Read the elements of a diagonal matrix into pointers.
Gan_SquMatrixgan_diagmat_set_size (Gan_SquMatrix *A, unsigned long size)
 Set square matrix to be diagonal with given size.
Gan_SquMatrix_fgan_diagmatf_diag_thres (Gan_SquMatrix_f *A, unsigned null_space, float thres, int *indexptr, float **elptr)
 Threshold small diagonal elements of a diagonal matrix.
Gan_SquMatrix_fgan_diagmatf_fill_const_q (Gan_SquMatrix_f *A, unsigned long size, float value)
 Fill a diagonal matrix with constant value.
Gan_SquMatrix_fgan_diagmatf_fill_va (Gan_SquMatrix_f *A, unsigned long size,...)
 Fill diagonal matrix from variable argument list.
Gan_SquMatrix_fgan_diagmatf_fill_vap (Gan_SquMatrix_f *A, unsigned long size, va_list *aptr)
 Fill diagonal matrix with values from variable argument list.
Gan_SquMatrix_fgan_diagmatf_form_gen (Gan_SquMatrix_f *A, unsigned long size, float *data, size_t data_size)
Gan_SquMatrix_fgan_diagmatf_inv_diag_thres (Gan_SquMatrix_f *A, unsigned null_space, float thres)
 Invert the elements of diagonal matrix.
Gan_Bool gan_diagmatf_read_va (Gan_SquMatrix_f *A, unsigned long size,...)
 Read the elements of a diagonal matrix into pointers.
Gan_SquMatrix_fgan_diagmatf_set_size (Gan_SquMatrix_f *A, unsigned long size)
 Set square matrix to be diagonal with given size.
struct Gan_Matrixgan_diagmatI_lmult_inf_q (Gan_SquMatrix *A, struct Gan_Matrix *B, struct Gan_Matrix *C)
 Left-multiply the inverse of a diagonal matrix by a generic matrix.
struct Gan_Matrix_fgan_diagmatIf_lmult_inf_q (Gan_SquMatrix_f *A, struct Gan_Matrix_f *B, struct Gan_Matrix_f *C)
 Left-multiply the inverse of a diagonal matrix by a generic matrix.
Gan_SquMatrixgan_ltmat_fill_const_q (Gan_SquMatrix *L, unsigned long size, double value)
 Fill a lower triangular matrix with a constant value.
Gan_SquMatrixgan_ltmat_fill_va (Gan_SquMatrix *L, unsigned long size,...)
 Fill a lower triangular matrix with values.
Gan_SquMatrixgan_ltmat_fill_vap (Gan_SquMatrix *L, unsigned long size, va_list *aptr)
 Fills a lower triangular matrix with values.
Gan_SquMatrixgan_ltmat_form_gen (Gan_SquMatrix *A, unsigned long size, double *data, size_t data_size)
Gan_Bool gan_ltmat_read_va (Gan_SquMatrix *L, unsigned long size,...)
 Read the elements of a lower triangular matrix into pointers.
Gan_SquMatrixgan_ltmat_set_size (Gan_SquMatrix *L, unsigned long size)
 Set square matrix to be lower triangular with given size.
Gan_SquMatrix_fgan_ltmatf_fill_const_q (Gan_SquMatrix_f *L, unsigned long size, float value)
 Fill a lower triangular matrix with a constant value.
Gan_SquMatrix_fgan_ltmatf_fill_va (Gan_SquMatrix_f *L, unsigned long size,...)
 Fill a lower triangular matrix with values.
Gan_SquMatrix_fgan_ltmatf_fill_vap (Gan_SquMatrix_f *L, unsigned long size, va_list *aptr)
 Fills a lower triangular matrix with values.
Gan_SquMatrix_fgan_ltmatf_form_gen (Gan_SquMatrix_f *A, unsigned long size, float *data, size_t data_size)
Gan_Bool gan_ltmatf_read_va (Gan_SquMatrix_f *L, unsigned long size,...)
 Read the elements of a lower triangular matrix into pointers.
Gan_SquMatrix_fgan_ltmatf_set_size (Gan_SquMatrix_f *L, unsigned long size)
 Set square matrix to be lower triangular with given size.
Gan_Matrixgan_mat_add_gen (Gan_Matrix *A, Gan_TposeFlag A_tr, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
 Add general size matrices.
struct Gan_SquMatrixgan_mat_add_sym_gen (Gan_Matrix *A, Gan_TposeFlag A_tr, Gan_Matrix *B, Gan_TposeFlag B_tr, struct Gan_SquMatrix *C)
 Add general size matrices producing a symmetric matrix.
Gan_Matrixgan_mat_copy_q (Gan_Matrix *A, Gan_Matrix *B)
 Copy matrix.
void gan_mat_db (Gan_Matrix *A)
Gan_Matrixgan_mat_divide_q (Gan_Matrix *A, double a, Gan_Matrix *B)
 Divide matrix by scalar.
Gan_Matrixgan_mat_extract_q (Gan_Matrix *A, unsigned long r0, unsigned long c0, unsigned long rows, unsigned long cols, Gan_Matrix *B)
 Extracts rectangular part of matrix.
Gan_Matrixgan_mat_fill_const_q (Gan_Matrix *A, unsigned long rows, unsigned long cols, double value)
 Fill all elements of a matrix with the same value.
Gan_Matrixgan_mat_fill_va (Gan_Matrix *A, unsigned long rows, unsigned long cols,...)
 Fill matrix from variable argument list.
Gan_Matrixgan_mat_fill_vap (Gan_Matrix *A, unsigned long rows, unsigned long cols, va_list *aptr)
 Fill matrix from variable argument list.
double gan_mat_Fnorm (Gan_Matrix *A)
 Returns Frobenius norm of generic rectangular matrix.
Gan_Matrixgan_mat_form_gen (Gan_Matrix *A, unsigned long rows, unsigned long cols, double *data, size_t data_size)
Gan_Bool gan_mat_fprint (FILE *fp, Gan_Matrix *A, const char *prefix, unsigned indent, const char *fmt)
 Print matrix to file pointer.
Gan_Matrixgan_mat_fread_q (FILE *fp, Gan_Matrix *A, gan_ui32 *magic_number)
 Read matrix from file in binary format.
void gan_mat_free (Gan_Matrix *A)
 Free a matrix.
void gan_mat_free_va (Gan_Matrix *A,...)
 Free a NULL-terminated variable argument list of matrices.
Gan_Matrixgan_mat_fscanf_q (FILE *fp, Gan_Matrix *A, char *prefix, int prefix_len)
 Read matrix from file.
Gan_Bool gan_mat_fwrite (FILE *fp, Gan_Matrix *A, gan_ui32 magic_number)
 Print matrix to binary file pointer.
Gan_Matrixgan_mat_insert_gen (Gan_Matrix *A, unsigned long rA, unsigned long cA, Gan_Matrix *B, Gan_TposeFlag B_tr, unsigned long rB, unsigned long cB, unsigned long rows, unsigned long cols)
 Insert part of generic matrix in another generic matrix.
Gan_Matrixgan_mat_insertsym (Gan_Matrix *A, unsigned long rA, unsigned long cA, struct Gan_SquMatrix *B, unsigned long rB, unsigned long cB, unsigned long rows, unsigned long cols)
 Insert part of symmetric matrix in a generic matrix.
Gan_Matrixgan_mat_insertv_gen (Gan_Matrix *A, unsigned long rA, unsigned long cA, struct Gan_Vector *x, Gan_TposeFlag x_tr, unsigned long rx, unsigned long size)
 Insert part of column vector in a generic matrix.
Gan_Matrixgan_mat_invert_q (Gan_Matrix *A, Gan_Matrix *B)
 Inverts general square matrix.
Gan_Vectorgan_mat_multv_gen (Gan_Matrix *A, Gan_TposeFlag A_tr, Gan_Vector *x, Gan_Vector *y)
 Multiply matrix and a vector.
Gan_Bool gan_mat_read_va (Gan_Matrix *A, unsigned long rows, unsigned long cols,...)
 Read elements of matrix from variable argument list.
Gan_Bool gan_mat_realloc_gen (Gan_Matrix *A, unsigned long rows, unsigned long cols)
Gan_Matrixgan_mat_rmult_gen (Gan_Matrix *A, Gan_TposeFlag A_tr, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
struct Gan_SquMatrixgan_mat_rmult_sym_gen (Gan_Matrix *A, Gan_TposeFlag A_tr, Gan_Matrix *B, Gan_TposeFlag B_tr, struct Gan_SquMatrix *C)
Gan_Matrixgan_mat_scale_q (Gan_Matrix *A, double a, Gan_Matrix *B)
 Multiply matrix by scalar.
Gan_Matrixgan_mat_set_dims (Gan_Matrix *A, unsigned long rows, unsigned long cols)
 Set dimensions of generic matrix.
Gan_Matrixgan_mat_sub_gen (Gan_Matrix *A, Gan_TposeFlag A_tr, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
 Subtract general size matrices.
double gan_mat_sumsqr (Gan_Matrix *A)
 Returns squared Frobenius norm of generic rectangular matrix.
Gan_Matrixgan_mat_tpose_q (Gan_Matrix *A, Gan_Matrix *B)
 Transpose matrix.
Gan_Matrix_fgan_matf_add_gen (Gan_Matrix_f *A, Gan_TposeFlag A_tr, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
 Add general size matrices.
struct Gan_SquMatrix_fgan_matf_add_sym_gen (Gan_Matrix_f *A, Gan_TposeFlag A_tr, Gan_Matrix_f *B, Gan_TposeFlag B_tr, struct Gan_SquMatrix_f *C)
 Add general size matrices producing a symmetric matrix.
Gan_Matrix_fgan_matf_copy_q (Gan_Matrix_f *A, Gan_Matrix_f *B)
 Copy matrix.
void gan_matf_db (Gan_Matrix_f *A)
Gan_Matrix_fgan_matf_divide_q (Gan_Matrix_f *A, float a, Gan_Matrix_f *B)
 Divide matrix by scalar.
Gan_Matrix_fgan_matf_extract_q (Gan_Matrix_f *A, unsigned long r0, unsigned long c0, unsigned long rows, unsigned long cols, Gan_Matrix_f *B)
 Extracts rectangular part of matrix.
Gan_Matrix_fgan_matf_fill_const_q (Gan_Matrix_f *A, unsigned long rows, unsigned long cols, float value)
 Fill all elements of a matrix with the same value.
Gan_Matrix_fgan_matf_fill_va (Gan_Matrix_f *A, unsigned long rows, unsigned long cols,...)
 Fill matrix from variable argument list.
Gan_Matrix_fgan_matf_fill_vap (Gan_Matrix_f *A, unsigned long rows, unsigned long cols, va_list *aptr)
 Fill matrix from variable argument list.
float gan_matf_Fnorm (Gan_Matrix_f *A)
 Returns Frobenius norm of generic rectangular matrix.
Gan_Matrix_fgan_matf_form_gen (Gan_Matrix_f *A, unsigned long rows, unsigned long cols, float *data, size_t data_size)
Gan_Bool gan_matf_fprint (FILE *fp, Gan_Matrix_f *A, const char *prefix, unsigned indent, const char *fmt)
 Print matrix to file pointer.
Gan_Matrix_fgan_matf_fread_q (FILE *fp, Gan_Matrix_f *A, gan_ui32 *magic_number)
 Read matrix from file in binary format.
void gan_matf_free (Gan_Matrix_f *A)
 Free a matrix.
void gan_matf_free_va (Gan_Matrix_f *A,...)
 Free a NULL-terminated variable argument list of matrices.
Gan_Matrix_fgan_matf_fscanf_q (FILE *fp, Gan_Matrix_f *A, char *prefix, int prefix_len)
 Read matrix from file.
Gan_Bool gan_matf_fwrite (FILE *fp, Gan_Matrix_f *A, gan_ui32 magic_number)
 Print matrix to binary file pointer.
Gan_Matrix_fgan_matf_insert_gen (Gan_Matrix_f *A, unsigned long rA, unsigned long cA, Gan_Matrix_f *B, Gan_TposeFlag B_tr, unsigned long rB, unsigned long cB, unsigned long rows, unsigned long cols)
 Insert part of generic matrix in another generic matrix.
Gan_Matrix_fgan_matf_insertsym (Gan_Matrix_f *A, unsigned long rA, unsigned long cA, struct Gan_SquMatrix_f *B, unsigned long rB, unsigned long cB, unsigned long rows, unsigned long cols)
 Insert part of symmetric matrix in a generic matrix.
Gan_Matrix_fgan_matf_insertv_gen (Gan_Matrix_f *A, unsigned long rA, unsigned long cA, struct Gan_Vector_f *x, Gan_TposeFlag x_tr, unsigned long rx, unsigned long size)
 Insert part of column vector in a generic matrix.
Gan_Matrix_fgan_matf_invert_q (Gan_Matrix_f *A, Gan_Matrix_f *B)
 Inverts general square matrix.
Gan_Vector_fgan_matf_multv_gen (Gan_Matrix_f *A, Gan_TposeFlag A_tr, Gan_Vector_f *x, Gan_Vector_f *y)
 Multiply matrix and a vector.
Gan_Bool gan_matf_read_va (Gan_Matrix_f *A, unsigned long rows, unsigned long cols,...)
 Read elements of matrix from variable argument list.
Gan_Bool gan_matf_realloc_gen (Gan_Matrix_f *A, unsigned long rows, unsigned long cols)
Gan_Matrix_fgan_matf_rmult_gen (Gan_Matrix_f *A, Gan_TposeFlag A_tr, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
struct Gan_SquMatrix_fgan_matf_rmult_sym_gen (Gan_Matrix_f *A, Gan_TposeFlag A_tr, Gan_Matrix_f *B, Gan_TposeFlag B_tr, struct Gan_SquMatrix_f *C)
Gan_Matrix_fgan_matf_scale_q (Gan_Matrix_f *A, float a, Gan_Matrix_f *B)
 Multiply matrix by scalar.
Gan_Matrix_fgan_matf_set_dims (Gan_Matrix_f *A, unsigned long rows, unsigned long cols)
 Set dimensions of generic matrix.
Gan_Matrix_fgan_matf_sub_gen (Gan_Matrix_f *A, Gan_TposeFlag A_tr, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
 Subtract general size matrices.
float gan_matf_sumsqr (Gan_Matrix_f *A)
 Returns squared Frobenius norm of generic rectangular matrix.
Gan_Matrix_fgan_matf_tpose_q (Gan_Matrix_f *A, Gan_Matrix_f *B)
 Transpose matrix.
Gan_SquMatrixgan_scalImat_fill_const_q (Gan_SquMatrix *A, unsigned long size, double value)
 Fill a scaled identity matrix with constant value.
Gan_SquMatrixgan_scalImat_fill_va (Gan_SquMatrix *A, unsigned long size,...)
 Fill multiple of the identity matrix from variable argument list.
Gan_SquMatrixgan_scalImat_fill_vap (Gan_SquMatrix *A, unsigned long size, va_list *aptr)
 Fill multiple of identity matrix using variable argument list.
Gan_SquMatrixgan_scalImat_form_gen (Gan_SquMatrix *A, unsigned long size, double *data, size_t data_size)
Gan_Bool gan_scalImat_read_va (Gan_SquMatrix *A, unsigned long size,...)
 Read the elements of a scaled identity matrix into pointers.
Gan_SquMatrixgan_scalImat_set_size (Gan_SquMatrix *A, unsigned long size)
 Set square matrix to be multiple of identity with given size.
Gan_SquMatrix_fgan_scalImatf_fill_const_q (Gan_SquMatrix_f *A, unsigned long size, float value)
 Fill a scaled identity matrix with constant value.
Gan_SquMatrix_fgan_scalImatf_fill_va (Gan_SquMatrix_f *A, unsigned long size,...)
 Fill multiple of the identity matrix from variable argument list.
Gan_SquMatrix_fgan_scalImatf_fill_vap (Gan_SquMatrix_f *A, unsigned long size, va_list *aptr)
 Fill multiple of identity matrix using variable argument list.
Gan_SquMatrix_fgan_scalImatf_form_gen (Gan_SquMatrix_f *A, unsigned long size, float *data, size_t data_size)
Gan_Bool gan_scalImatf_read_va (Gan_SquMatrix_f *A, unsigned long size,...)
 Read the elements of a scaled identity matrix into pointers.
Gan_SquMatrix_fgan_scalImatf_set_size (Gan_SquMatrix_f *A, unsigned long size)
 Set square matrix to be multiple of identity with given size.
size_t gan_squmat_data_size (Gan_SquMatrixType type, unsigned long size)
 Returns size of data array needed to create a matrix of given type & size.
void gan_squmat_db (Gan_SquMatrix *A)
Gan_SquMatrixgan_squmat_fill_const_q (Gan_SquMatrix *A, Gan_SquMatrixType type, unsigned long size, double value)
 Fill square matrix with constant value.
Gan_SquMatrixgan_squmat_fill_vap (Gan_SquMatrix *A, Gan_SquMatrixType type, unsigned long size, va_list *aptr)
 Fill square matrix from variable argument list.
Gan_SquMatrixgan_squmat_form_gen (Gan_SquMatrix *A, Gan_SquMatrixType type, unsigned long size, double *data, size_t data_size)
Gan_SquMatrixgan_squmat_fread_q (FILE *fp, Gan_SquMatrix *A, gan_ui32 *magic_number)
 Read square matrix from binary file.
void gan_squmat_free (Gan_SquMatrix *A)
 Function to free square matrix.
void gan_squmat_free_va (Gan_SquMatrix *A,...)
 Free a NULL-terminated variable argument list of square matrices.
Gan_SquMatrixgan_squmat_fscanf_q (FILE *fp, Gan_SquMatrix *A, char *prefix, int prefix_len)
 Read square matrix from ASCII file.
Gan_Bool gan_squmat_fwrite (FILE *fp, Gan_SquMatrix *A, gan_ui32 magic_number)
 Write square matrix to binary file.
Gan_SquMatrixgan_squmat_set_type_size (Gan_SquMatrix *A, Gan_SquMatrixType type, unsigned long size)
 Set type and size of square matrix.
size_t gan_squmatf_data_size (Gan_SquMatrixType type, unsigned long size)
 Returns size of data array needed to create a matrix of given type & size.
void gan_squmatf_db (Gan_SquMatrix_f *A)
Gan_SquMatrix_fgan_squmatf_fill_const_q (Gan_SquMatrix_f *A, Gan_SquMatrixType type, unsigned long size, float value)
 Fill square matrix with constant value.
Gan_SquMatrix_fgan_squmatf_fill_vap (Gan_SquMatrix_f *A, Gan_SquMatrixType type, unsigned long size, va_list *aptr)
 Fill square matrix from variable argument list.
Gan_SquMatrix_fgan_squmatf_form_gen (Gan_SquMatrix_f *A, Gan_SquMatrixType type, unsigned long size, float *data, size_t data_size)
Gan_SquMatrix_fgan_squmatf_fread_q (FILE *fp, Gan_SquMatrix_f *A, gan_ui32 *magic_number)
 Read square matrix from binary file.
void gan_squmatf_free (Gan_SquMatrix_f *A)
 Function to free square matrix.
void gan_squmatf_free_func (Gan_SquMatrix_f *A)
void gan_squmatf_free_va (Gan_SquMatrix_f *A,...)
 Free a NULL-terminated variable argument list of square matrices.
Gan_SquMatrix_fgan_squmatf_fscanf_q (FILE *fp, Gan_SquMatrix_f *A, char *prefix, int prefix_len)
 Read square matrix from ASCII file.
Gan_Bool gan_squmatf_fwrite (FILE *fp, Gan_SquMatrix_f *A, gan_ui32 magic_number)
 Write square matrix to binary file.
Gan_SquMatrix_fgan_squmatf_set_type_size (Gan_SquMatrix_f *A, Gan_SquMatrixType type, unsigned long size)
 Set type and size of square matrix.
Gan_Bool gan_symmat_eigen (Gan_SquMatrix *A, Gan_SquMatrix *W, struct Gan_Matrix *Z, Gan_Bool sort, double *work, unsigned long work_size)
 Computes eigenvalues and eigenvectors of a symmetric matrix.
Gan_SquMatrixgan_symmat_fill_const_q (Gan_SquMatrix *A, unsigned long size, double value)
 Fill symmetric matrix with constant value, and set its size.
Gan_SquMatrixgan_symmat_fill_va (Gan_SquMatrix *A, unsigned long size,...)
 Fill symmetric matrix from variable argument list.
Gan_SquMatrixgan_symmat_fill_vap (Gan_SquMatrix *A, unsigned long size, va_list *aptr)
 Fill symmetric matrix with values from variable argument list.
Gan_SquMatrixgan_symmat_form_gen (Gan_SquMatrix *A, unsigned long size, double *data, size_t data_size)
Gan_SquMatrixgan_symmat_insert_gen (Gan_SquMatrix *S, unsigned long rS, unsigned long cS, struct Gan_Matrix *B, Gan_TposeFlag B_tr, unsigned long rB, unsigned long cB, unsigned long rows, unsigned long cols)
 Inserts part of generic matrix in symmetric matrix.
Gan_SquMatrixgan_symmat_insertsym (Gan_SquMatrix *A, unsigned long rA, Gan_SquMatrix *B, unsigned long rB, unsigned long size)
 Insert diagonal part of symmetric matrix in symmetric matrix.
Gan_SquMatrixgan_symmat_insertsym_od (Gan_SquMatrix *A, unsigned long rA, unsigned long cA, Gan_SquMatrix *B, unsigned long rB, unsigned long cB, unsigned long rows, unsigned long cols)
 Insert off-diagonal part of symmetric matrix in symmetric matrix.
Gan_SquMatrixgan_symmat_insertv_gen (Gan_SquMatrix *A, unsigned long rA, unsigned long cA, struct Gan_Vector *x, Gan_TposeFlag x_tr, unsigned long rx, unsigned long size)
 Inserts part of vector in symmetric matrix.
Gan_Bool gan_symmat_read_va (Gan_SquMatrix *A, unsigned long size,...)
 Read the elements of a symmetric matrix into pointers.
Gan_SquMatrixgan_symmat_set_size (Gan_SquMatrix *A, unsigned long size)
 Set square matrix to be symmetric with given size.
Gan_Bool gan_symmatf_eigen (Gan_SquMatrix_f *A, Gan_SquMatrix_f *W, struct Gan_Matrix_f *Z, Gan_Bool sort, float *work, unsigned long work_size)
 Computes eigenvalues and eigenvectors of a symmetric matrix.
Gan_SquMatrix_fgan_symmatf_fill_const_q (Gan_SquMatrix_f *A, unsigned long size, float value)
 Fill symmetric matrix with constant value, and set its size.
Gan_SquMatrix_fgan_symmatf_fill_va (Gan_SquMatrix_f *A, unsigned long size,...)
 Fill symmetric matrix from variable argument list.
Gan_SquMatrix_fgan_symmatf_fill_vap (Gan_SquMatrix_f *A, unsigned long size, va_list *aptr)
 Fill symmetric matrix with values from variable argument list.
Gan_SquMatrix_fgan_symmatf_form_gen (Gan_SquMatrix_f *A, unsigned long size, float *data, size_t data_size)
Gan_SquMatrix_fgan_symmatf_insert_gen (Gan_SquMatrix_f *S, unsigned long rS, unsigned long cS, struct Gan_Matrix_f *B, Gan_TposeFlag B_tr, unsigned long rB, unsigned long cB, unsigned long rows, unsigned long cols)
 Inserts part of generic matrix in symmetric matrix.
Gan_SquMatrix_fgan_symmatf_insertsym (Gan_SquMatrix_f *A, unsigned long rA, Gan_SquMatrix_f *B, unsigned long rB, unsigned long size)
 Insert diagonal part of symmetric matrix in symmetric matrix.
Gan_SquMatrix_fgan_symmatf_insertsym_od (Gan_SquMatrix_f *A, unsigned long rA, unsigned long cA, Gan_SquMatrix_f *B, unsigned long rB, unsigned long cB, unsigned long rows, unsigned long cols)
 Insert off-diagonal part of symmetric matrix in symmetric matrix.
Gan_SquMatrix_fgan_symmatf_insertv_gen (Gan_SquMatrix_f *A, unsigned long rA, unsigned long cA, struct Gan_Vector_f *x, Gan_TposeFlag x_tr, unsigned long rx, unsigned long size)
 Inserts part of vector in symmetric matrix.
Gan_Bool gan_symmatf_read_va (Gan_SquMatrix_f *A, unsigned long size,...)
 Read the elements of a symmetric matrix into pointers.
Gan_SquMatrix_fgan_symmatf_set_size (Gan_SquMatrix_f *A, unsigned long size)
 Set square matrix to be symmetric with given size.
Gan_SquMatrixgan_utmat_fill_const_q (Gan_SquMatrix *U, unsigned long size, double value)
 Fill a upper triangular matrix with a constant value.
Gan_SquMatrixgan_utmat_fill_va (Gan_SquMatrix *U, unsigned long size,...)
 Fill an upper triangular matrix with values.
Gan_SquMatrixgan_utmat_fill_vap (Gan_SquMatrix *U, unsigned long size, va_list *aptr)
 Fills an upper triangular matrix with values.
Gan_SquMatrixgan_utmat_form_gen (Gan_SquMatrix *A, unsigned long size, double *data, size_t data_size)
Gan_Bool gan_utmat_read_va (Gan_SquMatrix *U, unsigned long size,...)
 Read the elements of an upper triangular matrix into pointers.
Gan_SquMatrixgan_utmat_set_size (Gan_SquMatrix *U, unsigned long size)
 Set square matrix to be upper triangular with given size.
Gan_SquMatrix_fgan_utmatf_fill_const_q (Gan_SquMatrix_f *U, unsigned long size, float value)
 Fill a upper triangular matrix with a constant value.
Gan_SquMatrix_fgan_utmatf_fill_va (Gan_SquMatrix_f *U, unsigned long size,...)
 Fill an upper triangular matrix with values.
Gan_SquMatrix_fgan_utmatf_fill_vap (Gan_SquMatrix_f *U, unsigned long size, va_list *aptr)
 Fills an upper triangular matrix with values.
Gan_SquMatrix_fgan_utmatf_form_gen (Gan_SquMatrix_f *A, unsigned long size, float *data, size_t data_size)
Gan_Bool gan_utmatf_read_va (Gan_SquMatrix_f *U, unsigned long size,...)
 Read the elements of an upper triangular matrix into pointers.
Gan_SquMatrix_fgan_utmatf_set_size (Gan_SquMatrix_f *U, unsigned long size)
 Set square matrix to be upper triangular with given size.
static Gan_SquMatrix_flower_tri_matrix_add (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_SquMatrix_f *C)
static Gan_SquMatrixlower_tri_matrix_add (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_SquMatrix *C)
static Gan_SquMatrix_flower_tri_matrix_copy (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
static Gan_SquMatrixlower_tri_matrix_copy (Gan_SquMatrix *A, Gan_SquMatrix *B)
static Gan_Bool lower_tri_matrix_dec_el (Gan_SquMatrix_f *L, unsigned i, unsigned j, float value)
static Gan_Bool lower_tri_matrix_dec_el (Gan_SquMatrix *L, unsigned i, unsigned j, double value)
static Gan_Bool lower_tri_matrix_fprint (FILE *fp, Gan_SquMatrix_f *L, const char *prefix, unsigned indent, const char *fmt)
static Gan_Bool lower_tri_matrix_fprint (FILE *fp, Gan_SquMatrix *L, const char *prefix, unsigned indent, const char *fmt)
static float lower_tri_matrix_get_el (Gan_SquMatrix_f *L, unsigned i, unsigned j)
static double lower_tri_matrix_get_el (Gan_SquMatrix *L, unsigned i, unsigned j)
static Gan_Bool lower_tri_matrix_inc_el (Gan_SquMatrix_f *L, unsigned i, unsigned j, float value)
static Gan_Bool lower_tri_matrix_inc_el (Gan_SquMatrix *L, unsigned i, unsigned j, double value)
static Gan_Matrix_flower_tri_matrix_lmult (Gan_SquMatrix_f *L, Gan_TposeFlag L_tr, Gan_InvertFlag L_inv, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
static Gan_Matrixlower_tri_matrix_lmult (Gan_SquMatrix *L, Gan_TposeFlag L_tr, Gan_InvertFlag L_inv, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
static Gan_Matrix_flower_tri_matrix_matrix (Gan_SquMatrix_f *L, struct Gan_Matrix_f *B)
static Gan_Matrixlower_tri_matrix_matrix (Gan_SquMatrix *L, struct Gan_Matrix *B)
static Gan_Vector_flower_tri_matrix_multv (Gan_SquMatrix_f *L, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Vector_f *x, Gan_Vector_f *y)
static Gan_Vectorlower_tri_matrix_multv (Gan_SquMatrix *L, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Vector *x, Gan_Vector *y)
static Gan_Matrix_flower_tri_matrix_rmult (Gan_SquMatrix_f *L, Gan_TposeFlag L_tr, Gan_InvertFlag L_inv, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
static Gan_Matrixlower_tri_matrix_rmult (Gan_SquMatrix *L, Gan_TposeFlag L_tr, Gan_InvertFlag L_inv, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
static Gan_SquMatrix_flower_tri_matrix_rmult_squ (Gan_SquMatrix_f *L, Gan_TposeFlag L_tr, Gan_InvertFlag L_inv, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_InvertFlag B_inv, Gan_SquMatrix_f *C)
static Gan_SquMatrixlower_tri_matrix_rmult_squ (Gan_SquMatrix *L, Gan_TposeFlag L_tr, Gan_InvertFlag L_inv, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_InvertFlag B_inv, Gan_SquMatrix *C)
static Gan_SquMatrix_flower_tri_matrix_scale (Gan_SquMatrix_f *A, float a, Gan_SquMatrix_f *B)
static Gan_SquMatrixlower_tri_matrix_scale (Gan_SquMatrix *A, double a, Gan_SquMatrix *B)
static Gan_Bool lower_tri_matrix_set_el (Gan_SquMatrix_f *L, unsigned i, unsigned j, float value)
static Gan_Bool lower_tri_matrix_set_el (Gan_SquMatrix *L, unsigned i, unsigned j, double value)
static Gan_SquMatrix_flower_tri_matrix_sub (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_SquMatrix_f *C)
static Gan_SquMatrixlower_tri_matrix_sub (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_SquMatrix *C)
static Gan_SquMatrix_fscaledI_matrix_add (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_SquMatrix_f *C)
static Gan_SquMatrixscaledI_matrix_add (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_SquMatrix *C)
static Gan_SquMatrix_fscaledI_matrix_cholesky (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B, int *error_code)
static Gan_SquMatrixscaledI_matrix_cholesky (Gan_SquMatrix *A, Gan_SquMatrix *B, int *error_code)
static Gan_SquMatrix_fscaledI_matrix_copy (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
static Gan_SquMatrixscaledI_matrix_copy (Gan_SquMatrix *A, Gan_SquMatrix *B)
static Gan_Bool scaledI_matrix_dec_el (Gan_SquMatrix_f *A, unsigned i, unsigned j, float value)
static Gan_Bool scaledI_matrix_dec_el (Gan_SquMatrix *A, unsigned i, unsigned j, double value)
static float scaledI_matrix_Fnorm (Gan_SquMatrix_f *A)
static double scaledI_matrix_Fnorm (Gan_SquMatrix *A)
static Gan_Bool scaledI_matrix_fprint (FILE *fp, Gan_SquMatrix_f *A, const char *prefix, unsigned indent, const char *fmt)
static Gan_Bool scaledI_matrix_fprint (FILE *fp, Gan_SquMatrix *A, const char *prefix, unsigned indent, const char *fmt)
static float scaledI_matrix_get_el (Gan_SquMatrix_f *A, unsigned i, unsigned j)
static double scaledI_matrix_get_el (Gan_SquMatrix *A, unsigned i, unsigned j)
static Gan_Bool scaledI_matrix_inc_el (Gan_SquMatrix_f *A, unsigned i, unsigned j, float value)
static Gan_Bool scaledI_matrix_inc_el (Gan_SquMatrix *A, unsigned i, unsigned j, double value)
static Gan_SquMatrix_fscaledI_matrix_invert (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
static Gan_SquMatrixscaledI_matrix_invert (Gan_SquMatrix *A, Gan_SquMatrix *B)
static Gan_Matrix_fscaledI_matrix_lmult (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
static Gan_MatrixscaledI_matrix_lmult (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
static Gan_SquMatrix_fscaledI_matrix_lrmult (Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C, Gan_SquMatrix_f *D)
static Gan_SquMatrixscaledI_matrix_lrmult (Gan_SquMatrix *A, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C, Gan_SquMatrix *D)
static Gan_Matrix_fscaledI_matrix_matrix (Gan_SquMatrix_f *A, struct Gan_Matrix_f *B)
static Gan_MatrixscaledI_matrix_matrix (Gan_SquMatrix *A, struct Gan_Matrix *B)
static Gan_Vector_fscaledI_matrix_multv (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Vector_f *x, Gan_Vector_f *y)
static Gan_VectorscaledI_matrix_multv (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Vector *x, Gan_Vector *y)
static Gan_Matrix_fscaledI_matrix_rmult (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
static Gan_MatrixscaledI_matrix_rmult (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
static Gan_SquMatrix_fscaledI_matrix_rmult_squ (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_InvertFlag B_inv, Gan_SquMatrix_f *C)
static Gan_SquMatrixscaledI_matrix_rmult_squ (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_InvertFlag B_inv, Gan_SquMatrix *C)
static Gan_SquMatrix_fscaledI_matrix_scale (Gan_SquMatrix_f *A, float a, Gan_SquMatrix_f *B)
static Gan_SquMatrixscaledI_matrix_scale (Gan_SquMatrix *A, double a, Gan_SquMatrix *B)
static Gan_Bool scaledI_matrix_set_el (Gan_SquMatrix_f *A, unsigned i, unsigned j, float value)
static Gan_Bool scaledI_matrix_set_el (Gan_SquMatrix *A, unsigned i, unsigned j, double value)
static Gan_SquMatrix_fscaledI_matrix_sub (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_SquMatrix_f *C)
static Gan_SquMatrixscaledI_matrix_sub (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_SquMatrix *C)
static float scaledI_matrix_sumsqr (Gan_SquMatrix_f *A)
static double scaledI_matrix_sumsqr (Gan_SquMatrix *A)
static Gan_SquMatrix_fsymmetric_matrix_add (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_SquMatrix_f *C)
static Gan_SquMatrixsymmetric_matrix_add (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_SquMatrix *C)
static Gan_SquMatrix_fsymmetric_matrix_cholesky (Gan_SquMatrix_f *S, Gan_SquMatrix_f *L, int *error_code)
static Gan_SquMatrixsymmetric_matrix_cholesky (Gan_SquMatrix *S, Gan_SquMatrix *L, int *error_code)
static Gan_SquMatrix_fsymmetric_matrix_copy (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
static Gan_SquMatrixsymmetric_matrix_copy (Gan_SquMatrix *A, Gan_SquMatrix *B)
static Gan_Bool symmetric_matrix_dec_el (Gan_SquMatrix_f *A, unsigned i, unsigned j, float value)
static Gan_Bool symmetric_matrix_dec_el (Gan_SquMatrix *A, unsigned i, unsigned j, double value)
static float symmetric_matrix_Fnorm (Gan_SquMatrix_f *A)
static double symmetric_matrix_Fnorm (Gan_SquMatrix *A)
static Gan_Bool symmetric_matrix_fprint (FILE *fp, Gan_SquMatrix_f *A, const char *prefix, unsigned indent, const char *fmt)
static Gan_Bool symmetric_matrix_fprint (FILE *fp, Gan_SquMatrix *A, const char *prefix, unsigned indent, const char *fmt)
static float symmetric_matrix_get_el (Gan_SquMatrix_f *A, unsigned i, unsigned j)
static double symmetric_matrix_get_el (Gan_SquMatrix *A, unsigned i, unsigned j)
static Gan_Bool symmetric_matrix_inc_el (Gan_SquMatrix_f *A, unsigned i, unsigned j, float value)
static Gan_Bool symmetric_matrix_inc_el (Gan_SquMatrix *A, unsigned i, unsigned j, double value)
static Gan_SquMatrix_fsymmetric_matrix_invert (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
static Gan_SquMatrixsymmetric_matrix_invert (Gan_SquMatrix *A, Gan_SquMatrix *B)
static Gan_Matrix_fsymmetric_matrix_lmult (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
static Gan_Matrixsymmetric_matrix_lmult (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
static Gan_SquMatrix_fsymmetric_matrix_lrmult (Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C, Gan_SquMatrix_f *D)
static Gan_SquMatrixsymmetric_matrix_lrmult (Gan_SquMatrix *A, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C, Gan_SquMatrix *D)
static Gan_Matrix_fsymmetric_matrix_matrix (Gan_SquMatrix_f *A, struct Gan_Matrix_f *B)
static Gan_Matrixsymmetric_matrix_matrix (Gan_SquMatrix *A, struct Gan_Matrix *B)
static Gan_Vector_fsymmetric_matrix_multv (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Vector_f *x, Gan_Vector_f *y)
static Gan_Vectorsymmetric_matrix_multv (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Vector *x, Gan_Vector *y)
static Gan_Matrix_fsymmetric_matrix_rmult (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
static Gan_Matrixsymmetric_matrix_rmult (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
static Gan_SquMatrix_fsymmetric_matrix_rmult_squ (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_InvertFlag B_inv, Gan_SquMatrix_f *C)
static Gan_SquMatrixsymmetric_matrix_rmult_squ (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_InvertFlag B_inv, Gan_SquMatrix *C)
static Gan_SquMatrix_fsymmetric_matrix_scale (Gan_SquMatrix_f *A, float a, Gan_SquMatrix_f *B)
static Gan_SquMatrixsymmetric_matrix_scale (Gan_SquMatrix *A, double a, Gan_SquMatrix *B)
static Gan_Bool symmetric_matrix_set_el (Gan_SquMatrix_f *A, unsigned i, unsigned j, float value)
static Gan_Bool symmetric_matrix_set_el (Gan_SquMatrix *A, unsigned i, unsigned j, double value)
static Gan_SquMatrix_fsymmetric_matrix_sub (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_SquMatrix_f *C)
static Gan_SquMatrixsymmetric_matrix_sub (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_SquMatrix *C)
static float symmetric_matrix_sumsqr (Gan_SquMatrix_f *A)
static double symmetric_matrix_sumsqr (Gan_SquMatrix *A)
static Gan_SquMatrix_ftriangular_matrix_cholesky (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B, int *error_code)
static Gan_SquMatrixtriangular_matrix_cholesky (Gan_SquMatrix *A, Gan_SquMatrix *B, int *error_code)
static float triangular_matrix_Fnorm (Gan_SquMatrix_f *A)
static double triangular_matrix_Fnorm (Gan_SquMatrix *A)
static Gan_SquMatrix_ftriangular_matrix_invert (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
static Gan_SquMatrixtriangular_matrix_invert (Gan_SquMatrix *A, Gan_SquMatrix *B)
static Gan_SquMatrix_ftriangular_matrix_lrmult (Gan_SquMatrix_f *A, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C, Gan_SquMatrix_f *D)
static Gan_SquMatrixtriangular_matrix_lrmult (Gan_SquMatrix *A, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C, Gan_SquMatrix *D)
static float triangular_matrix_sumsqr (Gan_SquMatrix_f *A)
static double triangular_matrix_sumsqr (Gan_SquMatrix *A)
static Gan_SquMatrix_fupper_tri_matrix_add (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_SquMatrix_f *C)
static Gan_SquMatrixupper_tri_matrix_add (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_SquMatrix *C)
static Gan_SquMatrix_fupper_tri_matrix_copy (Gan_SquMatrix_f *A, Gan_SquMatrix_f *B)
static Gan_SquMatrixupper_tri_matrix_copy (Gan_SquMatrix *A, Gan_SquMatrix *B)
static Gan_Bool upper_tri_matrix_dec_el (Gan_SquMatrix_f *U, unsigned i, unsigned j, float value)
static Gan_Bool upper_tri_matrix_dec_el (Gan_SquMatrix *U, unsigned i, unsigned j, double value)
static Gan_Bool upper_tri_matrix_fprint (FILE *fp, Gan_SquMatrix_f *U, const char *prefix, unsigned indent, const char *fmt)
static Gan_Bool upper_tri_matrix_fprint (FILE *fp, Gan_SquMatrix *U, const char *prefix, unsigned indent, const char *fmt)
static float upper_tri_matrix_get_el (Gan_SquMatrix_f *U, unsigned i, unsigned j)
static double upper_tri_matrix_get_el (Gan_SquMatrix *U, unsigned i, unsigned j)
static Gan_Bool upper_tri_matrix_inc_el (Gan_SquMatrix_f *U, unsigned i, unsigned j, float value)
static Gan_Bool upper_tri_matrix_inc_el (Gan_SquMatrix *U, unsigned i, unsigned j, double value)
static Gan_Matrix_fupper_tri_matrix_lmult (Gan_SquMatrix_f *U, Gan_TposeFlag U_tr, Gan_InvertFlag U_inv, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
static Gan_Matrixupper_tri_matrix_lmult (Gan_SquMatrix *U, Gan_TposeFlag U_tr, Gan_InvertFlag U_inv, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
static Gan_Matrix_fupper_tri_matrix_matrix (Gan_SquMatrix_f *U, struct Gan_Matrix_f *B)
static Gan_Matrixupper_tri_matrix_matrix (Gan_SquMatrix *U, struct Gan_Matrix *B)
static Gan_Vector_fupper_tri_matrix_multv (Gan_SquMatrix_f *U, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Vector_f *x, Gan_Vector_f *y)
static Gan_Vectorupper_tri_matrix_multv (Gan_SquMatrix *U, Gan_TposeFlag A_tr, Gan_InvertFlag A_inv, Gan_Vector *x, Gan_Vector *y)
static Gan_Matrix_fupper_tri_matrix_rmult (Gan_SquMatrix_f *U, Gan_TposeFlag U_tr, Gan_InvertFlag U_inv, Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C)
static Gan_Matrixupper_tri_matrix_rmult (Gan_SquMatrix *U, Gan_TposeFlag U_tr, Gan_InvertFlag U_inv, Gan_Matrix *B, Gan_TposeFlag B_tr, Gan_Matrix *C)
static Gan_SquMatrix_fupper_tri_matrix_rmult_squ (Gan_SquMatrix_f *U, Gan_TposeFlag U_tr, Gan_InvertFlag U_inv, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_InvertFlag B_inv, Gan_SquMatrix_f *C)
static Gan_SquMatrixupper_tri_matrix_rmult_squ (Gan_SquMatrix *U, Gan_TposeFlag U_tr, Gan_InvertFlag U_inv, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_InvertFlag B_inv, Gan_SquMatrix *C)
static Gan_SquMatrix_fupper_tri_matrix_scale (Gan_SquMatrix_f *A, float a, Gan_SquMatrix_f *B)
static Gan_SquMatrixupper_tri_matrix_scale (Gan_SquMatrix *A, double a, Gan_SquMatrix *B)
static Gan_Bool upper_tri_matrix_set_el (Gan_SquMatrix_f *U, unsigned i, unsigned j, float value)
static Gan_Bool upper_tri_matrix_set_el (Gan_SquMatrix *U, unsigned i, unsigned j, double value)
static Gan_SquMatrix_fupper_tri_matrix_sub (Gan_SquMatrix_f *A, Gan_TposeFlag A_tr, Gan_SquMatrix_f *B, Gan_TposeFlag B_tr, Gan_SquMatrix_f *C)
static Gan_SquMatrixupper_tri_matrix_sub (Gan_SquMatrix *A, Gan_TposeFlag A_tr, Gan_SquMatrix *B, Gan_TposeFlag B_tr, Gan_SquMatrix *C)

Variables

float * Gan_Matrix_f::data
Gan_Bool Gan_Matrix_f::data_alloc
size_t Gan_Matrix_f::data_size
static Gan_SquMatrixFFuncs funcs
static Gan_SquMatrixFFuncs funcs
static Gan_SquMatrixFFuncs funcs
static Gan_SquMatrixFuncs funcs
static Gan_SquMatrixFuncs funcs
static Gan_SquMatrixFuncs funcs
static Gan_SquMatrixFFuncs lfuncs
static Gan_SquMatrixFuncs lfuncs
Gan_Bool Gan_Matrix_f::struct_alloc
static Gan_SquMatrixFFuncs ufuncs
static Gan_SquMatrixFuncs ufuncs


Generated by  Doxygen 1.6.0   Back to index