Many of the analytical codes used in the nuclear industry, such as TRACE, RELAP5, and PARCS, approximate the equations that model the physics via a linearized system of equations. One common difficulty when solving linearized systems is that an accurately formulated system of equations may be ill-conditioned. Ill-conditioned matrices can result in significant amplification of error leading to poor, or even invalid, results. Ill-conditioned matrices lead to some challenging issues for the analytical code developers:
• An ill-conditioned matrix is often solvable, and there may be no obvious indication numerically that something has gone wrong even though numerical error is large. Thus, how can ill-conditioning be effectively detected for a matrix?
• When ill-conditioning is detected, how can the source of the ill-conditioning be determined so that it can be analyzed and corrected?
Ill-conditioning is fundamentally a geometric problem that can be understood with geometric concepts associated with matrices and vectors. Geometric concepts and tools, useful for understanding the cause of ill-conditioning of a matrix, are presented. A geometric understanding of ill-conditioning can point to the rows or columns of the matrix that most contribute to ill-conditioning so that the source of ill-conditioning can be analyzed and understood, and leads to techniques for building matrix preconditioners to improve the solvability of the matrix.