Dataset

This module contain the implementation of the Dataset class

helper function to create data


source

sample_spin_configurations


def sample_spin_configurations(
    wave_function, num_samples, N, key
):

samples spin config. from an exact wavefunction

Args:

wave_function: (2**N,) complex64 num_samples: int, nbr of samples N: int, nbr of sites key: a JAX PRNGKey

Returns:

spin_configurations: (num_samples, N) int32, samples of spin configurations


source

get_classical_shadow


def get_classical_shadow(
    psi, num_shots, N, rng_key, bases:str='XYZ'
):

generate classical shadows from an exact wavefunction

Args:

psi: (2**N,) complex64 from, f. ex., exact diagonalization num_shots: int N: int rng_key: a JAX PRNGKey bases: which measurement basis, default ‘XYZ’ -> {X,Y,Z} randomly, other available option: ‘X’, ‘Y’, ‘Z’, ‘XY’, ‘YZ’

Returns:

shadows: (num_shots, 2*N) int32 interleaved [basis,outcome] pairs basis in {2,3,4} = {X,Y,Z}, outcome in {0,1} = {+1,-1}

class


source

Dataset


def Dataset(
    data:Array, thetas:Sequence, data_type:str, local_dimension:int=0, local_states:Array=None
):