Solve two-point boundary value problems for ODEs
This module uses the multiple shooting code MUS [MS] for solving boundary-value problems.
Warning
For some reason, this code can be slow for certain problems. This may be due to that
- This wrapper uses MUS somehow incorrectly
- Speed of MUS is sensitive to tweaking parameters
- Python call overhead is significant for MUS as it is not vectorized over mesh points
I have not yet figured out what the problem is, so you may be better off using the colnew package.
Solve a linear two-point boundary value problem.
The problem is assumed to be:
u'(t) = L(t) u(t) + r(t), a <= t <= b
M_A u(a) + M_B u(b) = BCV
where u is the solution vector.
Parameters: |
|
---|---|
Returns: | A tuple (t, y) where t is a (m,) array of mesh points, and y is (m, n) array of solution values at the mesh points. |
Raises: |
|
Solve a non-linear two-point boundary value problem.
The problem is assumed to be:
u'(t) = f(t, u(t)), a <= t <= b
g_j(u(a), u(b)) = 0 j = 0, 1, ..., n
where u is the solution vector with shape (n,).
Parameters: |
|
---|---|
Returns: | A tuple (t, u) where t is a (m,) array of mesh points, and u is (m, n) array of solution values at the mesh points. |
Raises: |
|