/DatasetsSource

Repo containing the datasets source code.

Primary LanguagePython

Datasets Generator

This repository containing the source code for generating quantum datasets.

The underlying data generation pipelines can be used after installing the above as a quantum_datasets module as

git clone https://github.com/PennyLaneAI/DatasetsSource
cd DatasetsSource
pip install .

Once, the module is installed, one may use the generation methods - qchem_data_generate and qspin_data_generate for generating datasets for Quantum Chemistry and Quantum Many-body Physics as shown below:

Code Snippets

For quantum chemistry, you will have to provide it the path for the XYZ files. We use a modified version of the standard XYZ files, which can be found in the xyzfiles folder for reference.

import quantum_datasets as qd
qd.qchem_data_generate("xyzfiles/q.1-1/schm-1/h2.xyz")

The qchem_data_generate method accepts the following arguments:

  1. xyz_path (str): absolute path to the xyz file containing basic information regarding the molecule
  2. basis (str): basis set (STO-3G, 6-31G or CCVPDZ) used for building the molecule and the electronic hamiltonian
  3. bondlenths (list): list of additional bondlengths used for data generation using the geometry in geom_struct
  4. use_bond_struct (bool): whether to use bondlengths of interest in bond_struct for PES generation
  5. folder_path (str): absolute path for storing the generated data files

For the quantum spin systems, we have to provide the name of the spin systems (for example: "Ising", "Heisenberg", "FermiHubbard" or "BoseHubbard"), and the periodicity and layout of the lattice.

import quantum_datasets as qd
qd.qspin_data_generate("Ising", periodicity=True, layout=(1, 4), num_systems=1000)

The qspin_data_generate method accepts the following arguments:

  1. sysname (str): type of spin model ("Ising", "Heisenberg", "FermiHubbard", "BoseHubbard") for which data has to be generated
  2. periodicity (bool): whether the lattice for the spin model is closed or open
  3. layout (list/tuple): layout for the lattice of the spin model. For example - (1, 8) or (2, 2)
  4. num_systems (int): number of spins systems generated by varying the model parameters
  5. folder_path (str): absolute path for storing the generated data files

Datasets

All the datasets will be generated and written under the datasets folder with distinct subfolders for qchem and qspin.