【スマホでPython数学】第2章 Sympyモジュールの導入と因数分解

この章では一気にSympyモジュールの導入をしてみます。導入といっても一行呪文のように書くだけなので安心してください。高校で習うことが、Pythonを使うとあっという間にできるようになります。中学生の方は、高校数学を少し先取りできるチャンスです。

1.Sympyモジュールって?

いきなり、Sympyモジュールって、何?となると思います。Pythonではいろんな事ができるので、すべての機能を予めスタンバイしておきません。必要な時に必要な機能を呼び出して使います。それぞれの機能がアップデートしやすかったり、これまでになかった新しい機能が追加できたり、利点が多いです。

Pythonでははじめに使用するモジュールを読み込む(import:インポート)する命令を書いておきます。型としては、例えば、「numpy」というモジュールを導入する際は、「import numpy」と最初に記載すれば、numpyというモジュールが使えるようになります。numpyはとても有名でよく使うモジュールなので、「import numpy as np」という型を使って、「np」という略語でいろいろな機能(命令)を使うことができるようになります。(このことは後で詳しく説明したいと思います。)

ここでは、Sympyモジュールを導入するのですが、ここからは毎回この一行をプログラムの前に呪文のように記載するようにしてください。(コピペで結構!)「from sympy import *」の一行をプログラムの最初にタイプしておきます。

from sympy import *

「from sympy import *」について
著者はめんどくさがり屋(笑)なので、このように記載しています。この一行で、Sympyモジュールのすべての命令が、Sympyの命令と(コンピュータに)説明せずに使えるようになります。この章では、難しい計算が簡単にできる!という感動を味わってもらいたいので、シンプルに記述できるようにという意味もあります。ネットや他の書籍では、「import sympy as sy」という記載があるかもしれません。その時は、個々の命令に「sy.」という記載が必要で、「sy.○○」と記載して、Sympyの○○という命令という意味になります。その辺りも追々説明していきます。

2.いきなり二次関数の因数分解

中学1年生にはちんぷんかんぷんかもしれません。二次関数というのは「$${x^2 }$$:x(エックス)の2乗」とかが出てくる式です。

因数分解というのは二次関数というか、二次方程式の解(答え)を導くのに使うことができます。

例えば、「$${x^2 - 5x + 6 = 0}$$」の解は、「$${x^2 - 5x + 6 = (x - 2)×(x - 3)}$$」変形できて、「$${ (x - 2)×(x - 3) = 0}$$」となる方程式の解は、「$${x = 2}$$と$${x = 3}$$」ということが分かります。

二次関数の因数分解というのは教科書を見ていただくとコツが書かれています。これをいかに早くできるかが入試を受ける人には重要なので、トレーニングを日々重ねてください。著者のようなおじさんになると、入試は関係ないので、簡単にできるといいなぁ、となります。

そこでSympyモジュールの中の「factor(ファクター)」という命令を使って、因数分解をします。

from sympy import *

まずは、一行目の「from sympy import *」になります。これはSympyというモジュールを使いますよ、という決まり文句です。何も考えずに記述(コピペ)してください。

var('x')

次に「var('x')」というSympyの命令です。これは数学的に大切なことで、「$${x}$$は変数です」と宣言している事になります。数学を勉強するときには、「変数」と「定数」というのを意識すると、飛躍的に数学が出来るようになります。変数は何らかの法則に従って変化していく値、定数は変化しない値です。微分とか積分とかを学ぶときにこの辺りが理解できていないと、頭の中が大変なことになります(笑)。

var命令は「var('x y z')」という型で利用します。この場合は、「$${x}$$と$${y}$$と$${z}$$が変数」であることを宣言しています。今回は「$${x}$$」が変数ですよ、とコンピュータに教えています。

factor(X**2 -5*x +6)

最後に、「factor」という命令になります。第1章で、コンピュータの四則演算の記号の話をしましたが、Pythonではさらに特殊な決まりがあります。

【乗数】 2乗($${x^2}$$)は、Pythonでは「x$${\ast\ast}$$2」と記載します。 3乗($${x^3}$$)は「x$${\ast\ast}$$3」となります。

【$${5x}$$とは記載できない】 学校の数学では常識ですが、$${5x}$$は5×$${x}$$の事ですよね。コンピュータには「5x」と言う変数名と「5 × $${x}$$」が区別できないので、「5*x」と記載するルールになっています。

さて、「Shift(⇧)+ enter」や「▶|」ボタンなどでこの簡単なプログラムを実行してみてください。以下のような結果になりましたか?

3.高次関数の因数分解の練習

二次関数だけでなく、三次関数や四次関数などでも因数分解は可能です。三次以上の関数は高次関数という言い方もしますが、高校数学ではこういった関数の因数分解の方法も学びます。まだ習っていない人は予習の意味で以下の演習をしてみてください。余裕があれば、高校の教科書やインターネットで高次関数の因数分解を勉強してください。

演習1:$${x^2 + x - 2}$$

演習2:$${x^2 - 5x + 4}$$

一度、sympyモジュールをimportすれば、次からは記載の必要はありません。

演習3:$${x^2 - x - 6}$$

まとめ

初めてのプログラミングが因数分解になりました。なんだか、便利そうだぞ、と思っていただければ、この章の目的は達成しています。

解答

この記事が気に入ったらサポートをしてみませんか?