conatus.expert.CertifiedRoot

class conatus.expert.CertifiedRoot(mu, residual, iterations, params, convergence=<factory>, status='provisional', reasons=<factory>, converged=True)[source]

Bases: object

A Floquet exponent with the evidence that it is one.

Parameters:
  • mu (complex)

  • residual (float)

  • iterations (int)

  • params (dict)

  • convergence (dict)

  • status (str)

  • reasons (list[str])

  • converged (bool)

mu: complex
residual: float
iterations: int
params: dict
convergence: dict
status: str = 'provisional'
reasons: list[str]
converged: bool = True

the secant reached its tol; False only with allow_unconverged=True

property folded: complex
certify(*, residual_tol, convergence_tol, contrast=None, contrast_max=None, winding=None)[source]

Set the status from explicit tolerances (no default: the caller declares them).

Certified requires: the secant converged (finding 21: an unconverged root kept with allow_unconverged=True used to come out “certified”), the residual below residual_tol and a resolution study (>= 2 resolutions) whose spread is below convergence_tol. Optional evidence, checked when given (finding 20: the docs named these checks without the code running them): contrast = σ_min/σ_2 of M(μ) must be below contrast_max; winding = winding number of det M on a small circle around μ (winding) must be a positive integer to WINDING_INTEGER_TOL (winding() returns the integer its adaptive walk certified, or raises). What was checked is listed in reasons / explain().

Parameters:
  • residual_tol (float)

  • convergence_tol (float)

  • contrast (float | None)

  • contrast_max (float | None)

  • winding (float | None)

Return type:

CertifiedRoot

retract(why)[source]
Parameters:

why (str)

Return type:

None

explain()[source]
Return type:

str