【Python入門】Pythonの色々なルート計算方法をマスターしよう!

こんにちは! プログラマーのakiraです。

PythonではmathモジュールやNumPyを使用して、さまざまな演算やルート計算を行えます。

「Pythonでルートの計算はどうやるの?」
「NumPyのルートの計算はどうやるの?」

そのような悩みを抱えている人に向けて、この記事では以下の内容で解説していきます!


・ mathを使用したルートの計算方法
・ NumPyでのルート計算方法
・ mathとNumPyのルート計算の比較

mathモジュールやNumPyを使用すれば、複雑な計算も簡単に行えます!

是非参考にしてくださいね!

mathを使用してルートの計算をしてみよう!

mathモジュールは、標準で提供されている数学計算のモジュールです。

このmathを使用したルートの計算方法を詳しく見ていきましょう!

mathでよく使われている数学関数を詳しく知りたい!という方は以下の記事にまとめられていますので参考にしてください!

math.sqrtの使い方

Pythonでmathモジュール使用するには、まずimport文でmathを読み込む必要があります。

以下の実行書式を見てください!

まずプログラムの先頭で忘れずにmathをimportしてあげてください!
求めたいルートの値をxに入れることで、ルート計算の結果を得ることができます!

次項で実際にサンプルコードを実行して、ルート計算をより詳しく見ていきましょう!

ルート計算の基礎

それでは実際にサンプルコードを実行してルートの計算を見ていきましょう!

以下のサンプルコードでは、「math.sqrtの使い方」の項で説明した書式のx部分に1〜5までの数値を入力しています。

実行結果では、入力した1〜5までのルートの計算結果が出力されていることがわかるかと思います!

実行結果

色々なルートの計算をしてみよう!

それでは、基礎で学んだことを応用して、様々なルートの計算をしてみましょう!

以下のルート計算mathでやってみましょう!
2√3 + 3√3
2√3 + 3√5

2√3 → 「2 * math.sqrt(3)」、 3√3 → 「3 * math.sqrt(3)」、3√5 → 「3 * math.sqrt(5)」とすることでPythonでルートの計算もできるのです!

実行結果

次は、ルートの大小比較をやってみましょう!

以下の値の大小を不等号で表してみましょう!
・ 6√3、 3、 2√2

実行結果

実行結果より、

2√2 < 3 < 6√3
の大小関係であることがわかりましたね!

NumPyを使用してルートの計算をしてみよう!

今度はNumPyを使用してルートの計算をしていきましょう!

NumPyとは、Pythonの学術計算ライブラリになります!
ndarrayというNumPyの配列を使用し、高速に少ないコード量で様々な数値計算が行えます。

NumPyの四則演算や様々な数学計算はこちらの記事にも紹介されていますので参考にしてください!

np.sqrtの使い方

NumPyでルートの計算をするには、まずimport文でnumpyの読み込みを行います!

以下の実行書式のように、NumPyをimport後にx部分に値を入力することで、ルート計算の結果を得ることができます!

次項でさっそくNumPyを使用したルート計算をやっていきましょう!

ルート計算の基礎

それでは、mathルート計算で学習したものと同様にサンプルコードを実行してNumPyルート計算も見ていきましょう!

np.sqrt(x)のx部分に1〜5までの数値を入力し、ルート計算を行っています!

実行結果

色々なルートの計算をしてみよう!

それではNumPyを使用して、色々なルート計算をしてみましょう!

mathでルート計算をした時と同様に、2√3 → 「2 * np.sqrt(3)」、 3√3 → 「3 * np.sqrt(3)」とすることでNumPyでもルートの計算ができるのです!

またNumPyでは、NumPyとはで解説したndarrayを使用して簡単に多次元の配列の計算が可能となります。

ここでは、全要素が√2の行列(2 × 2)であるarrを掛け算して、各要素がそれぞれ2になっていることがわかるかと思います!

実行結果

mathとNumPyのルート計算を比較してみよう!

これまでルート計算の方法について、mathとNumPyを使用する方法について見てきました!

今回は、両者の違いやどう使い分けるべきかについても見ていきましょう!

異なっている点を確認しよう!

これまでのルート計算で見てきましたがmathと比較して、NumPyルート計算では多次元配列の計算も簡単にできることがわかりましたね!

それでは、次は時間を計測して比較してみましょう!
timeモジュールは、時間計測に用いることができるモジュールです。

timeモジュールの詳しい説明はこちらの記事を見てみてください!

実行結果

実行速度についてはプログラムを実行する環境にも左右されますが、実行結果よりmathの方が早いのは確かであるかと思います。

それぞれの用途について確認しよう!

前項でmathNumPyの実行速度について確認し、mathの方が早いことがわかりました!
それでは、Pythonにおける計算は全てmathを使用した方が良いのでしょうか?

私はそれは計算の用途次第になるかと思います!

mathは単純な数値計算が高速な一方で、行列などの多次元配列の計算を行うには手間がかかり、Pythonで複雑な処理をすることになると結果的に遅くなってしまう場合もあるかと思います。

その点NumPyは多次元配列を簡単に扱うことができ、複雑な処理でも少ないコードで高速に計算できるようになっているのです。

つまり、単純な数値計算ではmath行列などの多次元配列を用いて計算する場合はNumPyとそれぞれの用途で使い分けるのが良いかと思います!

まとめ

いかがでしたでしょうか。
今回は、mathNumPyを使用したルートの計算について学習しました!

Pythonはルート計算などの数値計算ライブラリが充実していて様々な方法がありますが、それぞれの特徴を理解してうまく使い分けができるといいですね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

akira

akira

インフラエンジニア→プログラマー。趣味は3歳の子供にPCの使い方、タイピングを教えること。業務ではPython, PHP, Javaなどやってます。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説