Calcular el rango de la matriz usando scipy

Me gustaría calcular elrango matemático de una matriz usando scipy. La función más obvianumpy.rank calcula la dimensión de una matriz (es decir, los escalares tienen dimensión 0, vectores 1, matrices 2, etc.). Soy consciente de que elnumpy.linalg.lstsq El módulo tiene esta capacidad, pero me preguntaba si una operación tan fundamental está integrada en la clase de matriz en alguna parte.

Aquí hay un ejemplo explícito:

from numpy import matrix, rank
A = matrix([[1,3,7],[2,8,3],[7,8,1]])
print rank(A)

Esto da2 la dimensión, donde estoy buscando una respuesta de3.

Respuestas a la pregunta(7)

Su respuesta a la pregunta