예제 #1
0
def kernel(mycc,
           eris=None,
           t1=None,
           t2=None,
           l1=None,
           l2=None,
           max_cycle=50,
           tol=1e-8,
           verbose=logger.INFO):
    return ccsd_lambda.kernel(mycc, eris, t1, t2, l1, l2, max_cycle, tol,
                              verbose, make_intermediates, update_lambda)
예제 #2
0
 def solve_lambda(self, t1=None, t2=None, l1=None, l2=None,
                  eris=None):
     from pyscf.cc import ccsd_lambda
     if t1 is None: t1 = self.t1
     if t2 is None: t2 = self.t2
     if eris is None: eris = self.ao2mo(self.mo_coeff)
     self.converged_lambda, self.l1, self.l2 = \
             ccsd_lambda.kernel(self, eris, t1, t2, l1, l2,
                                max_cycle=self.max_cycle,
                                tol=self.conv_tol_normt,
                                verbose=self.verbose)
     return self.l1, self.l2
예제 #3
0
파일: ccsd.py 프로젝트: armunoz/pyscf
 def solve_lambda(self, t1=None, t2=None, l1=None, l2=None,
                  eris=None):
     from pyscf.cc import ccsd_lambda
     if t1 is None: t1 = self.t1
     if t2 is None: t2 = self.t2
     if eris is None: eris = self.ao2mo(self.mo_coeff)
     self.converged_lambda, self.l1, self.l2 = \
             ccsd_lambda.kernel(self, eris, t1, t2, l1, l2,
                                max_cycle=self.max_cycle,
                                tol=self.conv_tol_normt,
                                verbose=self.verbose)
     return self.l1, self.l2
예제 #4
0
    def solve_lambda(self, t2=None, l2=None, eris=None):
        if t2 is None: t2 = self.t2
        if eris is None: eris = self.ao2mo(self.mo_coeff)

        nocc = self.nocc
        nvir = self.nmo - nocc
        l1 = t1 = numpy.zeros((nocc, nvir))

        def update_lambda(mycc, t1, t2, l1, l2, eris=None, imds=None):
            l1, l2 = ccsd_lambda.update_lambda(mycc, t1, t2, l1, l2, eris,
                                               imds)
            return numpy.zeros_like(l1), l2

        self.converged_lambda, self.l1, self.l2 = \
                ccsd_lambda.kernel(self, eris, t1, t2, l1, l2,
                                   max_cycle=self.max_cycle,
                                   tol=self.conv_tol_normt,
                                   verbose=self.verbose, fupdate=update_lambda)
        return self.l2
예제 #5
0
파일: ccsd.py 프로젝트: molguin-qc/pyscf
    def solve_lambda(self, t1=None, t2=None, l1=None, l2=None, mo_coeff=None, eris=None):
        from pyscf.cc import ccsd_lambda

        if t1 is None:
            t1 = self.t1
        if t2 is None:
            t2 = self.t2
        if eris is None:
            eris = self.ao2mo(mo_coeff)
        conv, self.l1, self.l2 = ccsd_lambda.kernel(
            self,
            eris,
            t1,
            t2,
            l1,
            l2,
            max_cycle=self.max_cycle,
            tol=self.conv_tol_normt,
            max_memory=self.max_memory,
            verbose=self.verbose,
        )
        return conv, self.l1, self.l2
예제 #6
0
def kernel(mycc, eris=None, t1=None, t2=None, l1=None, l2=None,
           max_cycle=50, tol=1e-8, verbose=logger.INFO):
    return ccsd_lambda.kernel(mycc, eris, t1, t2, l1, l2, max_cycle, tol,
                              verbose, make_intermediates, update_lambda)