|
Macaulay2 Engine
|
Type declarations for the SLP DAG, its evaluator hierarchy, and the homotopy abstraction. More...
Go to the source code of this file.
Classes | |
| class | M2SLProgram |
| MutableEngineObject wrapper that owns an SLProgram via unique_ptr. More... | |
| class | SLProgram |
| A straight-line program: a directed acyclic graph of arithmetic gates over a fixed list of inputs and constants. More... | |
| class | M2Homotopy |
| MutableEngineObject wrapper that owns a Homotopy via unique_ptr. More... | |
| class | TrivialHomotopyAlgorithm |
| Tag type selecting the no-op homotopy algorithm. More... | |
| class | FixedPrecisionHomotopyAlgorithm |
| Tag type selecting the fixed-precision homotopy algorithm. More... | |
| class | VariablePrecisionHomotopyAlgorithm |
| Tag type selecting the variable-precision homotopy algorithm. More... | |
| struct | HomotopyAlgorithm< RT > |
| Traits class mapping a coefficient ring RT to its preferred homotopy algorithm tag. More... | |
| struct | HomotopyAlgorithm< M2::ARingCC > |
| Selects FixedPrecisionHomotopyAlgorithm for the double-precision complex ring M2::ARingCC. More... | |
| struct | HomotopyAlgorithm< M2::ARingCCC > |
| Selects FixedPrecisionHomotopyAlgorithm for the arbitrary-precision complex ring M2::ARingCCC. More... | |
| class | M2SLEvaluator |
| MutableEngineObject wrapper holding a raw SLEvaluator*. More... | |
| class | SLEvaluator |
| Abstract base for the SLP evaluator hierarchy. More... | |
| class | SLEvaluatorConcrete< RT > |
| class | Homotopy |
| Abstract base for the predictor-corrector path-tracker hierarchy. More... | |
| class | HomotopyConcrete< RT, Algorithm > |
| class | HomotopyConcrete< RT, FixedPrecisionHomotopyAlgorithm > |
Type declarations for the SLP DAG, its evaluator hierarchy, and the homotopy abstraction.
Declares the type lattice the templated SLP machinery is built on:
The wrappers exist so the templated machinery does not leak through M2-visible names: the interpreter handles M2SLProgram* / M2SLEvaluator* / M2Homotopy* as opaque pointers while the numerical specialisation does the actual work behind them.
Definition in file SLP-defs.hpp.