|
| template<typename T> |
| Vec< T > | Eval (Vec< T > const &x) const |
| | Evaluate the patch at a point.
|
| |
| template<typename Derived, typename T> |
| void | EvalInPlace (Eigen::MatrixBase< Derived > &function_values, Vec< T > const &x) const |
| | Evaluate the patch at a point, in place.
|
| |
| template<typename T> |
| Mat< T > | Jacobian (Vec< T > const &x) const |
| | Evaluate the Jacobian matrix, in place.
|
| |
| template<typename Derived, typename T> |
| void | JacobianInPlace (Eigen::MatrixBase< Derived > &jacobian, Vec< T > const &x) const |
| | Evaluate the Jacobian matrix, in place.
|
| |
| unsigned | NumVariableGroups () const |
| | Get the number of variable groups.
|
| |
| unsigned | NumVariables () const |
| | Get the number of variables in the patch.
|
| |
| bool | operator!= (Patch const &rhs) const |
| | Check whether two patches are different.
|
| |
| bool | operator== (Patch const &rhs) const |
| | Check whether two patches are the same.
|
| |
| | Patch () |
| | Default constructor.
|
| |
| | Patch (Patch const &other) |
| |
| | Patch (std::vector< unsigned > const &sizes) |
| | Constructor making a random complex patch on a space whose structure is described by the input argument.
|
| |
| unsigned | Precision () const |
| | Get the current precision of the patch.
|
| |
| void | Precision (unsigned new_precision) const |
| | Set the precision of the patch.
|
| |
| template<typename T> |
| Vec< T > | RescalePoint (Vec< T > const &x) const |
| | Rescale a point so that it satisfies the patch equations herein contained.
|
| |
| template<typename T> |
| void | RescalePointToFitInPlace (Vec< T > &x) const |
| | Rescale a point so that it satisfies the patch equations herein contained.
|
| |
An affine chart on a product of projective spaces.
This class provides an adjustable-precision patch on a working space for solving a polynomial system using homotopy continuation.
The constant values for the patch are unity.
Example code, not using a bertini::System to generate the patch.
std::vector<unsigned> s{2,3};
Vec<mpfr_complex> v(5);
v << mpfr_complex(1), mpfr_complex(1), mpfr_complex(1), mpfr_complex(1), mpfr_complex(1);
auto v_rescaled = p.RescalePoint(v);
auto f = p.Eval(v_rescaled);
An affine chart on a product of projective spaces.
Definition patch.hpp:86
At the end of the above example, the patch evaluates to 0 in the container \(f\).
Other ways of patching
Patches can also be applied to a system, which should first be homogenized.
| bertini::Patch::Patch |
( |
std::vector< unsigned > const & | sizes | ) |
|
|
inline |
Constructor making a random complex patch on a space whose structure is described by the input argument.
The sizes input give the number of total variables, including homogenizing variables, for the product of spaces forming the total space to be patched. The patch has no idea whether the underlying space is projective or affine – that is handled somewhere else, likely in a bertini::System.
The initial precision of the patch is set to current default precision, and the precision of the highest precision coefficients are set to the current default as well.
- Parameters
-
| sizes | The sizes of the variable groups, including homogenizing variables if present. |