GRASS GIS 8 Programmer's Manual  8.5.0dev(2024)-04fd63ca07
ccmath.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
Include dependency graph for ccmath.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  complex
 

Macros

#define XMATH   1
 
#define NULL   ((void *)0
 
#define CPX   1
 

Typedefs

typedef struct complex Cpx
 

Functions

int minv (double *a, int n)
 
int psinv (double *v, int n)
 
int ruinv (double *a, int n)
 
int solv (double *a, double *b, int n)
 
int solvps (double *s, double *x, int n)
 
int solvru (double *a, double *b, int n)
 
void solvtd (double *a, double *b, double *c, double *x, int m)
 
void eigen (double *a, double *eval, int n)
 
void eigval (double *a, double *eval, int n)
 
double evmax (double *a, double *u, int n)
 
int svdval (double *d, double *a, int m, int n)
 
int sv2val (double *d, double *a, int m, int n)
 
int svduv (double *d, double *a, double *u, int m, double *v, int n)
 
int sv2uv (double *d, double *a, double *u, int m, double *v, int n)
 
int svdu1v (double *d, double *a, int m, double *v, int n)
 
int sv2u1v (double *d, double *a, int m, double *v, int n)
 
void mmul (double *mat, double *a, double *b, int n)
 
void rmmult (double *mat, double *a, double *b, int m, int k, int n)
 
void vmul (double *vp, double *mat, double *v, int n)
 
double vnrm (double *u, double *v, int n)
 
void matprt (double *a, int n, int m, char *fmt)
 
void fmatprt (FILE *fp, double *a, int n, int m, char *fmt)
 
void trnm (double *a, int n)
 
void mattr (double *a, double *b, int m, int n)
 
void otrma (double *at, double *u, double *a, int n)
 
void otrsm (double *st, double *u, double *s0, int n)
 
void mcopy (double *a, double *b, int m)
 
void ortho (double *evc, int n)
 
void smgen (double *a, double *eval, double *evec, int n)
 
void house (double *a, double *d, double *ud, int n)
 
void housev (double *a, double *d, double *ud, int n)
 
int qreval (double *eval, double *ud, int n)
 
int qrevec (double *eval, double *evec, double *dp, int n)
 
int qrbdi (double *d, double *e, int n)
 
int qrbdv (double *d, double *e, double *u, int m, double *v, int n)
 
int qrbdu1 (double *d, double *e, double *u, int m, double *v, int n)
 
void ldumat (double *a, double *u, int m, int n)
 
void ldvmat (double *a, double *v, int n)
 
void atou1 (double *a, int m, int n)
 
void atovm (double *v, int n)
 
int cminv (Cpx *a, int n)
 
int csolv (Cpx *a, Cpx *b, int n)
 
void heigvec (Cpx *a, double *eval, int n)
 
void heigval (Cpx *a, double *eval, int n)
 
double hevmax (Cpx *a, Cpx *u, int n)
 
void cmmul (Cpx *c, Cpx *a, Cpx *b, int n)
 
void cmmult (Cpx *c, Cpx *a, Cpx *b, int m, int k, int n)
 
void cvmul (Cpx *vp, Cpx *mat, Cpx *v, int n)
 
Cpx cvnrm (Cpx *u, Cpx *v, int n)
 
void cmprt (Cpx *a, int n, int m, char *fmt)
 
void trncm (Cpx *a, int n)
 
void hconj (Cpx *u, int n)
 
void cmattr (Cpx *a, Cpx *b, int m, int n)
 
void utrncm (Cpx *at, Cpx *u, Cpx *a, int n)
 
void utrnhm (Cpx *ht, Cpx *u, Cpx *h0, int n)
 
void cmcpy (Cpx *a, Cpx *b, int n)
 
void unitary (Cpx *u, int n)
 
void hmgen (Cpx *h, double *eval, Cpx *u, int n)
 
void chouse (Cpx *a, double *d, double *ud, int n)
 
void chousv (Cpx *a, double *d, double *ud, int n)
 
void qrecvc (double *eval, Cpx *evec, double *ud, int n)
 

Macro Definition Documentation

◆ CPX

#define CPX   1

Definition at line 43 of file ccmath.h.

◆ NULL

#define NULL   ((void *)0

Definition at line 32 of file ccmath.h.

◆ XMATH

#define XMATH   1

Definition at line 21 of file ccmath.h.

Typedef Documentation

◆ Cpx

typedef struct complex Cpx

Definition at line 1 of file ccmath.h.

Function Documentation

◆ atou1()

void atou1 ( double *  a,
int  m,
int  n 
)

Definition at line 9 of file atou1.c.

◆ atovm()

void atovm ( double *  v,
int  n 
)

Definition at line 8 of file atovm.c.

◆ chouse()

void chouse ( Cpx a,
double *  d,
double *  ud,
int  n 
)

Definition at line 12 of file chouse.c.

◆ chousv()

void chousv ( Cpx a,
double *  d,
double *  ud,
int  n 
)

Definition at line 12 of file chousv.c.

◆ cmattr()

void cmattr ( Cpx a,
Cpx b,
int  m,
int  n 
)

Definition at line 11 of file cmattr.c.

◆ cmcpy()

void cmcpy ( Cpx a,
Cpx b,
int  n 
)

Definition at line 11 of file cmcpy.c.

◆ cminv()

int cminv ( Cpx a,
int  n 
)

Definition at line 12 of file cminv.c.

◆ cmmul()

void cmmul ( Cpx c,
Cpx a,
Cpx b,
int  n 
)

Definition at line 11 of file cmmul.c.

◆ cmmult()

void cmmult ( Cpx c,
Cpx a,
Cpx b,
int  m,
int  k,
int  n 
)

Definition at line 12 of file cmmult.c.

◆ cmprt()

void cmprt ( Cpx a,
int  n,
int  m,
char *  fmt 
)

Definition at line 11 of file cmprt.c.

◆ csolv()

int csolv ( Cpx a,
Cpx b,
int  n 
)

Definition at line 12 of file csolv.c.

◆ cvmul()

void cvmul ( Cpx vp,
Cpx mat,
Cpx v,
int  n 
)

Definition at line 11 of file cvmul.c.

◆ cvnrm()

Cpx cvnrm ( Cpx u,
Cpx v,
int  n 
)

Definition at line 26 of file cvmul.c.

◆ eigen()

void eigen ( double *  a,
double *  eval,
int  n 
)

Definition at line 10 of file eigen.c.

◆ eigval()

void eigval ( double *  a,
double *  eval,
int  n 
)

Definition at line 10 of file eigval.c.

◆ evmax()

double evmax ( double *  a,
double *  u,
int  n 
)

Definition at line 10 of file evmax.c.

◆ fmatprt()

void fmatprt ( FILE *  fp,
double *  a,
int  n,
int  m,
char *  fmt 
)

Definition at line 24 of file matprt.c.

◆ hconj()

void hconj ( Cpx u,
int  n 
)

Definition at line 11 of file hconj.c.

◆ heigval()

void heigval ( Cpx a,
double *  eval,
int  n 
)

Definition at line 12 of file heigval.c.

◆ heigvec()

void heigvec ( Cpx a,
double *  eval,
int  n 
)

Definition at line 12 of file heigvec.c.

◆ hevmax()

double hevmax ( Cpx a,
Cpx u,
int  n 
)

Definition at line 12 of file hevmax.c.

◆ hmgen()

void hmgen ( Cpx h,
double *  eval,
Cpx u,
int  n 
)

Definition at line 12 of file hmgen.c.

◆ house()

void house ( double *  a,
double *  d,
double *  ud,
int  n 
)

Definition at line 10 of file house.c.

◆ housev()

void housev ( double *  a,
double *  d,
double *  ud,
int  n 
)

Definition at line 10 of file housev.c.

◆ ldumat()

void ldumat ( double *  a,
double *  u,
int  m,
int  n 
)

Definition at line 9 of file ldumat.c.

◆ ldvmat()

void ldvmat ( double *  a,
double *  v,
int  n 
)

Definition at line 8 of file ldvmat.c.

◆ matprt()

void matprt ( double *  a,
int  n,
int  m,
char *  fmt 
)

Definition at line 11 of file matprt.c.

◆ mattr()

void mattr ( double *  a,
double *  b,
int  m,
int  n 
)

Definition at line 8 of file mattr.c.

◆ mcopy()

void mcopy ( double *  a,
double *  b,
int  m 
)

Definition at line 8 of file mcopy.c.

◆ minv()

int minv ( double *  a,
int  n 
)

Definition at line 10 of file minv.c.

◆ mmul()

void mmul ( double *  mat,
double *  a,
double *  b,
int  n 
)

Definition at line 9 of file mmul.c.

◆ ortho()

void ortho ( double *  evc,
int  n 
)

Definition at line 11 of file ortho.c.

◆ otrma()

void otrma ( double *  at,
double *  u,
double *  a,
int  n 
)

Definition at line 9 of file otrma.c.

◆ otrsm()

void otrsm ( double *  st,
double *  u,
double *  s0,
int  n 
)

Definition at line 9 of file otrsm.c.

◆ psinv()

int psinv ( double *  v,
int  n 
)

Definition at line 9 of file psinv.c.

References r.

◆ qrbdi()

int qrbdi ( double *  d,
double *  e,
int  n 
)

Definition at line 9 of file qrbdi.c.

◆ qrbdu1()

int qrbdu1 ( double *  d,
double *  e,
double *  u,
int  m,
double *  v,
int  n 
)

Definition at line 9 of file qrbdu1.c.

◆ qrbdv()

int qrbdv ( double *  d,
double *  e,
double *  u,
int  m,
double *  v,
int  n 
)

Definition at line 9 of file qrbdv.c.

◆ qrecvc()

void qrecvc ( double *  eval,
Cpx evec,
double *  ud,
int  n 
)

Definition at line 11 of file qrecvc.c.

◆ qreval()

int qreval ( double *  eval,
double *  ud,
int  n 
)

Definition at line 9 of file qreval.c.

◆ qrevec()

int qrevec ( double *  eval,
double *  evec,
double *  dp,
int  n 
)

Definition at line 9 of file qrevec.c.

◆ rmmult()

void rmmult ( double *  mat,
double *  a,
double *  b,
int  m,
int  k,
int  n 
)

Definition at line 9 of file rmmult.c.

◆ ruinv()

int ruinv ( double *  a,
int  n 
)

Definition at line 8 of file ruinv.c.

◆ smgen()

void smgen ( double *  a,
double *  eval,
double *  evec,
int  n 
)

Definition at line 8 of file smgen.c.

◆ solv()

int solv ( double *  a,
double *  b,
int  n 
)

Definition at line 10 of file solv.c.

◆ solvps()

int solvps ( double *  s,
double *  x,
int  n 
)

Definition at line 9 of file solvps.c.

◆ solvru()

int solvru ( double *  a,
double *  b,
int  n 
)

Definition at line 8 of file solvru.c.

◆ solvtd()

void solvtd ( double *  a,
double *  b,
double *  c,
double *  x,
int  m 
)

Definition at line 8 of file solvtd.c.

◆ sv2u1v()

int sv2u1v ( double *  d,
double *  a,
int  m,
double *  v,
int  n 
)

Definition at line 10 of file sv2u1v.c.

◆ sv2uv()

int sv2uv ( double *  d,
double *  a,
double *  u,
int  m,
double *  v,
int  n 
)

Definition at line 10 of file sv2uv.c.

◆ sv2val()

int sv2val ( double *  d,
double *  a,
int  m,
int  n 
)

Definition at line 10 of file sv2val.c.

◆ svdu1v()

int svdu1v ( double *  d,
double *  a,
int  m,
double *  v,
int  n 
)

Definition at line 10 of file svdu1v.c.

◆ svduv()

int svduv ( double *  d,
double *  a,
double *  u,
int  m,
double *  v,
int  n 
)

Definition at line 10 of file svduv.c.

◆ svdval()

int svdval ( double *  d,
double *  a,
int  m,
int  n 
)

Definition at line 10 of file svdval.c.

◆ trncm()

void trncm ( Cpx a,
int  n 
)

Definition at line 11 of file trncm.c.

◆ trnm()

void trnm ( double *  a,
int  n 
)

Definition at line 8 of file trnm.c.

◆ unitary()

void unitary ( Cpx u,
int  n 
)

Definition at line 18 of file unitary.c.

◆ utrncm()

void utrncm ( Cpx at,
Cpx u,
Cpx a,
int  n 
)

Definition at line 12 of file utrncm.c.

◆ utrnhm()

void utrnhm ( Cpx ht,
Cpx u,
Cpx h0,
int  n 
)

Definition at line 12 of file utrnhm.c.

◆ vmul()

void vmul ( double *  vp,
double *  mat,
double *  v,
int  n 
)

Definition at line 8 of file vmul.c.

◆ vnrm()

double vnrm ( double *  u,
double *  v,
int  n 
)

Definition at line 21 of file vmul.c.