Em um projeto de software em que estou trabalhando, certos cálculos são muito mais fáceis para matrizes densas de baixa patente. Algumas instâncias de problemas envolvem matrizes densas de baixo escalão, mas são dadas a mim na íntegra, e não como fatores, portanto, terei que verificar o rank e fatorar a matriz se quiser tirar proveito da estrutura de baixo escalão .
As matrizes em questão são tipicamente total ou quase totalmente densas, com n variando de cem a alguns milhares. Se uma matriz tem uma classificação baixa (digamos menos de 5 a 10), vale a pena computar o SVD e usá-lo em uma fatoração de classificação baixa. No entanto, se a matriz não tiver uma classificação baixa, o esforço será desperdiçado.
Assim, eu gostaria de encontrar uma maneira rápida e razoavelmente confiável de determinar se a classificação é baixa ou não antes de investir no esforço de fazer uma fatoração completa de SVD. Se, a qualquer momento, ficar claro que a classificação está acima do ponto de corte, o processo poderá parar imediatamente. Se o procedimento declarar erroneamente que a matriz é de classificação baixa quando não é, isso não é um problema enorme, pois eu ainda estaria fazendo um SVD completo para confirmar a classificação baixa e encontrar uma fatoração de classificação baixa.
As opções que considerei incluem uma classificação que revela a fatoração LU ou QR seguida por um SVD completo como verificação. Existem outras abordagens que devo considerar?