문제

사용하는 프로그램이 있습니다 자마 그리고 테스트가 행렬을 뒤집을 수 있습니다. 나는 그것을 시도하고 예외를 잡을 수 있다는 것을 알고 있지만 나쁜 생각처럼 보입니다 ( "일반"코드 경로의 일부로 캐치 블록을 갖는 것은 나쁜 형태 인 것 같습니다).

역전을 반환하는 테스트 (또는 역 조작보다 더 나은 O ()로 실행)가 선호됩니다.

도움이 되었습니까?

해결책

일반적으로 매트릭스를 해결할 수 없다면 단일 루어 (비 변환 불가능)입니다. Jama가하는 방식은 LU 인수화를 사용하여 행렬을 해결하려고 시도하는 것이며, 실패하면 issingular ()에 대해 "true"를 반환합니다.

매트릭스의 요소를보고 단수인지 판단하는 일반적인 방법은 실제로 없습니다. 각 열이 다른 열의 직교인지 확인해야합니다 (예 : 매트릭스의 NullSpace는 0). 그러나 LU 인수화는 매우 빠르며, 일반적으로 ... 대부분의 작업을 취하는 시간이 있습니다.

극복하려는 실제 속도 문제가 있습니까?

다른 팁

예외가 발생하면 회복 위치는 무엇입니까?

lu 분해를하고 그것이 단수라는 것을 알게되면, 예외를 포착하고 대신 SVD (단일 가치 분해)를 시도합니까?

조건 번호의 역수를 추정하고 싶은 것처럼 들립니다.

이 지역 다소 유망한 것 같습니다 ...

또한보십시오 골럽과 밴 대출, p. 128-130. (사본이 없으면 하나를 얻으십시오.)

...또는 하이암, 누가 수치 적 방법에 대한 권한인가. 라즈베리 덤불의 덤불을 걷는 것처럼 수학을 구문 분석하기가 어렵다는 점을 제외하고는 어렵습니다. :/

또는 옥타브 소스를 해당 버전에 대해 확인하십시오. Matlab 's rcond(). 나는 찾았다 이 게시물.

사각형 매트릭스의 경우, 당신은 그냥 확인할 수 있습니다 결정자 --- matrix.det () 매트릭스가 단수형 인 경우에만 0을 반환합니다. 물론, 당신은 끊임없이 조건 매트릭스도.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top