Skip to content

Commit

Permalink
Update README to mention new keyword anorm.
Browse files Browse the repository at this point in the history
  • Loading branch information
acroy authored Aug 11, 2018
1 parent b5e020e commit 5faa89c
Showing 1 changed file with 30 additions and 4 deletions.
34 changes: 30 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,42 @@ Pkg.add("Expokit")
w = expmv!{T}( w::Vector{T}, t::Number, A, v::Vector{T}; kwargs...)
```
The function `expmv!` calculates `w = exp(t*A)*v`, where `A` is a
matrix or any type that supports `norm`, `size` and `A_mul_B!` and `v` a dense vector by using Krylov subspace projections. The result is
matrix or any type that supports `size` and `A_mul_B!` and `v` a dense vector by using Krylov subspace projections. The result is
stored in `w`.

The following keywords are supported
- `tol`: tolerance to control step size
- `m`: size of Krylov subspace
- `norm`: user-supplied norm
- `tol`: tolerance to control step size (default: `1e-7`)
- `m`: size of Krylov subspace (default: `min(30,size(A,1))`)
- `norm`: user-supplied function to calculate vector norm (dafault: `Base.norm`)
- `anorm`: operator/matrix norm of `A` to estimate first time-step (default: `opnorm(A, Inf)`)

For convenience, the following versions of `expmv` are provided
```julia
v = expmv!{T}( t::Number, A, v::Vector{T}; kwargs...)
w = expmv{T}( t::Number, A, v::Vector{T}; kwargs...)
```

## phimv

```julia
w = phimv!{T}( w::Vector{T}, t::Number, A, u::Vector{T}, v::Vector{T}; kwargs...)
```
The function `phimv!` calculates `w = e^{tA}v + t φ(t A) u` with `φ(z) = (exp(z)-1)/z`, where `A` is a
matrix or any type that supports `size` and `A_mul_B!`, `u` and `v` are dense vectors by using Krylov subspace projections. The result is stored in `w`. The supported keywords are the same as for `expmv!`.

## chbv

```julia
chbv!{T}(w::Vector{T}, A, v::Vector{T})
```
The function `chbv!` calculates `w = exp(A)*v` using the partial fraction expansion of
the uniform rational Chebyshev approximation of type (14,14).

## padm

```julia
padm(A; p=6)
```
The function `padm` calculates the matrix exponential `exp(A)` of `A` using the irreducible
(p,p)-degree rational Pade approximation to the exponential function.

0 comments on commit 5faa89c

Please sign in to comment.