def MakeDipoleIntegrals(self, Smh=True):
    'calculate dipole operator matrices <\\mu|w|\\nu> (w=x,y,z) in\n      main basis, for each direction. Returns nAo x nAo x 3 array.'
    Args = []
    if Smh:
        Args.append('--orb-trafo=Smh')
    Outputs = []
    Outputs.append(('--save-dipole', 'DIPN'))
    DipN = self._InvokeBfint(Args, Outputs)[0]
    nOrb = int(((DipN.shape[0] ** 0.5) + 0.5))
    assert ((nOrb ** 2) == DipN.shape[0])
    assert (DipN.shape[1] == 3)
    return DipN.reshape(nOrb, nOrb, 3)
calculate dipole operator matrices <\mu|w|\nu> (w=x,y,z) in
main basis, for each direction. Returns nAo x nAo x 3 array.
def MakeDipoleIntegrals(self, Smh=True):
    'calculate dipole operator matrices <\\mu|w|\\nu> (w=x,y,z) in\n      main basis, for each direction. Returns nAo x nAo x 3 array.'
    Args = []
    if Smh:
        Args.append('--orb-trafo=Smh')
    Outputs = []
    Outputs.append(('--save-dipole', 'DIPN'))
    DipN = self._InvokeBfint(Args, Outputs)[0]
    nOrb = int(((DipN.shape[0] ** 0.5) + 0.5))
    assert ((nOrb ** 2) == DipN.shape[0])
    assert (DipN.shape[1] == 3)
    return DipN.reshape(nOrb, nOrb, 3)