39 namespace start_system
51 MHomogeneous() =
default;
52 virtual ~MHomogeneous() =
default;
61 MHomogeneous(
System const& s);
83 unsigned long long NumStartPointsForPartition(Vec<int> partition)
const;
85 MHomogeneous& operator*=(Nd
const& n);
87 MHomogeneous& operator+=(
System const& sys) =
delete;
107 Vec<dbl> GenerateStartPoint(dbl,
unsigned long long index)
const override;
114 Vec<mpfr_complex> GenerateStartPoint(mpfr_complex,
unsigned long long index)
const override;
120 void GenerateStartPointT(Vec<T>& start_point,
unsigned long long index)
const;
125 std::vector<unsigned long long> degrees_;
126 std::vector< VariableGroup > var_groups_;
127 Mat<std::shared_ptr<node::LinearProduct>> linprod_matrix_;
128 std::vector< std::vector<size_t> > variable_cols_;
130 mutable Vec<mpfr_complex> temp_v_mp_;
132 friend class boost::serialization::access;
134 template <
typename Archive>
135 void serialize(Archive& ar,
const unsigned version)
137 ar & boost::serialization::base_object<StartSystem>(*
this);
System()
The default constructor for a system.
Definition system/system.hpp:111
std::deque< Vec< int > > valid_partitions_
Partitions used for creating start points in the multi-homogeneous start system.
Definition mhom.hpp:97
unsigned long long NumStartPoints() const override
Function to calculate the total number of start points.
Definition mhom.cpp:122
int ChooseColumnInRow(System const &s, Vec< int > &variable_group_counter, int row, int column)
Helper function that is used to find valid partitions in the degree matrix.
Definition mhom.cpp:297
void GenerateValidPartitions(System const &s)
Creates all valid partitions for multi-homogeneous start system to create start points.
Definition mhom.cpp:220
Mat< int > degree_matrix_
Degree matrix holding degrees for all functions in terms of all variable groups.
Definition mhom.hpp:92
void CreateDegreeMatrix(System const &s)
Creates a degree matrix for constructing the multi-homogeneous start system.
Definition mhom.cpp:148
Abstract base class for other start systems.
Definition start_base.hpp:49
Defines generic start system type.
utilities for start system code.