This function performs forwards or backwards substitution to solve \(x\) in the equation
\[Lx = y (forwards) or {L}^{*}x = y (backwards)\]
where L is a lower triangular matrix with real diagonal elements, y is a vector and \({L}^{*}\) is an upper triangular matrix, the conjugate transpose of L.
The Substitution IP is designed for standalone operation, or in conjunction with the Cholesky IP to solve a set of linear equations.
The Substitution library element has configurable data types, input form (row-major or column major), matrix sizes, and support for parallelism. The interface is designed to be interoperable with the Cholesky library even when parallelism is used.