All checks were successful
gitea-physics/pdme/pipeline/head This commit looks good
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
from pdme.model import UnrestrictedModel
|
|
from pdme.measurement import DotMeasurement
|
|
import logging
|
|
import numpy
|
|
|
|
|
|
def test_unrestricted_plane_model_repr():
|
|
model = UnrestrictedModel(6)
|
|
assert repr(model) == "UnrestrictedModel(6)"
|
|
|
|
|
|
def test_unrestricted_model_cost_and_jac_single():
|
|
model = UnrestrictedModel(1)
|
|
measured_v = 0.000191292 # from dipole with p=(0, 0, 2) at (1, 2, 4) with w = 1
|
|
dot = DotMeasurement(measured_v, (1, 2, 0), 5)
|
|
pt = numpy.array([0, 0, 2, 2, 2, 4, 2])
|
|
|
|
cost_function = model.costs([dot])
|
|
|
|
expected_cost = [0.0000946746]
|
|
actual_cost = cost_function(pt)
|
|
|
|
numpy.testing.assert_allclose(actual_cost, expected_cost, err_msg="Cost wasn't as expected.", rtol=1e-6, atol=1e-11)
|
|
|
|
jac_function = model.jac([dot])
|
|
|
|
expected_jac = [
|
|
[
|
|
0.00007149165379592005, 0, 0.0002859666151836802,
|
|
-0.0001009293935942401, 0, -0.0002607342667851202,
|
|
0.0001035396365320221
|
|
]
|
|
]
|
|
actual_jac = jac_function(pt)
|
|
|
|
logging.warning(actual_jac)
|
|
|
|
numpy.testing.assert_allclose(actual_jac, expected_jac, err_msg="Jac wasn't as expected.", rtol=1e-6, atol=1e-11)
|