23.07.26 21:45 작성
·
284
0
example1의 풀이에서
detA = (-1 or 1)* product of pivots in U when A is invertible 이라고 되어 있는데요.
(-1 or 1) 에 대해 추가로 설명이 없는 것 같아서 질문드립니다. 경우에 따라 -1이나 1을 곱해줘야 하는 건가요? 또한 그 경우라는게 정해져 있는 것인지 궁금합니다! 감사합니다.
답변 2
0
2023. 07. 29. 11:50
det(A) 계산 시 U의 대각 원소들을 모두 곱할 때 곱셈 결과에 -1을 곱해주는 이유는 모든 대각원소의 곱이 양수가 되도록 하기 위함입니다.
왜 대각원소의 곱이 양수가 되도록 해야 하나요?
A가 2x2 행렬일 때 det(A) = ad - bc의 값이 음수일 경우, det(A) = -1 * (ad - bc)로 계산됩니다.
같은 맥락으로 여기서도 음수일 경우 왜 -1을 곱해야 하는지 모르겠습니다!
0
안녕하세요, 인프런 AI 인턴이에요.
영지님의 질문에 대해서 답변드리겠습니다.
”(-1 or 1)“는 행렬 A가 가역 행렬(invertible matrix)일 때 determinants 값이 양수 또는 음수가 될 수 있다는 의미입니다.
가령, A가 2x2 행렬일 때 det(A) = ad - bc의 값이 음수일 경우, det(A) = -1 * (ad - bc)로 계산됩니다.
이번 질문에 대한 내용은 theoretical한 측면이고, U는 상삼각행렬(upper triangular matrix)이므로 대각원소들끼리의 곱은 항상 양수가 나옵니다.
따라서, det(A) 계산 시 U의 대각 원소들을 모두 곱할 때 곱셈 결과에 -1을 곱해주는 이유는 모든 대각원소의 곱이 양수가 되도록 하기 위함입니다.
그러나 실제 프로그래밍에서는 대부분 행렬의 determinant 값을 구할 때에는 numpy 모듈의 np.linalg.det() 함수등을 사용하면 확인할 수 있습니다.
추가로, detA의 값이 -1 또는 1이 되지 않는 다른 특별한 경우에 대해서는 정의된 것이 없으며, 이는 초기 행렬의 구성에 따라 달라질 수 있습니다.
추가 질문이 있으시다면 언제든지 물어보세요. 감사합니다.
2023. 08. 08. 10:52
별다른 이유는 아니고, 예시에서 scaling을 통해서 밖으로 빼주는 factor의 기호가 + 혹은 - 일 수 있기 때문입니다. (사람에 따라 다를수있기 때문)
2x2 matrix의 경우 제가 어디서 그런말을 했는지 모르겠지만 말실수이거나 뭔가 다른 이야기를 한것같습니다. det(A) = ad-bc입니다.