

The calculation of the inverse divides by the matrix determinant, which is why it can't be zero. When the determinant is not 0, the matrix is nonsingular and can be inverted. It doesn't matter whether the determinant is positive or negative. When the determinant is not 0, it has full rank. D does not have full rank.Īnother characteristic of a square matrix is its determinant. C does not have full rank.ĭ_rank = rank(D) % = 2. Since B has 3 rows and columns and its rank is 3, B has full rank and is non-singular.Ĭ_rank = rank(C) % = 1. The rank of a matrix can be computed with the MATLAB function rank():ī_rank = rank(B) % = 3. When the rank of a square matrix = the number of rows, it has "full rank" and is non-singular, so it has an inverse. The rank of a matrix is the number of independent rows. For example these 3x3 matrices do not have inverses:Ī matrix which does not have an inverse is called a "singular" matrix. The inverse of B, IB, is a matrix such that B*IB = the identity matrix and IB*B = the identity matrix. If m equals the number of v, then B is the inversed square Vandermonder matrix.\) v has to be a row vector and v = while m has to be a scalar and positive integer of the above matrix V. ī = invvander(v, m) returns the pseudoinverse of an m-by-n rectangular Vandermonde Matrix. Syntax and Function Descriptionī = invvander(v) returns the inverse of a square Vandermonde Matrix, i.e., m = n for the above matrix V. It implemented based on the QR decomposition, followed by a forward and a back substitutions. The algorithm of the calculating the pseudoinverse of a rectangular Vandermonde matrix is standard. It is implementedīased on a draft as well as C codes I developed:

The algorithm calculates the analytic-form inverse of a square Vandermonde matrix. Given that =1:0.5:6, running Example 3 below in Octave shows that invvander is 150.86 times more accurate and 40.93 times faster than inv. Moreover, invvander might be the fastest algorithm so far because is faster than Parker's algorithm that requires 6n^2 flops. invvander introduces significantly less rounding errors because it avoids numerical matrix inversion (Vandemonde matrices are usually ill-conditioned). Invvander computes the analytic-form inverse of any square Vandermonde matrix in 5.5n^2 floating point operations (flops). Its syntax is similar to the Octave/MATLAB built-in function vander. Invvander inverses an m-by-n Vandermonde matrix: Fast Analytical-Form Inverse of Vandermonde Matrix Introduction
