23#include "alglibinternal.h"
24#include "alglibmisc.h"
44 ae_int_t ninitialized;
103 ae_int_t eigenvectorsneeded;
123 ae_int_t requesttype;
124 ae_int_t requestsize;
125 ae_int_t repiterationscount;
130 ae_int_t iterationscount;
356 ae_int_t &iterationscount;
418void sparsecreate(
const ae_int_t m,
const ae_int_t n,
const ae_int_t k,
sparsematrix &s);
419void sparsecreate(
const ae_int_t m,
const ae_int_t n,
sparsematrix &s);
449void sparsecreatebuf(
const ae_int_t m,
const ae_int_t n,
const ae_int_t k,
const sparsematrix &s);
450void sparsecreatebuf(
const ae_int_t m,
const ae_int_t n,
const sparsematrix &s);
651void sparseadd(
const sparsematrix &s,
const ae_int_t i,
const ae_int_t j,
const double v);
686void sparseset(
const sparsematrix &s,
const ae_int_t i,
const ae_int_t j,
const double v);
708double sparseget(
const sparsematrix &s,
const ae_int_t i,
const ae_int_t j);
730double sparsegetdiagonal(
const sparsematrix &s,
const ae_int_t i);
1085void sparsetrsv(
const sparsematrix &s,
const bool isupper,
const bool isunit,
const ae_int_t optype,
const real_1d_array &x);
1139bool sparseenumerate(
const sparsematrix &s, ae_int_t &t0, ae_int_t &t1, ae_int_t &i, ae_int_t &j,
double &v);
1170bool sparserewriteexisting(
const sparsematrix &s,
const ae_int_t i,
const ae_int_t j,
const double v);
1287void sparseconvertto(
const sparsematrix &s0,
const ae_int_t fmt);
1684void rmatrixrndorthogonal(
const ae_int_t n,
real_2d_array &a);
1701void rmatrixrndcond(
const ae_int_t n,
const double c,
real_2d_array &a);
1764void smatrixrndcond(
const ae_int_t n,
const double c,
real_2d_array &a);
1782void spdmatrixrndcond(
const ae_int_t n,
const double c,
real_2d_array &a);
1818void hpdmatrixrndcond(
const ae_int_t n,
const double c,
complex_2d_array &a);
1835void rmatrixrndorthogonalfromtheright(
real_2d_array &a,
const ae_int_t m,
const ae_int_t n);
1852void rmatrixrndorthogonalfromtheleft(
real_2d_array &a,
const ae_int_t m,
const ae_int_t n);
1870void cmatrixrndorthogonalfromtheright(
complex_2d_array &a,
const ae_int_t m,
const ae_int_t n);
1888void cmatrixrndorthogonalfromtheleft(
complex_2d_array &a,
const ae_int_t m,
const ae_int_t n);
1939void cmatrixtranspose(
const ae_int_t m,
const ae_int_t n,
const complex_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
complex_2d_array &b,
const ae_int_t ib,
const ae_int_t jb);
1955void rmatrixtranspose(
const ae_int_t m,
const ae_int_t n,
const real_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const real_2d_array &b,
const ae_int_t ib,
const ae_int_t jb);
1968void rmatrixenforcesymmetricity(
const real_2d_array &a,
const ae_int_t n,
const bool isupper);
1984void cmatrixcopy(
const ae_int_t m,
const ae_int_t n,
const complex_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
complex_2d_array &b,
const ae_int_t ib,
const ae_int_t jb);
2000void rmatrixcopy(
const ae_int_t m,
const ae_int_t n,
const real_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
real_2d_array &b,
const ae_int_t ib,
const ae_int_t jb);
2101void rmatrixmv(
const ae_int_t m,
const ae_int_t n,
const real_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const ae_int_t opa,
const real_1d_array &x,
const ae_int_t ix,
real_1d_array &y,
const ae_int_t iy);
2165void cmatrixrighttrsm(
const ae_int_t m,
const ae_int_t n,
const complex_2d_array &a,
const ae_int_t i1,
const ae_int_t j1,
const bool isupper,
const bool isunit,
const ae_int_t optype,
const complex_2d_array &x,
const ae_int_t i2,
const ae_int_t j2);
2166void smp_cmatrixrighttrsm(
const ae_int_t m,
const ae_int_t n,
const complex_2d_array &a,
const ae_int_t i1,
const ae_int_t j1,
const bool isupper,
const bool isunit,
const ae_int_t optype,
const complex_2d_array &x,
const ae_int_t i2,
const ae_int_t j2);
2230void cmatrixlefttrsm(
const ae_int_t m,
const ae_int_t n,
const complex_2d_array &a,
const ae_int_t i1,
const ae_int_t j1,
const bool isupper,
const bool isunit,
const ae_int_t optype,
const complex_2d_array &x,
const ae_int_t i2,
const ae_int_t j2);
2231void smp_cmatrixlefttrsm(
const ae_int_t m,
const ae_int_t n,
const complex_2d_array &a,
const ae_int_t i1,
const ae_int_t j1,
const bool isupper,
const bool isunit,
const ae_int_t optype,
const complex_2d_array &x,
const ae_int_t i2,
const ae_int_t j2);
2294void rmatrixrighttrsm(
const ae_int_t m,
const ae_int_t n,
const real_2d_array &a,
const ae_int_t i1,
const ae_int_t j1,
const bool isupper,
const bool isunit,
const ae_int_t optype,
const real_2d_array &x,
const ae_int_t i2,
const ae_int_t j2);
2295void smp_rmatrixrighttrsm(
const ae_int_t m,
const ae_int_t n,
const real_2d_array &a,
const ae_int_t i1,
const ae_int_t j1,
const bool isupper,
const bool isunit,
const ae_int_t optype,
const real_2d_array &x,
const ae_int_t i2,
const ae_int_t j2);
2358void rmatrixlefttrsm(
const ae_int_t m,
const ae_int_t n,
const real_2d_array &a,
const ae_int_t i1,
const ae_int_t j1,
const bool isupper,
const bool isunit,
const ae_int_t optype,
const real_2d_array &x,
const ae_int_t i2,
const ae_int_t j2);
2359void smp_rmatrixlefttrsm(
const ae_int_t m,
const ae_int_t n,
const real_2d_array &a,
const ae_int_t i1,
const ae_int_t j1,
const bool isupper,
const bool isunit,
const ae_int_t optype,
const real_2d_array &x,
const ae_int_t i2,
const ae_int_t j2);
2429void cmatrixherk(
const ae_int_t n,
const ae_int_t k,
const double alpha,
const complex_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const ae_int_t optypea,
const double beta,
const complex_2d_array &c,
const ae_int_t ic,
const ae_int_t jc,
const bool isupper);
2430void smp_cmatrixherk(
const ae_int_t n,
const ae_int_t k,
const double alpha,
const complex_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const ae_int_t optypea,
const double beta,
const complex_2d_array &c,
const ae_int_t ic,
const ae_int_t jc,
const bool isupper);
2498void rmatrixsyrk(
const ae_int_t n,
const ae_int_t k,
const double alpha,
const real_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const ae_int_t optypea,
const double beta,
const real_2d_array &c,
const ae_int_t ic,
const ae_int_t jc,
const bool isupper);
2499void smp_rmatrixsyrk(
const ae_int_t n,
const ae_int_t k,
const double alpha,
const real_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const ae_int_t optypea,
const double beta,
const real_2d_array &c,
const ae_int_t ic,
const ae_int_t jc,
const bool isupper);
2582void cmatrixgemm(
const ae_int_t m,
const ae_int_t n,
const ae_int_t k,
const alglib::complex alpha,
const complex_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const ae_int_t optypea,
const complex_2d_array &b,
const ae_int_t ib,
const ae_int_t jb,
const ae_int_t optypeb,
const alglib::complex beta,
const complex_2d_array &c,
const ae_int_t ic,
const ae_int_t jc);
2583void smp_cmatrixgemm(
const ae_int_t m,
const ae_int_t n,
const ae_int_t k,
const alglib::complex alpha,
const complex_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const ae_int_t optypea,
const complex_2d_array &b,
const ae_int_t ib,
const ae_int_t jb,
const ae_int_t optypeb,
const alglib::complex beta,
const complex_2d_array &c,
const ae_int_t ic,
const ae_int_t jc);
2664void rmatrixgemm(
const ae_int_t m,
const ae_int_t n,
const ae_int_t k,
const double alpha,
const real_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const ae_int_t optypea,
const real_2d_array &b,
const ae_int_t ib,
const ae_int_t jb,
const ae_int_t optypeb,
const double beta,
const real_2d_array &c,
const ae_int_t ic,
const ae_int_t jc);
2665void smp_rmatrixgemm(
const ae_int_t m,
const ae_int_t n,
const ae_int_t k,
const double alpha,
const real_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const ae_int_t optypea,
const real_2d_array &b,
const ae_int_t ib,
const ae_int_t jb,
const ae_int_t optypeb,
const double beta,
const real_2d_array &c,
const ae_int_t ic,
const ae_int_t jc);
2677void cmatrixsyrk(
const ae_int_t n,
const ae_int_t k,
const double alpha,
const complex_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const ae_int_t optypea,
const double beta,
const complex_2d_array &c,
const ae_int_t ic,
const ae_int_t jc,
const bool isupper);
2678void smp_cmatrixsyrk(
const ae_int_t n,
const ae_int_t k,
const double alpha,
const complex_2d_array &a,
const ae_int_t ia,
const ae_int_t ja,
const ae_int_t optypea,
const double beta,
const complex_2d_array &c,
const ae_int_t ic,
const ae_int_t jc,
const bool isupper);
2886bool hpdmatrixcholesky(
complex_2d_array &a,
const ae_int_t n,
const bool isupper);
2887bool smp_hpdmatrixcholesky(
complex_2d_array &a,
const ae_int_t n,
const bool isupper);
2954bool spdmatrixcholesky(
real_2d_array &a,
const ae_int_t n,
const bool isupper);
2955bool smp_spdmatrixcholesky(
real_2d_array &a,
const ae_int_t n,
const bool isupper);
3167bool sparsecholeskyskyline(
const sparsematrix &a,
const ae_int_t n,
const bool isupper);
3186double rmatrixrcond1(
const real_2d_array &a,
const ae_int_t n);
3206double rmatrixrcondinf(
const real_2d_array &a,
const ae_int_t n);
3236double spdmatrixrcond(
const real_2d_array &a,
const ae_int_t n,
const bool isupper);
3258double rmatrixtrrcond1(
const real_2d_array &a,
const ae_int_t n,
const bool isupper,
const bool isunit);
3280double rmatrixtrrcondinf(
const real_2d_array &a,
const ae_int_t n,
const bool isupper,
const bool isunit);
3310double hpdmatrixrcond(
const complex_2d_array &a,
const ae_int_t n,
const bool isupper);
3371double rmatrixlurcond1(
const real_2d_array &lua,
const ae_int_t n);
3393double rmatrixlurcondinf(
const real_2d_array &lua,
const ae_int_t n);
3419double spdmatrixcholeskyrcond(
const real_2d_array &a,
const ae_int_t n,
const bool isupper);
3445double hpdmatrixcholeskyrcond(
const complex_2d_array &a,
const ae_int_t n,
const bool isupper);
3510double cmatrixtrrcond1(
const complex_2d_array &a,
const ae_int_t n,
const bool isupper,
const bool isunit);
3532double cmatrixtrrcondinf(
const complex_2d_array &a,
const ae_int_t n,
const bool isupper,
const bool isunit);
3862void spdmatrixcholeskyinverse(
real_2d_array &a,
const ae_int_t n,
const bool isupper, ae_int_t &info,
matinvreport &rep);
3863void smp_spdmatrixcholeskyinverse(
real_2d_array &a,
const ae_int_t n,
const bool isupper, ae_int_t &info,
matinvreport &rep);
4149void rmatrixtrinverse(
real_2d_array &a,
const ae_int_t n,
const bool isupper,
const bool isunit, ae_int_t &info,
matinvreport &rep);
4150void smp_rmatrixtrinverse(
real_2d_array &a,
const ae_int_t n,
const bool isupper,
const bool isunit, ae_int_t &info,
matinvreport &rep);
4230void smp_cmatrixtrinverse(
complex_2d_array &a,
const ae_int_t n,
const bool isupper,
const bool isunit, ae_int_t &info,
matinvreport &rep);
4993void rmatrixbdmultiplybyq(
const real_2d_array &qp,
const ae_int_t m,
const ae_int_t n,
const real_1d_array &tauq,
real_2d_array &z,
const ae_int_t zrows,
const ae_int_t zcolumns,
const bool fromtheright,
const bool dotranspose);
5051void rmatrixbdmultiplybyp(
const real_2d_array &qp,
const ae_int_t m,
const ae_int_t n,
const real_1d_array &taup,
real_2d_array &z,
const ae_int_t zrows,
const ae_int_t zcolumns,
const bool fromtheright,
const bool dotranspose);
5566bool rmatrixbdsvd(
real_1d_array &d,
const real_1d_array &e,
const ae_int_t n,
const bool isupper,
const bool isfractionalaccuracyrequired,
real_2d_array &u,
const ae_int_t nru,
real_2d_array &c,
const ae_int_t ncc,
real_2d_array &vt,
const ae_int_t ncvt);
5675void normestimatorcreate(
const ae_int_t m,
const ae_int_t n,
const ae_int_t nstart,
const ae_int_t nits,
normestimatorstate &state);
5775void eigsubspacecreate(
const ae_int_t n,
const ae_int_t k,
eigsubspacestate &state);
5785void eigsubspacecreatebuf(
const ae_int_t n,
const ae_int_t k,
const eigsubspacestate &state);
5829void eigsubspacesetcond(
const eigsubspacestate &state,
const double eps,
const ae_int_t maxits);
5860void eigsubspaceoocstart(
const eigsubspacestate &state,
const ae_int_t mtype);
5920void eigsubspaceoocgetrequestinfo(
const eigsubspacestate &state, ae_int_t &requesttype, ae_int_t &requestsize);
6851void rmatrixinvupdatesimple(
real_2d_array &inva,
const ae_int_t n,
const ae_int_t updrow,
const ae_int_t updcolumn,
const double updval);
7035double spdmatrixcholeskydet(
const real_2d_array &a,
const ae_int_t n);
7066double spdmatrixdet(
const real_2d_array &a,
const ae_int_t n,
const bool isupper);
7075namespace alglib_impl
7077void sparsecreate(ae_int_t m,
7082void sparsecreatebuf(ae_int_t m,
7087void sparsecreatecrs(ae_int_t m,
7092void sparsecreatecrsbuf(ae_int_t m,
7097void sparsecreatesks(ae_int_t m,
7103void sparsecreatesksbuf(ae_int_t m,
7109void sparsecopy(sparsematrix* s0, sparsematrix* s1, ae_state *_state);
7110void sparsecopybuf(sparsematrix* s0, sparsematrix* s1, ae_state *_state);
7111void sparseswap(sparsematrix* s0, sparsematrix* s1, ae_state *_state);
7112void sparseadd(sparsematrix* s,
7117void sparseset(sparsematrix* s,
7122double sparseget(sparsematrix* s,
7126double sparsegetdiagonal(sparsematrix* s, ae_int_t i, ae_state *_state);
7127void sparsemv(sparsematrix* s,
7131void sparsemtv(sparsematrix* s,
7135void sparsemv2(sparsematrix* s,
7140void sparsesmv(sparsematrix* s,
7145double sparsevsmv(sparsematrix* s,
7149void sparsemm(sparsematrix* s,
7154void sparsemtm(sparsematrix* s,
7159void sparsemm2(sparsematrix* s,
7165void sparsesmm(sparsematrix* s,
7171void sparsetrmv(sparsematrix* s,
7178void sparsetrsv(sparsematrix* s,
7184void sparseresizematrix(sparsematrix* s, ae_state *_state);
7185double sparsegetaveragelengthofchain(sparsematrix* s, ae_state *_state);
7186ae_bool sparseenumerate(sparsematrix* s,
7193ae_bool sparserewriteexisting(sparsematrix* s,
7198void sparsegetrow(sparsematrix* s,
7202void sparsegetcompressedrow(sparsematrix* s,
7208void sparsetransposesks(sparsematrix* s, ae_state *_state);
7209void sparseconvertto(sparsematrix* s0, ae_int_t fmt, ae_state *_state);
7210void sparsecopytobuf(sparsematrix* s0,
7214void sparseconverttohash(sparsematrix* s, ae_state *_state);
7215void sparsecopytohash(sparsematrix* s0,
7218void sparsecopytohashbuf(sparsematrix* s0,
7221void sparseconverttocrs(sparsematrix* s, ae_state *_state);
7222void sparsecopytocrs(sparsematrix* s0, sparsematrix* s1, ae_state *_state);
7223void sparsecopytocrsbuf(sparsematrix* s0,
7226void sparseconverttosks(sparsematrix* s, ae_state *_state);
7227void sparsecopytosks(sparsematrix* s0, sparsematrix* s1, ae_state *_state);
7228void sparsecopytosksbuf(sparsematrix* s0,
7231void sparsecreatecrsinplace(sparsematrix* s, ae_state *_state);
7232ae_int_t sparsegetmatrixtype(sparsematrix* s, ae_state *_state);
7233ae_bool sparseishash(sparsematrix* s, ae_state *_state);
7234ae_bool sparseiscrs(sparsematrix* s, ae_state *_state);
7235ae_bool sparseissks(sparsematrix* s, ae_state *_state);
7236void sparsefree(sparsematrix* s, ae_state *_state);
7237ae_int_t sparsegetnrows(sparsematrix* s, ae_state *_state);
7238ae_int_t sparsegetncols(sparsematrix* s, ae_state *_state);
7239ae_int_t sparsegetuppercount(sparsematrix* s, ae_state *_state);
7240ae_int_t sparsegetlowercount(sparsematrix* s, ae_state *_state);
7241void _sparsematrix_init(
void* _p, ae_state *_state);
7242void _sparsematrix_init_copy(
void* _dst,
void* _src, ae_state *_state);
7243void _sparsematrix_clear(
void* _p);
7244void _sparsematrix_destroy(
void* _p);
7245void _sparsebuffers_init(
void* _p, ae_state *_state);
7246void _sparsebuffers_init_copy(
void* _dst,
void* _src, ae_state *_state);
7247void _sparsebuffers_clear(
void* _p);
7248void _sparsebuffers_destroy(
void* _p);
7249void rmatrixrndorthogonal(ae_int_t n,
7252void rmatrixrndcond(ae_int_t n,
7256void cmatrixrndorthogonal(ae_int_t n,
7259void cmatrixrndcond(ae_int_t n,
7263void smatrixrndcond(ae_int_t n,
7267void spdmatrixrndcond(ae_int_t n,
7271void hmatrixrndcond(ae_int_t n,
7275void hpdmatrixrndcond(ae_int_t n,
7279void rmatrixrndorthogonalfromtheright( ae_matrix* a,
7283void rmatrixrndorthogonalfromtheleft( ae_matrix* a,
7287void cmatrixrndorthogonalfromtheright( ae_matrix* a,
7291void cmatrixrndorthogonalfromtheleft( ae_matrix* a,
7295void smatrixrndmultiply( ae_matrix* a,
7298void hmatrixrndmultiply( ae_matrix* a,
7301void ablassplitlength( ae_matrix* a,
7306void ablascomplexsplitlength( ae_matrix* a,
7311ae_int_t ablasblocksize( ae_matrix* a, ae_state *_state);
7312ae_int_t ablascomplexblocksize( ae_matrix* a,
7314ae_int_t ablasmicroblocksize(ae_state *_state);
7315void cmatrixtranspose(ae_int_t m,
7324void rmatrixtranspose(ae_int_t m,
7333void rmatrixenforcesymmetricity( ae_matrix* a,
7337void cmatrixcopy(ae_int_t m,
7346void rmatrixcopy(ae_int_t m,
7355void cmatrixrank1(ae_int_t m,
7365void rmatrixrank1(ae_int_t m,
7375void cmatrixmv(ae_int_t m,
7386void rmatrixmv(ae_int_t m,
7397void cmatrixrighttrsm(ae_int_t m,
7409void _pexec_cmatrixrighttrsm(ae_int_t m,
7419 ae_int_t j2, ae_state *_state);
7420void cmatrixlefttrsm(ae_int_t m,
7432void _pexec_cmatrixlefttrsm(ae_int_t m,
7442 ae_int_t j2, ae_state *_state);
7443void rmatrixrighttrsm(ae_int_t m,
7455void _pexec_rmatrixrighttrsm(ae_int_t m,
7465 ae_int_t j2, ae_state *_state);
7466void rmatrixlefttrsm(ae_int_t m,
7478void _pexec_rmatrixlefttrsm(ae_int_t m,
7488 ae_int_t j2, ae_state *_state);
7489void cmatrixherk(ae_int_t n,
7502void _pexec_cmatrixherk(ae_int_t n,
7513 ae_bool isupper, ae_state *_state);
7514void rmatrixsyrk(ae_int_t n,
7527void _pexec_rmatrixsyrk(ae_int_t n,
7538 ae_bool isupper, ae_state *_state);
7539void cmatrixgemm(ae_int_t m,
7556void _pexec_cmatrixgemm(ae_int_t m,
7571 ae_int_t jc, ae_state *_state);
7572void rmatrixgemm(ae_int_t m,
7589void _pexec_rmatrixgemm(ae_int_t m,
7604 ae_int_t jc, ae_state *_state);
7605void cmatrixsyrk(ae_int_t n,
7618void _pexec_cmatrixsyrk(ae_int_t n,
7629 ae_bool isupper, ae_state *_state);
7630void rmatrixlu( ae_matrix* a,
7635void _pexec_rmatrixlu( ae_matrix* a,
7638 ae_vector* pivots, ae_state *_state);
7639void cmatrixlu( ae_matrix* a,
7644void _pexec_cmatrixlu( ae_matrix* a,
7647 ae_vector* pivots, ae_state *_state);
7648ae_bool hpdmatrixcholesky( ae_matrix* a,
7652ae_bool _pexec_hpdmatrixcholesky( ae_matrix* a,
7654 ae_bool isupper, ae_state *_state);
7655ae_bool spdmatrixcholesky( ae_matrix* a,
7659ae_bool _pexec_spdmatrixcholesky( ae_matrix* a,
7661 ae_bool isupper, ae_state *_state);
7662void spdmatrixcholeskyupdateadd1( ae_matrix* a,
7667void spdmatrixcholeskyupdatefix( ae_matrix* a,
7672void spdmatrixcholeskyupdateadd1buf( ae_matrix* a,
7678void spdmatrixcholeskyupdatefixbuf( ae_matrix* a,
7684ae_bool sparsecholeskyskyline(sparsematrix* a,
7688ae_bool sparsecholeskyx(sparsematrix* a,
7699void rmatrixlup( ae_matrix* a,
7704void cmatrixlup( ae_matrix* a,
7709void rmatrixplu( ae_matrix* a,
7714void cmatrixplu( ae_matrix* a,
7719ae_bool spdmatrixcholeskyrec( ae_matrix* a,
7725double rmatrixrcond1( ae_matrix* a,
7728double rmatrixrcondinf( ae_matrix* a,
7731double spdmatrixrcond( ae_matrix* a,
7735double rmatrixtrrcond1( ae_matrix* a,
7740double rmatrixtrrcondinf( ae_matrix* a,
7745double hpdmatrixrcond( ae_matrix* a,
7749double cmatrixrcond1( ae_matrix* a,
7752double cmatrixrcondinf( ae_matrix* a,
7755double rmatrixlurcond1( ae_matrix* lua,
7758double rmatrixlurcondinf( ae_matrix* lua,
7761double spdmatrixcholeskyrcond( ae_matrix* a,
7765double hpdmatrixcholeskyrcond( ae_matrix* a,
7769double cmatrixlurcond1( ae_matrix* lua,
7772double cmatrixlurcondinf( ae_matrix* lua,
7775double cmatrixtrrcond1( ae_matrix* a,
7780double cmatrixtrrcondinf( ae_matrix* a,
7785double rcondthreshold(ae_state *_state);
7786void rmatrixluinverse( ae_matrix* a,
7792void _pexec_rmatrixluinverse( ae_matrix* a,
7796 matinvreport* rep, ae_state *_state);
7797void rmatrixinverse( ae_matrix* a,
7802void _pexec_rmatrixinverse( ae_matrix* a,
7805 matinvreport* rep, ae_state *_state);
7806void cmatrixluinverse( ae_matrix* a,
7812void _pexec_cmatrixluinverse( ae_matrix* a,
7816 matinvreport* rep, ae_state *_state);
7817void cmatrixinverse( ae_matrix* a,
7822void _pexec_cmatrixinverse( ae_matrix* a,
7825 matinvreport* rep, ae_state *_state);
7826void spdmatrixcholeskyinverse( ae_matrix* a,
7832void _pexec_spdmatrixcholeskyinverse( ae_matrix* a,
7836 matinvreport* rep, ae_state *_state);
7837void spdmatrixinverse( ae_matrix* a,
7843void _pexec_spdmatrixinverse( ae_matrix* a,
7847 matinvreport* rep, ae_state *_state);
7848void hpdmatrixcholeskyinverse( ae_matrix* a,
7854void _pexec_hpdmatrixcholeskyinverse( ae_matrix* a,
7858 matinvreport* rep, ae_state *_state);
7859void hpdmatrixinverse( ae_matrix* a,
7865void _pexec_hpdmatrixinverse( ae_matrix* a,
7869 matinvreport* rep, ae_state *_state);
7870void rmatrixtrinverse( ae_matrix* a,
7877void _pexec_rmatrixtrinverse( ae_matrix* a,
7882 matinvreport* rep, ae_state *_state);
7883void cmatrixtrinverse( ae_matrix* a,
7890void _pexec_cmatrixtrinverse( ae_matrix* a,
7895 matinvreport* rep, ae_state *_state);
7896void spdmatrixcholeskyinverserec( ae_matrix* a,
7902void _matinvreport_init(
void* _p, ae_state *_state);
7903void _matinvreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
7904void _matinvreport_clear(
void* _p);
7905void _matinvreport_destroy(
void* _p);
7906void rmatrixqr( ae_matrix* a,
7911void _pexec_rmatrixqr( ae_matrix* a,
7914 ae_vector* tau, ae_state *_state);
7915void rmatrixlq( ae_matrix* a,
7920void _pexec_rmatrixlq( ae_matrix* a,
7923 ae_vector* tau, ae_state *_state);
7924void cmatrixqr( ae_matrix* a,
7929void _pexec_cmatrixqr( ae_matrix* a,
7932 ae_vector* tau, ae_state *_state);
7933void cmatrixlq( ae_matrix* a,
7938void _pexec_cmatrixlq( ae_matrix* a,
7941 ae_vector* tau, ae_state *_state);
7942void rmatrixqrunpackq( ae_matrix* a,
7949void _pexec_rmatrixqrunpackq( ae_matrix* a,
7954 ae_matrix* q, ae_state *_state);
7955void rmatrixqrunpackr( ae_matrix* a,
7960void rmatrixlqunpackq( ae_matrix* a,
7967void _pexec_rmatrixlqunpackq( ae_matrix* a,
7972 ae_matrix* q, ae_state *_state);
7973void rmatrixlqunpackl( ae_matrix* a,
7978void cmatrixqrunpackq( ae_matrix* a,
7985void _pexec_cmatrixqrunpackq( ae_matrix* a,
7990 ae_matrix* q, ae_state *_state);
7991void cmatrixqrunpackr( ae_matrix* a,
7996void cmatrixlqunpackq( ae_matrix* a,
8003void _pexec_cmatrixlqunpackq( ae_matrix* a,
8008 ae_matrix* q, ae_state *_state);
8009void cmatrixlqunpackl( ae_matrix* a,
8014void rmatrixqrbasecase( ae_matrix* a,
8021void rmatrixlqbasecase( ae_matrix* a,
8028void rmatrixbd( ae_matrix* a,
8034void rmatrixbdunpackq( ae_matrix* qp,
8041void rmatrixbdmultiplybyq( ae_matrix* qp,
8048 ae_bool fromtheright,
8049 ae_bool dotranspose,
8051void rmatrixbdunpackpt( ae_matrix* qp,
8058void rmatrixbdmultiplybyp( ae_matrix* qp,
8065 ae_bool fromtheright,
8066 ae_bool dotranspose,
8068void rmatrixbdunpackdiagonals( ae_matrix* b,
8075void rmatrixhessenberg( ae_matrix* a,
8079void rmatrixhessenbergunpackq( ae_matrix* a,
8084void rmatrixhessenbergunpackh( ae_matrix* a,
8088void smatrixtd( ae_matrix* a,
8095void smatrixtdunpackq( ae_matrix* a,
8101void hmatrixtd( ae_matrix* a,
8108void hmatrixtdunpackq( ae_matrix* a,
8114void fblscholeskysolve( ae_matrix* cha,
8121void fblssolvecgx( ae_matrix* a,
8129void fblscgcreate( ae_vector* x,
8132 fblslincgstate* state,
8134ae_bool fblscgiteration(fblslincgstate* state, ae_state *_state);
8135void fblssolvels( ae_matrix* a,
8143void _fblslincgstate_init(
void* _p, ae_state *_state);
8144void _fblslincgstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
8145void _fblslincgstate_clear(
void* _p);
8146void _fblslincgstate_destroy(
void* _p);
8147ae_bool rmatrixbdsvd( ae_vector* d,
8151 ae_bool isfractionalaccuracyrequired,
8159ae_bool bidiagonalsvddecomposition( ae_vector* d,
8163 ae_bool isfractionalaccuracyrequired,
8171ae_bool rmatrixsvd( ae_matrix* a,
8176 ae_int_t additionalmemory,
8181ae_bool _pexec_rmatrixsvd( ae_matrix* a,
8186 ae_int_t additionalmemory,
8189 ae_matrix* vt, ae_state *_state);
8190void normestimatorcreate(ae_int_t m,
8194 normestimatorstate* state,
8196void normestimatorsetseed(normestimatorstate* state,
8199ae_bool normestimatoriteration(normestimatorstate* state,
8201void normestimatorestimatesparse(normestimatorstate* state,
8204void normestimatorresults(normestimatorstate* state,
8207void normestimatorrestart(normestimatorstate* state, ae_state *_state);
8208void _normestimatorstate_init(
void* _p, ae_state *_state);
8209void _normestimatorstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
8210void _normestimatorstate_clear(
void* _p);
8211void _normestimatorstate_destroy(
void* _p);
8212void eigsubspacecreate(ae_int_t n,
8214 eigsubspacestate* state,
8216void eigsubspacecreatebuf(ae_int_t n,
8218 eigsubspacestate* state,
8220void eigsubspacesetcond(eigsubspacestate* state,
8224void eigsubspaceoocstart(eigsubspacestate* state,
8227ae_bool eigsubspaceooccontinue(eigsubspacestate* state, ae_state *_state);
8228void eigsubspaceoocgetrequestinfo(eigsubspacestate* state,
8229 ae_int_t* requesttype,
8230 ae_int_t* requestsize,
8232void eigsubspaceoocgetrequestdata(eigsubspacestate* state,
8235void eigsubspaceoocsendresult(eigsubspacestate* state,
8238void eigsubspaceoocstop(eigsubspacestate* state,
8241 eigsubspacereport* rep,
8243void eigsubspacesolvedenses(eigsubspacestate* state,
8248 eigsubspacereport* rep,
8250void _pexec_eigsubspacesolvedenses(eigsubspacestate* state,
8255 eigsubspacereport* rep, ae_state *_state);
8256void eigsubspacesolvesparses(eigsubspacestate* state,
8261 eigsubspacereport* rep,
8263ae_bool eigsubspaceiteration(eigsubspacestate* state, ae_state *_state);
8264ae_bool smatrixevd( ae_matrix* a,
8271ae_bool smatrixevdr( ae_matrix* a,
8281ae_bool smatrixevdi( ae_matrix* a,
8290ae_bool hmatrixevd( ae_matrix* a,
8297ae_bool hmatrixevdr( ae_matrix* a,
8307ae_bool hmatrixevdi( ae_matrix* a,
8316ae_bool smatrixtdevd( ae_vector* d,
8322ae_bool smatrixtdevdr( ae_vector* d,
8331ae_bool smatrixtdevdi( ae_vector* d,
8339ae_bool rmatrixevd( ae_matrix* a,
8347void _eigsubspacestate_init(
void* _p, ae_state *_state);
8348void _eigsubspacestate_init_copy(
void* _dst,
void* _src, ae_state *_state);
8349void _eigsubspacestate_clear(
void* _p);
8350void _eigsubspacestate_destroy(
void* _p);
8351void _eigsubspacereport_init(
void* _p, ae_state *_state);
8352void _eigsubspacereport_init_copy(
void* _dst,
void* _src, ae_state *_state);
8353void _eigsubspacereport_clear(
void* _p);
8354void _eigsubspacereport_destroy(
void* _p);
8355ae_bool rmatrixschur( ae_matrix* a,
8359ae_bool smatrixgevd( ae_matrix* a,
8365 ae_int_t problemtype,
8369ae_bool smatrixgevdreduce( ae_matrix* a,
8374 ae_int_t problemtype,
8378void rmatrixinvupdatesimple( ae_matrix* inva,
8384void rmatrixinvupdaterow( ae_matrix* inva,
8389void rmatrixinvupdatecolumn( ae_matrix* inva,
8394void rmatrixinvupdateuv( ae_matrix* inva,
8399double rmatrixludet( ae_matrix* a,
8403double rmatrixdet( ae_matrix* a,
8406ae_complex cmatrixludet( ae_matrix* a,
8410ae_complex cmatrixdet( ae_matrix* a,
8413double spdmatrixcholeskydet( ae_matrix* a,
8416double spdmatrixdet( ae_matrix* a,