DFSolver ======== Overview -------- DFSolver represents an operator that applies the inverse (or an approximate inverse) of the auxiliary metric matrix V. It is a thin C++/pybind11 wrapper exposed to Python for efficient dense transformations. Constructor ----------- .. code-block:: python DFSolver(basis, mtx, type='cholesky', device='cuda', gpu_mem_fraction=0.5) Parameters ---------- * **basis** *(libintx.Basis)* - basis associated with the matrix. * **mtx** *(ndarray, shape (n,n))* - square metric matrix. * **type** *(str)* - solver type (``"cholesky"``, ``"lu"``, ...). * **device** *(str)* - ``"cuda"`` or ``"host"``. * **gpu_mem_fraction** *(float)* - GPU memory fraction for CUDA runs. Methods ------- * ``solve(vec)`` - apply the transformation in-place (:math:`V^{-1} \ \mathrm{vec}`). Notes ----- * The Python binding creates a DFSolver by validating the dimension and then calling into the C++ helper that returns a solver object potentially backed by GPU resources. See the Python bindings for exact behavior.