Skip to content

Extracting CI coefficients  #8

@vvp-nsk

Description

@vvp-nsk

Hi!

I wonder how to get CI coefficients using the SHSISCF solver. Specifically, it returns just an integer instead of a float array :

from pyscf import gto, scf, fci
from pyscf.shciscf import shci

b =  1.243
mol = gto.Mole()
mol.build(
verbose = 5,
output = None,
atom = [
    ['C',(  0.000000,  0.000000, -b/2)],
    ['C',(  0.000000,  0.000000,  b/2)], ],
basis = {'C': 'ccpvdz', },
symmetry = True,
symmetry_subgroup = 'D2h',
spin = 0
)

# Create HF molecule
mf = scf.RHF( mol )
mf.conv_tol = 1e-9
mf.scf()

# Number of orbital and electrons
norb = 26
nelec = 8

# Create SHCI molecule for just variational opt.
# Active spaces chosen to reflect valence active space.
mch = shci.SHCISCF( mf, norb, nelec )
mch.fcisolver.stochastic = True
mch.fcisolver.nPTiter = 0
mch.fcisolver.sweep_iter = [ 0, 3 ]
mch.fcisolver.DoRDM = True
mch.fcisolver.sweep_epsilon = [ 5e-3, 1e-3 ]
e_tot, e_cas, fcivec, mo, mo_energy =  mch.kernel()
print(type(fcivec),fcivec)

It turns out that the 'fcivec' object is a scalar integer - <class 'int'> 0. However, if the mcscf.CASCI class is used then it returns float array - <class 'pyscf.fci.direct_spin1.FCIvector'> [[ ... ]]

The CI coefficients are needed to proceed further with fci.addons.large_ci addon.

Thank you in advance!

With best regards,
Victor Vysotskiy

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions