def test_beta(self):
"""check that numerical output of Python code equals Mathematica code"""
my_beta = beta.beta(C, HIGHSCALE)
self.assertEqual(list(my_beta.keys()), beta.C_keys)
for k in beta.C_keys:
if isinstance(my_beta[k], float) or isinstance(my_beta[k], complex):
self.assertEqual(beta.C_keys_shape[k], 1)
else:
self.assertEqual(my_beta[k].shape, beta.C_keys_shape[k], msg=k)
for i, n in enumerate(C0):
self.assertAlmostEqual(betas_re[0][i]/my_beta[n].real, 1, places=4)
for i, n in enumerate(C2):
npt.assert_array_almost_equal(betas_re[1][i]/my_beta[n].real, np.ones((3,3)), decimal=2)
for i, n in enumerate(C4):
npt.assert_array_almost_equal(betas_re[2][i]/my_beta[n].real, np.ones((3,3,3,3)), decimal=2)
for i, n in enumerate(C2):
npt.assert_array_almost_equal(betas_im[1][i]/my_beta[n].imag, np.ones((3,3)), decimal=2)
for i, n in enumerate(C4):
npt.assert_array_almost_equal(betas_im[2][i]/my_beta[n].imag, np.ones((3,3,3,3)), decimal=2)
评论列表
文章目录