Python 3 で数学を。

Python 3 とライブラリで数学の問題を解いていきます。統計学や機械学習はときどき。

数学

解析学 (微分積分)。定積分。(Python 3: class (クラス), アンパック、SymPy: integrate(), latex(), Integral())

使用する数式 上の数式は以下で作成 (SymPy: latex(), Integral()) >>> import sympy as sym >>> print(sym.latex(sym.Integral(x**2, (x, 1, 3)))) \int_{1}^{3} x^{2}\, dx >>> print(sym.latex(sym.Integral(3*x**2, (x, 2, 3)))) \int_{2}^{3} 3 x^{2}\,…

順列。並べ方・作り方の場合の数。(Python 3: reversed(), アンパック。sympy.functions.combinatorial.numbers, nP())

使用するライブラリ SymPy Python 3 コード permutations4.py #!/usr/bin/env python3 """(docstring) """ from sympy.functions.combinatorial.numbers import nP def print_math_problems(): """(docstring) """ print("""問題: 以下の各問いに答えよ。 (1…

順列。順列の計算。(含む階乗)。(Python 3: アンパック、スライス、 SymPy: sympy.functions.combinatorial.numbers, nP(), factorial())

使用するライブラリ SymPy Python 3 コード permutations3.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym from sympy.functions.combinatorial.numbers import nP def print_math_problems(): """(docstring) """ print("""問題: 以下…

合成数。(Python 3, Sympy: composite())

使用するライブラリ SymPy Python 3 コード composite_numbers1.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problem(): """(docstring) """ print("""問題: 最小の合成数から 100 番目の合成数までを示せ。 """) def…

累乗数。(Python 3, Sympy: perfect_power())

使用するライブラリ SymPy Python 3 コード perfect_powers1.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problem(): """(docstring) """ print("""問題: 0 から 100 までの整数に累乗数があれば示せ。 """) def solu…

図形。ひし形。菱形。(Python 3: turtle, forward(), left(), right(), exitonclick())

使用するライブラリ 標準ライブラリの turtle Python 3 コード turtle_diamond1.py #!/usr/bin/env python3 """(docstring) """ import turtle as tt def tt_diamond1(): """(docstring) """ for _ in range(3): tt.forward(200) tt.left(120) tt.right(60) …

三角関数。不等式。(Python 3, SymPy: sin(), cos(), tan(), pprint(), solve())

使用するライブラリ SymPy Python 3 コード trigonometric_functions6.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problems(): """(docstring) """ print("""問題: 以下の不等式を解け。 (1) sin θ > √3 / 2 (2) cos…

線形代数。ベクトル。計算法則が成立するかどうか。(計算則、計算規則)。等式。(Python 3: class (クラス), NumPy: all())

使用するライブラリ NumPy Python 3 コード equality1.py #!/usr/bin/env python3 """(docstring) """ import numpy as np class Equality1: """(docstring) """ def __init__(self, a, b, c, k, l): """(docstring) """ self.E1_a = a self.E1_b = b self.E…

確率。確率分布。期待値。サイコロ。(Python 3, SymPy: sympy.stats, Die(), density(), dict, E())

使用するライブラリ SymPy Python 3 コード dice1.py #!/usr/bin/env python3 """(docstring) """ from sympy.stats import Die, density, E def print_math_problems(): """(docstring) """ print("""問題: (1) (六面体の) サイコロの確率分布を求めよ。 (2…

三角関数。方程式。(Python 3, SymPy: Symbol(), Eq(), Rational(), sin(), cos(), tan(), sqrt(), pprint(), solve())

使用するライブラリ SymPy Python 3 コード trigonometric_functions5.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problems(): """(docstring) """ print("""問題: 以下の方程式を解け。 (1) sin θ = 1/2 (2) cos θ …

解析学 (微分積分)。臨界点 (停留点)。(Python 3, SymPy: solve(), diff())

使用するライブラリ SymPy Python 3 コード critical_points1.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problems(): """(docstring) """ print("""問題: 以下の関数の臨界点 (停留点) を求めよ。 (1) x^3 - 2x + 1…

素数。整数nの前にある素数。(Python 3, SymPy: prevprime())

使用するライブラリ SymPy Python 3 コード prime_numbers5.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problem(): """(docstring) """ print("""問題: 素数を含む 3 から 100 までの整数の前にある素数を示せ。 """…

素数。素数判定。Trueか、Falseか。(Python 3, SymPy: isprime())

使用するライブラリ SymPy Python 3 コード prime_numbers4.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problem(): """(docstring) """ print("""問題: 整数 0 から 100 までの数を素数かどうか判定せよ。 """) def …

素数。ある整数nの次にある素数は何か。(素数を含むある整数nよりも大きい最初の素数は何か) (Python 3, SymPy: nextprime())

使用するライブラリ SymPy Python 3 コード prime_numbers3.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problem(): """(docstring) """ print("""問題: ある整数 n の次にある素数は何か示せ。 (換言: 素数を含むあ…

素数。素数をランダムに作成・生成。(Python 3, SymPy: randprime())

使用するライブラリ SymPy Python 3 コード prime_numbers2.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problem(): """(docstring) """ print("""問題: 2 から 101 までの素数をランダムに 100 個作成せよ。 """) de…

三角関数。sin, cos, tan (サイン、コサイン、タンジェント)。第4象限の角の場合。(Python 3, NumPy: sin(), cos(), tan())

使用するライブラリ NumPy Python 3 コード trigonometric_functions4.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_problems(): """(docstring) """ print("""問題: 以下の値を求めよ。 (1) sin (5/3)π (2) cos (5/3)π…

三角関数。sin, cos, tan (サイン、コサイン、タンジェント)。第3象限の角の場合。(Python 3, NumPy: sin(), cos(), tan(), rint())

使用するライブラリ NumPy Python 3 コード trigonometric_functions3.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_problems(): """(docstring) """ print("""問題: 以下の値を求めよ。 (1) sin (5/4)π (2) cos (5/4)π…

当ブログの三角関数関連まとめページ (Python 3)

py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com

当ブログの線形代数関連まとめページ (Python 3)

py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.hatenablog.com py3math.h…

三角関数。sin, cos, tan (サイン、コサイン、タンジェント)。第2象限の角の場合。(Python 3, NumPy: sin(), cos(), tan())

使用するライブラリ NumPy Python 3 コード trigonometric_functions2.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_problems(): """(docstring) """ print("""問題: 以下の値を求めよ。 (1) sin (2/3)π (2) cos (2/3)π…

三角関数。sin, cos, tan (サイン、コサイン、タンジェント)。第1象限の角の場合。(Python 3, NumPy: sin(), cos(), tan())

使用するライブラリ NumPy Python 3 コード trigonometric_functions1.py #!/usr/bin/env python3 """(docstring) """ import numpy as np def print_math_problems(): """(docstring) """ print("""問題: 以下の値を求めよ。 (1) sin π/6 (2) cos π/6 (3) t…

線形代数。ベクトル。ユークリッド距離。(Python 3: class (クラス), NumPy: linalg, norm())

使用するライブラリ NumPy Python 3 コード euclidean_distance1.py #!/usr/bin/env python3 """(docstring) """ import numpy as np class EuclideanDistance1: """(docstring) """ def __init__(self, u, v): """(docstring) """ self.ED_u = u self.ED_v …

数列。リュカ数列。ルカ数列。ルーカス数列。(Python 3: リスト内包表記, SymPy: lucas())

使用するライブラリ SymPy Python 3 コード lucas_numbers1.py #!/usr/bin/env python3 """(docstring) """ import sympy as sym def print_math_problem(): """(docstring) """ print("""問題: リュカ数列 1, 3, 4, 7, 11, 18, 29, 47, 76, 123 を作成せよ…

組合せ。組合せの計算。(Python 3, SymPy: sympy.functions.combinatorial.numbers, nC())

使用するライブラリ SymPy Python 3 コード combinations2.py #!/usr/bin/env python3 """(docstring) """ from sympy.functions.combinatorial.numbers import nC def print_math_problems(): """(docstring) """ print("""問題: 以下の計算をせよ。 (1) 8C…

反比例。(Python 3, matplotlib, NumPy)

使用するライブラリ matplotlib NumPy Python 3 コード inverse_propotion1.py #!/usr/bin/env python3 """(docstring) """ import matplotlib.pyplot as plt import numpy as np def print_math_problems(): """(docstring) """ print("""問題: 24L 入る水…

アルゴリズム。組合せ。(Python 3)

使用するライブラリ なし Python 3 コード combinations1.py #!/usr/bin/env python3 """(docstring) """ # (効率や計算量が気になるなら、このアルゴリズムでなく他の方法がいいかも)。 def combinations1(n, k): """(docstring) """ if k == 0 or k == n: …

順列。異なるものの順列。(Python 3, SymPy: sympy.functions.combinatorial.numbers, nP())

使用するライブラリ SymPy Python 3 コード permutations2.py #!/usr/bin/env python3 """(docstring) """ from sympy.functions.combinatorial.numbers import nP def print_math_problems(): """(docstring) """ print("""問題: (1) 6P3 (2) 10P2 (3) a, b…

アルゴリズム。素因数分解。(Python 3)

使用するライブラリ なし Python 3 コード factoriz.py (例外処理はざっとやっているだけ)。 #!/usr/bin/env python3 """(docstring) """ def factoriz(x): """(docstring) """ # 小数点以下切り捨て。 x = int(x) if x <= 1: return print('2 以上の数値を…

平方と立方。正の数と負の数。(Python 3: リスト内包表記、Pandas: DataFrame(), columns)

使用するライブラリ Pandas Python 3 コード square_and_cube_nums1.py #!/usr/bin/env python3 """(docstring) """ import pandas as pd def print_math_problems(): """(docstring) """ print("""問題: (1) x が -6 から 6 までの数であるとき、 その平方 …

加重平均 (重み付き平均)。自作関数。(Python 3: math, fsum(), NumPy)

使用するライブラリ 標準ライブラリの math Python 3 コード weighted_mean.py #!/usr/bin/env python3 """(docstring) """ from math import fsum def weighted_mean(w, n): """(docstring) """ # 加重平均 (重み付き平均)の数式: Σwx / Σw # 小数を扱うと…