Skip to main content

Crate alkahest_cas

Crate alkahest_cas 

Source

Re-exports§

pub use acausal::capacitor;
pub use acausal::resistor;
pub use acausal::voltage_source;
pub use acausal::Component;
pub use acausal::Port;
pub use acausal::System;
pub use calculus::limit;
pub use calculus::series;
pub use calculus::series;
pub use calculus::LimitDirection;
pub use calculus::LimitError;
pub use calculus::Series;
pub use calculus::SeriesError;
pub use dae::pantelides;
pub use dae::DaeError;
pub use dae::PantelidesResult;
pub use dae::DAE;
pub use deriv::DerivationLog;
pub use deriv::DerivedExpr;
pub use deriv::RewriteStep;
pub use deriv::SideCondition;
pub use diff::diff;
pub use diff::diff_forward;
pub use diff::grad;
pub use diff::DiffError;
pub use diff::DualValue;
pub use diff::ForwardDiffError;Deprecated
pub use eval::eval_complex_f64;
pub use eval::eval_exact_rational;
pub use eval::eval_f64;
pub use eval::eval_interval;
pub use eval::evaluate;
pub use eval::ComplexF64;
pub use eval::EvalError;
pub use eval::EvalMode;
pub use eval::EvalValue;
pub use eval::UnsupportedReason;
pub use flint::FlintInteger;
pub use flint::FlintPoly;
pub use hybrid::Event;
pub use hybrid::GuardStructure;
pub use hybrid::HybridODE;
pub use integrate::integrate;
pub use integrate::integrate_definite;
pub use integrate::verify_antiderivative_exact;
pub use integrate::verify_antiderivative_status;
pub use integrate::verify_antiderivative_status_parametric;
pub use integrate::AntiderivativeVerification;
pub use integrate::IntegrationError;
pub use kernel::check_expr_depth;
pub use kernel::check_expr_depths;
pub use kernel::expr_contains_noncommutative_symbol;
pub use kernel::load_from;
pub use kernel::mult_tree_is_commutative;
pub use kernel::open_persistent;
pub use kernel::render_latex;
pub use kernel::render_unicode;
pub use kernel::save_to;
pub use kernel::subs;
pub use kernel::subs;
pub use kernel::DepthLimitError;
pub use kernel::Domain;
pub use kernel::ExprData;
pub use kernel::ExprDisplay;
pub use kernel::ExprId;
pub use kernel::ExprPool;
pub use kernel::IoError;
pub use kernel::PoolPersistError;Deprecated
pub use kernel::MAX_EXPR_DEPTH;
pub use logic::dpll_sat;
pub use logic::formula_from_expr;
pub use logic::satisfiable;
pub use logic::BoolClause;
pub use logic::BoolLit;
pub use logic::Formula;
pub use logic::LogicError;
pub use logic::Satisfiability;
pub use real::cad_lift;
pub use real::cad_project;
pub use real::decide;
pub use real::decide_expr;
pub use real::routh_hurwitz;
pub use real::CadError;
pub use real::QeResult;
pub use real::RouthHurwitz;
pub use simplify::simplify_with_assumptions;
pub use simplify::AssumptionContext;
pub use simplify::AssumptionError;
pub use lattice::lattice_reduce_rows;
pub use lattice::lattice_reduce_rows_exact;
pub use lattice::lattice_reduce_rows_with_delta;
pub use lattice::validate_lll_rows;
pub use lattice::LatticeError;
pub use matrix::characteristic_polynomial_lambda_minus_m;
pub use matrix::cholesky;
pub use matrix::column_space_basis;
pub use matrix::diagonalize;
pub use matrix::eigenvalues;
pub use matrix::eigenvectors;
pub use matrix::hermite_form;
pub use matrix::hermite_form_poly;
pub use matrix::jacobian;
pub use matrix::jordan_form;
pub use matrix::lu_decomposition;
pub use matrix::matrix_exponential;
pub use matrix::matrix_inverse;
pub use matrix::minimal_polynomial;
pub use matrix::nullspace_basis;
pub use matrix::qr_decomposition;
pub use matrix::rank;
pub use matrix::rational_canonical_form;
pub use matrix::row_space_basis;
pub use matrix::rref;
pub use matrix::smith_form;
pub use matrix::smith_form_poly;
pub use matrix::EigenError;
pub use matrix::IntegerMatrix;
pub use matrix::LinearAlgebraError;
pub use matrix::LuDecomposition;
pub use matrix::Matrix;
pub use matrix::MatrixError;
pub use matrix::NormalFormError;
pub use matrix::PolyMatrixQ;
pub use matrix::QrDecomposition;
pub use matrix::RatUniPoly;
pub use numeric::guess_integer_relation;
pub use numeric::PslqError;
pub use ode::dsolve::dsolve;
pub use ode::dsolve::dsolve_with;
pub use ode::dsolve::system::dsolve_system;
pub use ode::dsolve::system::dsolve_system_with;
pub use ode::dsolve::system::DsolveSystemError;
pub use ode::dsolve::system::SystemSolution;
pub use ode::dsolve::DsolveBranch;
pub use ode::dsolve::DsolveError;
pub use ode::dsolve::DsolveReport;
pub use ode::dsolve::DsolveResult;
pub use ode::dsolve::DsolveSolution;
pub use ode::dsolve::OdeInput;
pub use ode::dsolve::SolutionForm;
pub use ode::lower_to_first_order;
pub use ode::sensitivity::adjoint_system;
pub use ode::sensitivity::sensitivity_system;
pub use ode::sensitivity::AdjointSystem;
pub use ode::sensitivity::SensitivitySystem;
pub use ode::OdeError;
pub use ode::ScalarODE;
pub use ode::ODE;
pub use parse::parse;
pub use parse::ParseError;
pub use pattern::match_pattern;
pub use pattern::Pattern;
pub use pattern::Substitution;
pub use poly::apart;
pub use poly::cancel;
pub use poly::cancel;
pub use poly::collect_free_vars;
pub use poly::factor_multivariate_z;
pub use poly::factor_univariate_mod_p;
pub use poly::factor_univariate_mod_p_with_unit;
pub use poly::factor_univariate_z;
pub use poly::gcd_sparse_modular;
pub use poly::poly_normal;
pub use poly::real_roots;
pub use poly::real_roots;
pub use poly::real_roots_symbolic;
pub use poly::refine_root;
pub use poly::residue;
pub use poly::residue;
pub use poly::resultant;
pub use poly::resultant;
pub use poly::sparse_interpolate;
pub use poly::sparse_interpolate_univariate;
pub use poly::subresultant_prs;
pub use poly::together;
pub use poly::together_parts;
pub use poly::ApartError;
pub use poly::ConversionError;
pub use poly::FactorError;
pub use poly::GaussRat;
pub use poly::MultiPoly;
pub use poly::MultiPolyFactorization;
pub use poly::RationalFunction;
pub use poly::RealRootError;
pub use poly::ResidueError;
pub use poly::ResultantError;
pub use poly::RootInterval;
pub use poly::SparseGcdError;
pub use poly::SparseInterpError;
pub use poly::UniPoly;
pub use poly::UniPolyFactorModP;
pub use poly::UniPolyFactorization;
pub use transform::inverse_laplace_transform;
pub use transform::laplace_transform;
pub use transform::LaplaceError;
pub use transform::fourier_transform;
pub use transform::inverse_fourier_transform;
pub use transform::FourierError;
pub use transform::inverse_z_transform;
pub use transform::z_shift_advance;
pub use transform::z_shift_delay;
pub use transform::z_transform;
pub use transform::ZTransformError;
pub use horner::emit_expr_c;
pub use horner::emit_expr_c_vec;
pub use horner::emit_horner_c;
pub use horner::eval_horner_f64;
pub use horner::eval_horner_f64_batch;
pub use horner::horner;
pub use horner::EmitCError;
pub use simplify::rulesets::log_exp_rules;
pub use simplify::rulesets::log_exp_rules_safe;
pub use simplify::rulesets::trig_normal_form_rules;
pub use simplify::rulesets::trig_rules;
pub use simplify::assumptions_satisfy;
pub use simplify::check_simplify_depth;
pub use simplify::rules_for_config;
pub use simplify::simplify;
pub use simplify::simplify_batch;
pub use simplify::simplify_colored;
pub use simplify::simplify_egraph;
pub use simplify::simplify_egraph_with;
pub use simplify::simplify_expanded;
pub use simplify::simplify_log_exp;
pub use simplify::simplify_trig_normal_form;
pub use simplify::simplify_with;
pub use simplify::ColorId;
pub use simplify::ColoredEgraph;
pub use simplify::DepthCost;
pub use simplify::EgraphConfig;
pub use simplify::EgraphCost;
pub use simplify::NoncommutativeCost;
pub use simplify::OpCost;
pub use simplify::PatternRule;
pub use simplify::RewriteRule;
pub use simplify::SimplifyConfig;
pub use simplify::SizeCost;
pub use simplify::StabilityCost;
pub use simplify::CONTEXT_COLOR;
pub use simplify::ROOT_COLOR;
pub use sum::gosper_certificate;
pub use sum::gosper_normal_form;
pub use sum::hypergeom_ratio;
pub use sum::product_definite;
pub use sum::product_indefinite;
pub use sum::rsolve;
pub use sum::solve_linear_recurrence_homogeneous;
pub use sum::sum_definite;
pub use sum::sum_indefinite;
pub use sum::verify_wz_pair;
pub use sum::LinearRecurrenceError;
pub use sum::ProductError;
pub use sum::RatFunc;
pub use sum::RecurrenceSolution;
pub use sum::RsolveError;
pub use sum::SumError;
pub use sum::WzPair;
pub use jit::check_inputs_bind;
pub use jit::take_unbound_symbols;
pub use jit::UnboundSymbolsError;
pub use jit::compile;
pub use jit::compile_jit_only;
pub use jit::compile_with;
pub use jit::eval_interp;
pub use jit::eval_interp_checked;
pub use jit::expr_subgraph_size;
pub use jit::jit_available;
pub use jit::select_compile_tier;
pub use jit::CompileCache;
pub use jit::CompileConfig;
pub use jit::CompileTier;
pub use jit::CompiledFn;
pub use jit::InterpEvalError;
pub use jit::JitError;
pub use jit::INTERP_MAX_EXPECTED_EVALS;
pub use jit::INTERP_MAX_NODES;
pub use jit::LLVM_MIN_EXPECTED_EVALS;
pub use plot::render_dot;
pub use plot::render_svg;
pub use plot::render_svg_opts;
pub use stablehlo::emit_stablehlo;
pub use ball::AcbBall;
pub use ball::ArbBall;
pub use ball::IntervalEval;
pub use ball::DEFAULT_PREC;
pub use simplify::dispatch::choose_strategy;
pub use simplify::dispatch::simplify_auto;
pub use simplify::dispatch::simplify_auto_with_config;
pub use simplify::dispatch::Strategy;
pub use simplify::parallel::simplify_par;
pub use simplify::parallel::simplify_par_with_config;
pub use simplify::redex::simplify_redex;
pub use simplify::redex::simplify_redex_with_config;
pub use poly::groebner::compute_groebner_basis_f5;
pub use poly::groebner::fglm;
pub use poly::groebner::fglm;
pub use poly::groebner::grevlex_staircase;
pub use poly::groebner::is_zero_dimensional;
pub use poly::groebner::GbPoly;
pub use poly::groebner::GroebnerBasis;
pub use poly::groebner::MonomialOrder;
pub use poly::groebner::ParamGbPoly;
pub use poly::groebner::ParamGroebnerBasis;
pub use poly::groebner::ParamGroebnerError;
pub use poly::groebner::ParamPoly;
pub use poly::groebner::QParam;
pub use budget::check as budget_check;
pub use budget::check_growth as budget_check_growth;
pub use budget::clear_cancel;
pub use budget::enter as budget_enter;
pub use budget::is_active as budget_is_active;
pub use budget::is_cancelled;
pub use budget::request_cancel;
pub use budget::seed as budget_seed;
pub use budget::Budget;
pub use budget::BudgetError;
pub use budget::BudgetGuard;
pub use budget::DEFAULT_MAX_GROWTH_UNITS;
pub use errors::AlkahestError;
pub use lean::emit_definite_integration_cert;
pub use lean::emit_gosper_cert;
pub use lean::emit_integration_cert;
pub use lean::emit_lean_expr as emit_lean;
pub use lean::emit_lean_expr_wrt;
pub use lean::emit_product_cert;
pub use lean::emit_tendsto_cert;
pub use lean::step_is_certifiable;
pub use diffalg::dae_index_reduce;
pub use diffalg::dae_index_reduce_ranked;
pub use diffalg::rosenfeld_groebner;
pub use diffalg::rosenfeld_groebner_algebraic;
pub use diffalg::rosenfeld_groebner_parametric;
pub use diffalg::rosenfeld_groebner_ranked;
pub use diffalg::rosenfeld_groebner_with_options;
pub use diffalg::DaeIndexReduction;
pub use diffalg::DiffAlgError;
pub use diffalg::DifferentialIdeal;
pub use diffalg::DifferentialRanking;
pub use diffalg::DifferentialRing;
pub use diffalg::ParametricProlongOpts;
pub use diffalg::ParametricRosenfeldResult;
pub use diffalg::RegularDifferentialChain;
pub use diffalg::RosenfeldGroebnerResult;
pub use ideal::primary_decomposition;
pub use ideal::radical;
pub use ideal::take_ideal_refusal;
pub use ideal::IdealRefusal;
pub use ideal::PrimaryComponent;
pub use ideal::PrimaryDecompositionError;
pub use modular::is_prime;
pub use modular::lift_crt;
pub use modular::mignotte_bound;
pub use modular::rational_reconstruction;
pub use modular::reduce_mod;
pub use modular::select_lucky_prime;
pub use modular::ModularError;
pub use modular::ModularValue;
pub use modular::MultiPolyFp;
pub use number_theory::discrete_log;
pub use number_theory::factorint;
pub use number_theory::isprime;
pub use number_theory::jacobi_symbol;
pub use number_theory::nextprime;
pub use number_theory::nthroot_mod;
pub use number_theory::totient;
pub use number_theory::NumberTheoryError;
pub use number_theory::QuadraticDirichlet;
pub use primitive::taylor_model_blockers;
pub use primitive::taylor_model_refusal;
pub use primitive::taylor_model_supports;
pub use primitive::taylor_model_supports_call;
pub use primitive::Capabilities;
pub use primitive::CoverageReport;
pub use primitive::CoverageRow;
pub use primitive::Primitive;
pub use primitive::PrimitiveRegistry;
pub use solver::diophantine;
pub use solver::diophantine;
pub use solver::expr_to_gbpoly;
pub use solver::expr_to_param_gbpoly;
pub use solver::extract_regular_chain_from_basis;
pub use solver::gbpoly_to_expr;
pub use solver::main_variable_recursive;
pub use solver::solve_numerical;
pub use solver::solve_polynomial_system;
pub use solver::solve_transcendental;
pub use solver::triangularize;
pub use solver::CertifiedPoint;
pub use solver::DiophantineError;
pub use solver::DiophantineSolution;
pub use solver::HomotopyError;
pub use solver::HomotopyOpts;
pub use solver::RegularChain;
pub use solver::Solution;
pub use solver::SolutionSet;
pub use solver::SolverError;
pub use solver::TranscendentalOutcome;

Modules§

acausal
Phase 18 — Acausal component modelling.
algebra
Domain-specific algebras built on the expression kernel (V3-2+).
ball
Phase 22 — Arbitrary-precision ball arithmetic with rigorous error bounds.
budget
Per-call wall-clock and step budgets, cooperative cancellation, and a deterministic seed for search-style workloads.
calculus
Symbolic calculus utilities — truncated expansions, limits, …
character
Conjugacy classes and exact ordinary character tables of finite permutation groups.
coding
Classical linear codes over GF(q), weight enumerators, and the Delsarte linear-programming bound.
dae
Phase 17 — DAE structural analysis.
deriv
diff
diffalg
V2-13 — Differential algebra / Rosenfeld–Gröbner-style differential elimination.
errors
Structured error types with stable diagnostic codes and remediation hints.
eval
Unified expression evaluation facade.
experimental
Experimental surface — may change without a major-version bump (V1-8).
ffield
Linear algebra over finite fields GF(q), q = p^k.
flint
Layer 0 — Foundation bindings to FLINT (Fast Library for Number Theory).
fpgroup
Computational group theory: finitely presented groups.
funcfield
Function fields of algebraic curves: divisors, the divisor class group and Riemann–Roch.
group
Computational group theory: permutation groups.
holonomic
Holonomic (D-finite) machinery: creative telescoping, Zeilberger’s algorithm, and exact Q(n) / Q(n)(k) arithmetic in support of both.
horner
Phase 24 — Horner-form code emission.
hybrid
Phase 20 — Event handling for hybrid dynamical systems.
ideal
Polynomial ideals — primary decomposition and radicals (V2-12).
integrate
jit
Tiered JIT compilation for symbolic expressions.
kernel
lattice
Lattices over ℤ: LLL reduction, and an exact toolkit for the invariants a sphere-packing or lattice-coding calculation asks for.
lean
Lean 4 certificate exporter.
logic
First-order formulas over symbolic reals (V3-3 / FOFormula).
matgroup
Matrix groups over GF(q): real algorithms on arbitrary generators, not order formulas.
matrix
Phase 15 — Symbolic matrices and vectors.
modular
V2-1 — Modular / CRT framework as a first-class primitive.
number_theory
V3-1 — Integer number theory via FLINT fmpz.
numeric
V2-6 numeric helpers — currently limited to linear integer relation guesses.
numfield
Algebraic number fields ℚ[x]/(f), on FLINT’s nf / nf_elem (the absorbed Antic library).
ode
Phase 16 — ODE representation and manipulation.
parse
V2-21 — Pratt recursive-descent expression parser (Rust port).
pattern
plot
poly
primitive
Primitive registry — central table mapping function names to their full capability bundles.
prob
Probability distributions as symbolic objects, and expectations over them.
real
Real algebraic computations (cad, etc.).
simplify
solver
Polynomial system solver via Gröbner bases.
special
Real special-function kernels shared by the primitive registry and ball arithmetic.
stabilizer
The binary symplectic / stabilizer-code layer: Pauli groups, stabilizer codes, CSS codes, and the classical matrix groups GL, SL and Sp over GF(q).
stable
Stable 1.0 API surface (V1-8).
stablehlo
StableHLO / XLA bridge.
sum
Creative telescoping / Zeilberger-style symbolic summation (V2-10).
theta
Riemann theta functions, classical modular functions and Weierstrass elliptic functions — as rigorous enclosures, backed by FLINT’s Arb layer.
transform
Symbolic integral and discrete transforms.
validated
Rigorous global bounds via Taylor models and validated numerics.
vector
Vector calculus over orthogonal curvilinear coordinates.

Functions§

version