Changelog

InQuanto 3.7.0

22 October 2024

  • Added asynchronous calibration to SPAM so hardware delivery is controllable

  • Licensing modified for improved Quantinuum Nexus usage

InQuanto 3.6.1

3 September 2024

InQuanto 3.5.8

23 August 2024

  • Hotfix release latest pytket version

InQuanto 3.5.7

2 August 2024

  • Hotfix pytket v1.31 dependency issues

InQuanto 3.5.6

10 July 2024

  • Hotfix sympy v1.13 dependency issues

InQuanto 3.5.5

4 June 2024

  • Upgraded Zeus dependency to v0.0.1b6

InQuanto 3.5.4

13 May 2024

  • Upgraded Sourcedefender dependency to v14.0

InQuanto 3.5.3

10 May 2024

  • Upgraded Sourcedefender dependency to v13.0

InQuanto 3.5.2

10 May 2024

  • Upgraded Sourcedefender dependency to v12.0

InQuanto 3.5.1

07 May 2024

  • Resolved scipy dependency conflict.

  • Bug fixes:

    • Fixed a slowdown in qubit mappings caused in 3.5.0. Mapping speed should now be consistent with InQuanto versions <3.5.0.

    • qubit_encode() for integral operators now takes the qubits argument, allowing QubitMappingBravyiKitaev support.

InQuanto 3.5.0

24 April 2024

InQuanto 3.4.2

11 April 2024

InQuanto 3.4.1

08 March 2024

  • Upgrade Sourcedefender dependency

InQuanto 3.4.0

07 March 2024

InQuanto 3.3.1

31 January 2024

  • Bug fix relating to non-symbolic computables in PauliAveraging protocol runner

InQuanto 3.3.0

30 January 2024

  • Support for Python 3.12. Drop support for Python 3.9

  • New method dataframe_partitioning() in PauliAveraging protocol for seeing relation between Pauli words and circuits.

  • Driver for generating transverse-field Ising model hamiltonians (for example DriverIsing1D)

  • Introducing ProtocolList. Basic support for collecting PauliAveraging protocols with different states.

  • Bug fix relating to qubit indexing error in symmetry analysis of QubitOperators

  • Other bug fixes and development improvements

InQuanto-PySCF 1.5.0

30 January 2024

InQuanto-NGLView v0.7.1

30 January 2024

  • Python 3.12 support and deprecate 3.9

  • Hotfix dependency update qcelemental

InQuanto-Phayes v0.2.0

30 January 2024

  • Python 3.12 support and deprecate 3.9

InQuanto 3.2.1

19 January 2024

  • Bug fix relating to symbol substitution in PauliAveraging protocol runner

InQuanto 3.2.0

12 January 2024

  • New protocol added ProjectiveMeasurements for measuring the probabilities of the basis states

  • Added the simultaneous perturbation stochastic approximation (SPSA) minimizer MinimizerSPSA

  • Added trotterize_as_linear_combination() to support second order

  • pd_safe_eigh() utility method now available to solve generalized eigenvalue problem \(HC = SCE\)

  • Express files added for Purvis’ BeH2 potential energy surface (see the express manual page)

  • Added method to report point_group from a FermionSpace point_group()

  • Added Cholesky decomposition option to double factorization

  • Added ensure_hermitian() to truncate non-hermitian matrix elements

  • Minor fix to DMET typing

  • Added launching and retrieving methods to QPE algorithms and protocols

  • Improved state hashing and comparison methods

  • Allow Pauli partitioning in HadamardTestOverlap to reduce measurement circuits (direct option)

  • Improved symbol substitution (parameter) errors and flexibility

  • Various other minor bug-fixes and improvements

InQuanto-PySCF 1.4.0

14 December 2023

  • Functions to get RDMs and PDMs from CASCI wavefunctions (e.g. get_casci_12rdms() )

  • Bug fixes

InQuanto 3.1.2

28 November 2023

  • Hotfix for PMSV by adding stabilizer tolerances

  • Support for error mitigation when using protocol.build_from()

  • Clarified the qubit_operator.eigenspectrum method

InQuanto 3.1.1

15 November 2023

  • Hotfix: added unitary check options to the DMETRHF embedding class

InQuanto 3.1.0

14 November 2023

InQuanto 3.0.2

17 October 2023

  • Added support for pytket 1.21

  • Updated GeometryMolecular to accept xyz strings

  • Fixes for FCIDump reader

  • Added exact diagonalization helper method to QubitOperators eigenspectrum()

InQuanto 3.0.1

10 October 2023

  • Improved license activation workflow

  • Improved API documentation

InQuanto 3.0.0

19 September 2023

InQuanto-PySCF 1.3.0

  • Upgraded to PySCF 2.3.0

  • Many more configurable options for drivers

  • More memory-efficient DMET calculations with inquanto-pyscf integral operators

  • Support for starting calculations from checkpoint files

  • CAS-AC0 calculations via pyscf-ac0 https://github.com/CQCL/pyscf-ac0

  • WFT-in-DFT embedding, for molecular and periodic systems

  • Compatibility with InQuanto 3.0

2.1.1

27 April 2023

  • Some performance improvements

  • Fixed networkx dependence

  • Fixed numpy errors due to _typing

  • Other small fixes

A PDF version of InQuanto Version 2 documentation is also available: InQuanto-v211-PDF.

2.1.0

27 March 2023

2.0.0

5 December 2022

  • Re-designed ansatzes to provide more uniform interface, allow multireference calculations and easier custom ansatz development.

  • New ansatz classes added. CircuitAnsatz, TrotterAnsatz, GivensAnsatz, MultiReferenceState, LayeredAnsatz..

  • ProtocolStateVectorSparse now caches results.

  • New ProtocolSymbolic class allows for evaluation of expressions with symbolic ansatzes.

  • Implementation of the QRDM-NEVPT2 method. Several new computables for RDM calculations.

  • Add support for real-time evolution in AlgorithmVQS.

  • New CompactTwoBodyIntegralsS8 for eight-fold symmetric compact integrals.

  • Computable.cost_estimate and cost_estimate_elementwise for circuit cost estimation on Quantinuum hardware.

  • kupCCGSpD refactored to kUpCCGSDSinglet.

  • Pyscf refactored to PySCF.

1.3.0

22 November 2022

  • Fix FermionSpace.construct_number_alpha_operator and FermionSpace.construct_number_beta_operator.

  • Add FermionOperator.to_latex and QubitOperator.to_latex.

  • Add descriptions to files listed by inquanto.express.list_h5.

  • Fix bug where the PMSV supporter was sometimes not applied.

  • Add QubitOperatorList.all_qubits and QubitOperatorList.to_sparse_matrices.

  • Allow ChemistryRestrictedIntegralOperator and FermionOperator to be constructed from FCI files.

  • Add QubitState.from_ndarray.

  • Remove QubitSpace.generate_qubit_trotter_operator.

  • Add exponentiation and Trotterization functionality to QubitOperator and QubitOperatorList.

1.2.2

22 September 2022

  • Fixed a typo in auxiliary expressions in ADAPT and VQS.

1.2.1

21 September 2022

  • Added import for QubitMappingParity at module level.

1.2.0

16 September 2022

  • Added optional compiler_passes argument to Computable.run().

  • Logger configured.

  • Workflow to synchronise branches develop and research-develop improved.

  • Compact 2-body integrals implemented.

  • ChemistryUnrestrictedIntegralOperator._freeze() implemented.

  • Ansatzes deep copy implemented.

  • HVA fixed.

  • Convenience method to convert FermionOperator to integral operators implemented.

  • Imaginary gradients sign fixed in protocols.

  • Various FermionOperator helper methods implemented (is_hermitian, is_antihermitian, is_self_inverse etc.).

  • Disable QubitOperatorString to be constructed with two Paulis on the same qubit.

  • save_h5 and load_h5 implemented for spaces classes.

  • Added custom_prefix for circuit names to Computable.run(), .launch() and .generate_circuits().

  • Improvements to API documentation and type hints: Ansatzes, Algorithms, Mappings, Core, Geometries, Operators, Symmetry, Embeddings.

  • Fix exponent order issue in FermionSpaceStateExpChemicallyAware.

1.1.0

29 July 2022

  • toeplitz_decomposition added for QubitOperator.

  • ProtocolSymbolic added for symbolic evaluation of expectation values and computables.

  • Fixed a bug in Gradients (State vector protocols, ProtocolPhaseShift() and ProtocolHadamardDirectPauliY())

  • Fixed triplet excitations generator (can be used in QSE now)

  • General improvements in express module

    • MetricTensor can now be used as part of Computables objects

  • Padding methods added to QubitOperator

  • Improved documentation

1.0.5

04 July 2022

  • Added ability for authentication by password.

  • Enabled support for any pytket v1.x release.

1.0.4

15 June 2022

  • Various minor bugfixes.

  • Improved validation output.

  • Updated sourcedefender dependency version.

1.0.3

10 June 2022

  • Added additional tests for parameter classes.

  • Fix for type safety in trigonometric methods.

  • Allowed api-key to be fetched from keyring or environment variable.

1.0.2

01 June 2022

  • Fixed bug in contracted systems symmetries.

  • Added finite difference metric tensor tests.

1.0.1

25 May 2022

  • Fixed bug in contracted systems symmetries.

  • Fixed bug in AlgorithmVQE property.

  • Fixed time-limit issue on decryption.