@@ -361,7 +361,7 @@ The row permutation is applied as follows.
361
361
362
362
1 . Loop over all block-rows: $i=0..(N-1)$:
363
363
1 . If the matrix is a block matrix:
364
- 1 . Apply the current row's block permutation: $b[ i] \gets P[ i] b[ i] $.
364
+ 1 . Apply the current row's block permutation: $b[ i] \gets P[ i] \cdot b[ i] $.
365
365
2 . Proceed.
366
366
2 . Else:
367
367
1 . Proceed.
@@ -396,11 +396,17 @@ Apply the column permutation as follows.
396
396
397
397
1 . Loop over all block-rows: $i=0..(N-1)$:
398
398
1 . If the matrix is a block matrix:
399
- 1 . Apply the current row's block permutation: $b[ i] \gets Q[ i] b[ i] $.
399
+ 1 . Apply the current row's block permutation: $b[ i] \gets Q[ i] \cdot b[ i] $.
400
400
2 . Proceed.
401
401
2 . Else:
402
402
1 . Proceed.
403
403
404
+ ``` {note}
405
+ If [pivot perturbation](#pivot-perturbation) was used to obtain the LU-decomposition, the solution
406
+ obtained here is an approximation of the exact solution. The approximation can be improved using
407
+ [iterative refinement](#iterative-refinement-of-lu-solver-solutions).
408
+ ```
409
+
404
410
### Pivot perturbation
405
411
406
412
The LU solver implemented in the power grid model has support for pivot perturbation. The methods
@@ -436,7 +442,7 @@ be the matrix, $\left\|M\right\|_{\infty ,\text{bwod}}$ the
436
442
$\text{direction}$ ensures that the complex phase of the pivot element is preserved, with a fallback
437
443
the positive real axis when the pivot element is identically zero.
438
444
439
- ### Iterative refinement of LU solvers
445
+ ### Iterative refinement of LU solver solutions
440
446
441
447
This algorithm is heavily inspired by the GESP algorithm described in
442
448
[ Li99] ( https://www.semanticscholar.org/paper/A-Scalable-Sparse-Direct-Solver-Using-Static-Li-Demmel/7ea1c3360826ad3996f387eeb6d70815e1eb3761 ) .
@@ -530,7 +536,7 @@ rounding errors, which may be several orders larger than machine precision.
530
536
531
537
[ Li99] ( https://www.semanticscholar.org/paper/A-Scalable-Sparse-Direct-Solver-Using-Static-Li-Demmel/7ea1c3360826ad3996f387eeb6d70815e1eb3761 )
532
538
uses the following backward error in the
533
- [ iterative refinement algorithm] ( #iterative-refinement-of-lu-solvers ) :
539
+ [ iterative refinement algorithm] ( #iterative-refinement-of-lu-solver-solutions ) :
534
540
535
541
$$
536
542
\begin{align*}
0 commit comments