同等の対象を
- gnuplot
- Maxima (
plot2d(),draw2d()) - Python の Matplotlib の
plt.***,ax.*** - Python の SymPy Plotting Backends
- The Graphic Module
- Plot functions
でグラフにしてみるシリーズ。 続きを読む
同等の対象を
plot2d(), draw2d())plt.***, ax.***でグラフにしてみるシリーズ。 続きを読む
SymPy で数列の和 $\displaystyle \sum_{k=1}^n k^m \quad (m = 1, 2, 3, \dots)$ の公式がわかるよ,と説明したら,その証明を求められそうなのでメモ。
この公式と証明は高校の数学あたりでやっているんだろうけど,(なんせ昭和の昔の出来事なので)私にはとんと記憶がないなぁ。
from sympy.abc import *
from sympy import *
summation(k, (k, 1, n))summation(k, (k, 1, n)).factor()
\begin{eqnarray}
\sum_{k=1}^n k &=& \frac{1}{2} \biggl\{\ 1 + 2 + \cdots + (n-1) + n \\
&& \quad \ + n + (n-1) + \cdots + 2 + 1 \biggr\} \\
&=& \frac{1}{2} \sum_{k=1}^n \left(n+1\right)\\
&=& \frac{1}{2} n (n+1)
\end{eqnarray}
でもこれだと,次の $\displaystyle \sum_{k=1}^n k^2$ や $\displaystyle \sum_{k=1}^n k^3$ のときには応用できないので,別解:
\begin{align}
& &(k+1)^2 -k^2 &= 2 k + 1\\ \ \\
&k=1: & 2^2 -1^2 &= 2\cdot 1 + 1 \\
&k=2: & 3^2 -2^2 &= 2\cdot 2 + 1 \\
&\quad \vdots & &\ \ \vdots\\
&k=n-1: & n^2 -(n-1)^2 &= 2\cdot(n-1) + 1\\
&k=n: &(n+1)^2 -n^2 &= 2\cdot n + 1
\end{align}
$k=1$ から $k=n$ までの式の両辺を足し合わせると,左辺は最後の $(n+1)^2$ と最初の $-1^2$ の項以外は全てキャンセルされるから…
\begin{align}
(n+1)^2 -1 &= 2 \sum_{k=1}^n k + n \\
\therefore \ \ n^2 + 2 n &= 2 \sum_{k=1}^n k + n \\
\therefore\ \ \sum_{k=1}^n k &= \frac{n(n+1)}{2}
\end{align}
summation(k**2, (k, 1, n))summation(k**2, (k, 1, n)).factor()
\begin{align}
& &(k+1)^3 -k^3 &= 3 k^2 + 3 k + 1\\ \ \\
&k=1: & 2^3 -1^3 &= 3\cdot 1^2 + 3\cdot 1 + 1 \\
&k=2: & 3^3 -2^3 &= 3\cdot 2^2 + 3\cdot 2 + 1 \\
&\quad\vdots & &\ \ \vdots\\
&k=n-1: & n^3 -(n-1)^3 &= 3\cdot(n-1)^2 + 3\cdot (n-1) + 1\\
&k=n: &(n+1)^3 -n^3 &= 3\cdot n^2 + 3\cdot n + 1
\end{align}
$k=1$ から $k=n$ までの式の両辺を足し合わせると,左辺は最後の $(n+1)^3$ と最初の $-1^3$ の項以外は全てキャンセルされるから…
\begin{align}
(n+1)^3 -1 &= 3 \sum_{k=1}^n k^2 + 3 \sum_{k=1}^n k + n \\
\therefore \ \ n^3 + 3 n^2 + 3 n &= 3 \sum_{k=1}^n k^2 + 3\cdot\frac{n(n+1)}{2} + n \\
\therefore\ \ \sum_{k=1}^n k^2 &= \frac{1}{3}\left\{n^3 + 3 n^2 + 3 n -3\frac{n(n+1)}{2} -n\right\}\\
&= \frac{n(n+1)(2 n+1)}{6}
\end{align}
summation(k**3, (k, 1, n))summation(k**3, (k, 1, n)).factor()
証明は… ($(k+1)^4$ の展開は SymPy にやってもらうことにして)
Eq((k+1)**4 - k**4, expand((k+1)**4 - k**4))
ですから,$k=1$ から $k=n$ までの
$$(k+1)^4 -k^4 = 4 k^3 + 6 k^2 + 4 k + 1$$
の両辺を足し合わせれば証明できます。
$k=1$ から $k=n$ までの式の両辺を足し合わせると,左辺は最後の $(n+1)^4$ と最初の $-1^4$ の項以外は全てキャンセルされるから…
\begin{align}
(n+1)^4 -1 &= 4 \sum_{k=1}^n k^3 + 6 \sum_{k=1}^n k^2 + 4 \sum_{k=1}^n k + n \\
\therefore \ \ n^4 + 4 n^3 + 6 n^2 + 4 n &= 4 \sum_{k=1}^n k^3 + 6\cdot\frac{n(n+1)(2 n+1)}{6} + 4\cdot\frac{n(n+1)}{2} + n \\
\therefore\ \ \sum_{k=1}^n k^3 &= \frac{1}{4}\left\{n^4 + 4 n^3 + 6 n^2 + 4 n -n(n+1)(2 n+1) -2n(n+1) -n\right\}\\
&= \frac{n^4 + 2 n^3 + n^2}{4} \\
&= \frac{n^2 (n+1)^2}{4}
\end{align}
今年度から新しい JupyterHub を授業で使うようになって気づいたところ。 続きを読む
大変だという話。授業で話したんだけど,「陽関数で解けるのに,なぜ(わざわざ)陰関数定理やラグランジュの未定乗数法を使って解こうとするんですか?」みたいな表情を返されたので。
いやいや,「陽関数を使って解こうとすると大変で途方にくれそうな問題も,陰関数定理やラグランジュの未定乗数法を使えば簡単に解けるんですよ!」ということを言いたい。
以下のページも参照:
回転系における単振り子の運動方程式を,「一般にベクトルを微分するときは,成分だけでなく基本ベクトルも微分する必要があるのだ」という立場で計算してみる。以下のページを参考に。
「高さ h からの斜方投射の最大到達距離を求める準備」のページを参照。
最大水平到達距離となる打ち出し角度 $\theta$ を求めるには,平方根を含む非線形方程式を解く必要があるので,SymPy でやってみた。
以前,力学の授業を担当していた時期があり,フーコーの振り子についてもネタにしてので,国立科学博物館や本学に設置されている振り子を見学したことがあった。その時に撮った写真や動画,ちょっとしたネタなどをまとめておく。 続きを読む