Skip to content

Change Default Backend to Numpy

Compare
Choose a tag to compare
@chaserileyroberts chaserileyroberts released this 12 Sep 22:12
· 369 commits to master since this release
25ef3d6

We have changed the default backend to numpy. This is a BREAKING CHANGE. To fix your code, you can simply do tensornetwork.set_default_backend("tensorflow") at the top of your main file.

  • Slice notation has been added to accessing a node's edges. Simple do node[:3] to get the edges for the first 3 axes in a node.
  • Contraction algorithms for optimal, branch and greedy now require an output_edge_order when there is more than one dangling edge in the network. This is to prevent a user from accidentally depending on a non-deterministic edge order after the network contraction.
  • CopyNodes can now be created outside of a TensorNetwork, so now net.add_node(tensornetwork.CopyNode(...)) is the preferred way to add a copy node to a network. We will be removing net.add_copy_node in the future.
  • Added net.split_node_qr and net.split_node_rq methods that do QR decomposition of a Node.
  • Added net.copy operation that will copy a TensorNetwork. This copied network will keep the same tensors objects between the two nodes. This is to make taking gradients of nodes relative to the final contracted value much easier.
  • Added a conj option to net.copy(conj=True). This will copy the TensorNetwork and conjugate all of the tensors in the network. This is useful for calculating things like reduced density matrices.
  • Added net.save(..) and tensornetwork.load(...) methods for saving and loading a TensorNetwork object.
  • Removed support for python 3.5. If this is a blocker for you, please raise a github issue to readd support.