def perturbative_f12_correction(self, rdm1: numpy.ndarray=None, rdm2: numpy.ndarray=None, gamma: float=1.4, n_ri: int=None, external_info: dict=None, **kwargs) -> float:
    '\n        Computes the spin-free [2]_R12 correction, needing only the 1- and 2-RDM of a reference method\n        Requires either 1-RDM, 2-RDM or information to compute them in kwargs\n\n        Parameters\n        ----------\n        rdm1 :\n            1-electron reduced density matrix\n        rdm2 :\n            2-electron reduced density matrix\n        gamma :\n            f12-exponent, for a correlation factor f_12 = -1/gamma * exp[-gamma*r_12]\n        n_ri :\n            dimensionality of RI-basis; specify only, if want to truncate available RI-basis\n            if None, then the maximum available via tensors / basis-set is used\n            must not be larger than size of available RI-basis, and not smaller than size of OBS\n            for n_ri==dim(OBS), the correction returns zero\n        external_info :\n            for usage in qc_base, need to provide information where to find one-body tensor f12-tensor <rs|f_12|pq>;\n            pass dictionary with {"f12_filename": where to find f12-tensor, "scheme": ordering scheme of tensor}\n        kwargs :\n            e.g. RDM-information via {"U": QCircuit, "variables": optimal angles}, needs to be passed if rdm1,rdm2 not\n            yet computed\n\n        Returns\n        -------\n            the f12 correction for the energy\n        '
    from .f12_corrections._f12_correction_base import ExplicitCorrelationCorrection
    correction = ExplicitCorrelationCorrection(mol=self, rdm1=rdm1, rdm2=rdm2, gamma=gamma, n_ri=n_ri, external_info=external_info, **kwargs)
    return correction.compute()
Computes the spin-free [2]_R12 correction, needing only the 1- and 2-RDM of a reference method
Requires either 1-RDM, 2-RDM or information to compute them in kwargs

Parameters
----------
rdm1 :
    1-electron reduced density matrix
rdm2 :
    2-electron reduced density matrix
gamma :
    f12-exponent, for a correlation factor f_12 = -1/gamma * exp[-gamma*r_12]
n_ri :
    dimensionality of RI-basis; specify only, if want to truncate available RI-basis
    if None, then the maximum available via tensors / basis-set is used
    must not be larger than size of available RI-basis, and not smaller than size of OBS
    for n_ri==dim(OBS), the correction returns zero
external_info :
    for usage in qc_base, need to provide information where to find one-body tensor f12-tensor <rs|f_12|pq>;
    pass dictionary with {"f12_filename": where to find f12-tensor, "scheme": ordering scheme of tensor}
kwargs :
    e.g. RDM-information via {"U": QCircuit, "variables": optimal angles}, needs to be passed if rdm1,rdm2 not
    yet computed

Returns
-------
    the f12 correction for the energy
def perturbative_f12_correction(self, rdm1: numpy.ndarray=None, rdm2: numpy.ndarray=None, gamma: float=1.4, n_ri: int=None, external_info: dict=None, **kwargs) -> float:
    '\n        Computes the spin-free [2]_R12 correction, needing only the 1- and 2-RDM of a reference method\n        Requires either 1-RDM, 2-RDM or information to compute them in kwargs\n\n        Parameters\n        ----------\n        rdm1 :\n            1-electron reduced density matrix\n        rdm2 :\n            2-electron reduced density matrix\n        gamma :\n            f12-exponent, for a correlation factor f_12 = -1/gamma * exp[-gamma*r_12]\n        n_ri :\n            dimensionality of RI-basis; specify only, if want to truncate available RI-basis\n            if None, then the maximum available via tensors / basis-set is used\n            must not be larger than size of available RI-basis, and not smaller than size of OBS\n            for n_ri==dim(OBS), the correction returns zero\n        external_info :\n            for usage in qc_base, need to provide information where to find one-body tensor f12-tensor <rs|f_12|pq>;\n            pass dictionary with {"f12_filename": where to find f12-tensor, "scheme": ordering scheme of tensor}\n        kwargs :\n            e.g. RDM-information via {"U": QCircuit, "variables": optimal angles}, needs to be passed if rdm1,rdm2 not\n            yet computed\n\n        Returns\n        -------\n            the f12 correction for the energy\n        '
    from .f12_corrections._f12_correction_base import ExplicitCorrelationCorrection
    correction = ExplicitCorrelationCorrection(mol=self, rdm1=rdm1, rdm2=rdm2, gamma=gamma, n_ri=n_ri, external_info=external_info, **kwargs)
    return correction.compute()