|
LMCAS
Lamina Computer Algebra System
|
统一 ODE 求解引擎:分类,分派,多种求解方法. 更多...
#include "computation_context.hpp"#include "lmcas_export.hpp"#include "result.hpp"#include "symbolic.hpp"#include "proof_outcome.hpp"#include <memory>#include <string>#include <vector>#include <optional>类 | |
| struct | LMCAS::FrobeniusSolution |
| Frobenius 级数解结果. 更多... | |
| struct | LMCAS::ODEClassification |
| ODE 分类结果,包含类型及提取的结构信息. 更多... | |
| struct | LMCAS::ODESolution |
| ODE 求解结果. 更多... | |
命名空间 | |
| namespace | LMCAS |
类型定义 | |
| using | LMCAS::FrobeniusSolutionResult = Result<FrobeniusSolution> |
| using | LMCAS::ODESingularityResult = Result<ODESingularityType> |
| using | LMCAS::ODESolutionResult = Result<ODESolution> |
枚举 | |
| enum class | LMCAS::ODESingularityType { LMCAS::Ordinary , LMCAS::RegularSingular , LMCAS::IrregularSingular } |
| 对一阶 ODE 进行类型分类. 更多... | |
| enum class | LMCAS::ODEType { LMCAS::Separable , LMCAS::Linear1 , LMCAS::Linear2_ConstCoeff , LMCAS::Homogeneous , LMCAS::Bernoulli , LMCAS::Exact , LMCAS::HigherOrder_ConstCoeff , LMCAS::Euler , LMCAS::System , LMCAS::LaplaceMethod , LMCAS::Frobenius , LMCAS::Unknown } |
| ODE 类型枚举,标识方程所属的求解类别. 更多... | |
统一 ODE 求解引擎:分类,分派,多种求解方法.
扩展已有的 symbolic_ode.hpp,提供统一的 ODE 类型检测与分派机制, 支持可分离变量,一阶线性,齐次,Bernoulli,恰当,高阶常系数,Euler 等类型.
在文件 symbolic_ode_engine.hpp 中定义.
| struct LMCAS::FrobeniusSolution |
Frobenius 级数解结果.
在文件 symbolic_ode_engine.hpp 第 435 行定义.
| 类成员 | ||
|---|---|---|
| optional< ProofCertificate > | certificate | |
| vector< double > | indicial_roots | 指标方程的根(正则奇点时) |
| shared_ptr< SymbolicExpr > | normalized_residual | |
| ODESingularityType | point_type | 展开点的奇点类型 |
| shared_ptr< SymbolicExpr > | series_solution | 截断级数解 |
| int | truncation_order | 截断阶数 |
| struct LMCAS::ODEClassification |
ODE 分类结果,包含类型及提取的结构信息.
在文件 symbolic_ode_engine.hpp 第 42 行定义.
| 类成员 | ||
|---|---|---|
| int | bernoulli_n = 0 | |
| shared_ptr< SymbolicExpr > | bernoulli_P | Bernoulli: P(x), Q(x), n 使得 y' + P(x)y = Q(x)y^n |
| shared_ptr< SymbolicExpr > | bernoulli_Q | |
| vector< double > | const_coeffs | 常系数: 系数列表 [a_n, a_{n-1}, ..., a_1, a_0] 和非齐次项 f(x) |
| vector< double > | euler_coeffs | Euler 方程: 系数列表 [a_n, ..., a_0] 对应 x^n*y^(n) + ... + a_0*y = f(x) |
| shared_ptr< SymbolicExpr > | euler_forcing | |
| shared_ptr< SymbolicExpr > | exact_M | 恰当方程: M(x,y), N(x,y) |
| shared_ptr< SymbolicExpr > | exact_N | |
| shared_ptr< SymbolicExpr > | forcing_func | |
| int | order = 0 | 方程阶数 |
| shared_ptr< SymbolicExpr > | P_coeff | 一阶线性: P(x), Q(x) 使得 y' + P(x)y = Q(x) |
| shared_ptr< SymbolicExpr > | Q_coeff | |
| ODEType | type = ODEType::Unknown | 识别出的 ODE 类型 |
| struct LMCAS::ODESolution |
ODE 求解结果.
在文件 symbolic_ode_engine.hpp 第 71 行定义.
| 类成员 | ||
|---|---|---|
| optional< ProofCertificate > | certificate | |
| vector< string > | constants | 任意常数名称列表 (C1, C2, ...) |
| shared_ptr< SymbolicExpr > | general_solution | 通解表达式 |
| ODEType | method_used = ODEType::Unknown | 使用的求解方法 |
| shared_ptr< SymbolicExpr > | normalized_residual | |