Helmholtz

A shifted discrete Laplacian over \([0,1]^d\).

C++ API

void Helmholtz(Matrix<F> &H, Int n, F shift)
void Helmholtz(AbstractDistMatrix<F> &H, Int n, F shift)

1D Helmholtz

void Helmholtz(Matrix<F> &H, Int nx, Int ny, F shift)
void Helmholtz(AbstractDistMatrix<F> &H, Int nx, Int ny, F shift)

2D Helmholtz

void Helmholtz(Matrix<F> &H, Int nx, Int ny, Int nz, F shift)
void Helmholtz(AbstractDistMatrix<F> &H, Int nx, Int ny, Int nz, F shift)

3D Helmholtz

C API

ElError ElHelmholtz1D_s(ElMatrix_s H, ElInt nx, float shift)
ElError ElHelmholtz1D_d(ElMatrix_d H, ElInt nx, double shift)
ElError ElHelmholtz1D_c(ElMatrix_c H, ElInt nx, complex_float shift)
ElError ElHelmholtz1D_z(ElMatrix_z H, ElInt nx, complex_double shift)
ElError ElHelmholtz1DDist_s(ElDistMatrix_s H, ElInt nx, float shift)
ElError ElHelmholtz1DDist_d(ElDistMatrix_d H, ElInt nx, double shift)
ElError ElHelmholtz1DDist_c(ElDistMatrix_c H, ElInt nx, complex_float shift)
ElError ElHelmholtz1DDist_z(ElDistMatrix_z H, ElInt nx, complex_double shift)

1D Helmholtz

ElError ElHelmholtz2D_s(ElMatrix_s H, ElInt nx, ElInt ny, float shift)
ElError ElHelmholtz2D_d(ElMatrix_d H, ElInt nx, ElInt ny, double shift)
ElError ElHelmholtz2D_c(ElMatrix_c H, ElInt nx, ElInt ny, complex_float shift)
ElError ElHelmholtz2D_z(ElMatrix_z H, ElInt nx, ElInt ny, complex_double shift)
ElError ElHelmholtz2DDist_s(ElDistMatrix_s H, ElInt nx, ElInt ny, float shift)
ElError ElHelmholtz2DDist_d(ElDistMatrix_d H, ElInt nx, ElInt ny, double shift)
ElError ElHelmholtz2DDist_c(ElDistMatrix_c H, ElInt nx, ElInt ny, complex_float shift)
ElError ElHelmholtz2DDist_z(ElDistMatrix_z H, ElInt nx, ElInt ny, complex_double shift)

2D Helmholtz

ElError ElHelmholtz3D_s(ElMatrix_s H, ElInt nx, ElInt ny, ElInt nz, float shift)
ElError ElHelmholtz3D_d(ElMatrix_d H, ElInt nx, ElInt ny, ElInt nz, double shift)
ElError ElHelmholtz3D_c(ElMatrix_c H, ElInt nx, ElInt ny, ElInt nz, complex_float shift)
ElError ElHelmholtz3D_z(ElMatrix_z H, ElInt nx, ElInt ny, ElInt nz, complex_double shift)
ElError ElHelmholtz3DDist_s(ElDistMatrix_s H, ElInt nx, ElInt ny, ElInt nz, float shift)
ElError ElHelmholtz3DDist_d(ElDistMatrix_d H, ElInt nx, ElInt ny, ElInt nz, double shift)
ElError ElHelmholtz3DDist_c(ElDistMatrix_c H, ElInt nx, ElInt ny, ElInt nz, complex_float shift)
ElError ElHelmholtz3DDist_z(ElDistMatrix_z H, ElInt nx, ElInt ny, ElInt nz, complex_double shift)

3D Helmholtz

Python API

Helmholtz1D(H, nx, shift)
Helmholtz2D(H, nx, ny, shift)
Helmholtz3D(H, nx, ny, nz, shift)