#include <stdarg.h>
#include <gandalf/linalg/matf_gen.h>
#include <gandalf/linalg/vecf_gen.h>
#include <gandalf/linalg/matf_symmetric.h>
#include <gandalf/linalg/matvecf_blas.h>
#include <gandalf/linalg/matvecf_clapack.h>
#include <gandalf/linalg/clapack.h>
#include <gandalf/linalg/cblas.h>
#include <gandalf/common/allocate.h>
#include <gandalf/common/misc_error.h>
#include <gandalf/common/numerics.h>
#include <gandalf/common/array.h>
#include <gandalf/common/endian_io.h>
Functions | |
Gan_Bool | gan_matf_realloc_gen (Gan_Matrix_f *A, unsigned long rows, unsigned long cols) |
void | gan_matf_free (Gan_Matrix_f *A) |
Free a matrix. | |
Gan_Matrix_f * | gan_matf_set_dims (Gan_Matrix_f *A, unsigned long rows, unsigned long cols) |
Set dimensions of generic matrix. | |
Gan_Bool | gan_matf_is_zero (Gan_Matrix_f *A) |
Checks whether a matrix is zero. | |
float | gan_matf_sumsqr (const Gan_Matrix_f *A) |
Returns squared Frobenius norm of generic rectangular matrix. | |
float | gan_matf_Fnorm (const Gan_Matrix_f *A) |
Returns Frobenius norm of generic rectangular matrix. | |
Gan_Matrix_f * | gan_matf_invert_q (const Gan_Matrix_f *A, Gan_Matrix_f *B) |
Inverts general square matrix. | |
Gan_Matrix_f * | gan_matf_fill_va (Gan_Matrix_f *A, unsigned long rows, unsigned long cols,...) |
Fill matrix from variable argument list. | |
Gan_Matrix_f * | gan_matf_fill_vap (Gan_Matrix_f *A, unsigned long rows, unsigned long cols, va_list *aptr) |
Fill matrix from variable argument list. | |
Gan_Matrix_f * | gan_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_Bool | gan_matf_read_va (const Gan_Matrix_f *A, unsigned long rows, unsigned long cols,...) |
Read elements of matrix from variable argument list. | |
Gan_Matrix_f * | gan_matf_copy_q (const Gan_Matrix_f *A, Gan_Matrix_f *B) |
Copy matrix. | |
Gan_Matrix_f * | gan_matf_scale_q (Gan_Matrix_f *A, float a, Gan_Matrix_f *B) |
Multiply matrix by scalar. | |
Gan_Matrix_f * | gan_matf_divide_q (Gan_Matrix_f *A, float a, Gan_Matrix_f *B) |
Divide matrix by scalar. | |
Gan_Matrix_f * | gan_matf_tpose_q (Gan_Matrix_f *A, Gan_Matrix_f *B) |
Transpose matrix. | |
Gan_Matrix_f * | gan_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. | |
Gan_SquMatrix_f * | gan_matf_add_sym_gen (const Gan_Matrix_f *A, Gan_TposeFlag A_tr, const Gan_Matrix_f *B, Gan_TposeFlag B_tr, struct Gan_SquMatrix_f *C) |
Add general size matrices producing a symmetric matrix. | |
Gan_Matrix_f * | gan_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. | |
Gan_Vector_f * | gan_matf_multv_gen (const Gan_Matrix_f *A, Gan_TposeFlag A_tr, const Gan_Vector_f *x, Gan_Vector_f *y) |
Multiply matrix and a vector. | |
Gan_Matrix_f * | gan_matf_rmult_gen (const Gan_Matrix_f *A, Gan_TposeFlag A_tr, const Gan_Matrix_f *B, Gan_TposeFlag B_tr, Gan_Matrix_f *C) |
Gan_SquMatrix_f * | gan_matf_rmult_sym_gen (const Gan_Matrix_f *A, Gan_TposeFlag A_tr, const Gan_Matrix_f *B, Gan_TposeFlag B_tr, struct Gan_SquMatrix_f *C) |
Gan_Matrix_f * | gan_matf_insert_gen (Gan_Matrix_f *A, unsigned long rA, unsigned long cA, const 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_f * | gan_matf_insertv_gen (Gan_Matrix_f *A, unsigned long rA, unsigned long cA, const 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_f * | gan_matf_insertsym (Gan_Matrix_f *A, unsigned long rA, unsigned long cA, const 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. | |
void | gan_matf_free_va (Gan_Matrix_f *A,...) |
Free a NULL terminated variable argument list of matrices. | |
Gan_Matrix_f * | gan_matf_form_gen (Gan_Matrix_f *A, unsigned long rows, unsigned long cols, float *data, size_t data_size) |
Gan_Matrix_f * | gan_matf_extract_q (const 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_Bool | gan_matf_fprint (FILE *fp, const Gan_Matrix_f *A, const char *prefix, unsigned indent, const char *fmt) |
Print matrix to file pointer. | |
Gan_Matrix_f * | gan_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, const Gan_Matrix_f *A, gan_uint32 magic_number) |
Print matrix to binary file pointer. | |
Gan_Matrix_f * | gan_matf_fread_q (FILE *fp, Gan_Matrix_f *A, gan_uint32 *magic_number) |
Read matrix from file in binary format. | |
void | gan_matf_db (const Gan_Matrix_f *A) |
Part of: Gandalf Library