Hankel

An \(m \times n\) matrix \(A\) is called a Hankel matrix if there exists a vector \(b\) such that

\[A(i,j) = b(i+j).\]

The following routines create an \(m \times n\) Hankel matrix from the generate vector, \(b\).

C++ API

void Hankel(Matrix<T> &A, Int m, Int n, const std::vector<T> &b)
void Hankel(AbstractDistMatrix<T> &A, Int m, Int n, const std::vector<T> &b)

C API

ElError ElHankel_i(ElMatrix_i A, ElInt m, ElInt n, ElInt aSize, ElInt* aBuf)
ElError ElHankel_s(ElMatrix_s A, ElInt m, ElInt n, ElInt aSize, float* aBuf)
ElError ElHankel_d(ElMatrix_d A, ElInt m, ElInt n, ElInt aSize, double* aBuf)
ElError ElHankel_c(ElMatrix_c A, ElInt m, ElInt n, ElInt aSize, complex_float* aBuf)
ElError ElHankel_z(ElMatrix_z A, ElInt m, ElInt n, ElInt aSize, complex_double* aBuf)
ElError ElHankelDist_i(ElDistMatrix_i A, ElInt m, ElInt n, ElInt aSize, ElInt* aBuf)
ElError ElHankelDist_s(ElDistMatrix_s A, ElInt m, ElInt n, ElInt aSize, float* aBuf)
ElError ElHankelDist_d(ElDistMatrix_d A, ElInt m, ElInt n, ElInt aSize, double* aBuf)
ElError ElHankelDist_c(ElDistMatrix_c A, ElInt m, ElInt n, ElInt aSize, complex_float* aBuf)
ElError ElHankelDist_z(ElDistMatrix_z A, ElInt m, ElInt n, ElInt aSize, complex_double* aBuf)

Python API

Hankel(A, m, n, a)