![]() |
NEURON
|
#include "sparse.h"Go to the source code of this file.
Classes | |
| struct | Iter_data |
Macros | |
| #define | INULL (ITER *)NULL |
| #define | ITER_LIMIT_DEF 1000 |
| #define | ITER_EPS_DEF 1e-6 |
| #define | iter_Ax(ip, fun, fun_par) (ip->Ax=(Fun_Ax)(fun),ip->A_par=(void *)(fun_par),0) |
| #define | iter_ATx(ip, fun, fun_par) (ip->ATx=(Fun_Ax)(fun),ip->AT_par=(void *)(fun_par),0) |
| #define | iter_Bx(ip, fun, fun_par) (ip->Bx=(Fun_Ax)(fun),ip->B_par=(void *)(fun_par),0) |
| #define | ITER_FREE(ip) (iter_free(ip), (ip)=(ITER *)NULL) |
Typedefs | |
| typedef VEC *(* | Fun_Ax) (void *, VEC *, VEC *) |
| typedef struct Iter_data | ITER |
| typedef void(* | Fun_info) (ITER *, double, VEC *, VEC *) |
| typedef int(* | Fun_stp_crt) (ITER *, double, VEC *, VEC *) |
Functions | |
| void | iter_std_info (ITER *ip, double nres, VEC *res, VEC *Bres) |
| int | iter_std_stop_crit (ITER *ip, double nres, VEC *res, VEC *Bres) |
| ITER * | iter_get (int lenb, int lenx) |
| ITER * | iter_resize (ITER *ip, int lenb, int lenx) |
| int | iter_free (ITER *ip) |
| void | iter_dump (FILE *fp, ITER *ip) |
| ITER * | iter_copy (ITER *ip1, ITER *ip2) |
| ITER * | iter_copy2 (ITER *ip1, ITER *ip2) |
| SPMAT * | iter_gen_sym (int n, int nrow) |
| SPMAT * | iter_gen_nonsym (int m, int n, int nrow, double diag) |
| SPMAT * | iter_gen_nonsym_posdef (int n, int nrow) |
| VEC * | iter_cg (ITER *ip) |
| VEC * | iter_cg1 (ITER *ip) |
| VEC * | iter_spcg (SPMAT *A, SPMAT *LLT, VEC *b, double eps, VEC *x, int limit, int *steps) |
| VEC * | iter_cgs (ITER *ip, VEC *r0) |
| VEC * | iter_spcgs (SPMAT *A, SPMAT *B, VEC *b, VEC *r0, double eps, VEC *x, int limit, int *steps) |
| VEC * | iter_lsqr (ITER *ip) |
| VEC * | iter_splsqr (SPMAT *A, VEC *b, double tol, VEC *x, int limit, int *steps) |
| VEC * | iter_gmres (ITER *ip) |
| VEC * | iter_spgmres (SPMAT *A, SPMAT *B, VEC *b, double tol, VEC *x, int k, int limit, int *steps) |
| MAT * | iter_arnoldi_iref (ITER *ip, Real *h, MAT *Q, MAT *H) |
| MAT * | iter_arnoldi (ITER *ip, Real *h, MAT *Q, MAT *H) |
| MAT * | iter_sparnoldi (SPMAT *A, VEC *x0, int k, Real *h, MAT *Q, MAT *H) |
| VEC * | iter_mgcr (ITER *ip) |
| VEC * | iter_spmgcr (SPMAT *A, SPMAT *B, VEC *b, double tol, VEC *x, int k, int limit, int *steps) |
| void | iter_lanczos (ITER *ip, VEC *a, VEC *b, Real *beta2, MAT *Q) |
| void | iter_splanczos (SPMAT *A, int m, VEC *x0, VEC *a, VEC *b, Real *beta2, MAT *Q) |
| VEC * | iter_lanczos2 (ITER *ip, VEC *evals, VEC *err_est) |
| VEC * | iter_splanczos2 (SPMAT *A, int m, VEC *x0, VEC *evals, VEC *err_est) |
| VEC * | iter_cgne (ITER *ip) |
| VEC * | iter_spcgne (SPMAT *A, SPMAT *B, VEC *b, double eps, VEC *x, int limit, int *steps) |
Definition at line 445 of file iternsym.c.
Definition at line 348 of file iternsym.c.
Definition at line 1150 of file iternsym.c.
Definition at line 57 of file iternsym.c.
Definition at line 599 of file iternsym.c.
Definition at line 217 of file iternsym.c.
Definition at line 891 of file iternsym.c.
Definition at line 519 of file iternsym.c.
Definition at line 1253 of file iternsym.c.
| VEC* iter_spcgs | ( | SPMAT * | A, |
| SPMAT * | B, | ||
| VEC * | b, | ||
| VEC * | r0, | ||
| double | eps, | ||
| VEC * | x, | ||
| int | limit, | ||
| int * | steps | ||
| ) |
Definition at line 174 of file iternsym.c.
| VEC* iter_spgmres | ( | SPMAT * | A, |
| SPMAT * | B, | ||
| VEC * | b, | ||
| double | tol, | ||
| VEC * | x, | ||
| int | k, | ||
| int | limit, | ||
| int * | steps | ||
| ) |
Definition at line 791 of file iternsym.c.
Definition at line 314 of file iternsym.c.
| VEC* iter_spmgcr | ( | SPMAT * | A, |
| SPMAT * | B, | ||
| VEC * | b, | ||
| double | tol, | ||
| VEC * | x, | ||
| int | k, | ||
| int | limit, | ||
| int * | steps | ||
| ) |
Definition at line 1110 of file iternsym.c.