1.. _ode-docs:
2
3ODE
4===
5
6.. module::sympy.solvers.ode
7
8.. automodule:: sympy.solvers.ode
9
10User Functions
11--------------
12These are functions that are imported into the global namespace with ``from
13sympy import *``.  These functions (unlike `Hint Functions`_, below) are
14intended for use by ordinary users of SymPy.
15
16dsolve
17^^^^^^
18.. autofunction:: sympy.solvers.ode::dsolve
19
20dsolve_system
21^^^^^^^^^^^^^
22.. autofunction:: sympy.solvers.ode.systems::dsolve_system
23
24classify_ode
25^^^^^^^^^^^^
26.. autofunction:: sympy.solvers.ode::classify_ode
27
28checkodesol
29^^^^^^^^^^^
30.. autofunction:: sympy.solvers.ode::checkodesol
31
32homogeneous_order
33^^^^^^^^^^^^^^^^^
34.. autofunction:: sympy.solvers.ode::homogeneous_order
35
36infinitesimals
37^^^^^^^^^^^^^^
38.. autofunction:: sympy.solvers.ode::infinitesimals
39
40checkinfsol
41^^^^^^^^^^^
42.. autofunction:: sympy.solvers.ode::checkinfsol
43
44constantsimp
45^^^^^^^^^^^^
46.. autofunction:: sympy.solvers.ode::constantsimp
47
48Hint Functions
49--------------
50These functions are intended for internal use by
51:py:meth:`~sympy.solvers.ode.dsolve` and others.  Unlike `User Functions`_,
52above, these are not intended for every-day use by ordinary SymPy users.
53Instead, functions such as :py:meth:`~sympy.solvers.ode.dsolve` should be used.
54Nonetheless, these functions contain useful information in their docstrings on
55the various ODE solving methods. For this reason, they are documented here.
56
57allhints
58^^^^^^^^
59.. autodata:: sympy.solvers.ode::allhints
60
61odesimp
62^^^^^^^
63.. autofunction:: sympy.solvers.ode.ode::odesimp
64
65constant_renumber
66^^^^^^^^^^^^^^^^^
67.. autofunction:: sympy.solvers.ode.ode::constant_renumber
68
69sol_simplicity
70^^^^^^^^^^^^^^
71.. autofunction:: sympy.solvers.ode.ode::ode_sol_simplicity
72
73factorable
74^^^^^^^^^^
75.. autoclass:: sympy.solvers.ode.single::Factorable
76   :members:
77
781st_exact
79^^^^^^^^^
80.. autoclass:: sympy.solvers.ode.single.FirstExact
81   :members:
82
831st_homogeneous_coeff_best
84^^^^^^^^^^^^^^^^^^^^^^^^^^
85.. autoclass:: sympy.solvers.ode.single::HomogeneousCoeffBest
86   :members:
87
881st_homogeneous_coeff_subs_dep_div_indep
89^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
90.. autoclass:: sympy.solvers.ode.single::HomogeneousCoeffSubsDepDivIndep
91   :members:
92
931st_homogeneous_coeff_subs_indep_div_dep
94^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
95.. autoclass:: sympy.solvers.ode.single::HomogeneousCoeffSubsIndepDivDep
96   :members:
97
981st_linear
99^^^^^^^^^^
100.. autoclass:: sympy.solvers.ode.single::FirstLinear
101   :members:
102
1031st_rational_riccati
104^^^^^^^^^^^^^^^^^^^^
105.. autoclass:: sympy.solvers.ode.single::RationalRiccati
106   :members:
107
1082nd_linear_airy
109^^^^^^^^^^^^^^^
110.. autoclass:: sympy.solvers.ode.single::SecondLinearAiry
111   :members:
112
1132nd_linear_bessel
114^^^^^^^^^^^^^^^^^
115.. autoclass:: sympy.solvers.ode.single::SecondLinearBessel
116   :members:
117
118Bernoulli
119^^^^^^^^^
120.. autoclass:: sympy.solvers.ode.single::Bernoulli
121   :members:
122
123Liouville
124^^^^^^^^^
125.. autoclass:: sympy.solvers.ode.single::Liouville
126   :members:
127
128Riccati_special_minus2
129^^^^^^^^^^^^^^^^^^^^^^
130.. autoclass:: sympy.solvers.ode.single::RiccatiSpecial
131   :members:
132
133nth_linear_constant_coeff_homogeneous
134^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
135.. autoclass:: sympy.solvers.ode.single::NthLinearConstantCoeffHomogeneous
136   :members:
137
138nth_linear_constant_coeff_undetermined_coefficients
139^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
140.. autoclass:: sympy.solvers.ode.single::NthLinearConstantCoeffUndeterminedCoefficients
141   :members:
142
143nth_linear_constant_coeff_variation_of_parameters
144^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
145.. autoclass:: sympy.solvers.ode.single::NthLinearConstantCoeffVariationOfParameters
146   :members:
147
148nth_linear_euler_eq_homogeneous
149^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
150.. autoclass:: sympy.solvers.ode.single::NthLinearEulerEqHomogeneous
151   :members:
152
153nth_linear_euler_eq_nonhomogeneous_variation_of_parameters
154^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
155.. autoclass:: sympy.solvers.ode.single::NthLinearEulerEqNonhomogeneousVariationOfParameters
156   :members:
157
158nth_linear_euler_eq_nonhomogeneous_undetermined_coefficients
159^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
160.. autoclass:: sympy.solvers.ode.single::NthLinearEulerEqNonhomogeneousUndeterminedCoefficients
161   :members:
162
163nth_algebraic
164^^^^^^^^^^^^^
165.. autoclass:: sympy.solvers.ode.single::NthAlgebraic
166   :members:
167
168nth_order_reducible
169^^^^^^^^^^^^^^^^^^^
170.. autoclass:: sympy.solvers.ode.single::NthOrderReducible
171   :members:
172
173separable
174^^^^^^^^^
175.. autoclass:: sympy.solvers.ode.single::Separable
176   :members:
177
178almost_linear
179^^^^^^^^^^^^^
180.. autoclass:: sympy.solvers.ode.single::AlmostLinear
181   :members:
182
183linear_coefficients
184^^^^^^^^^^^^^^^^^^^
185.. autoclass:: sympy.solvers.ode.single::LinearCoefficients
186   :members:
187
188separable_reduced
189^^^^^^^^^^^^^^^^^
190.. autoclass:: sympy.solvers.ode.single::SeparableReduced
191   :members:
192
193lie_group
194^^^^^^^^^
195.. autoclass:: sympy.solvers.ode.single::LieGroup
196   :members:
197
1982nd_hypergeometric
199^^^^^^^^^^^^^^^^^^
200.. autoclass:: sympy.solvers.ode.single::SecondHypergeometric
201   :members:
202
2031st_power_series
204^^^^^^^^^^^^^^^^
205.. autofunction:: sympy.solvers.ode.ode::ode_1st_power_series
206
2072nd_power_series_ordinary
208^^^^^^^^^^^^^^^^^^^^^^^^^
209.. autofunction:: sympy.solvers.ode.ode::ode_2nd_power_series_ordinary
210
2112nd_power_series_regular
212^^^^^^^^^^^^^^^^^^^^^^^^
213.. autofunction:: sympy.solvers.ode.ode::ode_2nd_power_series_regular
214
215Lie heuristics
216--------------
217These functions are intended for internal use of the Lie Group Solver.
218Nonetheless, they contain useful information in their docstrings on the algorithms
219implemented for the various heuristics.
220
221abaco1_simple
222^^^^^^^^^^^^^
223.. autofunction:: sympy.solvers.ode.lie_group::lie_heuristic_abaco1_simple
224
225abaco1_product
226^^^^^^^^^^^^^^
227.. autofunction:: sympy.solvers.ode.lie_group::lie_heuristic_abaco1_product
228
229bivariate
230^^^^^^^^^
231.. autofunction:: sympy.solvers.ode.lie_group::lie_heuristic_bivariate
232
233chi
234^^^
235.. autofunction:: sympy.solvers.ode.lie_group::lie_heuristic_chi
236
237abaco2_similar
238^^^^^^^^^^^^^^
239.. autofunction:: sympy.solvers.ode.lie_group::lie_heuristic_abaco2_similar
240
241function_sum
242^^^^^^^^^^^^
243.. autofunction:: sympy.solvers.ode.lie_group::lie_heuristic_function_sum
244
245abaco2_unique_unknown
246^^^^^^^^^^^^^^^^^^^^^
247.. autofunction:: sympy.solvers.ode.lie_group::lie_heuristic_abaco2_unique_unknown
248
249abaco2_unique_general
250^^^^^^^^^^^^^^^^^^^^^
251.. autofunction:: sympy.solvers.ode.lie_group::lie_heuristic_abaco2_unique_general
252
253linear
254^^^^^^
255.. autofunction:: sympy.solvers.ode.lie_group::lie_heuristic_linear
256
257Rational Riccati Solver
258-----------------------
259These functions are intended for internal use to solve
260a first order Riccati differential equation with atleast
261one rational particular solution.
262
263riccati_normal
264^^^^^^^^^^^^^^
265.. autofunction:: sympy.solvers.ode.riccati::riccati_normal
266
267riccati_inverse_normal
268^^^^^^^^^^^^^^^^^^^^^^
269.. autofunction:: sympy.solvers.ode.riccati::riccati_inverse_normal
270
271riccati_reduced
272^^^^^^^^^^^^^^^
273.. autofunction:: sympy.solvers.ode.riccati::riccati_reduced
274
275construct_c
276^^^^^^^^^^^
277.. autofunction:: sympy.solvers.ode.riccati::construct_c
278
279construct_d
280^^^^^^^^^^^
281.. autofunction:: sympy.solvers.ode.riccati::construct_d
282
283rational_laurent_series
284^^^^^^^^^^^^^^^^^^^^^^^
285.. autofunction:: sympy.solvers.ode.riccati::rational_laurent_series
286
287compute_m_ybar
288^^^^^^^^^^^^^^
289.. autofunction:: sympy.solvers.ode.riccati::compute_m_ybar
290
291solve_aux_eq
292^^^^^^^^^^^^
293.. autofunction:: sympy.solvers.ode.riccati::solve_aux_eq
294
295remove_redundant_sols
296^^^^^^^^^^^^^^^^^^^^^
297.. autofunction:: sympy.solvers.ode.riccati::remove_redundant_sols
298
299get_gen_sol_from_part_sol
300^^^^^^^^^^^^^^^^^^^^^^^^^
301.. autofunction:: sympy.solvers.ode.riccati::get_gen_sol_from_part_sol
302
303solve_riccati
304^^^^^^^^^^^^^
305.. autofunction:: sympy.solvers.ode.riccati::solve_riccati
306
307System of ODEs
308--------------
309These functions are intended for internal use by
310:py:meth:`~sympy.solvers.ode.dsolve` for system of differential equations.
311
312Linear, 2 equations, Order 1, Type 6
313^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
314.. autofunction:: sympy.solvers.ode.ode::_linear_2eq_order1_type6
315
316Linear, 2 equations, Order 1, Type 7
317^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
318.. autofunction:: sympy.solvers.ode.ode::_linear_2eq_order1_type7
319
320Linear ODE to matrix
321^^^^^^^^^^^^^^^^^^^^
322.. autofunction:: sympy.solvers.ode.systems::linear_ode_to_matrix
323
324Canonical Equations Converter
325^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
326.. autofunction:: sympy.solvers.ode.systems::canonical_odes
327
328LinODESolve Systems Information
329^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
330.. autofunction:: sympy.solvers.ode.systems::linodesolve_type
331
332Matrix Exponential Jordan Form
333^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
334.. autofunction:: sympy.solvers.ode.systems::matrix_exp_jordan_form
335
336Matrix Exponential
337^^^^^^^^^^^^^^^^^^
338.. autofunction:: sympy.solvers.ode.systems::matrix_exp
339
340Linear, n equations, Order 1 Solver
341^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
342.. autofunction:: sympy.solvers.ode.systems::linodesolve
343
344Nonlinear, 2 equations, Order 1, Type 1
345^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
346.. autofunction:: sympy.solvers.ode.ode::_nonlinear_2eq_order1_type1
347
348Nonlinear, 2 equations, Order 1, Type 2
349^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
350.. autofunction:: sympy.solvers.ode.ode::_nonlinear_2eq_order1_type2
351
352Nonlinear, 2 equations, Order 1, Type 3
353^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
354.. autofunction:: sympy.solvers.ode.ode::_nonlinear_2eq_order1_type3
355
356Nonlinear, 2 equations, Order 1, Type 4
357^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
358.. autofunction:: sympy.solvers.ode.ode::_nonlinear_2eq_order1_type4
359
360Nonlinear, 2 equations, Order 1, Type 5
361^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
362.. autofunction:: sympy.solvers.ode.ode::_nonlinear_2eq_order1_type5
363
364Nonlinear, 3 equations, Order 1, Type 1
365^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
366.. autofunction:: sympy.solvers.ode.ode::_nonlinear_3eq_order1_type1
367
368Nonlinear, 3 equations, Order 1, Type 2
369^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
370.. autofunction:: sympy.solvers.ode.ode::_nonlinear_3eq_order1_type2
371
372Nonlinear, 3 equations, Order 1, Type 3
373^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
374.. autofunction:: sympy.solvers.ode.ode::_nonlinear_3eq_order1_type3
375
376Nonlinear, 3 equations, Order 1, Type 4
377^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
378.. autofunction:: sympy.solvers.ode.ode::_nonlinear_3eq_order1_type4
379
380Nonlinear, 3 equations, Order 1, Type 5
381^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
382.. autofunction:: sympy.solvers.ode.ode::_nonlinear_3eq_order1_type5
383
384Information on the ode module
385-----------------------------
386
387.. automodule:: sympy.solvers.ode.ode
388
389Internal functions
390^^^^^^^^^^^^^^^^^^
391
392These functions are not intended for end-user use.
393
394.. autofunction:: sympy.solvers.ode.ode::_handle_Integral
395