1

저는 다항식의 시스템을 가지고 있습니다. 상당히 단순한 다항식으로, 내 손을 최적화하기 위해 길게는 입니다. 표현식은 집합으로 그룹화되며 주어진 집합에는 여러 변수에 공통된 용어가 있습니다.컴퓨터 대수학 부드러운 다항식 집합의 연산 수를 최소화합니다.

Mathematica, Matlab 또는 sympy와 같은 컴퓨터 대수 시스템이 있는지 알고 싶습니다. 일반적인 대다수의 다항식을 최적화하여 연산 수를 최소화 할 수 있습니다. 그러한 시스템이 레지스터 수를 줄이기 위해 중간 항의 수를 최소화 할 수 있다면 또한 좋을 것입니다.

그런 시스템이 없다면 필자는 Python 상징 대수 Sympy를 사용하여 직접 할 것입니다. 그러한 패키지로 작업 중이거나 개발에 관심이 있다면 알려주십시오. (- 품질 보증 t) 용어 여기

이 만들어 낸 예를

x0 = ((t - q*A)*x + B)*y 
y0 = ((t - q*A)*y + B)*z 
z0 = ((t - q*A)*z + B)*x 

그래서 당신은 분명히을 인수 분해 할 수있다. 이제 일반적인 용어의 다양한 조합으로 용어의 수를 매우 크게 만들면 손으로 처리하기가 어려워집니다. 나는 40 개 용어와 세트의 크기까지 포함이 방정식은

도움 주변 (20) 희망

+0

최적화를 통해 정확히 무엇을 의미하는지에 대해 자세히 설명해 주시겠습니까? 무엇을하고 싶습니까? 어쩌면 예가 있을까요? – Rook

+1

Simpy는 불연속 시뮬레이션 패키지로 sympy를 의미합니다. – PaulMcG

+0

당신이 맞습니다, 나는 sympy를 의미합니다 – Anycorn

답변

1

당신이 찾고있는 sympy가 감사입니까? 나는 그것이 다름 아닌 다항식에 대한 지원을 가지고 있다고 믿지만, 당신이 원할지도 모르는 모든 기능을 지원하는지는 모르겠다. (여전히, 당신이 생각하는 것을 추가하기 위해 그것을 수정하면 처음부터 직접 작성하는 것보다 쉽다.) .

+0

예. 나는 그것을 보았다. 그것은 내가 원하는 것을하지는 않지만, 내 자신을 굴릴 경우 이것은 내가 사용하려고하는 것입니다. 나는 파이썬 상징 대수학을 말할 때 실제로 그것을 의미했다. – Anycorn

1

Maxima으로 생각하십니까?

자유롭고 오픈 소스이며 강력하고 활동적인 커뮤니티가있어 인상적인 상징적 인 계산 패키지입니다. 명확하지 않은 공식을 다룰 때 도움이됩니다. 세 가지 주요 운영 체제 모두에 쉽게 사용할 수 있으며 미리 컴파일 된 Windows 바이너리가 있습니다.

당신은 대수 조작의 다양한 표현을 위해 사용할 수있는 명령 (예 : 당신 같은) 식의 시스템이 : 등, 요소를 확장 단순화, ratsimp, linsolve,

이 페이지 (Maxima for Symbolic Computation)는 당신을 얻어야한다 시작하기 - 빠른 명령 참조/치트 시트 및 자신 만의 스크립트 작성을위한 몇 가지 지침을 포함하여 다운로드, 설치, 몇 가지 예를 살펴본 후 길을 인도하는 추가 자료를 지적하십시오.

0

잘 Mathematica는 당신과 같은 다항식의 집합에 모든 종류의 변환을 확실히 할 수 있으며, 그러한 변환 중 일부는 용어의 수를 줄일 수 있습니다. 그게 당신에게 맞는 대답인지 아닌지는 의문의 여지가 있습니다. 나는 메이플 (Maple)과 그 ​​밖의 대부분의 CAS에 대해서도 마찬가지라고 기대합니다.

그러나

당신의 언급은

는 당신이 실제로 컴파일에 대한 몇 가지 데이터 흐름 분석을 수행하려고하는 것을 제안 레지스터의 수를 줄이십시오. 당신은 그 주제에 대한 문헌을보고 싶을 수도 있습니다. 그 문학 중 일부는 실제로 표현에 대한 컴퓨터 대수학과 같은 변형을 의미합니다.

1

Mathomatic은 찾고있는 경량 솔루션 일 수 있습니다. 보십시오 : http:www.mathomatic.org.

일반적인 대수 연산자를 모두 사용하는 간단한 대수학을 사용하고 기호식을 단순화하고 변수 및 일련의 eqns를 풀 수 있습니다.

프로그래밍 기능이 없습니다. 독립 실행 형 응용 프로그램을 만들거나 라이브러리 및 헤더 파일 형태로 API를 사용하여 C, C++ 또는 Objective-C에 통합하거나 명령 줄 및 환경을 제공하는 응용 프로그램에서 응용 프로그램을 시작할 수 있습니다 .

NSTask를 살펴보면 stdin과 stdout을 자신의 앱에서 데이터 스트림으로 파이프 할 수도 있습니다.

Mathomatic은 결과 코드를 Java, Python 또는 Maxima 형식으로 저장하여 이러한 시스템의 프로그램 코드에 포함 할 수도 있습니다.