20 #if defined(HAVE_CCMATH) 23 #include <grass/ccmath_grass.h> 186 return solv(a[0],b, n);
231 return solvru(a[0], b, n);
244 return minv(a[0], n);
258 return psinv( a[0], n);
271 return ruinv(a[0], n);
328 return evmax(a[0], u, n);
409 return svdval(d, a[0], m, n);
425 return sv2val(d, a[0], m, n);
440 int G_math_svduv(
double *d,
double **a,
double **u,
int m,
double **v,
int n)
442 return svduv(d, a[0], u[0], m, v[0], n);
457 int G_math_sv2uv(
double *d,
double **a,
double **u,
int m,
double **v,
int n)
459 return sv2uv(d, a[0], u[0], m, v[0], n);
478 return svdu1v(d, a[0], m, v[0], n);
int svduv(double *d, double *a, double *u, int m, double *v, int n)
int G_math_solvru(double **a, double *b, int n)
int solvps(double *s, double *x, int n)
int G_math_solvps(double **a, double *b, int n)
Solve a symmetric positive definite linear system S*x = b.
void G_math_eigen(double **a, double *ev, int n)
Compute the eigenvalues and eigenvectors of a real symmetric matrix A.
int svdval(double *d, double *a, int m, int n)
double G_math_evmax(double **a, double *u, int n)
void eigen(double *a, double *eval, int n)
void G_math_eigval(double **a, double *ev, int n)
Compute the eigenvalues of a real symmetric 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.
void solvtd(double *a, double *b, double *c, double *x, int m)
int G_math_sv2val(double *d, double **a, int m, int n)
Compute singular values when m >> n.
void G_math_solvtd(double *a, double *b, double *c, double *x, int m)
Solve a tridiagonal linear system M*x = y.
int sv2val(double *d, double *a, int m, int n)
int minv(double *a, int n)
int psinv(double *v, int n)
int G_math_svduv(double *d, double **a, double **u, int m, double **v, int n)
int G_math_psinv(double **a, int n)
Invert (in place) a symmetric real matrix, V -> Inv(V).
int sv2uv(double *d, double *a, double *u, int m, double *v, int n)
int solvru(double *a, double *b, int n)
int svdu1v(double *d, double *a, int m, double *v, int n)
double evmax(double *a, double *u, int 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_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_ruinv(double **a, int n)
Invert an upper right triangular matrix T -> Inv(T).
int G_math_minv(double **a, int n)
Invert (in place) a general real matrix A -> Inv(A).
int ruinv(double *a, int n)
int solv(double *a, double *b, int n)
int G_math_solv(double **a, double *b, int n)
Solve a general linear system A*x = b.
void eigval(double *a, double *eval, int n)