Skip to content

Commit 0ad827f

Browse files
committed
Add doc for expm.
1 parent 8a94078 commit 0ad827f

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

doc/specs/stdlib_linalg.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1884,3 +1884,36 @@ If `err` is not present, exceptions trigger an `error stop`.
18841884
{!example/linalg/example_mnorm.f90!}
18851885
```
18861886

1887+
## `expm` - Computes the matrix exponential {#expm}
1888+
1889+
### Status
1890+
1891+
Experimental
1892+
1893+
### Description
1894+
1895+
Given a matrix \(A\), this function computes its matrix exponential \(E = \exp(A)\) using a Pade approximation.
1896+
1897+
### Syntax
1898+
1899+
`E = ` [[stdlib_linalg(module):expm(interface)]] `(a [, order, err])`
1900+
1901+
### Arguments
1902+
1903+
`a`: Shall be a rank-2 `real` or `complex` array containing the data. It is an `intent(in)` argument.
1904+
1905+
`order` (optional): Shall be a non-negative `integer` value specifying the order of the Pade approximation. By default `order=10`. It is an `intent(in)` argument.
1906+
1907+
`err` (optional): Shall be a `type(linalg_state_type)` value. This is an `intent(out)` argument.
1908+
1909+
### Return value
1910+
1911+
The returned array `E` contains the Pade approximation of \(\exp(A)\).
1912+
1913+
If `A` is non-square or `order` is negative, it raises a `LINALG_VALUE_ERROR`.
1914+
If `err` is not present, exceptions trigger an `error stop`.
1915+
1916+
### Example
1917+
1918+
```fortran
1919+
{!example/linalg/example_expm.f90!}

0 commit comments

Comments
 (0)