Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Significance of a singular matrix

  1. Nov 7, 2007 #1
    So I have a system of equations (composed of force and moment eqns) and I can split them up into matrices which will then look like this:
    Ax = B
    I know the matrices A and B are correct, because when I plug in known values for x from a working prog, I get the correct values for B. So that must mean A and B are correct, right?
    HOWEVER, I am not able to invert A so that I may solve x = inv(A) * B.
    The determinant of A is 0, so it's a singular matrix.
    So what is the significance of an singular matrix?
    Maybe there are redundant eqns involved? Am I looking at a statically indeterminant problem?
    How does one fix this?
  2. jcsd
  3. Nov 7, 2007 #2


    User Avatar
    Science Advisor

    A singular matrix doesn't have an inverse! And yes, that means that the rows making up the matrix A are not independent which, in turn, means that the equations you are using are not independent- at least one is just a combination of the others. You don't have enough data to solve those equations.
  4. Nov 29, 2009 #3
    Singularity of a matrix means that it becomes discontinuous at that point: take for example a black hole: it has a radius zero, which means that its gravitational force becomes undefined then; the same case here is when the adjoint of the co-efficient matrix we got is to be divided by the inverse, which is zero. Thus, the matrix is undefined there.

    This is not a dead end :smile:. We have numerical methods like Gauss-Siedel and Jacobi iteration to find out the solution, that is, X.

    let the eqn be of 3 variables, i.e., f(x1, x2, x3) = 0.

    then we can write it as:
    a11x1 + a12x2 + a13x3 = b1.......1
    a21x1 + a22x2 + a23x3 = b2.......2
    a31x1 + a32x2 + a33x3 = b3.......3

    then take initial gues values of x2(0) & x3(0). Put in eqn 1 n get x1(1).
    Put x1(1), x3(0) n get x2(1) from eqn 2.
    Put x1(1), x2(1) n get x3(1) from eqn 3.

    Now we have the second guess values as: x1(1), x2(1) & x3(1).
    Relaxation: x1(after iteration) = (some weightage)*x1(after iteration) + (1-weightage)*x1(before iteration).

    same for x2 and x3.
    Repeat the iterations till you get:
    abs{x1(k+1),x2(k+1), x3(k+1) - x1(k),x2(k),x3(k)} < tolerance.

    this will be your final set of x1, x2, x3 values.
    Hope this helps.
    The jacobi iteration is simpler than this: Google it yourself.
    here's a reference: http://www.math-linux.com/spip.php?article48 [Broken]
    Last edited by a moderator: May 4, 2017
  5. Nov 29, 2009 #4
  6. Nov 30, 2009 #5
    I don't know what is your application, so my hint maybe not be useful.
    However, if you cannot invert that matrix you can still find the pseudoinverse of A (a.k.a. Moore-Penrose inverse, or generalized inverse).
    This will give you the vector x which "gets closest" to the solution in terms of L2-norm. Namely, it is a closed form solution for the following:


    See: http://en.wikipedia.org/wiki/Moore–Penrose_pseudoinverse
    Last edited: Nov 30, 2009
  7. Nov 30, 2009 #6
    First Gauss-Seidel, then Jacobi.
    Now Moore-Penrose.
    I just remembered one more: Gauss-Jordan elimination method of finding a MATRIX INVERSE

  8. Nov 30, 2009 #7
    try using a software named MATLAB: it has readymade methods of finding matrix inverse if you don't need to show to your professor/teacher how you got the answer matrix: X
  9. Nov 30, 2009 #8
    Are you sure the methods you mentioned still work when the matrix A is singular?

    I thought the Moore-Penrose pseudoinverse was the only one that provides the "best solution" in terms of least squares.
    Keep also in mind that the Moore-Penrose pseudoinverse works also when A is not a square matrix!
  10. Nov 30, 2009 #9
    cent percent sure! we have used it in our FORTRAN classes to solve sums.... fresh out of grad...can't be mistaken
  11. Dec 1, 2009 #10
    That means your truss topology or whatever you are working on is overconstrained. Similar to defining a plane with 4 points.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook