{ } Raw JSON

bundles / scipy 1.17.1 / scipy / sparse / linalg / _expm_multiply / _expm_multiply_interval

function

scipy.sparse.linalg._expm_multiply:_expm_multiply_interval

source: /scipy/sparse/linalg/_expm_multiply.py :597

Signature

def   _expm_multiply_interval ( A B start = None stop = None num = None endpoint = None traceA = None balance = False status_only = False )

Summary

Compute the action of the matrix exponential at multiple time points.

Parameters

A : transposable linear operator

The operator whose exponential is of interest.

B : ndarray

The matrix to be multiplied by the matrix exponential of A.

start : scalar, optional

The starting time point of the sequence.

stop : scalar, optional

The end time point of the sequence, unless endpoint is set to False. In that case, the sequence consists of all but the last of num + 1 evenly spaced time points, so that stop is excluded. Note that the step size changes when endpoint is False.

num : int, optional

Number of time points to use.

traceA : scalar, optional

Trace of A. If not given the trace is estimated for linear operators, or calculated exactly for sparse matrices. It is used to precondition A, thus an approximate trace is acceptable

endpoint : bool, optional

If True, stop is the last time point. Otherwise, it is not included.

balance : bool

Indicates whether or not to apply balancing.

status_only : bool

A flag that is set to True for some debugging and testing operations.

Returns

F : ndarray

status : int

An integer status for testing and debugging.

Notes

This is algorithm (5.2) in Al-Mohy and Higham (2011).

There seems to be a typo, where line 15 of the algorithm should be moved to line 6.5 (between lines 6 and 7).

Aliases

  • scipy.sparse.linalg._expm_multiply._expm_multiply_interval