Обратите внимание, что sp.linalg.orth
использует SVD, а np.linalg.qr
использует QR-факторизацию. Обе факторизации получены через оболочки для функций LAPACK.
Я не думаю, что есть сильное предпочтение одного над другим. SVD будет немного более стабильным, но и немного медленнее в вычислениях. На практике я не думаю, что вы действительно увидите большую разницу.