Macaulay2 Engine
Loading...
Searching...
No Matches
PathTracker Class Reference

Numerical homotopy-continuation path tracker for systems of polynomial equations. More...

#include <NAG.hpp>

Inheritance diagram for PathTracker:
MutableEngineObject our_gc_cleanup our_new_delete

Public Member Functions

virtual ~PathTracker ()
void text_out (buffer &o) const
MatrixgetSolution (int)
MatrixgetAllSolutions ()
int getSolutionStatus (int)
int getSolutionSteps (int)
gmp_RRorNull getSolutionLastT (int)
gmp_RRorNull getSolutionRcond (int)
int track (const Matrix *)
Matrixrefine (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 PathTrackermake (const Matrix *)
static PathTrackermake (const Matrix *S, const Matrix *T, gmp_RR productST)
static PathTrackermake (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
Matrixtarget
const MatrixH
const MatrixS
const MatrixT
StraightLineProgramslpH
StraightLineProgramslpHxt
StraightLineProgramslpHxtH
StraightLineProgramslpHxH
StraightLineProgramslpS
StraightLineProgramslpSx
StraightLineProgramslpSxS
StraightLineProgramslpT
StraightLineProgramslpTx
StraightLineProgramslpTxT
double productST
double bigT
double * DMforPN
double maxDegreeTo3halves
const CCCC
const PolyRinghomotopy_R
int n_coords
int n_sols
Solutionraw_solutions
Matrixsolutions
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 PathTrackercatalog [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 MatrixrawTrackPaths (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)

Detailed Description

Numerical homotopy-continuation path tracker for systems of polynomial equations.

Note
AI-generated documentation. Verify against the source before relying on it.

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.

Definition at line 653 of file NAG.hpp.


The documentation for this class was generated from the following files: