# README This folder contains the simulation data generated for the paper "Sketching phase diagrams using low-depth variational quantum algorithms" by Jan Lukas Bosse, Raul Santos and Ashley Montanaro. ## Opening the files The files are created using the [JLD2](https://github.com/JuliaIO/JLD2.jl) package and also easiest read in julia using ```julia using JLD2, FileIO data = load(filename) # loads all data in `filename` into a dict energies = load(filename, "energies") # loads only the "energies" group of the data ``` But because the `.jld2` file format is a strict subset of the HDF5 file format any HDF5 library should be able to open them. In python one can e.g. use `h5py`: ```python import h5py import numpy as np data = h5py.File(filename, "r") # load the whole file to data energies = np.array(data["energies"]) # get the "energies" group and turn # them into a numpy array ``` ## Folders and filenames - `BBC`: VQE run data for the bilinear-biquadratic chain for all system sizes done. - `-qutrit-chain`: Data for the qutrit chain - `SSH:` VQE run data for the 2D SSH model for all system sizes done. - `x-lattice`: Data for the x 2D SSH model - `TFIM:` VQE run data for the 1C and 2D TFIM for all system sizes done. - `x-qubits-square`: Data for the x 2D TFIM - `-qubit-chain`: Data for the 1D TFIM The file names contain the ansatz depth $p$ as `

_nlayer` and the parameters of the target Hamiltonian as `v=` or `w=` (in the case of the 2D SSH model). Files simply prefixed `per_ham` are the first runs done with random initial parameters, files prefixed with `per_ham_extrapolated` are runs started with parameters extrapolated from better, lower depth parameters, files prefixed with `per_ham_iterative` are runs where better, lower depth parameters were simply padded with zeros to get better initial parameters and finally files prefixed with `per_ham_infosharing` are runs where better parameters found at different Hamiltonian parameters $g$ where used to warm start the optimsation. ## File structures Each file contains some (but not neccessarily all) of the following fields: - `E0`: Groundstate energy of the exact groundstate - `E_opt`: Lowest energy found by VQE after optimisation - `fidelity`: Fidelity of the VQE state with the true groundstate - `x0`: Initial parameters for the optimisation - `x_opt`: Optimal VQE parameters. - `ret`: Return value of the optimsation. Should be something like `SUCCESS`, `XTOL_REACHED`, ... ### For the TFIM - `zz_correlations`: A matrix with entries $⟨ψ|Z_i Z_j|ψ⟩ - ⟨ψ|Z_j|ψ⟩⟨ψ|Z_i|ψ⟩$ where $|ψ⟩$ is the VQE state - `zz_expvals`: A matrix with entries $⟨ψ|Z_i Z_j|ψ⟩$ - `z_magnetization`: $⟨ψ| ∑_i Z_i |ψ⟩$ - `x_magnetization`: $⟨ψ| ∑_i X_i |ψ⟩$ - `E_J`: $⟨ψ| ∑_i Z_i Z_{i+1} |ψ⟩$ - `E_hx`: $⟨ψ| ∑_i X_i |ψ⟩$ - `E_hz`: $⟨ψ| ∑_i Z_i |ψ⟩$ ### For the BBC - `E_bilinear`: $⟨ψ| ∑_i S_i ⋅ S_{i+1} |ψ⟩$ - `E_biquadratic`: $⟨ψ| ∑_i (S_i ⋅ S_{i+1})^2 |ψ⟩$ - `bilinear_dimerisation`: $⟨ψ|S_{i-1} ⋅ S_i - S_i ⋅ S_{i+1}|ψ⟩$ - `quadrupolar_fluctuations`: $⟨ψ|[(S_0^z)^2 - 2/3] [(S_i^z)^2 - 2/3]|ψ⟩$ - `string_order`: $⟨ψ|S^α_i [ ∏_{i