ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬으로 다항식의 곱셈과 인수분해해보기
    수학과 알고리즘/중등 수학 2025. 6. 11. 16:18

    다항식의 곱셈과 인수분해 이해하기

    다항식의 곱셈(multiplcation)과 인수분해(factorization)는 서로 반대 과정의 관계에 있는 계산입니다.
    다항식의 곱셈은 여러 항을 하나의 다항식으로 전개하는 과정이고,
    인수분해는 전개된 다항식을 다시 곱의 형태로 되돌리는 과정입니다.

    이번 글에서는 이 두 개념을 쉽게 이해하고, 파이썬으로 직접 계산해보며 학습을 강화해보겠습니다.


    1. 수학 개념 설명

    구분 정의 핵심 원리
    다항식의 곱셈 $(ax+b)(cx+d)$ 형태를 전개하여 하나의 다항식으로 만드는 과정 분배법칙을 반복 적용
    인수분해 전개된 $x^2 + px + q$ 같은 다항식을 $(x+r)(x+s)$ 꼴로 표현 곱이 $q$, 합이 $p$인 두 수 $r, s$ 찾기

    다항식간의 곱셈과 인수분해는 다음과 같은 관계로 되어 있습니다:

    $$
    (x+2)(x+3) \xrightarrow{\text{곱셈}} x^2+5x+6 \xrightarrow{\text{인수분해}} (x+2)(x+3)
    $$


    2. 예시

    2.1 곱셈의 경우
    • $(2x-1)(x+4)$을 전개하기
      $=2x(x+4) -1(x+4)$
      $=2x^2+8x -x -4$
      $=2x^2 + 7x -4$
    2.2 인수분해의 경우
    • $x^2 + 7x + 10$을 인수분해하기
      $(x+a)(x+b) = x^2 + (a + b)x + ab$ 이므로,
      곱($a \cdot b$)이 $10$, 합($a+b$)이 $7$인 두 수는 $2, 5$
      $\Rightarrow (x+2)(x+5)$

    3. 파이썬 구현

    from sympy import symbols, expand, factor
    
    x = symbols('x')
    
    # 곱셈
    expr_mult = (2*x - 1) * (x + 4)
    expanded = expand(expr_mult)
    
    # 인수분해
    expr_factor = x**2 + 7*x + 10
    factored = factor(expr_factor)
    
    print("곱셈 결과:", expanded)
    print("인수분해 결과:", factored)

    4. 실행 결과 해설

    곱셈 결과: 2*x**2 + 7*x - 4
    인수분해 결과: (x + 2)*(x + 5)
    • 첫 번째 출력은 다항식의 곱셈 예시를 전개한 결과 expr_mult를 출력한 결과
    • 두 번째 출력은 전개된 다항식을 인수분해를 통해 다항식의 곱셈 형태로 되돌린 결과

    다항식을 전개한 후, 인수분해를 통해 원래의 다항식의 형태로 되돌릴 수 있었으므로, 다항식의 곱셈과 인수분해가 서로 반대되는 과정이라고 볼 수 있습니다.


    오늘은 이렇게, 다항식의 전개와 인수분해 과정을 코드로 구현해보았습니다.
    실제에서는 컴퓨터를 이용해 계산하기 때문에 이러한 일이 많이 없을 것이지만, 이런 근의 결과가 당장 필요하다고 할 때 무작정 구해보기보다는 이러한 라이브러리를 사용해보는 것도 좋은 방법이 될 것 같습니다.

    이처럼 상황에 따라 두 과정을 자유롭게 넘나들 수 있으면, 다양한 문제 상황에서 유용하게 쓸 수 있으니, 꼭 한번 써보시길 바랍니다.
    오늘도 고생 많으셨습니다!

Designed by Tistory.