Release notes¶
This page contains the release notes for Jet.
Release 0.2.3 (development release)¶
Patches¶
The calculation in the function GetPathFlops has been altered so that it is consistent with the way Cotengra and the jet paper computes the FLOPS for a given path.
Documentation¶
The jet paper reference in the README.md has been updated because it is now published in the Quantum journal.
The centralized Xanadu Sphinx Theme is now used to style the Sphinx documentation. (#73)
Release 0.2.2 (current release)¶
New features since last release¶
The
Tensorclass now has a public function for replacing its data. (#68)
Improvements¶
Breaking Changes¶
The
get_xir_library()Python function has been renamed toget_xir_manifest(). (#69)
Documentation¶
The
Tensor::GetValue()andTensor::SetValue()Doxygen comments now use LaTeX formulas. (#68)The
pip installinstructions no longer reference a missing PyPI package. (#66)References to the XIR are now hyperlinked to the XIR documentation. (#69)
Contributors¶
This release contains contributions from (in alphabetical order):
Release 0.2.1 (current release)¶
New features since last release¶
The Jet interpreter for XIR scripts now supports an
expvaloutput. (#49)
Documentation¶
Links to the Jet paper are now included in the README and Sphinx documentation. (#59)
The
CudaScopedDevicedocumentation is now consistent with other classes in Jet. (#59)The documentation section of the development guide now lists system dependencies. (#52)
Static versions of jQuery and Bootstrap are no longer included in the CSS theme. (#52)
Read the Docs is now configured to build the Sphinx documentation. (#51)
Contributors¶
This release contains contributions from (in alphabetical order):
Release 0.2.0 (current release)¶
New features since last release¶
The Jet interpreter for XIR scripts now accepts a
dimensionoption for CV circuits. (#47)The Jet interpreter for XIR programs now supports a
probabilitiesoutput. (#44)The
Circuitclass now supports taking the expected value of an observable. (#46)The Jet interpreter for XIR scripts now handles gate definitions. (#37)
Full and sliced contractions can now be run with
TaskBasedContractoron the GPU using theCudaTensorclass. (#29)CudaTensor now supports
Transposecalls. (#42)Full and sliced contractions can now be run with
TaskBasedContractoron the GPU using theCudaTensorclass. (#29)The
TaskBasedCpuContractorclass has been renamed toTaskBasedContractor. (#29)An
XIRProgramwhich declares the gates supported by Jet is now bundled with thejetPython package. (#34)The
jetPython package now includes an interpreter for XIR programs. (#24)Gates may now be instantiated by name using the
GateFactoryPython class. (#23)Quantum circuit and state models have been added to the
jetPython package. (#21)Quantum gate models have been added to the
jetPython package. (#16)Python bindings are now available for the
TaskBasedCpuContractorclass. (#19)Python bindings now include a factory method which accepts a
dtypeparameter. (#18)Running
make buildfrom thepythondirectory now creates a Python distribution package. (#13)A new intermediate representation (IR) is added, including a parser, IR representation program, and a Strawberry Fields interface. (#11)
Python bindings are now available for the
TensorNetworkSerializerclass. (#5)Python bindings are now available for the
TensorNetworkandPathInfoclasses (#7)Python bindings are now available for the
Tensorclass. (#2)Running CMake with
-DBUILD_PYTHON=ONnow generates Python bindings within ajetpackage. (#1)
Improvements¶
The Jet interpreter for XIR programs now uses the task-based contractor. (#44)
CudaTensor
SliceIndexcalls now avoid intermediate CPU transfer operations. (#42)A Python (Ubuntu) test report is now generated alongside the C++ (Ubuntu) test report. (#39)
Tensor transposes are now significantly faster when all the dimensions are powers of two. (#12)
Use camel case for type aliases. (#17)
Exceptions are now favoured in place of
std::terminatewithExceptionbeing the new base type for all exceptions thrown by Jet. (#3)TaskBasedCpuContractornow storesTensorresults. (#8)Tensorclass now checks data type at compile-time. (#4)
Breaking Changes¶
The Jet interpreter for XIR scripts now requires an amplitude state to be specified as an array. (#45)
The Jet interpreter for XIR scripts is now case-sensitive with respect to gate names. (#36)
Python bindings for
complex<float>andcomplex<double>specializations are now suffixed withC64andC128, respectively. (#15)Indices are now specified in row-major order. (#10)
Bug Fixes¶
The Jet and XIR Python packages can now be installed from a source distribution. (#38)
An issue with the
CudaTensorindices was fixed when converting between the CPUTensorclass. (#29)The Jet versions returned by
Jet::Version()(C++) andjet.Version()(Python) are now correct. (#26)The documentation build no longer emits any Doxygen warnings. (#25)
Running
make buildin thepythondirectory now correctly uses the virtual environment. (#31)The output of
TensorNetwork::Contract()andTaskBasedCpuContractor::Contract()now agree with external packages. (#12)TaskBasedCpuContractor::AddReductionTask()now handles the reduction of non-scalar tensors. (#19)The output of
TensorNetwork::Contract()andTaskBasedCpuContractor::Contract()now agree with one another. (#6)PathInfonow correctly names intermediary tensors in a sliced tensor network (#22).
Documentation¶
The “Using Jet” section of the Sphinx documentation now has Python code snippets. (#43)
The Sphinx documentation now includes API documentation for the
jetPython package. (#40)The “Using Jet” section of the Sphinx documentation website now compiles with the latest Jet headers. (#26)
The license comment headers at the top of the IR source files have been removed. (#14)
Contributors¶
This release contains contributions from (in alphabetical order):
Mikhail Andrenkov, Jack Brown, Theodor Isacsson, Josh Izaac, Lee J. O’Riordan, Antal Száva, Trevor Vincent.
Release 0.1.0 (current release)¶
New features since last release¶
This is the initial public release.
Contributors¶
This release contains contributions from (in alphabetical order):
Mikhail Andrenkov, Jack Brown, Lee J. O’Riordan, Trevor Vincent.