A Geometric Algorithm for Solving Linear Systems

04/27/2020
by   Bahman Kalantari, et al.
0

Based on the geometric Triangle Algorithm for testing membership of a point in a convex set, we present a novel iterative algorithm for testing the solvability of a real linear system Ax=b, where A is an m × n matrix of arbitrary rank. Let C_A,r be the ellipsoid determined as the image of the Euclidean ball of radius r under the linear map A. The basic procedure in our algorithm computes a point in C_A,r that is either within ε distance to b, or acts as a certificate proving b ∉C_A,r. Each iteration takes O(mn) operations and when b is well-situated in C_A,r, the number of iterations is proportional to log(1/ε). If Ax=b is solvable the algorithm computes an approximate solution or the minimum-norm solution. Otherwise, it computes a certificate to unsolvability, or the minimum-norm least-squares solution. It is also applicable to complex input. In a computational comparison with the state-of-the-art algorithm BiCGSTAB ( Bi-conjugate gradient method stabilized), the Triangle Algorithm is very competitive. In fact, when the iterates of BiCGSTAB do not converge, our algorithm can verify Ax=b is unsolvable and approximate the minimum-norm least-squares solution. The Triangle Algorithm is robust, simple to implement, and requires no preconditioner, making it attractive to practitioners, as well as researchers and educators.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset