ElementaryFunctionODESolver(R, F)¶
odeef.spad line 831 [edit on github]
R: Join(Comparable, PolynomialFactorizationExplicit, RetractableTo Integer, LinearlyExplicitOver Integer, CharacteristicZero)
F: Join(AlgebraicallyClosedFunctionSpace R, TranscendentalFunctionCategory, PrimitiveFunctionCategory)
ElementaryFunctionODESolver
provides the top-level functions for finding closed form solutions of ordinary differential equations and initial value problems.
- solve: (Equation F, BasicOperator, Equation F, List F) -> Union(F, failed)
solve(eq, y, x = a, [y0, ..., ym])
returns either the solution of the initial value problemeq, y(a) = y0, y'(a) = y1, ...
or “failed” if the solution cannot be found; error if the equation is not one linear ordinary or of the formdy/dx = f(x, y)
.
- solve: (Equation F, BasicOperator, Symbol) -> Union(Record(particular: F, basis: List F), F, failed)
solve(eq, y, x)
returns either a solution of the ordinary differential equationeq
or “failed” if no non-trivial solution can be found; If the equation is linear ordinary, a solution is of the form[h, [b1, ..., bm]]
whereh
is a particular solution and[b1, ...bm]
are linearly independent solutions of the associated homogeneous equationf(x, y) = 0
; A full basis for the solutions of the homogeneous equation is not always returned, only the solutions which were found; If the equation is of the form {dy/dx =f
(x
,y
)}, a solution is of the formh(x, y)
whereh(x, y) = c
is a first integral of the equation for any constantc
; error if the equation is not one of those 2 forms.
- solve: (F, BasicOperator, Equation F, List F) -> Union(F, failed)
solve(eq, y, x = a, [y0, ..., ym])
returns either the solution of the initial value problemeq, y(a) = y0, y'(a) = y1, ...
or “failed” if the solution cannot be found; error if the equation is not one linear ordinary or of the formdy/dx = f(x, y)
.
- solve: (F, BasicOperator, Symbol) -> Union(Record(particular: F, basis: List F), F, failed)
solve(eq, y, x)
returns either a solution of the ordinary differential equationeq
or “failed” if no non-trivial solution can be found; If the equation is linear ordinary, a solution is of the form[h, [b1, ..., bm]]
whereh
is a particular solution and and[b1, ...bm]
are linearly independent solutions of the associated homogeneous equationf(x, y) = 0
; A full basis for the solutions of the homogeneous equation is not always returned, only the solutions which were found; If the equation is of the form {dy/dx =f
(x
,y
)}, a solution is of the formh(x, y)
whereh(x, y) = c
is a first integral of the equation for any constantc
.
- solve: (List Equation F, List BasicOperator, Symbol) -> Union(Record(particular: Vector F, basis: List Vector F), failed)
solve([eq_1,...,eq_n], [y_1,...,y_n], x)
returns either “failed” or, if the equations form a fist order linear system, a solution of the form[y_p, [b_1, ..., b_n]]
whereh_p
is a particular solution and[b_1, ...b_m]
are linearly independent solutions of the associated homogeneous system. error if the equations do not form a first order linear system
- solve: (List F, List BasicOperator, Symbol) -> Union(Record(particular: Vector F, basis: List Vector F), failed)
solve([eq_1,...,eq_n], [y_1,...,y_n], x)
returns either “failed” or, if the equations form a fist order linear system, a solution of the form[y_p, [b_1, ..., b_n]]
whereh_p
is a particular solution and[b_1, ...b_m]
are linearly independent solutions of the associated homogeneous system. error if the equations do not form a first order linear system
- solve: (Matrix F, Symbol) -> Union(List Vector F, failed)
solve(m, x)
returns a basis for the solutions ofD y = m y
.x
is the dependent variable.
- solve: (Matrix F, Vector F, Symbol) -> Union(Record(particular: Vector F, basis: List Vector F), failed)
solve(m, v, x)
returns[v_p, [v_1, ..., v_m]]
such that the solutions of the systemD y = m y + 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 ofD y = m y
.x
is the dependent variable.