qlinks.io package
The IO package currently focuses on HDF5-backed storage for eigenpairs and cage
states. Install the storage extra when using these APIs.
Submodules
qlinks.io.cage_hdf5 module
HDF5 IO for interference-caged eigenstates.
-
class qlinks.io.cage_hdf5.CageStateHDF5Writer(path, mode='w', compression='gzip', compression_opts=4, hilbert_size=None)[source]
Bases: object
Writer for interference-caged eigenstate results.
-
path: str | Path
-
mode: str = 'w'
-
compression: str | None = 'gzip'
-
compression_opts: int | None = 4
-
hilbert_size: int | None = None
-
close()[source]
-
write_metadata(*, model_name=None, parameters=None, extra=None)[source]
Write file-level metadata.
-
write_cage_states(cage_states, *, attrs=None, hilbert_size=None, write_signature_metadata=True)[source]
Write all cage states to HDF5.
-
flush()[source]
-
__init__(path, mode='w', compression='gzip', compression_opts=4, hilbert_size=None)
-
class qlinks.io.cage_hdf5.CageStateHDF5Reader(path, mode='r')[source]
Bases: object
Reader for interference-caged eigenstate results.
-
path: str | Path
-
mode: str = 'r'
-
close()[source]
-
property model_name: str | None
-
property n_cage_states: int
-
read_metadata()[source]
Read file-level metadata.
-
read_energies(index=None)[source]
-
read_support(index)[source]
-
read_local_state(index)[source]
-
read_cage_state(index)[source]
Read one cage state.
-
read_cage_states(index=None)[source]
Read cage states.
-
iter_cage_states(indices=None)[source]
Iterate over cage states.
-
property hilbert_size: int | None
-
read_full_vector(index, *, hilbert_size=None)[source]
Read one cage state and lift it to the full Hilbert space.
-
read_full_matrix(*, hilbert_size=None, index=None)[source]
Read cage states and lift them to dense full-Hilbert vectors.
-
__init__(path, mode='r')
qlinks.io.hdf5 module
-
class qlinks.io.hdf5.EigenpairHDF5Writer(path, mode='w', compression='gzip', compression_opts=4, chunks=True)[source]
Bases: object
Write eigenpair datasets to an HDF5 file.
-
path
Output HDF5 path.
- Type:
str | pathlib.Path
-
mode
HDF5 file mode.
- Type:
str
-
compression
Optional HDF5 compression name.
- Type:
str | None
-
compression_opts
Optional compression options.
- Type:
int | None
-
chunks
HDF5 chunking option for datasets.
- Type:
bool | tuple[int, …] | None
-
path: str | Path
-
mode: str = 'w'
-
compression: str | None = 'gzip'
-
compression_opts: int | None = 4
-
chunks: bool | tuple[int, ...] | None = True
-
close()[source]
-
write_metadata(*, model_name, parameters=None, extra=None)[source]
-
write_basis_states(states, *, attrs=None)[source]
-
write_energies(energies, *, attrs=None)[source]
-
write_eigenvectors(vectors, *, eigen_axis=0, attrs=None)[source]
-
create_eigenvector_dataset(*, n_eigenvectors, n_basis, dtype=<class 'numpy.complex128'>)[source]
Create an empty eigenvector dataset for incremental writing.
This is useful when eigenvectors are generated one at a time.
-
write_eigenvector(index, vector)[source]
-
write_observable(name, values, *, attrs=None)[source]
-
flush()[source]
-
__init__(path, mode='w', compression='gzip', compression_opts=4, chunks=True)
-
class qlinks.io.hdf5.EigenpairHDF5Reader(path, mode='r')[source]
Bases: object
Read eigenpair datasets written by EigenpairHDF5Writer.
-
path
Input HDF5 path.
- Type:
str | pathlib.Path
-
mode
HDF5 file mode.
- Type:
str
-
path: str | Path
-
mode: str = 'r'
-
close()[source]
-
property model_name: str | None
-
property n_eigenvectors: int
-
property n_basis: int
-
list_observables()[source]
-
read_metadata()[source]
-
read_basis_states(index=None)[source]
-
read_energy(index)[source]
-
read_energies(index=None)[source]
-
read_eigenvector(index)[source]
-
read_eigenvectors(index)[source]
-
read_observable(name, index=None)[source]
-
read_observables_for_eigenvector(index)[source]
-
iter_eigenvectors(indices=None)[source]
-
__init__(path, mode='r')
Module contents
-
class qlinks.io.CageStateHDF5Reader(path, mode='r')[source]
Bases: object
Reader for interference-caged eigenstate results.
-
path: str | Path
-
mode: str = 'r'
-
close()[source]
-
property model_name: str | None
-
property n_cage_states: int
-
read_metadata()[source]
Read file-level metadata.
-
read_energies(index=None)[source]
-
read_support(index)[source]
-
read_local_state(index)[source]
-
read_cage_state(index)[source]
Read one cage state.
-
read_cage_states(index=None)[source]
Read cage states.
-
iter_cage_states(indices=None)[source]
Iterate over cage states.
-
property hilbert_size: int | None
-
read_full_vector(index, *, hilbert_size=None)[source]
Read one cage state and lift it to the full Hilbert space.
-
read_full_matrix(*, hilbert_size=None, index=None)[source]
Read cage states and lift them to dense full-Hilbert vectors.
-
__init__(path, mode='r')
-
class qlinks.io.CageStateHDF5Writer(path, mode='w', compression='gzip', compression_opts=4, hilbert_size=None)[source]
Bases: object
Writer for interference-caged eigenstate results.
-
path: str | Path
-
mode: str = 'w'
-
compression: str | None = 'gzip'
-
compression_opts: int | None = 4
-
hilbert_size: int | None = None
-
close()[source]
-
write_metadata(*, model_name=None, parameters=None, extra=None)[source]
Write file-level metadata.
-
write_cage_states(cage_states, *, attrs=None, hilbert_size=None, write_signature_metadata=True)[source]
Write all cage states to HDF5.
-
flush()[source]
-
__init__(path, mode='w', compression='gzip', compression_opts=4, hilbert_size=None)
-
class qlinks.io.EigenpairHDF5Reader(path, mode='r')[source]
Bases: object
Read eigenpair datasets written by EigenpairHDF5Writer.
-
path
Input HDF5 path.
- Type:
str | pathlib.Path
-
mode
HDF5 file mode.
- Type:
str
-
path: str | Path
-
mode: str = 'r'
-
close()[source]
-
property model_name: str | None
-
property n_eigenvectors: int
-
property n_basis: int
-
list_observables()[source]
-
read_metadata()[source]
-
read_basis_states(index=None)[source]
-
read_energy(index)[source]
-
read_energies(index=None)[source]
-
read_eigenvector(index)[source]
-
read_eigenvectors(index)[source]
-
read_observable(name, index=None)[source]
-
read_observables_for_eigenvector(index)[source]
-
iter_eigenvectors(indices=None)[source]
-
__init__(path, mode='r')
-
class qlinks.io.EigenpairHDF5Writer(path, mode='w', compression='gzip', compression_opts=4, chunks=True)[source]
Bases: object
Write eigenpair datasets to an HDF5 file.
-
path
Output HDF5 path.
- Type:
str | pathlib.Path
-
mode
HDF5 file mode.
- Type:
str
-
compression
Optional HDF5 compression name.
- Type:
str | None
-
compression_opts
Optional compression options.
- Type:
int | None
-
chunks
HDF5 chunking option for datasets.
- Type:
bool | tuple[int, …] | None
-
path: str | Path
-
mode: str = 'w'
-
compression: str | None = 'gzip'
-
compression_opts: int | None = 4
-
chunks: bool | tuple[int, ...] | None = True
-
close()[source]
-
write_metadata(*, model_name, parameters=None, extra=None)[source]
-
write_basis_states(states, *, attrs=None)[source]
-
write_energies(energies, *, attrs=None)[source]
-
write_eigenvectors(vectors, *, eigen_axis=0, attrs=None)[source]
-
create_eigenvector_dataset(*, n_eigenvectors, n_basis, dtype=<class 'numpy.complex128'>)[source]
Create an empty eigenvector dataset for incremental writing.
This is useful when eigenvectors are generated one at a time.
-
write_eigenvector(index, vector)[source]
-
write_observable(name, values, *, attrs=None)[source]
-
flush()[source]
-
__init__(path, mode='w', compression='gzip', compression_opts=4, chunks=True)