http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.linalg.orth.htmlscipy.linalg.orth()에서 "자동 종료"란 무엇입니까?
어떻게 조정할 수 있습니까? 나는 예상보다 적은 기초를 얻고 있습니다. Google은 처음 몇 페이지에서 분명히 유용한 결과를 제공하지 않습니다.
http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.linalg.orth.htmlscipy.linalg.orth()에서 "자동 종료"란 무엇입니까?
어떻게 조정할 수 있습니까? 나는 예상보다 적은 기초를 얻고 있습니다. Google은 처음 몇 페이지에서 분명히 유용한 결과를 제공하지 않습니다.
orth
은 singular value decomposition을 사용합니다. orth
의 정의는 현재 https://github.com/scipy/scipy/blob/master/scipy/linalg/decomp_svd.py에 살고, 나는이 쓰기로, (문서화 문자열을 삭제) orth
에 대한 전체 코드는 다음과 같습니다
def orth(A):
u, s, vh = svd(A, full_matrices=False)
M, N = A.shape
eps = numpy.finfo(float).eps
tol = max(M, N) * numpy.amax(s) * eps
num = numpy.sum(s > tol, dtype=int)
Q = u[:, :num]
return Q
결과는 적은 tol
보다 특이 값이 0이된다는 점이며, 해당 방향은 A
범위의 일부로 간주되지 않습니다. tol
은 상대 값 허용 오차입니다.이 값은 A
의 최대 특이 값 max(M, N)*eps
번으로 설정됩니다. 여기서 eps
은 부동 소수점 컴퓨터 입니다.
orth
은 tol
이 계산되는 방법을 제어하는 인수를 제공하지 않지만 알 수 있듯이이 함수는 몇 줄에 불과합니다. 무시할 특 수 값을 결정하는 데 다른 방법을 사용하려면 orth
을 자신의 함수를 작성하기위한 시작점으로 사용할 수 있습니다.