Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
Loading...
Searching...
No Matches
system.hpp File Reference

Provides the bertini::System class. More...

#include <assert.h>
#include <optional>
#include <vector>
#include <set>
#include <string>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/serialization/export.hpp>
#include <boost/serialization/shared_ptr.hpp>
#include <boost/serialization/vector.hpp>
#include <boost/serialization/deque.hpp>
#include <boost/serialization/std_variant.hpp>
#include <boost/type_index.hpp>
#include "bertini2/mpfr_complex.hpp"
#include "bertini2/mpfr_extensions.hpp"
#include "bertini2/eigen_extensions.hpp"
#include "bertini2/detail/sha256.hpp"
#include "bertini2/function_tree.hpp"
#include "bertini2/function_tree/reintern.hpp"
#include "bertini2/function_tree/canonical_decoding.hpp"
#include "bertini2/system/patch.hpp"
#include "bertini2/system/straight_line_program.hpp"
#include "bertini2/system/blocks/block.hpp"
#include <boost/archive/binary_oarchive.hpp>
#include <boost/archive/binary_iarchive.hpp>
#include <boost/iostreams/stream_buffer.hpp>
#include <boost/iostreams/stream.hpp>
#include <boost/iostreams/device/back_inserter.hpp>
Include dependency graph for system.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  bertini::NodeMatrix
 A matrix of expression-tree nodes (the symbolic Jacobian), stored row-major. More...
class  bertini::System
 The fundamental polynomial system class for Bertini2. More...

Namespaces

namespace  bertini
namespace  bertini::node

Functions

NodeMatrix bertini::SymbolicJacobian (std::vector< std::shared_ptr< node::Node > > const &functions, VariableGroup const &variables)
 The symbolic Jacobian of a list of functions w.r.t.
System bertini::Concatenate (System sys1, System const &sys2)
 Concatenate two compatible systems.
std::string bertini::UniquePathVariableName (System const &target, std::string base="t")
 Produce a path-variable name guaranteed not to collide with any variable in target.
System bertini::MakeHomotopy (System const &target, System const &start, std::string const &path_variable_name="", std::shared_ptr< node::Node > const &gamma=nullptr)
 Form the gamma-trick straight-line homotopy H = (1-t)*target + gamma*t*start.
void bertini::CheckVariableStructuresMatch (System const &a, System const &b, std::string const &operation, std::string const &a_name, std::string const &b_name)
 Throw unless two systems describe points the same way, so that combining them is meaningful.
void bertini::AdoptVariableStructure (System &into, System const &from)
 Give a system that declares no variables the variable structure of another.
System bertini::MakeMovingHomotopy (System const &fixed, System const &start_moving, System const &end_moving, std::string const &path_variable_name="", std::shared_ptr< node::Node > const &gamma=nullptr)
 Form a homotopy that moves ONLY some rows, leaving the rest fixed and evaluated once.
System bertini::Clone (System const &sys)
 Do a deep clone of the system.
void bertini::Simplify (System &sys)
 Free form function for simplifying systems.
std::shared_ptr< const System > bertini::InternSystem (std::shared_ptr< System > const &candidate)
 Hash-cons a System: return the live sealed representative with equal ContentDigest() if one exists, else seal and register the candidate (ADR-0042).
std::shared_ptr< const System > bertini::LoadSystemUnified (std::istream &in)
 Load a System from a text archive and unify it with the live intern universe (ADR-0042): deserialize, ReinternNodes, InternSystem.

Variables

constexpr char bertini::SystemEncodingVersion [] = "b2sysenc/2"
 The version token of the System canonical encoding – the first word of every encoding text and the schema of every archived system definition.

Detailed Description

Provides the bertini::System class.