For what it's worth, matlab's rank function just calls svd, and returns the number singular values greater than a tolerance.&nbsp; The implementation is a whopping 5 lines long.<br><br><div><span class="gmail_quote">On 2/10/06, 
<b class="gmail_sendername">Fernando Perez</b> &lt;<a href="mailto:Fernando.Perez@colorado.edu">Fernando.Perez@colorado.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Since numpy is a n-dimensional array package, it may be convenient to<br>introduce a matrix_rank() routine which does what matlab's rank() for 2-d<br>arrays and matrices, while raising an error for any other shape.&nbsp;&nbsp;This would
<br>also make it explicit that this operation is only well-defined for 2-d objects.</blockquote><div><br>Or put it in numpy.linalg, which also makes it pretty clear what the scope is.<br><br>--bb<br></div></div><br><br>