SystemODESolver(F, LO)ΒΆ
odeef.spad line 1 [edit on github]
SystemODESolver provides tools for triangulating and solving some systems of linear ordinary differential equations.
- solve: (Matrix F, List Vector F, (LO, List F) -> Record(particular: List Record(ratpart: F, coeffs: Vector F), basis: List F)) -> Record(particular: List Record(ratpart: Vector F, coeffs: Vector F), basis: List Vector F)
solve(m, lv, solve)
is a parametric version of solve(m
,v
, solve)
- solve: (Matrix F, Vector F, (LO, F) -> Union(Record(particular: F, basis: List F), failed)) -> Union(Record(particular: Vector F, basis: Matrix F), failed)
solve(m, v, solve)
returns[v_p, bm]
such that the solutions inF
of the systemD x = m x + v
arev_p + c_1 v_1 + ... + c_m v_m
where thec_i's
are constants, and thev_i's
are columns ofbm
and form a basis for the solutions ofD x = m x
. Argumentsolve
is a function for solving a single linear ordinary differential equation inF
.
- solveInField: (Matrix LO, List Vector F, (LO, List F) -> Record(particular: List Record(ratpart: F, coeffs: Vector F), basis: List F)) -> Record(particular: List Record(ratpart: Vector F, coeffs: Vector F), basis: List Vector F)
solveInField(m, lv, solve)
is a parametric version of solveInField(m
,v
, solve)
- solveInField: (Matrix LO, Vector F, (LO, F) -> Record(particular: Union(F, failed), basis: List F)) -> Record(particular: Union(Vector F, failed), basis: List Vector F)
solveInField(m, v, solve)
returns[[v_1, ..., v_m], v_p]
such that the solutions inF
of the systemm x = v
arev_p + c_1 v_1 + ... + c_m v_m
where thec_i's
are constants, and thev_i's
form a basis for the solutions ofm x = 0
. Argumentsolve
is a function for solving a single linear ordinary differential equation inF
.
- triangulate: (Matrix F, List Vector F) -> Record(A: Matrix F, eqs: List Record(C: Matrix F, lg: List Vector F, eq: LO, lrh: List F))
triangulate(A, lv)
is a parametric version of triangulate(A,v
).
- triangulate: (Matrix F, Vector F) -> Record(A: Matrix F, eqs: List Record(C: Matrix F, g: Vector F, eq: LO, rh: F))
triangulate(M, v)
returnsA, [[C_1, g_1, L_1, h_1], ..., [C_k, g_k, L_k, h_k]]
such that under the change of variabley = A z
, the first order linear systemD y = M y + v
is uncoupled asD z_i = C_i z_i + g_i
and eachC_i
is a companion matrix corresponding to the scalar equationL_i z_j = h_i
.