26 lines
1.1 KiB
C
26 lines
1.1 KiB
C
#include <complex.h>
|
|
#include <stdbool.h>
|
|
|
|
/* ---- Operations ---- */
|
|
void lina_dot(double *A, double *B, double *C, int m, int n, int l);
|
|
void lina_add(double *A, double *B, double *C, int m, int n);
|
|
double lina_mul(double *v, int n);
|
|
bool lina_det(double *A, int n, double *det);
|
|
void lina_scale(double *A, double *B, double k, int m, int n);
|
|
void lina_transpose(double *A, double *B, int m, int n);
|
|
void lina_conv(double *A, double *B, double *C,
|
|
int Aw, int Ah, int Bw, int Bh);
|
|
|
|
void lina_dot2(double *A, double *B, double *C,
|
|
int As, int Bs, int Cs,
|
|
int m, int n, int l);
|
|
|
|
bool lina_eig(double *M, double complex *E, int n);
|
|
void lina_decompLU(double *A, double *L, double *U, int n);
|
|
void lina_decompQR(double *A, double *Q, double *R, int n);
|
|
void lina_orthoNormGramSchmidt(double *A, double *Q, int n);
|
|
|
|
|
|
/* ---- Utilities ---- */
|
|
double *lina_loadMatrixFromStream(FILE *fp, int *width, int *height, char **error);
|
|
int lina_saveMatrixToStream(FILE *fp, double *A, int width, int height, char **error); |