안녕하세요. 지난 포스팅에 이어서 오늘은 다항식과 유리식에 관련된 simplify 함수들에 대해서 알아보겠습니다.
1. expand
expand 함수는 주어진 다항식을 전개하는 함수입니다. 예를 들어서 $(x + 1)^{2} = x^{2} + 2x + 1$과 같이 말이죠. 두 말할 필요없이 몇 가지 예제를 보시면 바로 알 수 있습니다.
이 뿐만 아니라 아래와 같이 더 복잡한 다항식 수식들도 전개를 해볼 수 있습니다.
2. factor
factor 함수는 흔히 말하는 "인수분해"를 해주는 함수입니다. expand 함수를 반대로 수행하는 함수라고 생각하시면 될 거 같습니다. 그렇다면 expand 함수의 결과를 이용해서 factor 함수를 적용해보도록 하겠습니다.
위의 결과부터 하나씩 보시면 위에서 2번째까지는 expand 함수를 반대로 하는 것을 볼 수 있습니다. 하지만, 마지막 결과는 그대로 덧셈을 반환하고 있습니다. 이유는 factor 함수는 덧셈이 아닌 오직 곱셈으로만 표현가능한 수식을 알려주기 때문입니다. 마지막 수식은 곱셈 + 곱셈의 형태였기 때문에 다항식 간의 곱셈이 가능한 조합을 찾을 수 없어서 그냥 그대로 나온 것이라고 보시면 됩니다. 실제로 그냥 곱셈만 있는 수식의 경우에는 복잡하더라도 아래와 같이 잘 동작하는 것을 관찰할 수 있습니다.
factor 함수와 유사하게 factor_list 함수가 존재합니다. 이 함수는 factor 함수와 동일하게 다항식의 인수분해 결과를 알려주지만 다른 점은 그 출력 결과를 더 compact 하게, 즉 압축된 결과로 보여준다는 점입니다.
예를 들어서 위의 경우에는 $x + 1$이 제곱된 것과 동일하다는 표현을 저렇게 쓴 것입니다.
3. collect
collect 함수는 특정 변수를 차수로 묶어주는 역할을 하는 함수입니다. 예를 들어 $x$의 3차식, 2차식, 1차식끼리 묶어서 표현해준다는 말입니다.
위와 같이 묶어주고 싶은 특정 변수를 입력하면 자동으로 정리해주는 것을 볼 수 있습니다.
4. cancel
cancel 함수는 유리식을 간단하게 만들기 위해서 "소거(cancel)"와 통분을 하는 함수입니다. 굉장히 직관적이기 때문에 쉽게 알 수 있습니다. 바로 예시를 보면 쉽게 이해할 수 있습니다.
위 수식은 통분과 소거를 수행하는 것을 볼 수 있습니다. 물론 아래와 같이 많은 변수가 있을 때도 가능합니다.
굉장히 복잡했지만 cancel 함수를 통해 아주 간단해진 모습입니다.
5. apart
apart 함수는 고등학교 때 흔히 배우는 "부분 분수(partial fraction decomposition)"을 수행하는 함수입니다. 이 역시 간단하니 예제를 보고 지나가도록 하겠습니다.
'Programming > Python' 카테고리의 다른 글
Opencv 제대로 쓰기[1] - 컴퓨터 내 영상/동영상 입출력 (0) | 2021.04.17 |
---|---|
Opencv 제대로 쓰기[0] - Opencv-python 설치 및 환경설정 (1) | 2021.04.11 |
Sympy 알고 쓰자 - Common Simplification (0) | 2020.12.10 |
Sympy 알고 쓰자 - 기본 연산 (0) | 2020.11.29 |
Sympy 알고 쓰자 - 소개 (0) | 2020.11.27 |