18 #if defined(HAVE_CCMATH)
21 #include <grass/ccmath_grass.h>
186 return solv(a[0],
b, n);
241 return minv(a[0], n);
254 return psinv(a[0], n);
266 return ruinv(a[0], n);
324 return evmax(a[0], u, n);
403 return svdval(d, a[0], m, n);
418 return sv2val(d, a[0], m, n);
431 int G_math_svduv(
double *d,
double **a,
double **u,
int m,
double **v,
int n)
433 return svduv(d, a[0], u[0], m, v[0], n);
447 int G_math_sv2uv(
double *d,
double **a,
double **u,
int m,
double **v,
int n)
449 return sv2uv(d, a[0], u[0], m, v[0], n);
469 return svdu1v(d, a[0], m, v[0], n);
void solvtd(double *a, double *b, double *c, double *x, int m)
int svdu1v(double *d, double *a, int m, double *v, int n)
void eigval(double *a, double *eval, int n)
int solv(double *a, double *b, int n)
int sv2uv(double *d, double *a, double *u, int m, double *v, int n)
int svduv(double *d, double *a, double *u, int m, double *v, int n)
int psinv(double *v, int n)
int solvps(double *s, double *x, int n)
int ruinv(double *a, int n)
double evmax(double *a, double *u, int n)
void eigen(double *a, double *eval, int n)
int svdval(double *d, double *a, int m, int n)
int solvru(double *a, double *b, int n)
int minv(double *a, int n)
int sv2val(double *d, double *a, int m, int n)
int G_math_solvru(double **a, double *b, int n)
int G_math_psinv(double **a, int n)
Invert (in place) a symmetric real matrix, V -> Inv(V).
int G_math_solv(double **a, double *b, int n)
Solve a general linear system A*x = b.
int G_math_svdu1v(double *d, double **a, int m, double **v, int n)
Compute the singular value transformation with A overloaded by the partial U-matrix.
int G_math_minv(double **a, int n)
Invert (in place) a general real matrix A -> Inv(A).
void G_math_eigen(double **a, double *ev, int n)
Compute the eigenvalues and eigenvectors of a real symmetric matrix A.
int G_math_svduv(double *d, double **a, double **u, int m, double **v, int n)
void G_math_eigval(double **a, double *ev, int n)
Compute the eigenvalues of a real symmetric matrix A.
int G_math_solvps(double **a, double *b, int n)
Solve a symmetric positive definite linear system S*x = b.
double G_math_evmax(double **a, double *u, int n)
void G_math_solvtd(double *a, double *b, double *c, double *x, int m)
Solve a tridiagonal linear system M*x = y.
int G_math_ruinv(double **a, int n)
Invert an upper right triangular matrix T -> Inv(T).
int G_math_sv2val(double *d, double **a, int m, int n)
Compute singular values when m >> n.
int G_math_svdval(double *d, double **a, int m, int n)
Compute the singular values of a real m by n matrix A.
int G_math_sv2uv(double *d, double **a, double **u, int m, double **v, int n)
Compute the singular value transformation when m >> n.