next | previous | forward | backward | up | top | index | toc | Macaulay2 website
FastMinors :: isRankAtLeast

isRankAtLeast -- determines if the matrix has rank at least a number



This function tries to quickly determine whether the matrix has a given rank. isRankAtLeast calls getSubmatrixOfRank. If that function finds a submatrix of a certain rank, this returns true. If that function fails to find a submatrix of a certain rank, this simply calls rank. To control the number of times getSubmatrixOfRank considers submatrices, use the option MaxMinors.

i1 : R = QQ[x,y];
i2 : M = matrix{{x,y,2,0,2*x+y}, {0,0,1,0,x}, {x,y,0,0,y}};

             3       5
o2 : Matrix R  <--- R
i3 : rank M

o3 = 2
i4 : isRankAtLeast(2, M)

o4 = true
i5 : isRankAtLeast(3, M)

o5 = false

The option Threads can be used allow the function use multiple threads of execution. If allowableThreads is above 2 and Threads is set above 1, then this function will try to simultaneously compute the rank of the matrix while looking for a submatrix of a certain rank.

See also

Ways to use isRankAtLeast :

For the programmer

The object isRankAtLeast is a method function with options.