코딩 수학


sympy 모듈

¼ö½ÄÀ» ´Ù·ç±â À§Çؼ­ sympy ¸ðµâÀ» ºÒ·¯µéÀδÙ.

In [1]:
from sympy import *

init_printing()         # ¼ö½ÄÀ» º¸±âÁÁ°Ô Ãâ·ÂÇÏ´Â ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù

º¯¼ö $x \,\, y \, \, z$ ¸¦ »ç¿ëÇÏ·Á¸é, symbols( ) ÇÔ¼ö·Î ±âÈ£µéÀ» ¼±¾ðÇØ¾ß ÇÑ´Ù.

In [2]:
x, y, z = symbols('x y z')

다항식

´ÙÇ×½Ä $\,A = -3xy + x^2 + 2y^2 +x $ ¸¦ ÀÔ·ÂÇÑ´Ù.

In [3]:
A = -3*x*y + x**2 + 2*y**2 + x

$x$ ´Â ±âÈ£(symbol)·Î¼­ »ç¿ëÇϱâ Àü¿¡ ¼±¾ðÇßÁö¸¸, ¼ö½Ä $A$ ´Â ¹Ì¸® ¼±¾ðÇÏÁö ¾Ê°í ¹Ù·Î »ç¿ëÇÏ¿´´Ù.

À§¿¡¼­ $x$ ¿Í °°ÀÌ ±âÈ£·Î ¾²ÀÌ´Â º¯¼ö´Â, ±× º¯¼ö¿¡ ´ëÇÏ¿© Çظ¦ ±¸Çϰųª, ¹ÌÀûºÐÀ» ±¸ÇÏ´Â µî ¼öÇÐÀÇ ±âº»ÀûÀÎ µ¶¸³ º¯¼ö¸¦ ³ªÅ¸³½´Ù.

µ¶¸³ º¯¼öÀÇ ÇÔ¼ö·Î¼­, ±× Ç¥ÇöÀÌ ¸í½ÃÀûÀ¸·Î ÁÖ¾îÁö´Â Á¾¼Ó º¯¼ö ( À§ÀÇ ¿¹¿¡¼­ $A(x,y)$ ) ´Â ¹Ì¸® ¼±¾ðÇÏÁö ¾Ê´Â´Ù.

´ÙÇ×½Ä $A$ ÀÇ ³»¿ëÀ» Ãâ·ÂÇØ º¸ÀÚ.

In [4]:
A
Out[4]:
$$x^{2} - 3 x y + x + 2 y^{2}$$

´ÙÇ×½Ä $A$ ¸¦ $x$ ¿¡ ´ëÇÏ¿© Á¤¸®ÇÑ´Ù. $\quad$ collect( ) ÇÔ¼ö

In [5]:
collect( A, x )
Out[5]:
$$x^{2} + x \left(- 3 y + 1\right) + 2 y^{2}$$

´ÙÇ×½ÄÀÇ µ¡¼ÀÀ» °è»êÇÑ´Ù.

$(5x^3-x^2+3x-1 ) + (-x^3+2x^2+5 ) $

In [6]:
( 5*x**3 - x**2 + 3*x - 1 ) + ( -x**3 + 2*x**2 + 5 )
Out[6]:
$$4 x^{3} + x^{2} + 3 x + 4$$

´ÙÇ×½ÄÀ» Àü°³ÇÑ´Ù. $\quad$ expand( ) ÇÔ¼ö

$(x^2+x-2 ) \, (3x-1 ) $

In [7]:
expand( ( x**2 + x - 2 ) * ( 3*x - 1 ) )
Out[7]:
$$3 x^{3} + 2 x^{2} - 7 x + 2$$

°ö¼À °ø½ÄÀ» È®ÀÎÇÑ´Ù.

$(a+b+c)^2 = a^2+b^2+c^2+2ab+2bc+2ca$

In [8]:
a, b, c = symbols('a b c')
In [9]:
expand( ( a + b + c )**2 )
Out[9]:
$$a^{2} + 2 a b + 2 a c + b^{2} + 2 b c + c^{2}$$

인수분해

´ÙÇ×½ÄÀ» ÀμöºÐÇØÇÑ´Ù. $\quad$ factor( ) ÇÔ¼ö

$x^3-3x+2 = (x-1)^2 \, (x+2) $

In [10]:
factor( x**3 - 3*x + 2 )
Out[10]:
$$\left(x - 1\right)^{2} \left(x + 2\right)$$

´ÙÀ½ ´ÙÇ×½ÄÀ» ÀμöºÐÇØÇÑ´Ù.

$2x^2+5xy+3y^2+3x+5y-2 $

In [11]:
factor( 2*x**2 + 5*x*y + 3*y**2 + 3*x + 5*y - 2 )
Out[11]:
$$\left(x + y + 2\right) \left(2 x + 3 y - 1\right)$$

유리식

À¯¸®½ÄÀ» ¾àºÐÇÑ´Ù. $\quad$ cancel( ) ÇÔ¼ö

$$\frac {x^2-2x+1} {x^2-3x+2} $$
In [12]:
( x**2 - 2*x + 1 ) / ( x**2 - 3*x + 2 ) 
Out[12]:
$$\frac{x^{2} - 2 x + 1}{x^{2} - 3 x + 2}$$
In [13]:
cancel( ( x**2 - 2*x + 1 ) / ( x**2 - 3*x + 2 ) )
Out[13]:
$$\frac{x - 1}{x - 2}$$

´ÙÀ½ À¯¸®½ÄÀ» °è»êÇÑ´Ù. $\quad$ cancel( ) ÇÔ¼ö

$$\frac 1 {x-1} + \frac 2 {x+2} $$
In [14]:
cancel( 1/(x-1) + 2/(x+2) )
Out[14]:
$$\frac{3 x}{x^{2} + x - 2}$$

À§ÀÇ °á°ú¸¦ ÀμöºÐÇØ ÇÑ´Ù. $\quad$ factor( ) ÇÔ¼ö

In [15]:
factor( _ )              
Out[15]:
$$\frac{3 x}{\left(x - 1\right) \left(x + 2\right)}$$

¹ØÁÙ ' _ ' Àº ¹Ù·Î Á÷ÀüÀÇ Ãâ·ÂÀ» °¡¸®Å²´Ù.

´ÙÀ½ À¯¸®½ÄÀ» °£´ÜÈ÷ ÇÑ´Ù. $\quad$ simplify( ) ÇÔ¼ö

$$\frac {x-1+ \frac 1 {x-1} } {x-1- \frac 1 {x-1} } $$
In [16]:
A = ( x - 1 + 1/(x-1) ) / ( x - 1 - 1/(x-1) )
A
Out[16]:
$$\frac{x - 1 + \frac{1}{x - 1}}{x - 1 - \frac{1}{x - 1}}$$
In [17]:
simplify( A )
Out[17]:
$$\frac{x^{2} - 2 x + 2}{x \left(x - 2\right)}$$