Якщо , так як ваше запитання вказує на те , ви можете заощадити роботу першого вибору індексу набір I з р ≈ 5 п (скажімо) випадкових рядків і з допомогою ортогональної факторизации T I : = Q R . (QR-факторизація - це та, де Q є sqare, а R прямокутний з рангом r , а решта n - r стовпців R дорівнюють нулю. Використання перестановленої QR-факторизації підвищить стабільність; перестановку потрібно враховувати в більш детальний рецепт.)m≫nIp≈5nATI:=QRQRrn−rR
Як правило, це дасть вам набагато нижче мірне підпростір , натягнуте на стовпці , останньої п - г стовпців Q . Це підпростір містить нульове простір A . Тепер вибрати інший, непересічний випадковий набір індексів і обчислити QR розкладання ( A I : N ) T . Помножте отриманий нульовий простір зліва на N, щоб отримати вдосконалений N, можливо, навіть нижчого розміру. Ітерайте, поки розмірність N більше не зменшиться. Тоді ви, мабуть, маєте правильний нульовий простір і можете перевірити, обчисливши A NNn−rQA(AI:N)TNNNAN. Якщо це ще не незначно, зробіть подальші ітерації з найбільш значущими рядками.
Редагувати: Після того як ви отримаєте , ви можете знайти максимальний набір J лінійно незалежних стовпців A шляхом ортогональної факторизації N T = Q R з поворотом. Дійсно, множина J індексів, не обраних як опорні, матиме це властивість.NJANT=QRJ