数論とPython

数論とPythonをゼロから学びます。 高校数学を予備知識として数論を学んでいきます。 プログラミング言語であるPythonもゼロから数論を絡めて学んでいきます。 数学とプログラミングを一緒に勉強しましょう。

数論のための基本的な定義

数論のための基本的な定義

数論を学んでいくための基礎的な定義を学んでいきます。 整数, 有理数, 実数などの数の種類と集合論的な記号を導入します。 続きを読む

素数と合成数

素数と合成数

整数の性質をみていく上でその乗算(掛け算)に関する性質は重要です。 2つの整数を掛け合わせると新しい整数が得られます。 逆に与えられた整数を「分解」して小さい整数の積で表すことも可能です。 このように分解して得られるそれ以上小さく分解できない整数のことを素数といいます。 今回は素数に関するもっとも基本的な事柄を学んでいきましょう。 続きを読む

素数が無限個あることについての考察

素数が無限個あることについての考察

素数が無限個あることを証明します。 証明の前に素数の個数に関するデータを見て, $n$以下の素数の個数がどのように増えていくかをグラフ化します。 また, 特殊な形をした素数の個数の無限性についても議論します。 続きを読む

はじめてのPython

Pythonの基礎をマスターしよう

今回はプログラミング言語であるPythonの基礎的な使い方を学んでいきましょう。 今まで全くプログラミングに触ったことがない人でも大丈夫なように基礎の基礎から始めます。 続きを読む

pythonモジュール

Pythonのモジュールを使おう

前回, Pythonの基礎的な使い方を学びました。 defを用いてオリジナルの関数を作る方法もみました。 自分が好きなように関数を作れる, それがプログラミンの面白いところです。 でも, すべてを自分ひとりで作るのはとても骨の折れる作業です。 前回扱った「数学の宿題」の例のように, もし誰かがすでに便利な関数を作っていたのであれば, それを使わせてもらえたら効率がいいですよね。 そこで登場するのがモジュールです。

続きを読む

Pythonモジュール「SymPy」の数論に関する関数の使い方

前回はPythonでモジュールをインストールして使用する方法を学びました。 例として、mathモジュールを使って平方根などの計算を行いました。 今回は整数論の勉強に役立つモジュールSymPyを使ってみましょう。 これまでに紹介した素数に関するデータをSymPyモジュールに入ってる関数を用いて取得する方法も紹介します。

続きを読む

完全数

完全数の性質と未解決問題

今回は完全数(perfect number)と呼ばれる自然数について学んでいきたいとおもいます。 完全数に関する未解決問題も紹介します。

続きを読む

メルセンヌ素数

メルセンヌ素数について

素数にも“種族”というものがあって, 色々な名前がついた素数があります。 \(4x+3\)型の素数が無限個あることは前に証明しました。 この\(4x+3\)型の素数よりも遥かにレアな素数の種族を今回は扱っていきます。

続きを読む

合同式の性質

合同式の定義と基本的性質

整数論の問題の中には, ある数で割った余りに注目すると簡単に解けたり見通しが良くなるものがあります。 この余りに注目する計算を扱うのが合同式です。

続きを読む

偶数完全数の一の位の数

前回は合同式の使い方を学びました。 今回は合同式を利用して証明できる完全数の性質をみていきましょう。

続きを読む