Loading
2014. 9. 2. 10:29 - 성돌

[Mathematica] 식 예쁘게 정리하기 (Refine, Simplify, $Assumptions)




Mathematica에서 수식을 풀다보면, 결과값이 안 이쁘게 나올때가 많다.


우리 생각에는 알아서 예쁘게 정리해줘야 할 것 같은데, 약분도 안 하고 그럴때가 많다.


이럴 때, 주로 많이 사용하는 것이 Refine기능과 Simplify기능일 것이다.

(Simplify에서 더 나아간 FullSimplify도 있음)


나는 식을 깔끔하게 정리할 때, 보통 Refine과 Simplify를 한꺼번에 아래와 같이 사용해준다.

(//명령 방법은 다른 포스팅을 참고)


 정리하고자 하는 식//Refine//Simplify


그런데 이 Refine이나 Simplify기능 모두 문자에 대한 가정과 함께해야 힘을 발휘하는 기능이다.


무슨 말이냐면, 아래의 예를 보자.


를 아래와 같이 단순화하고자 한다면, Mathematica는 단순히 를 결과로 내보낼 것이다.

사실 이게 가장 정확한 것이다.

왜냐면, A에 대한 정보를 Mathematica에 입력하지 않았기 때문이다.



Simplify1.nb


그렇다면 어떻게 Mathematica에 A에 대한 정보를 입력하느냐?


이 때 사용되는 함수가 $Assumptions이다. 

다른 방법들도 있지만, $Assumptions기능의 장점은 한 번 선언해 놓으면 

그 이후의 모든 단순화 연산(Refine과 Simplify와 같은..)을 할 때 항상 이 조건을 적용한다는 점이다.


예를 들어, 아래와 같이 A0보다 크거나 작을 때,

Mathematica가 각각 A -A를 정확하게 해답으로 제시하는 것을 볼 수 있다.


Simplify2.nb