v1.9.0
Breaking Changes
- renamed
MatrixProductState.partial_traceandMatrixProductState.ptrto MatrixProductState.partial_trace_to_mpo to avoid confusion with otherpartial_tracemethods that usually produce a dense matrix.
Enhancements:
- add
Circuit.sample_gate_by_gateand related methodsCircuitMPS.reordered_gates_dfs_clusteredandCircuitMPS.get_qubit_distancesfor sampling a circuit using the 'gate by gate' method introduced in https://arxiv.org/abs/2112.08499. - add
Circuit.drawfor drawing a very simple circuit schematic. -
Circuit: by default turn onsimplify_equalize_normsand use agroup_size=10for sampling. This should result in faster and more stable sampling. -
Circuit: usenumpy.random.default_rngfor random number generation. - add
qtn.circ_a2a_randfor generating random all-to-all circuits. - expose
qtn.edge_coloringas top level function and allow layers to be returned grouped. - add docstring for
tn.contract_compressedand by default pick up important settings from the supplied contraction path optimizer (max_bondandcompress_late) - add
Tensor.rand_reducefor randomly removing a tensor index by contracting a random vector into it. One can also supply the value"r"toiselselectors to use this. - add
fit-zipupandfit-projectorshorthand methods to the general 1d tensor network compression function - add
MatrixProductState.compute_local_expectationfor computing many local expectations for a MPS at once, to match the interface for this method elsewhere. These can either be computed via canonicalization (method="canonical"), or via explicit left and right environment contraction (method="envs") - specialize
CircuitMPS.local_expectationto make use of the MPS form. - add
PEPS.product_statefor constructing a PEPS representing a product state. - add
PEPS.vacuumfor constructing a PEPS representing the vacuum state$|000\ldots0\rangle$ . - add
PEPS.zerosfor constructing a PEPS whose entries are all zero. -
tn.gauge_all_simple: improve scheduling and adddampingandtouched_tidsoptions. -
qtn.SimpleUpdateGen: add gauge difference update checking andtolandequilibratesettings. Update.plot()method. Default to a smallcutoff. - add
psi.sample_configuration_clusterfor sampling a tensor network using the simple update or cluster style environment approximation. - add the new example doc Exploring circuit sampling with various methods