Abstract

Based on the geometric {\it 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=bAx=b, where AA is an m×nm \times n matrix of arbitrary rank. Let CA,rC_{A,r} be the ellipsoid determined as the image of the Euclidean ball of radius rr under the linear map AA. The basic procedure in our algorithm computes a point in CA,rC_{A,r} that is either within ε\varepsilon distance to bb, or acts as a certificate proving b∉CA,rb \not \in C_{A,r}. Each iteration takes O(mn)O(mn) operations and when bb is well-situated in CA,rC_{A,r}, the number of iterations is proportional to log⁡(1/ε)\log{(1/\varepsilon)}. If Ax=bAx=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 ({\it 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=bAx=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.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.