def test_check_normality_raises_value_error(backend): backend = backend_factory.get_backend(backend) tensor = np.ones((2, 3, 2), dtype=np.float64) tensors = [tensor] mps = BaseMPS(tensors, backend=backend) with pytest.raises(ValueError): mps.check_orthonormality(which="keft", site=0)
def test_left_orthonormalization(backend_dtype_values): backend = backend_dtype_values[0] dtype = backend_dtype_values[1] D, d, N = 10, 2, 10 tensors = [get_random_np((1, d, D), dtype) ] + [get_random_np((D, d, D), dtype) for _ in range(N - 2)] + [get_random_np((D, d, 1), dtype)] mps = BaseMPS(tensors, center_position=N - 1, backend=backend) mps.position(0) mps.position(len(mps) - 1) assert all( abs(mps.check_orthonormality('left', site)) < 1E-12 for site in range(len(mps)))