@@ -257,16 +257,15 @@ def _cholesky(M, hermitian=True):
257
257
if not hermitian and not M .is_symmetric ():
258
258
raise ValueError ("Matrix must be symmetric." )
259
259
260
- dps = _get_intermediate_simp (expand_mul , expand_mul )
261
260
L = MutableDenseMatrix .zeros (M .rows , M .rows )
262
261
263
262
if hermitian :
264
263
for i in range (M .rows ):
265
264
for j in range (i ):
266
- L [i , j ] = dps ((1 / L [j , j ])* (M [i , j ] -
265
+ L [i , j ] = ((1 / L [j , j ])* (M [i , j ] -
267
266
sum (L [i , k ]* L [j , k ].conjugate () for k in range (j ))))
268
267
269
- Lii2 = dps (M [i , i ] -
268
+ Lii2 = (M [i , i ] -
270
269
sum (L [i , k ]* L [i , k ].conjugate () for k in range (i )))
271
270
272
271
if Lii2 .is_positive is False :
@@ -278,11 +277,11 @@ def _cholesky(M, hermitian=True):
278
277
else :
279
278
for i in range (M .rows ):
280
279
for j in range (i ):
281
- L [i , j ] = dps ((1 / L [j , j ])* (M [i , j ] -
280
+ L [i , j ] = ((1 / L [j , j ])* (M [i , j ] -
282
281
sum (L [i , k ]* L [j , k ] for k in range (j ))))
283
282
284
- L [i , i ] = sqrt (dps ( M [i , i ] -
285
- sum (L [i , k ]** 2 for k in range (i ))))
283
+ L [i , i ] = sqrt (M [i , i ] -
284
+ sum (L [i , k ]** 2 for k in range (i )))
286
285
287
286
return M ._new (L )
288
287
@@ -460,17 +459,16 @@ def _LDLdecomposition(M, hermitian=True):
460
459
if not hermitian and not M .is_symmetric ():
461
460
raise ValueError ("Matrix must be symmetric." )
462
461
463
- dps = _get_intermediate_simp (expand_mul , expand_mul )
464
462
D = MutableDenseMatrix .zeros (M .rows , M .rows )
465
463
L = MutableDenseMatrix .eye (M .rows )
466
464
467
465
if hermitian :
468
466
for i in range (M .rows ):
469
467
for j in range (i ):
470
- L [i , j ] = dps ( (1 / D [j , j ])* (M [i , j ] - sum (
471
- L [i , k ]* L [j , k ].conjugate ()* D [k , k ] for k in range (j ))))
468
+ L [i , j ] = (1 / D [j , j ])* (M [i , j ] - sum (
469
+ L [i , k ]* L [j , k ].conjugate ()* D [k , k ] for k in range (j )))
472
470
473
- D [i , i ] = dps (M [i , i ] -
471
+ D [i , i ] = (M [i , i ] -
474
472
sum (L [i , k ]* L [i , k ].conjugate ()* D [k , k ] for k in range (i )))
475
473
476
474
if D [i , i ].is_positive is False :
@@ -480,10 +478,10 @@ def _LDLdecomposition(M, hermitian=True):
480
478
else :
481
479
for i in range (M .rows ):
482
480
for j in range (i ):
483
- L [i , j ] = dps ( (1 / D [j , j ])* (M [i , j ] - sum (
484
- L [i , k ]* L [j , k ]* D [k , k ] for k in range (j ))))
481
+ L [i , j ] = (1 / D [j , j ])* (M [i , j ] - sum (
482
+ L [i , k ]* L [j , k ]* D [k , k ] for k in range (j )))
485
483
486
- D [i , i ] = dps ( M [i , i ] - sum (L [i , k ]** 2 * D [k , k ] for k in range (i ) ))
484
+ D [i , i ] = M [i , i ] - sum (L [i , k ]** 2 * D [k , k ] for k in range (i ))
487
485
488
486
return M ._new (L ), M ._new (D )
489
487
0 commit comments