def calcChildRank(top, in_mat, alreadyRanked): toprows, topkids = top # F = vfield("a_(1:%d)(1:%d)" % (len(toprows), in_mat.cols), ZZ) # F = vfield("a_(1:5)(1:5)", ZZ) if alreadyRanked and not COMPUTE_ALL_SUBMAT_RANKS: rank = len(toprows) else: newSubMat = makeNewMat(toprows, in_mat) # myRawMat = RawMatrix(newSubMat.rows, newSubMat.cols, map(F.to_domain().convert, newSubMat)) # rank = calcRank(myRawMat) rank = maximaTools.getMatrixRank(newSubMat) alreadyRanked = (rank == len(toprows)) return rank, [calcChildRank(x, in_mat, alreadyRanked) for x in topkids]
def calcRank(in_mat): return maximaTools.getMatrixRank(in_mat)
def calcJacobianRank(self): self.Jac = laplaceTools.calcJacobian(self.AdjMat, self.Alphas, self.Betas) #self.Rank = laplaceTools.calcRank(self.Jac) self.Rank = maximaTools.getMatrixRank(self.Jac)