작은 연습으로 파이썬에서 숫자 코드로 게임을 시작하기 전에 LDLT 알고리즘을 만들려고합니다. 그냥 발을 젖게하십시오.Numpy 기본 배열 값 지정
그러나 나는 numpy 배열의 근본적인 이해가 부족한 것 같습니다. 다음 예제를 참조하십시오.
def ldlt(Matrix):
import numpy
(NRow, NCol) = Matrix.shape
for col in range(NCol):
Tmp = 1/Matrix[col,col]
for D in range(col+1, NCol):
Matrix[col,D] = Matrix[D,col]*Tmp
if __name__ == '__main__':
import numpy
A = numpy.array([[2,-1,0],[-1,2,-1],[0,-1,2]])
ldlt(A)
예제는 내가 수행중인 전체 코드가 아닙니다. 그러나 그것을 시도하고 그것을 실행하고 매트릭스 [콜, 디] = ...에서 중단 점을 설정합니다. ...
첫 번째 평가에 대한 기대는 행 0 열 1 (시작 값 -1) = -1 * (1/2) = -0.5로 설정하십시오.
그러나 코드를 실행하면 0과 동일하게 설정됩니다. 왜? 정말 이해하지 못했던 근본적인 것이 있어야합니까?
나를 도와 주신 모든 분들께 미리 감사드립니다.
편집 1 :
파이썬 버전 : (내 디버거에 의해 보도 된 바와 같이) 3.3 tmp에 0.5가 될 .:.
예. 고마워요. 내가 우연히 만났을 때가 오랜 시간이었을 것입니다. – Daniel