qttools.nevp.full#
source module qttools.nevp.full
Classes
-
Full — An NEVP solver based on linearization.
source class Full(eig_compute_location: str = 'numpy', use_pinned_memory: bool = True, reduce: bool = False, a_xx_sparsity: tuple[sparse.csc_matrix, ...] | None = None)
Bases : NEVP
An NEVP solver based on linearization.
Implemented along the lines of what is described in 1.
Initializes the Full NEVP solver.
Parameters
-
eig_compute_location : str, optional — The location where to compute the eigenvalues and eigenvectors. Can be either "numpy" or "cupy" or "nvmath".
-
use_pinned_memory : bool, optional — Whether to use pinnend memory if cupy is used. Default is
True. -
reduce : bool, optional — Whether to reduce the problem size by eliminating columns that are zero in the first and last coefficient blocks. These columns correspond to eigenvalues that are infinity or zero.
-
a_xx_sparsity : tuple[sparse.csc_matrix, ...] or None, optional — The sparsity patterns of the coefficient blocks of the NEVP. If
reduceisTrue, this can be provided at instantiation to identify the zero columns and perform the reduction. IfreduceisTrueanda_xxis not provided, the zero columns will be identified at runtime, which may introduce some overhead.
-
S. Brück, Ab-initio Quantum Transport Simulations for Nanoelectronic Devices, ETH Zurich, 2017. ↩