chaotic_pfc.cli¶
cli¶
Unified command-line interface for the chaotic_pfc package.
The parser layout is chaotic-pfc run <experiment> [options], where
<experiment> is one of the pipeline stages (attractors,
sensitivity, comm-ideal, comm-fir, comm-order-n,
lyapunov, sweep compute, sweep plot, all).
Each experiment lives in its own submodule and exposes two functions:
add_parser(subparsers)— register the experiment’s own parser and flags onto the givenargparse._SubParsersAction.run(args)— execute the experiment using the parsed namespace.
The sub-commands under sweep (compute and plot) use the
same pattern recursively, producing a two-level parser tree
(run → sweep → {compute, plot}).
Adding a new experiment is a matter of dropping a new submodule here
and appending its name to EXPERIMENTS below.
Functions
- chaotic_pfc.cli.build_parser()[source]¶
Assemble the top-level parser with every experiment registered.
- Returns:
A parser whose namespace carries a
_runattribute pointing at the callable to invoke for the selected subcommand.- Return type:
- chaotic_pfc.cli.main(argv=None)[source]¶
Parse
argv(orsys.argv) and dispatch to the right experiment.- Parameters:
argv (list[str] | None) – Optional list of arguments. Defaults to
sys.argv[1:]. Passing an explicitargvis what makestests.test_clipossible without shelling out to a subprocess.- Returns:
Exit code.
0on success,2when the user requested help without picking a subcommand (argparse convention).- Return type:
Modules
Statistical analysis of sweep data and chaotic-region plotting. |
|
Phase-space attractors for three Hénon variants. |
|
Chaotic communication through FIR low-pass channel. |
|
Full communication pipeline over an ideal (noiseless) channel. |
|
Communication using N-th order Henon with internal FIR filter. |
|
Lyapunov exponent computation (text output + optional CSV). |
|
Run every experiment in sequence. |
|
Sensitive Dependence on Initial Conditions (SDIC). |
|
Sweep Lyapunov exponents across (order, cutoff) grid. |