{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "30142bbb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'/home/subbu/Raghav/2021/9_Sep/XANADU'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pwd" ] }, { "cell_type": "code", "execution_count": 2, "id": "ad8a8e7d", "metadata": {}, "outputs": [], "source": [ "symbols = [\"C\",\"C\",\"C\",\"C\",\"C\",\t\"C\",\"S\",\"O\",\"C\",\"O\",\"C\",\"C\",\"C\",\"C\",\"C\",\"N\",\"C\",\"C\",\"C\",\"C\",\"C\",\"C\",\"C\",\"C\",\"C\",\"C\",\"C\",\"C\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\",\"H\"]" ] }, { "cell_type": "code", "execution_count": 4, "id": "23cbdc46", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "coordinates = np.array([-0.2316640, 1.1348450, 0.6956120,-0.8886300, 0.3253780, -0.2344140,-0.1842470, -0.1935670, -1.3239330,1.1662930, 0.0801450, -1.4737160, 1.8089230, 0.8832220, -0.5383540,1.1155860, 1.4218050, 0.5392780,3.5450920, 1.2449890, -0.7349240,3.8606900, 1.0881590, -2.1541690, 4.3889120, -0.0620730, 0.1436780,3.8088290, 2.4916780, -0.0174650,4.6830900, 0.1064460, 1.4918230,5.3364470, -0.9144080, 2.1705280,5.6895490, -2.0818670, 1.5007820,5.4000540, -2.2323130, 0.1481350,4.7467230, -1.2180160, -0.5404770,-2.2589180, 0.0399120, -0.0793330,-2.8394600, -1.2343990, -0.1494160,-4.2635450, -1.0769890, 0.0660760,-4.5212550, 0.2638010, 0.2662190,-3.2669630, 0.9823890, 0.1722720,-2.2678900, -2.4598950, -0.3287380,-3.1299420, -3.6058560, -0.3236210,-4.5179520, -3.4797390, -0.1395160,-5.1056310, -2.2512990, 0.0536940,-5.7352450, 1.0074800, 0.5140960,-5.6563790, 2.3761270, 0.6274610,-4.4287740, 3.0501460, 0.5083650,-3.2040560, 2.3409470, 0.2746950,-0.7813570, 1.5286610, 1.5426490,-0.7079140, -0.7911480, -2.0611600, 1.7161320, -0.2933710, -2.3302930, 1.6308220, 2.0660550, 1.2427990,4.4214900, 1.0345500, 1.9875450,5.5773000, -0.7951290, 3.2218590,6.2017810, -2.8762260, 2.0345740,5.6906680, -3.1381740, -0.3739110,\t 4.5337010, -1.3031330, -1.6001680,-1.1998460, -2.5827750, -0.4596910,-2.6937370, -4.5881470, -0.4657540,-5.1332290, -4.3740010, -0.1501080,-6.1752900, -2.1516170, 0.1987120,-6.6812260, 0.4853900, 0.6017680,-6.5574610, 2.9529350, 0.8109620,-4.3980410, 4.1305040, 0.5929440,-2.2726630, 2.8838620, 0.1712760\n", "])" ] }, { "cell_type": "markdown", "id": "44590e9e", "metadata": {}, "source": [ "geometry = [['C', [ -0.2316640, 1.1348450, 0.6956120]],\n", " ['C', [ -0.8886300, 0.3253780, -0.2344140]],\n", " ['C', [ -0.1842470, -0.1935670, -1.3239330]],\n", " ['C', [ 1.1662930, 0.0801450, -1.4737160]],\n", " ['C', [ 1.8089230, 0.8832220, -0.5383540]],\n", " ['C', [ 1.1155860, 1.4218050, 0.5392780]],\n", " ['S', [ 3.5450920, 1.2449890, -0.7349240]],\n", " ['O', [ 3.8606900, 1.0881590, -2.1541690]],\n", " ['C', [ 4.3889120, -0.0620730, 0.1436780]],\n", " ['O', [ 3.8088290, 2.4916780, -0.0174650]],\n", " ['C', [ 4.6830900, 0.1064460, 1.4918230]],\n", " ['C', [ 5.3364470, -0.9144080, 2.1705280]],\n", " ['C', [ 5.6895490, -2.0818670, 1.5007820]],\n", " ['C', [ 5.4000540, -2.2323130, 0.1481350]],\n", " ['C', [ 4.7467230, -1.2180160, -0.5404770]],\n", " ['N', [ -2.2589180, 0.0399120, -0.0793330]],\n", " ['C', [ -2.8394600, -1.2343990, -0.1494160]],\n", " ['C', [ -4.2635450, -1.0769890, 0.0660760]],\n", " ['C', [ -4.5212550, 0.2638010, 0.2662190]],\n", " ['C', [ -3.2669630, 0.9823890, 0.1722720]],\n", " ['C', [ -2.2678900, -2.4598950, -0.3287380]],\n", " ['C', [ -3.1299420, -3.6058560, -0.3236210]],\n", " ['C', [ -4.5179520, -3.4797390, -0.1395160]],\n", " ['C', [ -5.1056310, -2.2512990, 0.0536940]],\n", " ['C', [ -5.7352450, 1.0074800, 0.5140960]],\n", " ['C', [ -5.6563790, 2.3761270, 0.6274610]],\n", " ['C', [ -4.4287740, 3.0501460, 0.5083650]],\n", " ['C', [ -3.2040560, 2.3409470, 0.2746950]],\n", " ['H', [ -0.7813570, 1.5286610, 1.5426490]],\n", " ['H', [ -0.7079140, -0.7911480, -2.0611600]],\n", " ['H', [ 1.7161320, -0.2933710, -2.3302930]],\n", " ['H', [ 1.6308220, 2.0660550, 1.2427990]],\n", " ['H', [ 4.4214900, 1.0345500, 1.9875450]],\n", " ['H', [ 5.5773000, -0.7951290, 3.2218590]],\n", " ['H', [ 6.2017810, -2.8762260, 2.0345740]],\n", " ['H', [ 5.6906680, -3.1381740, -0.3739110]],\n", " ['H', [ 4.5337010, -1.3031330, -1.6001680]],\n", " ['H', [ -1.1998460, -2.5827750, -0.4596910]],\n", " ['H', [ -2.6937370, -4.5881470, -0.4657540]],\n", " ['H', [ -5.1332290, -4.3740010, -0.1501080]],\n", " ['H', [ -6.1752900, -2.1516170, 0.1987120]],\n", " ['H', [ -6.6812260, 0.4853900, 0.6017680]],\n", " ['H', [ -6.5574610, 2.9529350, 0.8109620]],\n", " ['H', [ -4.3980410, 4.1305040, 0.5929440]],\n", " ['H', [ -2.2726630, 2.8838620, 0.1712760]]]" ] }, { "cell_type": "code", "execution_count": 5, "id": "e9c5e3a1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 942 ms, sys: 95.1 ms, total: 1.04 s\n", "Wall time: 1.04 s\n" ] } ], "source": [ "%%time\n", "from pennylane import qchem\n", "\n", "electrons = 200\n", "orbitals = 430\n", "core, active = qchem.active_space(electrons, orbitals, active_electrons=2, active_orbitals=2)" ] }, { "cell_type": "code", "execution_count": 6, "id": "454d020f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "List of core orbitals: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98]\n", "List of active orbitals: [99, 100]\n", "Number of qubits: 4\n" ] } ], "source": [ "print(\"List of core orbitals: {:}\".format(core))\n", "print(\"List of active orbitals: {:}\".format(active))\n", "print(\"Number of qubits: {:}\".format(2 * len(active)))" ] }, { "cell_type": "code", "execution_count": 7, "id": "5290e11d", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/subbu/psi4conda/envs/penny/lib/python3.8/site-packages/pyscf/lib/misc.py:46: H5pyDeprecationWarning: Using default_file_mode other than 'r' is deprecated. Pass the mode to h5py.File() instead.\n", " h5py.get_config().default_file_mode = 'a'\n" ] }, { "ename": "MemoryError", "evalue": "Unable to allocate 255. GiB for an array with shape (430, 430, 430, 430) and data type float64", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mMemoryError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/pennylane_qchem/qchem/structure.py\u001b[0m in \u001b[0;36mmolecular_hamiltonian\u001b[0;34m(symbols, coordinates, name, charge, mult, basis, package, active_electrons, active_orbitals, mapping, outpath, wires)\u001b[0m\n\u001b[1;32m 827\u001b[0m \"\"\"\n\u001b[1;32m 828\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 829\u001b[0;31m \u001b[0mhf_file\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmeanfield\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msymbols\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcoordinates\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcharge\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbasis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpackage\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moutpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 830\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 831\u001b[0m \u001b[0mmolecule\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopenfermion\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mMolecularData\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mhf_file\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/pennylane_qchem/qchem/structure.py\u001b[0m in \u001b[0;36mmeanfield\u001b[0;34m(symbols, coordinates, name, charge, mult, basis, package, outpath)\u001b[0m\n\u001b[1;32m 326\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mopenfermionpyscf\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mrun_pyscf\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 327\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 328\u001b[0;31m \u001b[0mrun_pyscf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmolecule\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrun_scf\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mverbose\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 329\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 330\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mpath_to_file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/openfermionpyscf/_run_pyscf.py\u001b[0m in \u001b[0;36mrun_pyscf\u001b[0;34m(molecule, run_scf, run_mp2, run_cisd, run_ccsd, run_fci, verbose)\u001b[0m\n\u001b[1;32m 147\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 148\u001b[0m \u001b[0;31m# Get integrals.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 149\u001b[0;31m one_body_integrals, two_body_integrals = compute_integrals(\n\u001b[0m\u001b[1;32m 150\u001b[0m pyscf_molecule, pyscf_scf)\n\u001b[1;32m 151\u001b[0m \u001b[0mmolecule\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mone_body_integrals\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mone_body_integrals\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/openfermionpyscf/_run_pyscf.py\u001b[0m in \u001b[0;36mcompute_integrals\u001b[0;34m(pyscf_molecule, pyscf_scf)\u001b[0m\n\u001b[1;32m 91\u001b[0m \u001b[0;31m# See PQRS convention in OpenFermion.hamiltonians._molecular_data\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 92\u001b[0m \u001b[0;31m# h[p,q,r,s] = (ps|qr)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 93\u001b[0;31m two_electron_integrals = numpy.asarray(\n\u001b[0m\u001b[1;32m 94\u001b[0m two_electron_integrals.transpose(0, 2, 3, 1), order='C')\n\u001b[1;32m 95\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mMemoryError\u001b[0m: Unable to allocate 255. GiB for an array with shape (430, 430, 430, 430) and data type float64" ] } ], "source": [ "%%time\n", "H, qubits = qchem.molecular_hamiltonian(\n", " symbols,\n", " coordinates,\n", " charge=0,\n", " name='PSPCz',\n", " mult=1,\n", " basis='6-31G*',\n", " active_electrons=2,\n", " active_orbitals=1,\n", ")\n", "\n", "print(\"Number of qubits required to perform quantum simulations: {:}\".format(qubits))\n", "print(\"Hamiltonian of the water molecule\")\n", "print(H)" ] }, { "cell_type": "code", "execution_count": 9, "id": "b14a12c8", "metadata": {}, "outputs": [ { "ename": "MemoryError", "evalue": "Unable to allocate 64.0 GiB for an array with shape (92665, 92665) and data type float64", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mMemoryError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/pennylane_qchem/qchem/structure.py\u001b[0m in \u001b[0;36mmolecular_hamiltonian\u001b[0;34m(symbols, coordinates, name, charge, mult, basis, package, active_electrons, active_orbitals, mapping, outpath, wires)\u001b[0m\n\u001b[1;32m 827\u001b[0m \"\"\"\n\u001b[1;32m 828\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 829\u001b[0;31m \u001b[0mhf_file\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmeanfield\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msymbols\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcoordinates\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcharge\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbasis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpackage\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moutpath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 830\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 831\u001b[0m \u001b[0mmolecule\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopenfermion\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mMolecularData\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mhf_file\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/pennylane_qchem/qchem/structure.py\u001b[0m in \u001b[0;36mmeanfield\u001b[0;34m(symbols, coordinates, name, charge, mult, basis, package, outpath)\u001b[0m\n\u001b[1;32m 326\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mopenfermionpyscf\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mrun_pyscf\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 327\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 328\u001b[0;31m \u001b[0mrun_pyscf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmolecule\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrun_scf\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mverbose\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 329\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 330\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mpath_to_file\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/openfermionpyscf/_run_pyscf.py\u001b[0m in \u001b[0;36mrun_pyscf\u001b[0;34m(molecule, run_scf, run_mp2, run_cisd, run_ccsd, run_fci, verbose)\u001b[0m\n\u001b[1;32m 147\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 148\u001b[0m \u001b[0;31m# Get integrals.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 149\u001b[0;31m one_body_integrals, two_body_integrals = compute_integrals(\n\u001b[0m\u001b[1;32m 150\u001b[0m pyscf_molecule, pyscf_scf)\n\u001b[1;32m 151\u001b[0m \u001b[0mmolecule\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mone_body_integrals\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mone_body_integrals\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/openfermionpyscf/_run_pyscf.py\u001b[0m in \u001b[0;36mcompute_integrals\u001b[0;34m(pyscf_molecule, pyscf_scf)\u001b[0m\n\u001b[1;32m 83\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 84\u001b[0m \u001b[0;31m# Get two electron integrals in compressed format.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 85\u001b[0;31m two_electron_compressed = ao2mo.kernel(pyscf_molecule,\n\u001b[0m\u001b[1;32m 86\u001b[0m pyscf_scf.mo_coeff)\n\u001b[1;32m 87\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/pyscf/ao2mo/__init__.py\u001b[0m in \u001b[0;36mkernel\u001b[0;34m(eri_or_mol, mo_coeffs, erifile, dataname, intor, *args, **kwargs)\u001b[0m\n\u001b[1;32m 469\u001b[0m '''\n\u001b[1;32m 470\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmo_coeffs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mmo_coeffs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 471\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfull\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0meri_or_mol\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmo_coeffs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merifile\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdataname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mintor\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 472\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 473\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mgeneral\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0meri_or_mol\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmo_coeffs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merifile\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdataname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mintor\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/pyscf/ao2mo/__init__.py\u001b[0m in \u001b[0;36mfull\u001b[0;34m(eri_or_mol, mo_coeff, erifile, dataname, intor, *args, **kwargs)\u001b[0m\n\u001b[1;32m 157\u001b[0m *args, **kwargs)\n\u001b[1;32m 158\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 159\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mmod\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfull_iofree\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0meri_or_mol\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmo_coeff\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mintor\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 160\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 161\u001b[0m def general(eri_or_mol, mo_coeffs, erifile=None, dataname='eri_mo', intor='int2e',\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/pyscf/ao2mo/outcore.py\u001b[0m in \u001b[0;36mfull_iofree\u001b[0;34m(mol, mo_coeff, intor, aosym, comp, max_memory, ioblk_size, verbose, compact)\u001b[0m\n\u001b[1;32m 591\u001b[0m \u001b[0mmax_memory\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmax_memory\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mioblk_size\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mioblk_size\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 592\u001b[0m verbose=verbose, compact=compact)\n\u001b[0;32m--> 593\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mferi\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'eri_mo'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 594\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 595\u001b[0m def general_iofree(mol, mo_coeffs, intor='int2e', aosym='s4', comp=None,\n", "\u001b[0;32mh5py/_objects.pyx\u001b[0m in \u001b[0;36mh5py._objects.with_phil.wrapper\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mh5py/_objects.pyx\u001b[0m in \u001b[0;36mh5py._objects.with_phil.wrapper\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m~/psi4conda/envs/penny/lib/python3.8/site-packages/h5py/_hl/dataset.py\u001b[0m in \u001b[0;36m__array__\u001b[0;34m(self, dtype)\u001b[0m\n\u001b[1;32m 1004\u001b[0m \u001b[0myou\u001b[0m \u001b[0mhave\u001b[0m \u001b[0mto\u001b[0m \u001b[0mread\u001b[0m \u001b[0mthe\u001b[0m \u001b[0mwhole\u001b[0m \u001b[0mdataset\u001b[0m \u001b[0mevery\u001b[0m \u001b[0mtime\u001b[0m \u001b[0mthis\u001b[0m \u001b[0mmethod\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mcalled\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1005\u001b[0m \"\"\"\n\u001b[0;32m-> 1006\u001b[0;31m \u001b[0marr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnumpy\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mempty\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdtype\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdtype\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1007\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1008\u001b[0m \u001b[0;31m# Special case for (0,)*-shape datasets\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mMemoryError\u001b[0m: Unable to allocate 64.0 GiB for an array with shape (92665, 92665) and data type float64" ] } ], "source": [ "%%time\n", "H, qubits = qchem.molecular_hamiltonian(\n", " symbols,\n", " coordinates,\n", " charge=0,\n", " name='PSPCz',\n", " mult=1,\n", " basis='6-31G*',\n", " active_electrons=2,\n", " active_orbitals=1,\n", ")\n", "\n", "print(\"Number of qubits required to perform quantum simulations: {:}\".format(qubits))\n", "print(\"Hamiltonian of the water molecule\")\n", "print(H)" ] }, { "cell_type": "raw", "id": "aeff6b4b", "metadata": {}, "source": [ "import pennylane as qml\n", "\n", "H, qubits = qml.qchem.molecular_hamiltonian(symbols, coordinates, charge = 0, mult=1, name='PSPCz',basis='6-31g' )" ] }, { "cell_type": "code", "execution_count": null, "id": "97b558b6", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.12" } }, "nbformat": 4, "nbformat_minor": 5 }