Вычисление нулевого пространства матрицы

Я пытаюсь решить систему уравнений вида Ax = 0. А известная матрица 6x6, и я написал приведенный ниже код, используя SVD, чтобы получить вектор x, который работает в определенной степени. Ответ примерно правильный, но недостаточно хороший, чтобы быть полезным для меня, как я могу улучшить точность расчета? Понижение eps ниже 1.e-4 вызывает сбой функции.

from numpy.linalg import *
from numpy import *

A = matrix([[0.624010149127497 ,0.020915658603923 ,0.838082638087629 ,62.0778180312547 ,-0.336 ,0],
[0.669649399820597 ,0.344105317421833 ,0.0543868015800246 ,49.0194290212841 ,-0.267 ,0],
[0.473153758252885 ,0.366893577716959 ,0.924972565581684 ,186.071352614705 ,-1 ,0],
[0.0759305208803158 ,0.356365401030535 ,0.126682113674883 ,175.292109352674 ,0 ,-5.201],
[0.91160934274653 ,0.32447818779582 ,0.741382053883291 ,0.11536775372698 ,0 ,-0.034],
[0.480860406786873 ,0.903499596111067 ,0.542581424762866 ,32.782593418975 ,0 ,-1]])

def null(A, eps=1e-3):
  u,s,vh = svd(A,full_matrices=1,compute_uv=1)
  null_space = compress(s <= eps, vh, axis=0)
  return null_space.T

NS = null(A)
print "Null space equals ",NS,"\n"
print dot(A,NS)

Ответы на вопрос(2)

Ваш ответ на вопрос