#include <init.hpp>
Definition at line 30 of file init.hpp.
◆ GPUEigensolver()
| q3::execution::gpu::lapack::GPUEigensolver::GPUEigensolver |
( |
std::shared_ptr< device::GPUDeviceBackend > |
device_backend | ) |
|
|
inlineexplicit |
Construct a GPU eigensolver backed by the given device.
- Parameters
-
| device_backend | Shared pointer to the GPU device backend. Must not be null. |
Definition at line 38 of file init.hpp.
◆ ~GPUEigensolver()
| virtual q3::execution::gpu::lapack::GPUEigensolver::~GPUEigensolver |
( |
| ) |
|
|
virtualdefault |
◆ device_backend() [1/2]
◆ device_backend() [2/2]
◆ generalized_hermitian_eigenvalue_solve()
| virtual void q3::execution::gpu::lapack::GPUEigensolver::generalized_hermitian_eigenvalue_solve |
( |
int |
matrix_dimension, |
|
|
Complex * |
matrix_a_data, |
|
|
int |
leading_dimension_a, |
|
|
Complex * |
matrix_b_data, |
|
|
int |
leading_dimension_b, |
|
|
Real * |
eigenvalues |
|
) |
| |
|
pure virtual |
Solve the generalized Hermitian eigenvalue problem: A · x = λ · B · x.
B must be positive definite (e.g., the overlap matrix S for US-PP). On return, matrix_a_data contains the eigenvectors and eigenvalues contains the eigenvalues in ascending order.
- Parameters
-
| matrix_dimension | Order of both matrices (N). |
| matrix_a_data | On entry: Hermitian matrix A (upper triangle). On exit: the eigenvectors. |
| leading_dimension_a | Leading dimension of matrix_a_data (>= N). |
| matrix_b_data | On entry: positive-definite Hermitian B. On exit: the Cholesky factor of B. |
| leading_dimension_b | Leading dimension of matrix_b_data (>= N). |
| eigenvalues | Output array of N real eigenvalues (ascending). |
Implemented in q3::execution::gpu::lapack::CudaGPUEigensolver, q3::execution::gpu::lapack::HIPGPUEigensolver, and q3::execution::gpu::lapack::SYCLGPUEigensolver.
◆ hermitian_eigenvalue_solve()
| virtual void q3::execution::gpu::lapack::GPUEigensolver::hermitian_eigenvalue_solve |
( |
int |
matrix_dimension, |
|
|
Complex * |
matrix_data, |
|
|
int |
leading_dimension, |
|
|
Real * |
eigenvalues |
|
) |
| |
|
pure virtual |
◆ device_backend_
The documentation for this class was generated from the following file:
- src/layer_0_core/math/linear_algebra/gpu/lapack/init.hpp