MPSolve  3.2.1
starting.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 
17 #ifndef MPS_STARTING_H_
18 #define MPS_STARTING_H_
19 
20 MPS_BEGIN_DECLS
21 
22 /* functions in starting.c */
23 void mps_fstart (mps_context * s, int n, mps_cluster_item * cluster, double clust_rad,
24  double g, rdpe_t eps_out, double fap[]);
25 void mps_dstart (mps_context * s, int n, mps_cluster_item * cluster, rdpe_t clust_rad,
26  rdpe_t g, rdpe_t eps_out, rdpe_t dap[]);
27 void mps_mstart (mps_context * s, int n, mps_cluster_item * cluster, rdpe_t clust_rad,
28  rdpe_t g, rdpe_t dap[], mpc_t gg);
29 void mps_frestart (mps_context * s);
30 void mps_drestart (mps_context * s);
31 void mps_mrestart (mps_context * s);
32 void mps_fshift (mps_context * s, int m, mps_cluster_item * cluster, double clust_rad,
33  cplx_t g, rdpe_t eps);
34 void mps_dshift (mps_context * s, int m, mps_cluster_item * cluster, rdpe_t clust_rad,
35  cdpe_t g, rdpe_t eps);
36 void mps_mshift (mps_context * s, int m, mps_cluster_item * cluster, rdpe_t clust_rad,
37  mpc_t g);
38 
39 /* functions in recursive-starting.c */
40 void mps_recursive_fstart (mps_context * ctx, mps_polynomial * poly, mps_approximation ** approximations);
41 void mps_recursive_dstart (mps_context * ctx, mps_polynomial * poly, mps_approximation ** approximations);
42 void mps_recursive_mstart (mps_context * ctx, mps_polynomial * poly, mps_approximation ** approximations);
43 
44 /* functions in file-starting.c */
45 void mps_file_fstart (mps_context * ctx, mps_polynomial * poly, mps_approximation ** approximations);
46 void mps_file_dstart (mps_context * ctx, mps_polynomial * poly, mps_approximation ** approximations);
47 void mps_file_mstart (mps_context * ctx, mps_polynomial * poly, mps_approximation ** approximations);
48 
49 MPS_END_DECLS
50 
51 #endif /* MPS_STARTING_H_ */
52 
mps_cluster_item
Cluster held in a mps_clusterization.
Definition: cluster.h:72
mps_mshift
void mps_mshift(mps_context *s, int m, mps_cluster_item *cluster, rdpe_t clust_rad, mpc_t g)
This routine computes the first coefficients of the shifted polynomial , by performing Horner divis...
Definition: shift.c:137
mps_file_fstart
void mps_file_fstart(mps_context *ctx, mps_polynomial *poly, mps_approximation **approximations)
Select the starting points for the polynomial by loading the approximations loaded in the file that h...
Definition: file-starting.c:65
mps_dshift
void mps_dshift(mps_context *s, int m, mps_cluster_item *cluster, rdpe_t clust_rad, cdpe_t g, rdpe_t eps)
This routine computes the first coefficients of the shifted polynomial , by performing Horner divis...
Definition: shift.c:91
mps_context
this struct holds the state of the mps computation
Definition: context.h:55
mps_fshift
void mps_fshift(mps_context *s, int m, mps_cluster_item *cluster, double clust_rad, cplx_t g, rdpe_t eps)
This routine computes the first coefficients of the shifted polynomial , by performing Horner divis...
Definition: shift.c:42
mps_file_dstart
void mps_file_dstart(mps_context *ctx, mps_polynomial *poly, mps_approximation **approximations)
Select the starting points for the polynomial by loading the approximations loaded in the file that h...
Definition: file-starting.c:80
mps_polynomial
Struct that represents an abstract polynomial. All the other real polynomial implementations (such as...
Definition: polynomial.h:111
mps_recursive_dstart
void mps_recursive_dstart(mps_context *ctx, mps_polynomial *poly, mps_approximation **approximations)
Select appropriate starting point for the approximation of the roots of the given polynomial by apply...
Definition: recursive-starting.c:173
mps_drestart
void mps_drestart(mps_context *s)
This function scans the existing clusters and selects the ones where shift in the gravity center must...
Definition: starting.c:1310
mps_recursive_fstart
void mps_recursive_fstart(mps_context *ctx, mps_polynomial *poly, mps_approximation **approximations)
Select appropriate starting point for the approximation of the roots of the given polynomial by apply...
Definition: recursive-starting.c:65
mps_mstart
void mps_mstart(mps_context *s, int n, mps_cluster_item *cluster, rdpe_t clust_rad, rdpe_t g, rdpe_t dap[], mpc_t gg)
Multiprecision version of mps_fstart()
Definition: starting.c:923
mps_recursive_mstart
void mps_recursive_mstart(mps_context *ctx, mps_polynomial *poly, mps_approximation **approximations)
Select appropriate starting point for the approximation of the roots of the given polynomial by apply...
Definition: recursive-starting.c:187
mps_fstart
MPS_BEGIN_DECLS void mps_fstart(mps_context *s, int n, mps_cluster_item *cluster, double clust_rad, double g, rdpe_t eps_out, double fap[])
Compute new starting approximations to the roots of the polynomial having coefficients of modulus ap...
Definition: starting.c:295
mps_mrestart
void mps_mrestart(mps_context *s)
This function scans the existing clusters and selects the ones where shift in the gravity center must...
Definition: starting.c:1595
mps_approximation
Definition: approximation.h:24
mps_file_mstart
void mps_file_mstart(mps_context *ctx, mps_polynomial *poly, mps_approximation **approximations)
Select the starting points for the polynomial by loading the approximations loaded in the file that h...
Definition: file-starting.c:95
mps_frestart
void mps_frestart(mps_context *s)
This function scans the existing clusters and selects the ones where shift in the gravity center must...
Definition: starting.c:1113
mps_dstart
void mps_dstart(mps_context *s, int n, mps_cluster_item *cluster, rdpe_t clust_rad, rdpe_t g, rdpe_t eps_out, rdpe_t dap[])
Compute new starting approximations to the roots of the polynomial having coefficients of modulus ap...
Definition: starting.c:603