octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #52533] Explanation of the rank function


From: Kai Torben Ohlhus
Subject: [Octave-bug-tracker] [bug #52533] Explanation of the rank function
Date: Wed, 29 Nov 2017 05:16:42 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36

Update of bug #52533 (project octave):

                  Status:                    None => Patch Submitted        
             Assigned to:                    None => siko1056               
                 Release:                   4.2.1 => dev                    

    _______________________________________________________

Follow-up Comment #1:

Do you agree with the following docstring?  Then I can push this one
straight-forward.  The changes will be part of the next major release, that
might be 4.4.0, and are contributed to you,
Lasse Kliemann <address@hidden>.


 -- rank (A)
 -- rank (A, TOL)
     Compute the rank of matrix A, using the singular value
     decomposition.

     The rank is taken to be the number of singular values of A that are
     greater than the specified tolerance TOL.  If the second argument
     is omitted, it is taken to be

          tol = max (size (A)) * sigma(1) * eps;

     where `eps' is machine precision and `sigma(1)' is the largest
     singular value of A.

     The rank of a matrix is the number of linearly independent rows or
     columns and equals the dimension of the row and column space.  The
     function `orth' may be used to compute an orthonormal basis of
     that space.

     For testing if a system `A*X = B' of linear equations is solvable,
     one can use

          rank (A) == rank ([A B])

     In this case, `X = A \ B' finds a particular solution X.  The
     general solution is X plus the null space of matrix A.  The
     function `null' may be used to compute a basis of the null space.

     Example:

          A = [1 2 3
               4 5 6
               7 8 9];
          rank (A)
            => 2

     In this example, the number of linearly independent rows is only 2
     because the final row is a linear combination of the first two
     rows.

          A(3,:) == -A(1,:) + 2 * A(2,:)

     See also: null, orth, sprank, svd, eps.


(file #42520)
    _______________________________________________________

Additional Item Attachment:

File name: bug_52533.patch                Size:1 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?52533>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]