MPSolve 3.2.1
Loading...
Searching...
No Matches
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
19MPS_BEGIN_DECLS
20
21/* functions in solve.c */
22void mps_update (mps_context * s);
23void mps_fsrad (mps_context * s, mps_cluster * cluster, cplx_t sc, double *sr);
24void mps_dsrad (mps_context * s, mps_cluster * cluster, cdpe_t sc, rdpe_t sr);
25void mps_msrad (mps_context * s, mps_cluster * cluster, mpc_t sc, rdpe_t sr);
26
27mps_boolean mps_check_stop (mps_context * s);
28void mps_fsolve (mps_context * s, mps_boolean * d_after_f);
29void mps_dsolve (mps_context * s, mps_boolean d_after_f);
30void mps_msolve (mps_context * s);
31void mps_fpolzer (mps_context * s, int *it, mps_boolean * excep);
32void mps_dpolzer (mps_context * s, int *it, mps_boolean * excep);
33void mps_mpolzer (mps_context * s, int *it, mps_boolean * excep);
34
35/* Functions in modify.c */
36void mps_fmodify (mps_context * s, mps_boolean track_new_cluster);
37void mps_dmodify (mps_context * s, mps_boolean track_new_cluster);
38void mps_mmodify (mps_context * s, mps_boolean track_new_cluster);
39
40/* Functions in inclusion.c */
44
45/* Functions in test.c */
46mps_boolean mps_inclusion (mps_context * s);
47
48MPS_END_DECLS
49
50#endif /* MPS_SOLVE_H_ */
51
void mps_fsolve(mps_context *s, mps_boolean *d_after_f)
Actually solve the polynomial.
Definition: solve.c:405
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
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_boolean mps_check_stop(mps_context *s)
Check if the roots are computed with the required precision.
Definition: solve.c:291
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
void mps_msrad(mps_context *s, mps_cluster *cluster, mpc_t sc, rdpe_t sr)
Multiprecision versione of fsrad()
Definition: solve.c:201
void mps_mpolzer(mps_context *s, int *it, mps_boolean *excep)
Multiprecision versione of fpolzer().
Definition: solve.c:1243
mps_boolean mps_inclusion(mps_context *s)
Check the validity of the inclusions disks.
Definition: test.c:23
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_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
void mps_dmodify(mps_context *s, mps_boolean track_new_cluster)
The DPE version of mps_fmodify().
Definition: modify.c:229
void mps_mmodify(mps_context *s, mps_boolean track_new_cluster)
The multiprecision version of the routine mps_fmodify().
Definition: modify.c:320
void mps_dsrad(mps_context *s, mps_cluster *cluster, cdpe_t sc, rdpe_t sr)
dpe version of fsrad()
Definition: solve.c:164
void mps_dpolzer(mps_context *s, int *it, mps_boolean *excep)
dpe version of fpolzer().
Definition: solve.c:702
void mps_dsolve(mps_context *s, mps_boolean d_after_f)
dpe version of fsolve().
Definition: solve.c:776
void mps_msolve(mps_context *s)
Multiprecision version of fsolve().
Definition: solve.c:942
void mps_fsrad(mps_context *s, mps_cluster *cluster, cplx_t sc, double *sr)
Compute super center and super radius.
Definition: solve.c:129
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
A cluster of mps_roots.
Definition: cluster.h:51
this struct holds the state of the mps computation
Definition: context.h:55