|
Macaulay2 Engine
|
Numerical homotopy-continuation path tracker for systems of polynomial equations. More...
#include <NAG.hpp>
Public Member Functions | |
| virtual | ~PathTracker () |
| void | text_out (buffer &o) const |
| Matrix * | getSolution (int) |
| Matrix * | getAllSolutions () |
| int | getSolutionStatus (int) |
| int | getSolutionSteps (int) |
| gmp_RRorNull | getSolutionLastT (int) |
| gmp_RRorNull | getSolutionRcond (int) |
| int | track (const Matrix *) |
| Matrix * | refine (const Matrix *sols, gmp_RR tolerance, int max_corr_steps_refine=100) |
| Public Member Functions inherited from MutableEngineObject | |
| MutableEngineObject () | |
| virtual | ~MutableEngineObject () |
| unsigned int | hash () const |
| Public Member Functions inherited from our_gc_cleanup | |
| our_gc_cleanup () | |
| virtual | ~our_gc_cleanup () |
Static Public Member Functions | |
| static PathTracker * | make (const Matrix *) |
| static PathTracker * | make (const Matrix *S, const Matrix *T, gmp_RR productST) |
| static PathTracker * | make (StraightLineProgram *slp_pred, StraightLineProgram *slp_corr) |
| Static Public Member Functions inherited from our_new_delete | |
| static void * | operator new (size_t size) |
| static void * | operator new[] (size_t size) |
| static void | operator delete (void *obj) |
| static void | operator delete[] (void *obj) |
| static void * | operator new (size_t size, void *existing_memory) |
| static void * | operator new[] (size_t size, void *existing_memory) |
| static void | operator delete (void *obj, void *existing_memory) |
| static void | operator delete[] (void *obj, void *existing_memory) |
Private Member Functions | |
| void | evaluate_slpHxt (int n, const complex *x0t0, complex *Hxt) |
| void | evaluate_slpHxtH (int n, const complex *x0t0, complex *HxtH) |
| void | evaluate_slpHxH (int n, const complex *x0t0, complex *HxH) |
| void | make_slps () |
| PathTracker () | |
Private Attributes | |
| int | number |
| Matrix * | target |
| const Matrix * | H |
| const Matrix * | S |
| const Matrix * | T |
| StraightLineProgram * | slpH |
| StraightLineProgram * | slpHxt |
| StraightLineProgram * | slpHxtH |
| StraightLineProgram * | slpHxH |
| StraightLineProgram * | slpS |
| StraightLineProgram * | slpSx |
| StraightLineProgram * | slpSxS |
| StraightLineProgram * | slpT |
| StraightLineProgram * | slpTx |
| StraightLineProgram * | slpTxT |
| double | productST |
| double | bigT |
| double * | DMforPN |
| double | maxDegreeTo3halves |
| const CCC * | C |
| const PolyRing * | homotopy_R |
| int | n_coords |
| int | n_sols |
| Solution * | raw_solutions |
| Matrix * | solutions |
| M2_bool | is_projective |
| gmp_RR | init_dt |
| gmp_RR | min_dt |
| gmp_RR | dt_increase_factor |
| gmp_RR | dt_decrease_factor |
| int | num_successes_before_increase |
| gmp_RR | epsilon |
| int | max_corr_steps |
| gmp_RR | end_zone_factor |
| gmp_RR | infinity_threshold |
| int | pred_type |
Static Private Attributes | |
| static PathTracker * | catalog [MAX_NUM_PATH_TRACKERS] |
| static int | num_path_trackers = 0 |
Friends | |
| void | rawSetParametersPT (PathTracker *PT, M2_bool is_projective, gmp_RR init_dt, gmp_RR min_dt, gmp_RR dt_increase_factor, gmp_RR dt_decrease_factor, int num_successes_before_increase, gmp_RR epsilon, int max_corr_steps, gmp_RR end_zone_factor, gmp_RR infinity_threshold, int pred_type) |
| const Matrix * | rawTrackPaths (StraightLineProgram *slp_pred, StraightLineProgram *slp_corr, const Matrix *start_sols, M2_bool is_projective, gmp_RR init_dt, gmp_RR min_dt, gmp_RR max_dt, gmp_RR dt_increase_factor, gmp_RR dt_decrease_factor, int num_successes_before_increase, gmp_RR epsilon, int max_corr_steps, int pred_type) |
Numerical homotopy-continuation path tracker for systems of polynomial equations.
Holds two homotopy systems (H and the (S, T) start/target pair) plus their precomputed straight-line evaluators (slpH, slpHxt, slpHxtH, slpHxH, slpS, slpSx, ...), and tracks each input solution from S to T via a predictor-corrector loop. Supports projective tracking (is_projective) with Bombieri-Weyl arc length bigT along the great circle and ProjectiveNewton scaling via DMforPN. A static catalog[MAX_NUM_PATH_TRACKERS] lets the interpreter refer to a tracker by integer ID rather than by raw pointer.