카테고리 보관물: scicomp

scicomp

와 같은 대수 표현을 단순화 할 수있는 오픈 소스 또는 액세스하기 쉬운 소프트웨어가 있습니까? 항상 손으로 물건을 계산하지만, 지금 나의

나는 항상 손으로 물건을 계산하지만, 지금 나의 동지들은 불쾌 해지고 위의 표현과 같이 물건을 막는 것과 관련하여 많은 반복적 인 운동을하고 있습니다. 이러한 종류의 방정식을 단순화하기 위해 Python 또는 R과 같은 오픈 소스 소프트웨어에 특히 관심이 있습니다. 나는 볼프람 알파를 사용하여 시도 하지만 실패했습니다. 식 x = 를 대체 할 수있는 오픈 소스 소프트웨어 패키지방정식x 2 +2x+에 2 t1

x=2t1

하여 결과를 간단히 하시겠습니까? 특히, 나는명령과 같은 소프트웨어 패키지를 찾고있습니다.

x2+2x+3

simplify



답변

원하는 단순화 명령 이있는 Python 라이브러리 인 SymPy 를 살펴볼 수 있습니다 .

>>> from sympy.abc import t
>>> import sympy
>>> x = t*2**(1/2) - 1
>>> x**2 + 2*x + 3
2*t + (t - 1)**2 + 1
>>> sympy.simplify(x**2 + 2*x + 3)
t**2 + 2


답변

Sage는 그렇게 할 수 있습니다 (단순화 부분에 도달하려면 페이지를 꽤 아래로 스크롤해야합니다).

또한 Sage의 기호 수학에 대한 일반적인 소개를 읽으십시오. 시맨틱과 구문은 Mathematica 와는 상당히 다르며 , 이는 대부분의 사람들이 익숙한 것입니다.

다음은 내가 연결 한 설명서의 예입니다.

sage: var('x,y,z,a,b,c,d,e,f')
(x, y, z, a, b, c, d, e, f)
sage: t = a^2 + b^2 + (x+y)^3
# substitute with keyword arguments (works only with symbols)
sage: t.subs(a=c)
(x + y)^3 + b^2 + c^2

귀하의 경우 다음과 같이 작동합니다.

var(f,x,t)
f=x^2+2*x+3
f.subs(x=(sqrt(2)*t-1))
f.simplify()


답변

이미 고급 고급 오픈 소스 패키지로 몇 가지 좋은 답변을 받았습니다.

Mathematica 구문을 사용하는 오픈 소스 CAS 인 http://www.mathics.net/ (http://mathics.org/ (다운로드하려는 경우 http://mathics.org/) 를 가리키고 싶습니다. WolramAlpha를 사용하는 경우 약간). 그것은 당신이 얻은 다른 제안만큼이나 완벽하지는 않습니다. 그러나 질문에서 이야기 한 (매우 간단한) 작업을 수행 할 수 있습니다.

귀하의 질문에서 말하는 것은 실제로 단순화가 아니라 대체확장입니다 (더 복잡한 단순화와 달리 가장 기본적인 CAS에서도 사용 가능한 작업을 구현하기가 매우 쉽습니다).

Mathics에서는 다음과 같습니다.

eq = x^2 + 2x + 3

eq /. x -> Sqrt[2] t - 1

Expand[%]

단순화 함수가 필요한 경우이라고 Simplify[]하며 위의 Expand[]예제 대신 작동 합니다.


답변

ax가 제안한 바와 같이 , wxMaximaMaxima 라고 하는 유명한 lisp 기반 컴퓨터 대수 시스템에 대한 훌륭한 그래픽 프론트 엔드 입니다.

예제를 사용하면 다음과 같은 것을 얻을 수 있습니다.

eq1: x=t*2**(1/2)-1;

엑스=21


eq2: x**2+2*x+3;

엑스2+2엑스+


eq3: subst(eq1, eq2);

(21)2+2(21)+


ratsimp(eq3);

22+2

또는 직접 할 수 있습니다.

ratsimp(subst(x=t*2**(1/2)-1, x**2+2*x+3));

22+2

Maxima에는 여러 가지 단순화 방법이 있지만 ratsimp좋은 첫 단계입니다.


답변

wxMaxima표현식 을 단순화 할 수 있습니다 . 나는 그것이 메이플을 대신한다고 생각합니다 .


답변

Wolfram Alpha를 작동 시킬 수 있다고 생각 합니다 . 어쩌면 당신이 찾고있는 것이 잘못되었을 수도 있습니다.


답변

오픈 소스 : 최대 . 그리고 Wikipedia 에서 개요를 확인하십시오 .