Skip to content

Commit ab78efb

Browse files
committed
test: stacking logic in linsolve
1 parent 7b70b11 commit ab78efb

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

tests/estia/calibration_test.py

+13-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import scipp as sc
44
from scipp.testing import assert_allclose
55

6-
from ess.estia.calibration import solve_for_calibration_parameters
6+
from ess.estia.calibration import linsolve, solve_for_calibration_parameters
77

88

99
def generate_valid_calibration_parameters():
@@ -67,3 +67,15 @@ def test_calibration_solve_recovers_input(seed):
6767
(I0, Pp, Pa, Ap, Aa, Rspp, Rsaa),
6868
)
6969
)
70+
71+
72+
@pytest.mark.parametrize(('dims', 'shape'), [('x', (5,)), ('xy', (2, 3))])
73+
def test_stacking_in_linsolve(dims, shape):
74+
A = [
75+
[sc.array(dims=dims, values=np.random.randn(*shape)) for _ in range(4)]
76+
for _ in range(4)
77+
]
78+
x = [sc.array(dims=dims, values=np.random.randn(*shape)) for _ in range(4)]
79+
b = [sum(xi * ai for xi, ai in zip(x, a, strict=True)) for a in A]
80+
for u, v in zip(linsolve(A, b), x, strict=True):
81+
assert_allclose(u, v, atol=sc.scalar(1e-9))

0 commit comments

Comments
 (0)