6

파이썬에서 NumPy의 복잡한 숫자 배열을 사용하여 NumPys 기본 복합 유형 (10^500보다 큰 숫자)의 일반적인 부동 소수점 제한을 훨씬 넘어서고 있습니다. NumPy를 확장 할 수있는 방법이 있는지 알고 싶었습니다. 이렇게하면 이러한 종류의 복잡성을 처리 할 수 ​​있습니다. 예를 들어 Decimal 모듈의 기능을 사용하는 NumPy 복합 유형을 만드는 방법이 있습니까?Numpy에서 Decimal 타입의 정확도로 복소수를 만드는 방법이 있습니까?

나는 아마도 내가 필요로 할 수있는 mpmath (https://code.google.com/p/mpmath/)와 같은 리소스가 있지만 NumPy를 사용하는 것은 내 프로젝트의 요구 사항이라는 것을 알고있다.

내가 왜이 엄청난 숫자가 필요한지 관심이있는 사람은 초기 우주의 Numerical Relativity 시뮬레이션을 연구하고 있기 때문입니다.

+0

당신에게 ^을 시도해 봤어 4932j mpmath 객체의 numpy 배열을 만드시겠습니까? – M4rtini

+0

[NumPy docs의 사용자 정의 데이터 유형]에 대한 정보가 있습니다 (http://docs.scipy.org/doc/numpy/user/c-info.beyond-basics.html#user-defined-data-types). –

+0

mpmath 객체 배열을 만들지 생각하지 않았습니다. 시도해 보겠습니다. 또한 사용자 정의 유형의 기사가 유망 해 보인다. 둘 다 고마워요. 결과를 알려 드리겠습니다. – Anarki

답변

2

플랫폼에 따라 complex192 &/또는 complex256에 대한 지원이있을 수 있습니다. 일반적으로 Windows에서는 인텔 플랫폼에서는 사용할 수 없지만 다른 플랫폼에서는 사용할 수 있습니다. 코드가 Solaris 또는 슈퍼 컴퓨터 클러스터에서 실행되는 경우 이러한 유형의. 리눅스에서는 심지어 사용할 수 있거나 심지어 dtype=object을 사용하여 배열을 생성 한 다음 bigfloat 또는 gmpy2.mpc를 사용할 수 있습니다.^4932

  1. complex256 번호를 최대 10 + 10
  2. complex192 상동 미만 정밀 심지어 NumPy와 및 complex512의 언급 보았다
  3. ...
+0

흠, 내 작업은 현재 윈도우 머신과 리눅스 박스 모두로 나뉘어져 있습니다. 두 머신 모두 리눅스를 만들거나 다른 솔루션을 찾아야 할 것입니다. 고맙습니다. 조사 할 수있는 좋은 길을 제시합니다. – Anarki