Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
Loading...
Searching...
No Matches
bertini::blocks::describe_detail Namespace Reference

Functions

template<typename R>
std::string FmtReal (R const &r, int sig)
 Format one multiprecision real part.
void PrintCoeff (std::ostream &out, complex_mp const &c, int sig=0)
 Print one (complex_mp) coefficient compactly: a real prints as its real part, a pure imaginary as b*i, otherwise as (a+b*i).
int CoeffSig (bool verbose)
 The significant-digit count for coefficient printing: 4 for terse (short and legible), the current working precision for verbose (every digit the system actually carries – the master coefficient matrix is stored at a much higher precision than that, so printing its full string would dump thousands of digits).
void PrintRowLabel (std::ostream &out, size_t row, size_t n)
 f_k for a single row, or f_a..f_b for a contiguous range of n rows starting at row.
void PrintAugmentedVars (std::ostream &out, VariableGroup const &vars, size_t num_vars, bool homogeneous)
 The augmenting variable list [x, y, 1] (affine) or [h, x, y] (homogeneous: no trailing 1).
void PrintLinearFormVerbose (std::ostream &out, Mat< complex_mp > const &M, Eigen::Index r, VariableGroup const &vars, size_t num_vars, bool homogeneous)
 One affine linear form, row r of an augmented coefficient matrix M (num_vars+1 cols affine, or num_vars cols homogeneous).

Variables

constexpr size_t kTerseRowCap = 10
 How many function rows a block lists in terse (non-verbose) describe before truncating with a ... (k more ...) line.

Function Documentation

◆ CoeffSig()

int bertini::blocks::describe_detail::CoeffSig ( bool verbose)
inline

The significant-digit count for coefficient printing: 4 for terse (short and legible), the current working precision for verbose (every digit the system actually carries – the master coefficient matrix is stored at a much higher precision than that, so printing its full string would dump thousands of digits).

◆ FmtReal()

template<typename R>
std::string bertini::blocks::describe_detail::FmtReal ( R const & r,
int sig )
inline

Format one multiprecision real part.

sig > 0 renders that many significant digits (the terse default – short and legible); sig <= 0 renders full precision (verbose / round-trippable).

◆ PrintAugmentedVars()

void bertini::blocks::describe_detail::PrintAugmentedVars ( std::ostream & out,
VariableGroup const & vars,
size_t num_vars,
bool homogeneous )
inline

The augmenting variable list [x, y, 1] (affine) or [h, x, y] (homogeneous: no trailing 1).

◆ PrintCoeff()

void bertini::blocks::describe_detail::PrintCoeff ( std::ostream & out,
complex_mp const & c,
int sig = 0 )
inline

Print one (complex_mp) coefficient compactly: a real prints as its real part, a pure imaginary as b*i, otherwise as (a+b*i).

sig controls the digit count (see FmtReal); the default of 0 keeps full precision for any caller that does not opt into the short form.

◆ PrintLinearFormVerbose()

void bertini::blocks::describe_detail::PrintLinearFormVerbose ( std::ostream & out,
Mat< complex_mp > const & M,
Eigen::Index r,
VariableGroup const & vars,
size_t num_vars,
bool homogeneous )
inline

One affine linear form, row r of an augmented coefficient matrix M (num_vars+1 cols affine, or num_vars cols homogeneous).

Verbose prints the actual sum 2*x + 1*y - 1; otherwise nothing (the caller prints the placeholder c.[...]).

◆ PrintRowLabel()

void bertini::blocks::describe_detail::PrintRowLabel ( std::ostream & out,
size_t row,
size_t n )
inline

f_k for a single row, or f_a..f_b for a contiguous range of n rows starting at row.

Variable Documentation

◆ kTerseRowCap

size_t bertini::blocks::describe_detail::kTerseRowCap = 10
inlineconstexpr

How many function rows a block lists in terse (non-verbose) describe before truncating with a ... (k more ...) line.

Keeps a large system (e.g. a slice with many forms) from flooding the terminal now that the terse output carries actual coefficients; verbose prints every row.