[Numpy-discussion] Inversion of near singular matrices.

Algis Kabaila akabaila at pcug.org.au
Mon Jan 31 15:27:59 EST 2011

On Tuesday 01 February 2011 03:27:22 Sturla Molden wrote:
> Den 31.01.2011 03:05, skrev Algis Kabaila:
> > Actually, the structural engineer
> > has no interest in trying to invert a singular matrix.
> > However he/she is interested (or should be interested :) 
> > )  when the square response matrix might approach
> > singularity for this would signal instability.
> I am sorry for having confused the issue by mentioning
> statistics. The mathematics (linear algebra) is of course
> the same. A singular matrix cannot be inverted by
> definition. The methods mentioned (SVD, Tikohonov
> regularization), as well as the transforms mentioned by
> Paul, will let you avoid numerical instability when matrices
> "approach singularity" (i.e. are very ill-conditioned).
> OT: I think I know what structural engineering is. Back in
> 1994 I had to take a class in "statikk" (not sure what that
> translates to in English), with a textbook by Fritjof
> Irgens. From what I remember we did vector calculus to
> ensure the forces in a construction summed to 0, so that
> Newton's first law of motion would apply. It's unhealthy to
> be inside a building otherwise ;-)
> Sturla Molden
I would guess that "statikk" is statics, the subject of 
conditions of equilibrium.  

Yes, teaching is not for the faint hearted... Particularly in 
"foreign" areas.  Just to put your mind at ese - it is important 
to have some idea of statistics even in simplest engineering 
structures, such as those made up of statically determinate 
trusses.  (A truss is made up of members that are pin jointed, 
or are imagined to be pin jointed.  Because of the pin joints, 
each member can only be subjected to an axial force. My next 
code snippet will show the vagaries of analisis of statically 
determinate trusses).

Before I can really ask my next question, I should know what 
matrix norms are used for the calculation of matrix condition 
number in numpy.linalg.  You see, I tried to compare it with a 
condition number found in an undergraduate text book and got a 
totally different number. 

So if you know that and are able to explain it in simple terms 
so that even engineers can understand it, it will be greatly 



More information about the NumPy-Discussion mailing list