1
- from iminuit import Minuit
2
- from iminuit .util import IMinuitWarning
3
- import pickle
4
- import pytest
5
1
import numpy as np
6
2
7
3
8
4
def test_issue_424 ():
5
+ from iminuit import Minuit
6
+
9
7
def fcn (x , y , z ):
10
8
return (x - 1 ) ** 2 + (y - 4 ) ** 2 / 2 + (z - 9 ) ** 2 / 3
11
9
@@ -20,6 +18,10 @@ def fcn(x, y, z):
20
18
21
19
22
20
def test_issue_544 ():
21
+ import pytest
22
+ from iminuit import Minuit
23
+ from iminuit .util import IMinuitWarning
24
+
23
25
def fcn (x , y ):
24
26
return x ** 2 + y ** 2
25
27
@@ -30,6 +32,8 @@ def fcn(x, y):
30
32
31
33
32
34
def test_issue_648 ():
35
+ from iminuit import Minuit
36
+
33
37
class F :
34
38
first = True
35
39
@@ -45,6 +49,8 @@ def __call__(self, a, b):
45
49
46
50
47
51
def test_issue_643 ():
52
+ from iminuit import Minuit
53
+
48
54
def fcn (x , y , z ):
49
55
return (x - 2 ) ** 2 + (y - 3 ) ** 2 + (z - 4 ) ** 2
50
56
@@ -64,6 +70,8 @@ def fcn(x, y, z):
64
70
65
71
66
72
def test_issue_669 ():
73
+ from iminuit import Minuit
74
+
67
75
def fcn (x , y ):
68
76
return x ** 2 + (y / 2 ) ** 2
69
77
@@ -84,15 +92,21 @@ def fcn(x, y):
84
92
assert match
85
93
86
94
95
+ # cannot define this inside function, pickle will not allow it
87
96
def fcn (par ):
88
97
return np .sum (par ** 2 )
89
98
90
99
100
+ # cannot define this inside function, pickle will not allow it
91
101
def grad (par ):
92
102
return 2 * par
93
103
94
104
95
105
def test_issue_687 ():
106
+ import pickle
107
+ import numpy as np
108
+ from iminuit import Minuit
109
+
96
110
start = np .zeros (3 )
97
111
m = Minuit (fcn , start )
98
112
@@ -107,10 +121,13 @@ def test_issue_687():
107
121
108
122
109
123
def test_issue_694 ():
110
- stats = pytest .importorskip ("scipy.stats" )
111
-
124
+ import pytest
125
+ import numpy as np
126
+ from iminuit import Minuit
112
127
from iminuit .cost import ExtendedUnbinnedNLL
113
128
129
+ stats = pytest .importorskip ("scipy.stats" )
130
+
114
131
xmus = 1.0
115
132
xmub = 5.0
116
133
xsigma = 1.0
@@ -142,3 +159,32 @@ def model(x, sig_n, sig_mu, sig_sigma, bkg_n, bkg_tau):
142
159
break
143
160
else :
144
161
assert False
162
+
163
+
164
+ def test_issue_923 ():
165
+ from iminuit import Minuit
166
+ from iminuit .cost import LeastSquares
167
+ import numpy as np
168
+ import pytest
169
+
170
+ # implicitly needed by visualize
171
+ pytest .importorskip ("matplotlib" )
172
+
173
+ def model (x , c1 ):
174
+ c2 = 100
175
+ res = np .zeros (len (x ))
176
+ mask = x < 47
177
+ res [mask ] = c1
178
+ res [~ mask ] = c2
179
+ return res
180
+
181
+ xtest = np .linspace (0 , 74 )
182
+ ytest = xtest * 0 + 1
183
+ ytesterr = ytest
184
+
185
+ least_squares = LeastSquares (xtest , ytest , ytesterr , model )
186
+
187
+ m = Minuit (least_squares , c1 = 1 )
188
+ m .migrad ()
189
+ # this used to trigger an endless (?) loop
190
+ m .visualize ()
0 commit comments