MPSolve  3.2.1
solve.h
Go to the documentation of this file.
1 /*
2  * This file is part of MPSolve 3.2.1
3  *
4  * Copyright (C) 2001-2020, Dipartimento di Matematica "L. Tonelli", Pisa.
5  * License: http://www.gnu.org/licenses/gpl.html GPL version 3 or higher
6  *
7  * Authors:
8  * Leonardo Robol <leonardo.robol@unipi.it>
9  */
10 
16 #ifndef MPS_SOLVE_H_
17 #define MPS_SOLVE_H_
18 
19 MPS_BEGIN_DECLS
20 
21 /* functions in solve.c */
22 void mps_update (mps_context * s);
23 void mps_fsrad (mps_context * s, mps_cluster * cluster, cplx_t sc, double *sr);
24 void mps_dsrad (mps_context * s, mps_cluster * cluster, cdpe_t sc, rdpe_t sr);
25 void mps_msrad (mps_context * s, mps_cluster * cluster, mpc_t sc, rdpe_t sr);
26 
27 mps_boolean mps_check_stop (mps_context * s);
28 void mps_fsolve (mps_context * s, mps_boolean * d_after_f);
29 void mps_dsolve (mps_context * s, mps_boolean d_after_f);
30 void mps_msolve (mps_context * s);
31 void mps_fpolzer (mps_context * s, int *it, mps_boolean * excep);
32 void mps_dpolzer (mps_context * s, int *it, mps_boolean * excep);
33 void mps_mpolzer (mps_context * s, int *it, mps_boolean * excep);
34 
35 /* Functions in modify.c */
36 void mps_fmodify (mps_context * s, mps_boolean track_new_cluster);
37 void mps_dmodify (mps_context * s, mps_boolean track_new_cluster);
38 void mps_mmodify (mps_context * s, mps_boolean track_new_cluster);
39 
40 /* Functions in inclusion.c */
44 
45 /* Functions in test.c */
46 mps_boolean mps_inclusion (mps_context * s);
47 
48 MPS_END_DECLS
49 
50 #endif /* MPS_SOLVE_H_ */
51 
mps_mpolzer
void mps_mpolzer(mps_context *s, int *it, mps_boolean *excep)
Multiprecision versione of fpolzer().
Definition: solve.c:1243
mps_dsrad
void mps_dsrad(mps_context *s, mps_cluster *cluster, cdpe_t sc, rdpe_t sr)
dpe version of fsrad()
Definition: solve.c:164
mps_fpolzer
void mps_fpolzer(mps_context *s, int *it, mps_boolean *excep)
This routine applies nit iterations of Aberth's method.
Definition: solve.c:621
mps_fupdate_inclusions
void mps_fupdate_inclusions(mps_context *s)
Check if the target set has been reached or not, and update the field s->root_inclusion[i] for every ...
Definition: inclusion.c:22
mps_context
this struct holds the state of the mps computation
Definition: context.h:55
mps_dpolzer
void mps_dpolzer(mps_context *s, int *it, mps_boolean *excep)
dpe version of fpolzer().
Definition: solve.c:702
mps_dupdate_inclusions
void mps_dupdate_inclusions(mps_context *s)
Check if the target set has been reached or not, and update the field s->root[i]->inclusion for every...
Definition: inclusion.c:161
mps_dmodify
void mps_dmodify(mps_context *s, mps_boolean track_new_cluster)
The DPE version of mps_fmodify().
Definition: modify.c:229
mps_check_stop
mps_boolean mps_check_stop(mps_context *s)
Check if the roots are computed with the required precision.
Definition: solve.c:291
mps_fmodify
void mps_fmodify(mps_context *s, mps_boolean track_new_cluster)
Modify the vector 'status' according to the goal, and to the location of the roots.
Definition: modify.c:134
mps_fsolve
void mps_fsolve(mps_context *s, mps_boolean *d_after_f)
Actually solve the polynomial.
Definition: solve.c:405
mps_cluster
A cluster of mps_roots.
Definition: cluster.h:51
mps_mmodify
void mps_mmodify(mps_context *s, mps_boolean track_new_cluster)
The multiprecision version of the routine mps_fmodify().
Definition: modify.c:320
mps_inclusion
mps_boolean mps_inclusion(mps_context *s)
Check the validity of the inclusions disks.
Definition: test.c:23
mps_fsrad
void mps_fsrad(mps_context *s, mps_cluster *cluster, cplx_t sc, double *sr)
Compute super center and super radius.
Definition: solve.c:129
mps_msrad
void mps_msrad(mps_context *s, mps_cluster *cluster, mpc_t sc, rdpe_t sr)
Multiprecision versione of fsrad()
Definition: solve.c:201
mps_dsolve
void mps_dsolve(mps_context *s, mps_boolean d_after_f)
dpe version of fsolve().
Definition: solve.c:776
mps_msolve
void mps_msolve(mps_context *s)
Multiprecision version of fsolve().
Definition: solve.c:942
mps_update
MPS_BEGIN_DECLS void mps_update(mps_context *s)
Set again[i] to true or to false according to the values of status and inclusion in the mps_approxima...
Definition: solve.c:35
mps_mupdate_inclusions
void mps_mupdate_inclusions(mps_context *s)
Check if the target set has been reached or not, and update the field s->root[i]->inclusion for every...
Definition: inclusion.c:319