def test_trace(dtype, num_charges): np.random.seed(10) backend = symmetric_backend.SymmetricBackend() a = get_square_matrix(num_charges, dtype) actual = backend.trace(a) expected = trace(a) np.testing.assert_allclose(actual.data, expected.data)
def test_trace(dtype, num_charges, offset, axis1, axis2): np.random.seed(10) backend = symmetric_backend.SymmetricBackend() a = get_square_matrix(num_charges, dtype) if offset != 0: with pytest.raises(NotImplementedError): actual = backend.trace(a, offset=offset, axis1=axis1, axis2=axis2) elif axis1 == axis2: with pytest.raises(ValueError): actual = backend.trace(a, offset=offset, axis1=axis1, axis2=axis2) else: actual = backend.trace(a, offset=offset, axis1=axis1, axis2=axis2) expected = trace(a, [axis1, axis2]) np.testing.assert_allclose(actual.data, expected.data)