Base type to define a Hankel matrix of size [m x n] generate from
the vector v.
This interface provides methods to construct Hankel matrices.
Given a vector vc specifying the first column of the matrix and a
vector vr specifying its last row, the associated Hankel
matrix is the following matrix
integer, parameter :: m = 100, n = 200
real(dp) :: vc(n), vr(n)
type(Hankel) :: A
call random_number(vc) ; call random_number(vr)
A = hankel(Hc, vr)
Warning
The element is read from the last entry of the vector
vc. The first entry of vr is not referenced.
Note
Only double precision is currently supported for this matrix type.
Construct a Hankel matrix from the rank-1 arrays vc and vr.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | v(:) |
Generating vector. |
||
| integer(kind=ilp), | intent(in) | :: | m |
Dimensions of the matrix. |
||
| integer(kind=ilp), | intent(in) | :: | n |
Dimensions of the matrix. |
Corresponding hankel matrix.
type, public :: Hankel !! Base type to define a `Hankel` matrix of size [m x n] generate from !! the vector v. private integer(ilp) :: m, n !! Dimensions of the matrix. real(dp), allocatable :: v(:) !! Generating vector. end type Hankel