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

How is a non-quadratic matrix singular?

  1. Jul 27, 2010 #1
    Hi,

    I have a matrix A (in general not quadratic). It has an arbitrary amount of rows and L+1 columns. This matrix should be of rank K.

    But using the MATLAB command
    Code (Text):
    rank(K)
    often gives the wrong result.

    However, according to a paper this is another approach to identify K. It says: "Find the smallest L such that the matrix A is singular. Then K = L − 1."

    But: A is not quadratic in general. How to I see if a non-quadratic matrix is singular? What would be the appropriate way to do this in MATLAB?

    I do not understand this: I can not calculate the determinant of a non-quadratic matrix...

    Regards,
    divB
     
  2. jcsd
  3. Jul 27, 2010 #2

    Office_Shredder

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    What is a quadratic matrix? Do you mean a square matrix?

    Why do you have rank(K) as a matlab command? Isn't K a number that's supposed to be the rank of A?

    For your discussion about L... how do you get to pick L? If L is different you have a different matrix. The technique doesn't make any sense as you've written it.

    As to determining whether a matrix is singular... if it doesn't have the same number of rows and columns, the term makes no sense. Matrices that don't have the same number of rows and columns cannot be invertible (because the domain and the codomain don't have the same dimension, so there can't be a linear bijection between them). Singular is usually reserved to talk about square matrices that are not invertible; I suppose if you want to apply the term to non-square matrices all of them would be singular.
     
  4. Jul 27, 2010 #3
    Hi,

    Thank you very much for your reply!

    First: Yes of course, I mean square matrix!

    Second: Because the rank K tells me the number of linear independent rows/columns in A. In fact the matrix A is built using a specific algorithm (which I will describe shortly) and I know from this fact what *should* be the rank.

    Third: I know that the matrix will be different when I change L. However, as said, the matrix is built up by a specific algorithm. This way it should be possible to determine the rank with this method. More about it: later.

    And to your last statement: Are you sure? This way the paper would be wrong ;-)

    However, maybe it is easier to understand if I just write how the matrix is built.

    First I have K values t_k. In my case they are known a priori but in real they are not. Also, the amount is not known in reality.

    From these t_k I build sequences s_m as follows:

    [tex]s_m = \sum_{k=1}^K c_m t_k[/tex]

    where the c_m are just constants (known a priori). The number of sequences is N where N = 2*L - 1 >> 2*K.

    Using this sequence, the following Toeplitz matrix A is built:

    Code (Text):

    for l=1:N-L+1
        A(l,:) = tau(L+l:-1:l);
    end
     
    I wrote MATLAB code because it is easier to write. I hope it is possible to understand.

    As you can see, this matrix has L columns now and a specific amount of rows (N-L+1) but this is not important.

    Important is the following fact: The matrix is not square but because of its construction the rank must not exceed K! Because the sequences s_m just consists of a linear combination of K distinct values.

    The big question is: How to find K? (As said before: In reality the matrix A is not built that way and therefore I do not know K)

    My naive way was: rank(A). This works for small values of K but for large values the result is always wrong.

    The second approach is from the paper and is exactly what I quoted in the first post: "Find the smallest L such that the matrix A is singular. Then K = L − 1."

    This works in theory because L >> K.

    I hope my setup is clear now :-)

    Regards,
    divB
     
  5. Jul 27, 2010 #4
    There is no determinant of a matrix that is not square.
     
  6. Jul 27, 2010 #5
    Hi,

    Yes I know that there is no determinat .... but is there a way to tell if a matrix is just singular?

    Or is the paper wrong?

    http://preview.tinyurl.com/3yf56kx

    Page 7 under equation (13) you can see exactly what I have written in my post. It clearly states that a non-rectangular matrix can be singular/non-singular.

    Regards,
    divB
     
  7. Jul 27, 2010 #6
    please quote the exact paragraph where it gives a criterion for a rectangular matrix being singular/non-singular, cause I can't find it.
     
  8. Jul 27, 2010 #7
    Hi,

    Looking at equation (12) (page 7) you can see that A is rectangular (not square) because it has 2M-L+1 rows and L+1 columns. Furthermore, the paper states directly after this definition:

    And directly afterwards you can find:
    So the paper states that there must exist a definition for singularity of a rectangular matrix.

    Regards,
    divB
     
  9. Jul 27, 2010 #8

    Office_Shredder

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Yes when it says that a rectangular matrix can be singular, it's wrong. If L>K they describe how the matrix has a non-trivial kernel, so I suspect what the author intends is to say find the smallest value of L such that there is a non-trivial kernel, or something to that effect
     
  10. Jul 27, 2010 #9
    Oh, I see.

    Do you know when the homogeneous system:

    [tex]
    \mathbf{A} \cdot H = 0
    [/tex]

    with [itex]\mathbf{A}[/itex] being a rectangular matrix, has a non-trivial solution, i.e. a vector [itex]H[/itex] that is not identically equal to zero?
     
  11. Jul 27, 2010 #10
    Hi,

    Thank you for the hint. Ok, this maybe :-) Unfortunately I am not mathematican ;-)

    Do you have any hint of this topic? How can I see if there exists a (non)trivial kernel for a matrix?

    Maybe a question related to this: I explained why the matrix A must have a rank of K. What could be the reason why MATLAB gives wrong results of the "real" K becomes larger?

    Is there a different way to calculate/estimate the rank of a matrix?

    What I tried was to calulcate the condition number of the matrix A in relation to L, i.e. "cond(A(L))". But I could not find a significant "step" at L=K...

    Regards,
    divB
     
  12. Jul 27, 2010 #11
    @Dickforce: Yes, I think so: If A has full rank? In terms of my example: If L=K ?
     
  13. Jul 27, 2010 #12
    The rank of a matrix is defined as the highest possible dimension of a (square) sub-determinant that is non-zero (non-singular). Let [itex]\mathbf{A}_{m \times n}[/itex] and let [itex]k = \mathrm{rank}(\mathbf{A})[/itex]. The condition that a non-trivial solution exist is that [itex]k < n[/itex].
     
  14. Jul 27, 2010 #13
    Hi,

    Hmm. I do not fully understand what you mean. In fact it seems clear. But what if do not know [tex] k = \mathrm{rank}(\mathbf{A})[/tex] and I want to find it?

    Regards, divB
     
  15. Jul 27, 2010 #14
    I simply stated the condition for a non-trivial solution to exist. I don't say anything about finding the rank.
     
  16. Jul 27, 2010 #15
    Oh, ok that's clear. My question was how to find the rank..
    Thanks anyway!
     
  17. Jul 27, 2010 #16
    There are many standard methods in the literature. You should read up on them.
     
  18. Jul 27, 2010 #17
    And the method proposed in the paper ("Find the smallest L such that the matrix A built according to (12) is singular. Then K = L − 1") is wrong in your opinion?

    Regards,
    divB
     
  19. Jul 27, 2010 #18
    I don't know. I don't have time to read through the paper. Sorry.
     
  20. Jul 27, 2010 #19
    Ok, thanks anyway!
     
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook