conatus.expert.EVPResult¶
- class conatus.expert.EVPResult(values, vectors, residuals, method, label='', n_infinite=0, left=None, drift=None, log=<factory>, context=None, eigenvalue='sigma', growth=None, growth_note='', filter_note=None, tails=None, spurious=None, spurious_note='', unresolved_note='')[source]¶
Bases:
objectEigenvalues sigma of (L + sigma M) x = 0 for one group, with residuals and a filter log.
- Parameters:
values (ndarray)
vectors (ndarray | None)
residuals (ndarray)
method (str)
label (str)
n_infinite (int)
left (ndarray | None)
drift (ndarray | None)
log (list[str])
context (Any)
eigenvalue (str)
growth (Any)
growth_note (str)
filter_note (str | None)
tails (ndarray | None)
spurious (ndarray | None)
spurious_note (str)
unresolved_note (str)
- values: ndarray¶
- vectors: ndarray | None¶
- residuals: ndarray¶
- method: str¶
- label: str = ''¶
- n_infinite: int = 0¶
- left: ndarray | None = None¶
- drift: ndarray | None = None¶
- log: list[str]¶
- context: Any = None¶
- eigenvalue: str = 'sigma'¶
- growth: Any = None¶
- growth_note: str = ''¶
- filter_note: str | None = None¶
- tails: ndarray | None = None¶
- spurious: ndarray | None = None¶
- spurious_note: str = ''¶
- unresolved_note: str = ''¶
- property flagged: ndarray¶
Indices of the modes flagged spurious by the spectral-tail test (empty if none, or if the test did not run: see
spurious_note).
- property unresolved: ndarray¶
Indices of the modes that pass the spectral-tail flag but whose tail exceeds the stricter
conatus.tolerances.UNRESOLVED_TAIL_TOL(under-resolved physical modes). Empty if the tail test did not run. Kept and ranked as any mode: the result says it (unresolved_note) when the selected modeorder()[0]is one of them.
- mode(i)[source]¶
Eigenfunction
ion the grid (conatus.solvers.evp_modes.EVPMode): named unknowns (tau variables left out) on the physical grid,.grid("v"),.coordinate("y"), normalised by the declared ruleevp_modes.NORMALIZATION.- Parameters:
i (int)
- order(key='growth')[source]¶
Indices from the least to the most stable mode by the declared growth convention of the eigenvalue (
key='growth': Re s for exp(s t), Im c for a phase speed c; an undeclared convention ranks by Re, said bygrowth_rule()), or by decreasing real part ('real') or imaginary part ('imag').Modes flagged spurious by the spectral-tail test (
flagged) come after every mode that passes it (each part ranked bykey):order()[0]is the least stable mode that passes; the result keeps one index per mode.- Parameters:
key (str)
- Return type:
ndarray
- select(idx, why)[source]¶
The modes
idx, withwhyappended to the log (nothing is dropped silently).- Parameters:
idx (Sequence[int] | ndarray)
why (str)
- Return type:
- explain(n=6, key='growth', *, full=False)[source]¶
Counts (finite, infinite, filtered), the filters that removed modes, the growth convention and the
nfirst modes with residuals.full=True: the whole log (pencil regularity, infinite-eigenvalue test, solver tolerances).- Parameters:
n (int)
key (str)
full (bool)
- Return type:
str