23#include "alglibinternal.h"
25#include "alglibmisc.h"
93 ae_int_t repiterationscount;
95 ae_int_t repterminationtype;
103 ae_int_t iterationscount;
105 ae_int_t terminationtype;
127 ae_int_t repiterationscount;
130 ae_int_t repterminationtype;
140 ae_int_t iterationscount;
143 ae_int_t terminationtype;
160 double meritfunction;
168 ae_int_t itsbeforerestart;
169 ae_int_t itsbeforerupdate;
177 ae_int_t repiterationscount;
179 ae_int_t repterminationtype;
186 ae_int_t iterationscount;
188 ae_int_t terminationtype;
309 ae_int_t &iterationscount;
311 ae_int_t &terminationtype;
396 ae_int_t &iterationscount;
399 ae_int_t &terminationtype;
454 ae_int_t &iterationscount;
456 ae_int_t &terminationtype;
799void smp_rmatrixsolvemfast(
const real_2d_array &a,
const ae_int_t n,
const real_2d_array &b,
const ae_int_t m, ae_int_t &info);
1932void spdmatrixsolvemfast(
const real_2d_array &a,
const ae_int_t n,
const bool isupper,
const real_2d_array &b,
const ae_int_t m, ae_int_t &info);
1933void smp_spdmatrixsolvemfast(
const real_2d_array &a,
const ae_int_t n,
const bool isupper,
const real_2d_array &b,
const ae_int_t m, ae_int_t &info);
2091void spdmatrixsolvefast(
const real_2d_array &a,
const ae_int_t n,
const bool isupper,
const real_1d_array &b, ae_int_t &info);
2092void smp_spdmatrixsolvefast(
const real_2d_array &a,
const ae_int_t n,
const bool isupper,
const real_1d_array &b, ae_int_t &info);
2188void spdmatrixcholeskysolvemfast(
const real_2d_array &cha,
const ae_int_t n,
const bool isupper,
const real_2d_array &b,
const ae_int_t m, ae_int_t &info);
2189void smp_spdmatrixcholeskysolvemfast(
const real_2d_array &cha,
const ae_int_t n,
const bool isupper,
const real_2d_array &b,
const ae_int_t m, ae_int_t &info);
2279void spdmatrixcholeskysolvefast(
const real_2d_array &cha,
const ae_int_t n,
const bool isupper,
const real_1d_array &b, ae_int_t &info);
2682void hpdmatrixcholeskysolvemfast(
const complex_2d_array &cha,
const ae_int_t n,
const bool isupper,
const complex_2d_array &b,
const ae_int_t m, ae_int_t &info);
2683void smp_hpdmatrixcholeskysolvemfast(
const complex_2d_array &cha,
const ae_int_t n,
const bool isupper,
const complex_2d_array &b,
const ae_int_t m, ae_int_t &info);
2870void linlsqrcreate(
const ae_int_t m,
const ae_int_t n,
linlsqrstate &state);
2915void linlsqrsetlambdai(
const linlsqrstate &state,
const double lambdai);
2962void linlsqrsetcond(
const linlsqrstate &state,
const double epsa,
const double epsb,
const ae_int_t maxits);
3005void linlsqrsetxrep(
const linlsqrstate &state,
const bool needxrep);
3142void nleqsetcond(
const nleqstate &state,
const double epsf,
const ae_int_t maxits);
3158void nleqsetxrep(
const nleqstate &state,
const bool needxrep);
3178void nleqsetstpmax(
const nleqstate &state,
const double stpmax);
3186bool nleqiteration(
const nleqstate &state);
3209 void (*func)(
const real_1d_array &x,
double &func,
void *ptr),
3211 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
3302void lincgcreate(
const ae_int_t n,
lincgstate &state);
3333void lincgsetprecunit(
const lincgstate &state);
3347void lincgsetprecdiag(
const lincgstate &state);
3369void lincgsetcond(
const lincgstate &state,
const double epsf,
const ae_int_t maxits);
3438void lincgsetrestartfreq(
const lincgstate &state,
const ae_int_t srf);
3459void lincgsetrupdatefreq(
const lincgstate &state,
const ae_int_t freq);
3475void lincgsetxrep(
const lincgstate &state,
const bool needxrep);
3483namespace alglib_impl
3485void rmatrixsolve( ae_matrix* a,
3489 densesolverreport* rep,
3492void _pexec_rmatrixsolve( ae_matrix* a,
3496 densesolverreport* rep,
3497 ae_vector* x, ae_state *_state);
3498void rmatrixsolvefast( ae_matrix* a,
3503void _pexec_rmatrixsolvefast( ae_matrix* a,
3506 ae_int_t* info, ae_state *_state);
3507void rmatrixsolvem( ae_matrix* a,
3513 densesolverreport* rep,
3516void _pexec_rmatrixsolvem( ae_matrix* a,
3522 densesolverreport* rep,
3523 ae_matrix* x, ae_state *_state);
3524void rmatrixsolvemfast( ae_matrix* a,
3530void _pexec_rmatrixsolvemfast( ae_matrix* a,
3534 ae_int_t* info, ae_state *_state);
3535void rmatrixlusolve( ae_matrix* lua,
3540 densesolverreport* rep,
3543void rmatrixlusolvefast( ae_matrix* lua,
3549void rmatrixlusolvem( ae_matrix* lua,
3555 densesolverreport* rep,
3558void _pexec_rmatrixlusolvem( ae_matrix* lua,
3564 densesolverreport* rep,
3565 ae_matrix* x, ae_state *_state);
3566void rmatrixlusolvemfast( ae_matrix* lua,
3573void _pexec_rmatrixlusolvemfast( ae_matrix* lua,
3578 ae_int_t* info, ae_state *_state);
3579void rmatrixmixedsolve( ae_matrix* a,
3585 densesolverreport* rep,
3588void rmatrixmixedsolvem( ae_matrix* a,
3595 densesolverreport* rep,
3598void cmatrixsolvem( ae_matrix* a,
3604 densesolverreport* rep,
3607void _pexec_cmatrixsolvem( ae_matrix* a,
3613 densesolverreport* rep,
3614 ae_matrix* x, ae_state *_state);
3615void cmatrixsolvemfast( ae_matrix* a,
3621void _pexec_cmatrixsolvemfast( ae_matrix* a,
3625 ae_int_t* info, ae_state *_state);
3626void cmatrixsolve( ae_matrix* a,
3630 densesolverreport* rep,
3633void _pexec_cmatrixsolve( ae_matrix* a,
3637 densesolverreport* rep,
3638 ae_vector* x, ae_state *_state);
3639void cmatrixsolvefast( ae_matrix* a,
3644void _pexec_cmatrixsolvefast( ae_matrix* a,
3647 ae_int_t* info, ae_state *_state);
3648void cmatrixlusolvem( ae_matrix* lua,
3654 densesolverreport* rep,
3657void _pexec_cmatrixlusolvem( ae_matrix* lua,
3663 densesolverreport* rep,
3664 ae_matrix* x, ae_state *_state);
3665void cmatrixlusolvemfast( ae_matrix* lua,
3672void _pexec_cmatrixlusolvemfast( ae_matrix* lua,
3677 ae_int_t* info, ae_state *_state);
3678void cmatrixlusolve( ae_matrix* lua,
3683 densesolverreport* rep,
3686void cmatrixlusolvefast( ae_matrix* lua,
3692void cmatrixmixedsolvem( ae_matrix* a,
3699 densesolverreport* rep,
3702void cmatrixmixedsolve( ae_matrix* a,
3708 densesolverreport* rep,
3711void spdmatrixsolvem( ae_matrix* a,
3717 densesolverreport* rep,
3720void _pexec_spdmatrixsolvem( ae_matrix* a,
3726 densesolverreport* rep,
3727 ae_matrix* x, ae_state *_state);
3728void spdmatrixsolvemfast( ae_matrix* a,
3735void _pexec_spdmatrixsolvemfast( ae_matrix* a,
3740 ae_int_t* info, ae_state *_state);
3741void spdmatrixsolve( ae_matrix* a,
3746 densesolverreport* rep,
3749void _pexec_spdmatrixsolve( ae_matrix* a,
3754 densesolverreport* rep,
3755 ae_vector* x, ae_state *_state);
3756void spdmatrixsolvefast( ae_matrix* a,
3762void _pexec_spdmatrixsolvefast( ae_matrix* a,
3766 ae_int_t* info, ae_state *_state);
3767void spdmatrixcholeskysolvem( ae_matrix* cha,
3773 densesolverreport* rep,
3776void _pexec_spdmatrixcholeskysolvem( ae_matrix* cha,
3782 densesolverreport* rep,
3783 ae_matrix* x, ae_state *_state);
3784void spdmatrixcholeskysolvemfast( ae_matrix* cha,
3791void _pexec_spdmatrixcholeskysolvemfast( ae_matrix* cha,
3796 ae_int_t* info, ae_state *_state);
3797void spdmatrixcholeskysolve( ae_matrix* cha,
3802 densesolverreport* rep,
3805void spdmatrixcholeskysolvefast( ae_matrix* cha,
3811void hpdmatrixsolvem( ae_matrix* a,
3817 densesolverreport* rep,
3820void _pexec_hpdmatrixsolvem( ae_matrix* a,
3826 densesolverreport* rep,
3827 ae_matrix* x, ae_state *_state);
3828void hpdmatrixsolvemfast( ae_matrix* a,
3835void _pexec_hpdmatrixsolvemfast( ae_matrix* a,
3840 ae_int_t* info, ae_state *_state);
3841void hpdmatrixsolve( ae_matrix* a,
3846 densesolverreport* rep,
3849void _pexec_hpdmatrixsolve( ae_matrix* a,
3854 densesolverreport* rep,
3855 ae_vector* x, ae_state *_state);
3856void hpdmatrixsolvefast( ae_matrix* a,
3862void _pexec_hpdmatrixsolvefast( ae_matrix* a,
3866 ae_int_t* info, ae_state *_state);
3867void hpdmatrixcholeskysolvem( ae_matrix* cha,
3873 densesolverreport* rep,
3876void _pexec_hpdmatrixcholeskysolvem( ae_matrix* cha,
3882 densesolverreport* rep,
3883 ae_matrix* x, ae_state *_state);
3884void hpdmatrixcholeskysolvemfast( ae_matrix* cha,
3891void _pexec_hpdmatrixcholeskysolvemfast( ae_matrix* cha,
3896 ae_int_t* info, ae_state *_state);
3897void hpdmatrixcholeskysolve( ae_matrix* cha,
3902 densesolverreport* rep,
3905void hpdmatrixcholeskysolvefast( ae_matrix* cha,
3911void rmatrixsolvels( ae_matrix* a,
3917 densesolverlsreport* rep,
3920void _pexec_rmatrixsolvels( ae_matrix* a,
3926 densesolverlsreport* rep,
3927 ae_vector* x, ae_state *_state);
3928void _densesolverreport_init(
void* _p, ae_state *_state);
3929void _densesolverreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
3930void _densesolverreport_clear(
void* _p);
3931void _densesolverreport_destroy(
void* _p);
3932void _densesolverlsreport_init(
void* _p, ae_state *_state);
3933void _densesolverlsreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
3934void _densesolverlsreport_clear(
void* _p);
3935void _densesolverlsreport_destroy(
void* _p);
3936void linlsqrcreate(ae_int_t m,
3938 linlsqrstate* state,
3940void linlsqrsetb(linlsqrstate* state,
3943void linlsqrsetprecunit(linlsqrstate* state, ae_state *_state);
3944void linlsqrsetprecdiag(linlsqrstate* state, ae_state *_state);
3945void linlsqrsetlambdai(linlsqrstate* state,
3948ae_bool linlsqriteration(linlsqrstate* state, ae_state *_state);
3949void linlsqrsolvesparse(linlsqrstate* state,
3953void linlsqrsetcond(linlsqrstate* state,
3958void linlsqrresults(linlsqrstate* state,
3962void linlsqrsetxrep(linlsqrstate* state,
3965void linlsqrrestart(linlsqrstate* state, ae_state *_state);
3966void _linlsqrstate_init(
void* _p, ae_state *_state);
3967void _linlsqrstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
3968void _linlsqrstate_clear(
void* _p);
3969void _linlsqrstate_destroy(
void* _p);
3970void _linlsqrreport_init(
void* _p, ae_state *_state);
3971void _linlsqrreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
3972void _linlsqrreport_clear(
void* _p);
3973void _linlsqrreport_destroy(
void* _p);
3974void polynomialsolve( ae_vector* a,
3977 polynomialsolverreport* rep,
3979void _polynomialsolverreport_init(
void* _p, ae_state *_state);
3980void _polynomialsolverreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
3981void _polynomialsolverreport_clear(
void* _p);
3982void _polynomialsolverreport_destroy(
void* _p);
3983void nleqcreatelm(ae_int_t n,
3988void nleqsetcond(nleqstate* state,
3992void nleqsetxrep(nleqstate* state, ae_bool needxrep, ae_state *_state);
3993void nleqsetstpmax(nleqstate* state,
double stpmax, ae_state *_state);
3994ae_bool nleqiteration(nleqstate* state, ae_state *_state);
3995void nleqresults(nleqstate* state,
3999void nleqresultsbuf(nleqstate* state,
4003void nleqrestartfrom(nleqstate* state,
4006void _nleqstate_init(
void* _p, ae_state *_state);
4007void _nleqstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
4008void _nleqstate_clear(
void* _p);
4009void _nleqstate_destroy(
void* _p);
4010void _nleqreport_init(
void* _p, ae_state *_state);
4011void _nleqreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
4012void _nleqreport_clear(
void* _p);
4013void _nleqreport_destroy(
void* _p);
4014void lincgcreate(ae_int_t n, lincgstate* state, ae_state *_state);
4015void lincgsetstartingpoint(lincgstate* state,
4018void lincgsetb(lincgstate* state,
4021void lincgsetprecunit(lincgstate* state, ae_state *_state);
4022void lincgsetprecdiag(lincgstate* state, ae_state *_state);
4023void lincgsetcond(lincgstate* state,
4027ae_bool lincgiteration(lincgstate* state, ae_state *_state);
4028void lincgsolvesparse(lincgstate* state,
4033void lincgresults(lincgstate* state,
4037void lincgsetrestartfreq(lincgstate* state,
4040void lincgsetrupdatefreq(lincgstate* state,
4043void lincgsetxrep(lincgstate* state, ae_bool needxrep, ae_state *_state);
4044void lincgrestart(lincgstate* state, ae_state *_state);
4045void _lincgstate_init(
void* _p, ae_state *_state);
4046void _lincgstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
4047void _lincgstate_clear(
void* _p);
4048void _lincgstate_destroy(
void* _p);
4049void _lincgreport_init(
void* _p, ae_state *_state);
4050void _lincgreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
4051void _lincgreport_clear(
void* _p);
4052void _lincgreport_destroy(
void* _p);