Esempio n. 1
0
def getCircuit(name, geometry, basis, multiplicity, charge, mapping):
    # Load appropraite molecule
    molecule = GenerateCircuit() 
    molecule.set_name(name)
    if(geometry == "pubchem"):
        molecule.get_geometry_from_pubchem()
    else:
        molecule.set_geometry(geometry)
    molecule.set_basis('sto-3g')
    molecule.set_multiplicity(multiplicity)
    molecule.set_charge(charge)
    molecule.load_molecule() 
    molecule.create_hamiltonians()
    molecule.create_circuits(mapping)
    molecule.save_qasm(mapping)
Esempio n. 2
0
def getMoleculeData(name, geometry, basis, multiplicity, charge):
    # Load appropraite molecule
    molecule2 = GenerateCircuit()
    molecule2.set_name(name)
    if (geometry == "pubchem"):
        molecule2.get_geometry_from_pubchem()
    else:
        molecule2.set_geometry(geometry)
    molecule2.set_basis('sto-3g')
    molecule2.set_multiplicity(multiplicity)
    molecule2.set_charge(charge)
    molecule2.load_molecule()
    molecule2.create_hamiltonians()
    data = array.array('i', [0, 0, 0])
    data[0] = molecule2.molecule.n_qubits
    data[1] = molecule2.active_space_start
    data[2] = molecule2.active_space_stop
    return data
Esempio n. 3
0
def getCircuit(name, geometry, basis, multiplicity, charge, mapping):
    # Load appropraite molecule
    molecule = GenerateCircuit()
    molecule.set_name(name)
    if (geometry == "pubchem"):
        molecule.get_geometry_from_pubchem()
    else:
        molecule.set_geometry(geometry)
    molecule.set_basis('sto-3g')
    molecule.set_multiplicity(multiplicity)
    molecule.set_charge(charge)
    molecule.load_molecule()
    molecule.create_hamiltonians()
    molecule.create_circuits(mapping)
    if (mapping == "BK"):
        return molecule.bk_circuit
    elif (mapping == "JW"):
        return molecule.jw_circuit
    else:
        sys.exit("Didn't understand mapping")