Product Form of the Inverse (PFI)

The Product Form of the Inverse (PFI) is based on the fact that, if we already have the inverse B of an n×n matrix C, we can obtain the inverse B * of a new matrix C * , formed by replacing column r of C by a vector ξ, by evaluating the matrix product υ = Bξ and then performing a pivot operation expressed by the formulae

An `M_OPS` function block (FB) performs the `PIVOT` operation by taking the ξ vector from the `IorM`-th column of its ``` A MATRIX ``` input, and pivoting it into the `JorN`-th column of its `B` output. In this case, the `IorM` and `JorN` inputs of the FB do not correspond to the indices i, j or n in the algorithm above:

• The `IorM` input specifies the column of the `A` input matrix to be used as the ξ vector.
• The `JorN` input specifies the pivot column index r in the `B` matrix output.

An `M_OPS` FB performs the matrix inversion (`INV`) function by initializing the `B` matrix output to an identity matrix of the same order as the `A` matrix input, and then pivoting the columns of `A` into `B` one at a time.

• A maximum pivot divisor strategy is used to provide the highest accuracy of the inverse. That is, at each iteration, the index r of the pivot column is chosen to maximize the absolute value of the divisor υr from the set of as-yet unpivoted columns.
• If the absolute value of the maximum divisor υr is less than the tolerance specified by the FB's `X` input, the `A` matrix is declared to be singular and the inversion operation terminates gracefully with an appropriate `STATUS` output code.