38 namespace start_system{
55 TotalDegree() =
default;
56 virtual ~TotalDegree() =
default;
63 TotalDegree(
System const& s);
71 template<
typename NumT>
74 return random_values_[index]->Eval<NumT>();
81 std::vector<std::shared_ptr<node::Rational> >
const&
RandomValues()
83 return random_values_;
96 void SanityChecks(
System const& s);
103 void CopyDegrees(
System const& s);
108 void SeedRandomValues(
int num_functions);
113 void GenerateFunctions();
121 Vec<dbl> GenerateStartPoint(dbl,
unsigned long long index)
const override;
128 Vec<mpfr_complex> GenerateStartPoint(mpfr_complex,
unsigned long long index)
const override;
130 std::vector<std::shared_ptr<node::Rational> > random_values_;
131 std::vector<unsigned long long> degrees_;
134 friend class boost::serialization::access;
136 template <
typename Archive>
137 void serialize(Archive& ar,
const unsigned version) {
138 ar & boost::serialization::base_object<StartSystem>(*
this);
The fundamental polynomial system class for Bertini2.
Definition system/system.hpp:99
System()
The default constructor for a system.
Definition system/system.hpp:111
Abstract base class for other start systems.
Definition start_base.hpp:49
Total degree start system for 1-homogeneous polynomial systems.
Definition total_degree.hpp:53
NumT RandomValue(size_t index) const
Definition total_degree.hpp:72
unsigned long long NumStartPoints() const override
Definition total_degree.cpp:61
std::vector< std::shared_ptr< node::Rational > > const & RandomValues()
Definition total_degree.hpp:81
Defines generic start system type.
utilities for start system code.