Source code for strongcoca.response.diagonal_casida
import numpy as np
from . import CasidaResponse
[docs]
def build_diagonal_casida(
casida_response: CasidaResponse,
name: str = 'Diagonal') -> CasidaResponse:
"""Builds a :class:`~strongcoca.response.CasidaResponse` instance in
the diagonal representation from an existing non-diagonal
representation.
In the diagonal representation, the K matrix is zero and the
eigenstates are on the diagonal.
Parameters
----------
casida_response
Old Casida response.
name
Name of the new response.
"""
omega_I = casida_response.excitations._energies
mu_Iv = casida_response.excitations._transition_dipole_moments
K_II = np.zeros((len(omega_I), len(omega_I)))
broadening = casida_response.broadening
return CasidaResponse(omega_I, K_II, mu_Iv, broadening=broadening,
units='au', name=name)