qttools.nevp.beyn#
source module qttools.nevp.beyn
source class Beyn(r_o: float, r_i: float, m_0: int, num_quad_points: int, num_threads_contour: int = 1024, eig_compute_location: str = 'numpy', project_compute_location: str = 'numpy', use_qr: bool = False, contour_batch_size: int | None = None, use_pinned_memory: bool = True)
Bases : NEVP
Beyn's integral method for solving NEVP.1
This is implemented along the lines of what is described in 2.
Initializes the Beyn NEVP solver.
Parameters
-
r_o : float — The outer radius of the annulus for the contour integration.
-
r_i : float — The inner radius of the annulus for the contour integration.
-
m_0 : int — Guess for the number of eigenvalues that lie in the subspace.
-
num_quad_points : int — The number of quadrature points to use for the contour integration.
-
num_threads_contour : int, optional — The number of cuda threads to use for the contour integration kernel. Only relevant for GPU computations.
-
eig_compute_location : str, optional — The location where to compute the eigenvalues and eigenvectors. Can be either "numpy" or "cupy". Only relevant if cupy is used.
-
project_compute_location : str, optional — The location where to compute the singular value or qr decomposition for the projector. Can be either "numpy" or "cupy". Only relevant if cupy is used.
-
use_qr : bool, optional — Whether to use QR decomposition for the projector instead of SVD. Default is
False
. -
contour_batch_size : int, optional — The batch size for the contour integration kernel. If
None
, the batch size is set tonum_quad_points
. -
use_pinned_memory : bool, optional — Whether to use pinnend memory if cupy is used. Default is
True
.