types.trajectories.IntegrationResult

types.trajectories.IntegrationResult()

Result from continuous-time integration (ODE/SDE solver).

Contains trajectory, time points, and solver diagnostics.

Shape Convention

Time-major ordering for easy analysis and plotting: - t: (T,) - Time points - x: (T, nx) - State at each time point

This differs from scipy’s (nx, T) convention but is more natural for analysis: x[:, i] gives i-th component over time.

Attributes

Name Type Description
t ArrayLike Time points (T,)
x ArrayLike State trajectory (T, nx) - time-major ordering
success bool Whether integration succeeded
message str Status message
nfev int Number of function evaluations
nsteps int Number of integration steps
integration_time float Computation time in seconds
solver str Name of solver used

Optional Fields

njev : int Number of Jacobian evaluations nlu : int Number of LU decompositions status : int Solver-specific status code sol : Any Dense output object (solver-specific) dense_output : bool Whether dense output is available

Examples

>>> # Integrate system
>>> result: IntegrationResult = integrator.integrate(
...     x0=np.array([1.0, 0.0]),
...     u_func=lambda t, x: np.zeros(1),
...     t_span=(0.0, 10.0)
... )
>>>
>>> # Access results
>>> t = result["t"]        # Time points (T,)
>>> x = result["x"]        # States (T, nx)
>>>
>>> # Plot first state component
>>> import matplotlib.pyplot as plt
>>> plt.plot(t, x[:, 0], label='x1')
>>> plt.plot(t, x[:, 1], label='x2')
>>>
>>> # Check success
>>> if result["success"]:
...     print(f"Completed in {result['integration_time']:.3f}s")
...     print(f"Function evals: {result['nfev']}")