2011-09-21 2 views
4

대수적 숫자로 산술 연산을 수행 할 수있는 C++ 호환 패키지를 찾고 있습니다. (주 : 대수적 인 수는 정수 계수를 갖는 다항식의 근 수인 수를 의미하므로 십진수 또는 합리적인 표현으로 주어지지 않습니다.C++의 대수를 사용하는 산술을위한 패키지?

Mathematica는 대수적 인 숫자를 "루트 객체"로 처리하며, 루트의 선택이 가능한 다항식으로 표현됩니다. 그런 다음 두 개의 루트 객체를 추가하고 곱한 다음 축소하여 새 루트 객체를 얻을 수 있습니다.

C++에서 같은 기능을하는 소프트웨어가 있습니까? 숫자 필드 확장을 사용하여 여러 가지 일을하는 멋진 숫자 이론 패키지를 보았습니다. 그러나 더하기, 빼기, 곱하기, 나누기, 줄이기, 평등에 대한 테스트 등 대수적 인 숫자로 기본 산술을 수행하는 것보다 간단한 것을 선호합니다. .

답변

0

Mathematica는 C++와 인터페이스 할 수있는 방법을 제공합니다. 이것이 당신을 위해 일할 수 있다면, 나는 당신이 필요로하는 모든 것과 이미 많은 것을 가지고있는 패키지를 찾기 위해 당신의 요구가 너무 지역화 될 수 있으므로이 방법을 추천 할 것입니다.

http://reference.wolfram.com/mathematica/guide/CLanguageInterface.html

+0

감사를위한 C++ 라이브러리. 프로그램이 매쓰 매 티카를 모든 대수 연산에 대해 호출해야한다면 속도는 조금 걱정 스럽지만 어쩌면 그렇게 나쁘지는 않을 것입니다. – Paul

+0

내가 링크 된 페이지를 체크 아웃하면, Mathematica 함수를 C 소스 코드로 내보낼 수 있다는 것을 알게 될 것이다. 그런 다음이 코드를 프로젝트에 배치 할 수 있습니다. 따라서 외부 실행 파일을 호출하지 않고 오버 헤드가 발생하지 않습니다. –

1

Givaro : 산술 실제로 가장 좋은 방법이 될 수 있습니다 티카와 인터페이스 대수 계산