public static DMatrixRMaj nullspaceQR ( DMatrixRMaj A , int totalSingular ) { SolveNullSpaceQR_DDRM solver = new SolveNullSpaceQR_DDRM ( ) ; DMatrixRMaj nullspace = new DMatrixRMaj ( 1 , 1 ) ; if ( ! solver . process ( A , totalSingular , nullspace ) ) throw new RuntimeException ( "Solver failed. try SVD based method instead?" ) ; return nullspace ; }
Computes the null space using QR decomposition . This is much faster than using SVD