행렬의 역행렬 구하기

혹시 3000000×3000000행렬의 역행렬을 컴퓨터에게 어떻게 시키면 되는지 아시는분…

코멘트

“행렬의 역행렬 구하기”에 대한 20개 응답

  1. 
                  snowall
                  아바타

    안되는 걸로 결론지은 것 같네요 -_-

    논문 찾아보니까, 몬테카를로 방법이 차선책인 듯 싶어요

  2. 
                 질럿
                 아바타

    저는 백만*백만 역행렬을 생각중인데요. 적정한 알고리즘을 찾으실 수 있으면 알려주세요. 클러스터 컴퓨터를 쓸 것이기는 하지만, 높은 수준의 병렬화는 하지 않고 각 노드별로 서로 다른 파라미터를 계산시킬 것이니까, 그냥 보통 피씨에 리눅스를 깔아서 포트란을 돌린다고 보시면 됩니다.

  3. 
                  snowall
                  아바타

    몰라요

    근데 유전자 분석이랑은 아마 관련 없을거예요 ㅋ

  4. 
                 goldenbug
                 아바타

    세상에… 저걸 왜 구하려 하는 건지???? (설마 게놈 뭐 이런 거랑 관련이 있는 건가요? ㄷㄷㄷ)

  5. 
                  snowall
                  아바타

    ㅋㅋ머리가 나빠서 한번에 “많이” 못 외우는게 단점이네요

  6. 
                  snowall
                  아바타

    그게 같은 결과인 이유는

    1번 -> 답 모름

    2번 -> 답 모름

    3번 -> 답 모름

    4번 -> 언제 끝날지 모름

    결국 다 모르는 거라서요.

  7. 
                  Hybrid
                  아바타

    속도를 빠르게 하기 위해 Tesla 를 이용한다는건 CUDA 를 이용한다는거겠죠? 문제는 얘네들이 한꺼번에 데이타 올라갈 수 있는 양이 정해져 있기 때문에, 약간 알고리즘을 변형 시켜서 부분부분 GPU 메모리에 올려서 계산해야합니다.

    병렬처리니까 계산은 무진장 빠르지만, CPU 에서 한번에 할 수 있는 계산도, GPU 에서는 여러번 메모리에 넣다 뺏다 하면서 계산해야하기 때문에 거기서 부하가 엄청나게 오래걸릴 수 있습니다.

    (요약 : 오버헤드는 하드에서 읽기 쓰기(엄청 큼), GPU 에 메모리 올리기(꽤 큼), GPU 에 나눠서 올려야 하기 때문에 나눠서 계산해야함(꽤 클 수 있음))

    그나마 역핵렬 계산이니…. 뭐, 아에 불가능하진 않을지도?

  8. 
                  Hybrid
                  아바타

    엇~ 다른 얘기에요.

    1. 말그대로 다운. 계산 불가. (기다리면 시간 낭비 됨. 따라서 중간 중간 다운되지 않았다는 메세지 등이 필요.)

    2. 0이 나온다. 오차 때문에 생기는 계산상 오류죠.

    3. 역시 무한대도 계산상 오류인데, 가능성이 쉽죠. 0으로 나누거나 하면 무한대는 쉽게 나오니.. 0으로 나누는 것도 실제로는 0이 아닌데, 오차 때문에 0이 된다거나 하면 ~.~ 암튼, 2번처럼 오차 때문에 생기는 오류겠죠. (2, 3번은 비슷하긴 하네요.)

    4. 계산은 됨.

  9. 
                  snowall
                  아바타

    넵. 정확히는 그 근처의 회사입니다. 뭐 자세한건 중요하지 않구요 -_-

    계산 알고리즘도 문제지만, 한번에 메모리에 다 넣고 계산할 수가 없어요. 행렬 전체가 36TB입니다. 36TB용량의 저장소 구축도 일이고 하드디스크에서 읽어올테니 계산하신 것보다 10배에서 100배는 더 걸릴 겁니다. 뭐 500시간이라고 해도 그럭저럭 해볼만하긴 한데요…

  10. 
                  snowall
                  아바타

    그냥 필요하대요…;;

    저도 청탁(?)받은 질문이라서요

    참고로 그 질문하신 분은 (어쩌다보니) 우리나라에서 가장 빠른 컴퓨터를 공짜로 무제한으로 쓸 수 있는 자리에 있습니다.

  11. 
                  snowall
                  아바타

    Determinant를 적당히 빠른 시간 내에 구할 수 있다면 Cramer rule을 그냥 적용할 수도 있다는 뜻이기 때문에…;;

    저는 기본행연산을 600만번 하는건 어떠냐고 제안해 봤는데 그것도 연산시간이 꽤 오래 걸리겠더군요…-_-

  12. 
                 ExtraD
                 아바타

    일단 Determinant가 0이 아닌지 확인한다. .. 아마 이 작업도 만만치 않을 듯.

  13. 
                 Aptunus
                 아바타

    키시려면 시킬 수는 있겠지만, 보다 효율적이고 빠른 새로운 방법을 고안하는게 관건이겠군요, 물론 슈퍼컴이나 전세계 컴퓨터의 잉여 자원을 쓴다는 가정하에…

    그런데 이 역행렬은 어디에 쓰시려고….;;

  14. 
                  snowall
                  아바타

    순수하게 계산만 따지면 300만의 세제곱수 만큼의 계산(덧셈, 뺄셈)을 해야 합니다.

    2GHz의 컴퓨터가 1초에 약 2억번의 연산을 한다고 가정하면, 약 5억초 정도 걸리네요.

    한 10년…

  15. 
                  snowall
                  아바타

    컴퓨터는 미치지 않아요

    정신을 잃을 뿐

  16. 
                  snowall
                  아바타

    같은 얘기잖아요 ㅋ

  17. 
                 탠저린양
                 아바타

    엄청 오래걸리다가 중간에 렉걸려서 꾀꼬닥!

  18. 
                 구차니
                 아바타

    미치지 않을까요 -ㅁ-?

  19. 
                Hybrid
                아바타
    Hybrid

    구현에 따라 다르겠지만,

    1. 뻣는다.

    2. 0이 나온다.

    3. 무한대(혹은 -무한대) 가 나온다.

    4. 엄청 오래 걸린다.

Hybrid 에 응답 남기기응답 취소

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.