@@ -253,29 +253,32 @@ def det_deriv(matrix, i, j):
253
253
jacobians = [[] for i in range (m )]
254
254
255
255
det = np .linalg .det (matrix )
256
- for i in range (m ):
257
- for j in range (n ):
258
- mji = np .delete (np .delete (matrix , j , 0 ), i , 1 )
259
- minor = (- 1 ) ** (i + j ) * np .linalg .det (mji )
256
+ for idx in range (m ):
257
+ for jdx in range (n ):
258
+ mji = np .delete (np .delete (matrix , jdx , 0 ), idx , 1 )
259
+ minor = (- 1 ) ** (idx + jdx ) * np .linalg .det (mji )
260
260
261
261
j_matrix = np .zeros ([m , n ])
262
- for k in range (m ):
263
- for l in range (n ):
264
- det_p = det_deriv (matrix , k , l )
262
+ for kdx in range (m ):
263
+ for ldx in range (n ):
264
+ det_p = det_deriv (matrix , kdx , ldx )
265
265
266
- if k == j or l == i :
266
+ if kdx == jdx or ldx == idx :
267
267
minor_p = 0.0
268
268
else :
269
- kk , ll = k - 1 if k > j else k , l - 1 if l > i else l
270
- minor_p = (- 1 ) ** (i + j ) * det_deriv (mji , kk , ll )
269
+ kk , ll = (
270
+ kdx - 1 if kdx > jdx else kdx ,
271
+ ldx - 1 if ldx > idx else ldx ,
272
+ )
273
+ minor_p = (- 1 ) ** (idx + jdx ) * det_deriv (mji , kk , ll )
271
274
272
- j_matrix [k , l ] = (minor_p * det - minor * det_p ) / det ** 2
275
+ j_matrix [kdx , ldx ] = (minor_p * det - minor * det_p ) / det ** 2
273
276
274
- jacobians [i ].append (j_matrix )
277
+ jacobians [idx ].append (j_matrix )
275
278
276
279
j_vec = np .reshape (j_matrix , [m * n , 1 ])
277
280
sigma_f = np .sum (np .dot (np .transpose (j_vec ), np .dot (matrix_covar , j_vec )))
278
- matrixinv_var [i , j ] = sigma_f
281
+ matrixinv_var [idx , jdx ] = sigma_f
279
282
280
283
return matrixinv , matrixinv_var , jacobians
281
284
0 commit comments