slicot_mb05od

Matrix exponential for a real matrix, with accuracy estimate.

Syntax

  • [A_OUT, MDIG, IDIG, IWARN, INFO] = slicot_mb05od(BALANC, NDIAG, DELTA, A_IN)

Input argument

  • BALANC - Specifies whether or not a balancing transformation (done by SLICOT Library routine MB04MD) is required, as follows: = 'N', do not use balancing; = 'S', use balancing (scaling).

  • NDIAG - The specified order of the diagonal Pade approximant. In the absence of further information NDIAG should be set to 9. NDIAG should not exceed 15. NDIAG greater or equal than 1.

  • DELTA - The scalar value delta of the problem.

  • A_IN - The leading N-by-N part of this array must contain the matrix A of the problem.

Output argument

  • A_OUT - if INFO = 0, the leading N-by-N part of this array contains the solution matrix exp(A * delta).

  • MDIG - The minimal number of accurate digits in the 1-norm of exp(A*delta).

  • IDIG - The number of accurate digits in the 1-norm of exp(A*delta) at 95% confidence level.

  • IWARN - = 0: no warning; = 1: if MDIG = 0 and IDIG greater than 0, warning for possible inaccuracy (the exponential has been computed); = 2: if MDIG = 0 and IDIG = 0, warning for severe inaccuracy (the exponential has been computed); = 3: if balancing has been requested, but it failed to reduce the matrix norm and was not actually used.

  • INFO - = 0: successful exit; = 1: if the norm of matrix A*delta (after a possible balancing) is too large to obtain an accurate result; = 2: if the coefficient matrix (the denominator of the Pade approximant) is exactly singular; try a different value of NDIAG; = 3: if the solution exponential would overflow, possibly due to a too large value DELTA; the calculations stopped prematurely. This error is not likely to appear.

Description

To compute exp(A*delta) where A is a real N-by-N matrix and delta is a scalar value. The routine also returns the minimal number of accurate digits in the 1-norm of exp(A*delta) and the number of accurate digits in the 1-norm of exp(A*delta) at 95% confidence level.

Used function(s)

MB05OD

Bibliography

http://slicot.org/objects/software/shared/doc/MB05OD.html

Example

N = 3;
NDIAG = 9;
DELTA = 1.0;
BALANC = 'S';
A_IN = [2.0   1.0   1.0;
   0.0   3.0   2.0;
   1.0   0.0   4.0];
[A_OUT, MDIG, IDIG, IWARN, INFO] = slicot_mb05od(BALANC, NDIAG, DELTA, A_IN)

History

VersionDescription

1.0.0

initial version

Author

SLICOT Documentation

Last updated