# TriangularMatrixOperations(R, Row, Col, M)ΒΆ

- R: IntegralDomain
- Row: FiniteLinearAggregate R
- Col: FiniteLinearAggregate R
- M: MatrixCategory(R, Row, Col)

This package provides functions that compute “fraction-free” inverses of upper and lower triangular matrices over a integral domain. By “fraction-free inverses” we mean the following: given a matrix `B`

with entries in `R`

and an element `d`

of `R`

such that `d`

* inv(`B`

) also has entries in `R`

, we return `d`

* inv(`B`

). Thus, it is not necessary to pass to the quotient field in any of our computations.

- LowTriBddDenomInv: (M, R) -> M
`LowTriBddDenomInv(B, d)`

returns`M`

, where`B`

is a non-singular lower triangular matrix and`d`

is an element of`R`

such that`M = d * inv(B)`

has entries in`R`

.

- UpTriBddDenomInv: (M, R) -> M
`UpTriBddDenomInv(B, d)`

returns`M`

, where`B`

is a non-singular upper triangular matrix and`d`

is an element of`R`

such that`M = d * inv(B)`

has entries in`R`

.