Bertini 2 - C++ Core
Software for Numerical Algebraic Geometry
Loading...
Searching...
No Matches
bertini::start_system::User Class Reference

The user-provided start system for Numerical Algebraic Geometry. More...

#include <user.hpp>

Inheritance diagram for bertini::start_system::User:
[legend]
Collaboration diagram for bertini::start_system::User:
[legend]

Public Member Functions

unsigned long long NumStartPoints () const override
 
 User (System const &s, SampCont< dbl > const &solns)
 
- Public Member Functions inherited from bertini::System
void AddConstant (Fn const &C)
 
void AddConstants (std::vector< Fn > const &C)
 
void AddFunction (Fn const &F)
 
void AddFunction (Nd const &F, std::string const &name="unnamed_function")
 
void AddFunctions (std::vector< Fn > const &F)
 
void AddHomVariableGroup (VariableGroup const &v)
 
void AddImplicitParameter (Var const &v)
 
void AddImplicitParameters (VariableGroup const &v)
 
void AddParameter (Fn const &F)
 
void AddParameters (std::vector< Fn > const &F)
 
void AddPathVariable (Var const &v)
 
void AddSubfunction (Fn const &F)
 
void AddSubfunctions (std::vector< Fn > const &F)
 
void AddUngroupedVariable (Var const &v)
 
void AddUngroupedVariables (VariableGroup const &v)
 
void AddVariableGroup (VariableGroup const &v)
 
VariableGroup const & AffineVariableGroup (size_t index) const
 Get an affine variable group the class has defined.
 
template<typename T>
Vec< T > DehomogenizePoint (Vec< T > const &x) const
 Dehomogenize a point, using the variable grouping / structure of the system.
 
void Differentiate () const
 Compute and internally store the symbolic Jacobian of the system.
 
template<typename T>
Vec< T > Eval () const
 Evaluate the system using the previously set variable (and time) values, creating vector of function values.
 
template<typename Derived>
Derived::PlainObject Eval (const Eigen::MatrixBase< Derived > &variable_values) const
 Evaluate the system, provided the system has no path variable defined.
 
template<typename Derived, typename T>
Vec< T > Eval (const Eigen::MatrixBase< Derived > &variable_values, const T &path_variable_value) const
 
template<typename T>
void EvalInPlace (Vec< T > &function_values) const
 Evaluate the system using the previously set variable (and time) values, in place.
 
template<typename T, typename Derived>
void EvalInPlace (Vec< T > &function_values, const Eigen::MatrixBase< Derived > &variable_values) const
 Evaluate the system, provided the system has no path variable defined, in place.
 
template<typename Derived, typename T>
void EvalInPlace (Vec< T > &function_values, const Eigen::MatrixBase< Derived > &variable_values, const T &path_variable_value) const
 
auto Function (unsigned index) const
 Get a function by its index.
 
auto GetNaturalFunctions () const
 Get the functions.
 
bool HavePathVariable () const
 
void Homogenize ()
 
auto HomVariableGroups () const
 
bool IsHomogeneous () const
 
bool IsPolynomial () const
 
template<typename T>
Mat< T > Jacobian () const
 
template<typename Derived, typename T>
Mat< T > Jacobian (const Eigen::MatrixBase< Derived > &variable_values, const T &path_variable_value) const
 
template<typename T>
Mat< T > Jacobian (const Vec< T > &variable_values) const
 
template<typename T>
void JacobianInPlace (Mat< T > &J) const
 Evaluate the Jacobian matrix of the system, using the previous space and time values, in place.
 
template<typename Derived, typename T>
void JacobianInPlace (Mat< T > &J, const Eigen::MatrixBase< Derived > &variable_values, const T &path_variable_value) const
 
template<typename T>
void JacobianInPlace (Mat< T > &J, const Vec< T > &variable_values) const
 
size_t NumConstants () const
 
size_t NumHomVariableGroups () const
 
size_t NumHomVariables () const
 
size_t NumImplicitParameters () const
 
size_t NumNaturalFunctions () const
 
size_t NumNaturalVariables () const
 
size_t NumParameters () const
 
size_t NumPatches () const
 
size_t NumTotalFunctions () const
 
size_t NumTotalVariableGroups () const
 
size_t NumUngroupedVariables () const
 
size_t NumVariableGroups () const
 
size_t NumVariables () const
 
System & operator= (const System &other)
 The assignment operator.
 
System & operator= (System &&other)=default
 The move assignment operator.
 
unsigned precision () const
 Get the current precision of a system.
 
void precision (unsigned new_precision) const
 
void Reset () const
 A complete reset of the system, so that all of functions, space derivatives, and time derivatives will all be re-evaluated.
 
void ResetFunctions () const
 Force re-evaluation of the system next eval of functions. If something has changed in the system, call this.
 
void ResetJacobian () const
 Force re-evaluation of the system next eval of Jacobians. If something has changed in the system, call this.
 
template<typename T>
void SetImplicitParameters (Vec< T > new_values) const
 
template<typename T>
void SetPathVariable (T const &new_value) const
 
template<typename T>
void SetVariables (const Vec< T > &new_values) const
 
 System ()
 The default constructor for a system.
 
 System (std::string const &input)
 The copy operator, creates a system from a string using the Bertini parser for Bertini classic syntax.
 
 System (System &&other)
 The move copy operator.
 
 System (System const &other)
 The copy operator.
 
template<typename T>
Vec< T > TimeDerivative () const
 Compute the time-derivative of a system.
 
template<typename Derived, typename T>
Vec< T > TimeDerivative (const Eigen::MatrixBase< Derived > &variable_values) const
 Compute the time-derivative of a system.
 
template<typename Derived, typename T>
Vec< T > TimeDerivative (const Eigen::MatrixBase< Derived > &variable_values, const T &path_variable_value) const
 Compute the time-derivative of a system.
 
template<typename Derived, typename T>
void TimeDerivativeInPlace (Vec< T > &ds_dt, const Eigen::MatrixBase< Derived > &variable_values, const T &path_variable_value) const
 Compute the time-derivative of a system.
 
auto VariableGroups () const
 
std::vector< unsigned > VariableGroupSizes () const
 Get the sizes of the variable groups, according to the current ordering.
 
VariableGroup VariableOrdering () const
 
const VariableGroup & Variables () const
 

Detailed Description

The user-provided start system for Numerical Algebraic Geometry.

Constructor & Destructor Documentation

◆ User()

bertini::start_system::User::User ( System const & s,
SampCont< dbl > const & solns )

Constructor for making a user-provided start system from another.

Here is the call graph for this function:

Member Function Documentation

◆ NumStartPoints()

unsigned long long bertini::start_system::User::NumStartPoints ( ) const
overridevirtual

Get the number of start points for this start system.

Implements bertini::start_system::StartSystem.


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