topology   3년 전

R의 solve 함수를 사용했는데도 틀렸습니다가 나옵니다. (15자리까지 출력해봤습니다)

혹시 몰라서 no inverse만 출력해봤는데 틀린걸 봐서 첫 번째 데이터는 역행렬이 존재하는 경우인 것 같네요.

겨우 500 * 500 행렬의 역행렬 구하는데 R이 오차를 10-6이나 낼거라고는 생각하지 않습니다.

게다가 이렇게 많은 분들이 틀렸으니..

정답 역행렬로 채점한다면 데이터 확인이 필요할 것 같습니다.

만일 원래 행렬과 곱해서 단위행렬이 되는지 체크하는 방식이라면, 그 채점 방식은 수정되어야할 것 같습니다. 문제 디스크립션에서 10-6의 오차 범위 내에 있어야 정답으로 인정된다고 했는데, 이것은 누가 보더라도 정답 역행렬이 이 오차 범위 내에 있어야 한다는 뜻으로 받아들이지만, 원래 행렬과 다시 곱해버린다면 그 오차는 더욱 커지게 되어 문제의 취지와 맞지 않을 것 같네요.

이걸 고려한다 해도 R이 이 정도 오차를 낼 것 같지는 않네요. (실제로 여러 가지 큰 데이터로 테스트를 해본 결과 15자리까지 출력한 뒤 다시 원래 행렬과 곱했을때 단위행렬과의 오차는 10-10이 채 되지 않았습니다.)

어떤 채점방식이든 데이터나 스페셜저지의 확인이 필요할 것 같습니다.

startlink   3년 전

재채점 했습니다.

https://www.acmicpc.net/rejudg...


댓글을 작성하려면 로그인해야 합니다.