Added logging to the estimated 1-site expectation policy.
Added script to compute the ground-state energy of the 2D transverse Ising model
Now the HS-model is antiferromagnetic.
Swapped direction and threshold parameters in relative 1-site diff.

This was done primarily so that I could make the
direction parameter default to 0.
XYZ --> Heisenberg
Added antiferromagnetic Heisenberg test.
Replaced the two Heisenberg tests with a single 1-site antiferromagnet test.
Resurrecting the 1D2D code.

I need to reconcile the 1D code with the 2D code
again so I am resurrecting this code;  it should
work once more because there are not longer any
differences in the algorithms used by the 1D code
and the 2D code.

This reverts commit 5ff666366bd05b2f133a2b4fc3f32c2a0c138905.
Condensed some lines of code into a single line to make it easier to comment out
Fixed missing import in system._2d
Added a note in relaxOver regarding numerical stability.
Now the 1D and 2D systems use the same approach for minimizing the energy.

Specifically, they have the same behavior in the
case where all bandwidth dimensions are 1, and
they use the same eigensolver in that case.
Updated the 1D2D tests, and added a close-to-eigenvector detector.

The detector is needed because when the state is
close to being an eigenstate it introduces some
numerical instabilities that result from taking
the difference between it and the product of it
with the matrix.
Now 1d2d environment tags are lists rather than dicts.
Factored out code to make MPO and generalized it to multiple 1- and 2-site ops

mpo oops
Disabled copying 2D state center to 1D state center after each contraction.
Now the energy minimizer uses copy2Dto1D instead of manually copying the state.

I copy the state here in the first place because
when it is nearly converged to an eigenvector the
small errors are amplified because the difference
between the eigenvector and the result of
multiplying it by the given matrix is small,
leading to a loss of precision.
Added NOTE to the 1D2D increaseBandwidth method.

The note says that at this time we do not directly
compare the result of increaseBandwidth() because
it uses a random matrix to enlarge the bandwidth
dimension; fortunately both 1D and 2D use mostly
the same code so this hopefully won't be a
problem.
Added ability to switch adaptive state threshold on and off.
Now the 1D2D's 1D information can be copied to 2D.