算数数学教育の暗黒面

黒木玄 (Gen Kuroki)

2018-08-21~2018-09-11

このファイルは次の場所できれいに閲覧できる:

このファイルはJulia言語カーネルの Jupyter notebook である. 自分のパソコンにJulia言語をインストールしたい場合には

を参照せよ. このファイルは JuliaBox でも使用できるかもしれない. このファイル中のJulia言語のコードを理解できれば, Julia言語からSymPyを用いた数式処理や数値計算の結果のプロットの仕方を学ぶことができる.

$ \newcommand\eps{\varepsilon} \newcommand\ds{\displaystyle} \newcommand\Z{{\mathbb Z}} \newcommand\R{{\mathbb R}} \newcommand\C{{\mathbb C}} \newcommand\T{{\mathbb T}} \newcommand\QED{\text{□}} \newcommand\root{\sqrt} \newcommand\bra{\langle} \newcommand\ket{\rangle} \newcommand\d{\partial} \newcommand\sech{\operatorname{sech}} \newcommand\cosec{\operatorname{cosec}} \newcommand\sign{\operatorname{sign}} \newcommand\sinc{\operatorname{sinc}} \newcommand\arctanh{\operatorname{arctanh}} \newcommand\sn{\operatorname{sn}} \newcommand\cn{\operatorname{cn}} \newcommand\cd{\operatorname{cd}} \newcommand\dn{\operatorname{dn}} \newcommand\real{\operatorname{Re}} \newcommand\imag{\operatorname{Im}} \newcommand\Li{\operatorname{Li}} \newcommand\np[1]{:\!#1\!:} \newcommand\PROD{\mathop{\coprod\kern-1.35em\prod}} $

謝辞: このノートの作成にはインターネット上で得た知人との膨大なやりとりの結果理解できたことが含まれている. 1人ひとり名前を挙げることはしないが, 私にたくさんのことを教えてくれた人達にとても感謝している. $\QED$

In [1]:
using Printf
const e = 
linspace(start, stop, length) = range(start, stop=stop, length=length)
using Base64

using Plots
pyplot()
#gr(); ENV["PLOTS_TEST"] = "true"
#clibrary(:colorcet)
#clibrary(:misc)

function pngplot(P...; kwargs...)
    sleep(0.1)
    pngfile = tempname() * ".png"
    savefig(plot(P...; kwargs...), pngfile)
    showimg("image/png", pngfile)
end
pngplot(; kwargs...) = pngplot(plot!(; kwargs...))

showimg(mime, fn; scale="") = open(fn) do f
    base64 = base64encode(f)
    if scale == ""
        display("text/html", """<img src="data:$mime;base64,$base64">""")
    else
        display("text/html", """<img src="data:$mime;base64,$base64" width="$scale">""")
    end
end

using SymPy
#sympy[:init_printing](order="lex") # default
#sympy[:init_printing](order="rev-lex")

using SpecialFunctions
using QuadGK
using Elliptic.Jacobi: cd, sn

微分は分数商ではないのか?

$\ds\frac{dy}{dx}$ は $dy \div dx$ の意味ではないので, 「$dx$ 分の $dy$」と読んではいけない.

と教えている先生が一部にいるようだ. これは本当に正しいだろうか? 微分形式を含む現代数学における微分のスタイルを知っていれば, そのような教え方は誤りになるので注意しなければいけない.

実際, 高木貞治『解析概論』には以下のように書いてある.

In [2]:
showimg("image/jpeg", "images/kaisekigairon-bibun1.jpg")
In [3]:
showimg("image/jpeg", "images/kaisekigairon-bibun2.jpg")

以上のように, 高木貞治『解析概論』には

記号 $\ds\frac{dy}{dx}$ において $dx$ および $dy$ が各々独立の意味を有するから, $\ds\frac{dy}{dx}$ は商として意味を有する.

とはっきり書いてある. 高木貞治氏による $dx$, $dy$ の定義は筆者が独立に描いた次の図と本質的に同じである.

In [4]:
showimg("image/jpeg", "images/bibun.jpg", scale="60%")

$df$ の定義を $f(x+dx)-f(x)$ とするのではなく, 上の図のように接線上での変位に取ることが, $\ds\frac{df}{dx}$ を真の分数商とみなすときのポイントになる. 数学の定義はこのような「みもふたもない」ものが多い. この図の $df$ の定義を一般化することによって1次の微分形式(differential form)が定義される. 微分形式は現代数学における基本的な概念である.

高校数学における三角函数の微積分は循環論法なのか?

答えはいいえである.

高校数学IIIの教科書には「曲線の長さを速さの積分で表す公式」が書いてある:

$$ L = \int_a^b \sqrt{x'(t)^2+y'(t)^2}\,dt. $$

その公式を用いて弧度法の意味での角度 $\theta$ を $(x(t),y(t))=(\sqrt{1-t^2}, t)$ から得られる

$$ \theta = F(y) = \int_0^y \frac{dt}{\sqrt{1-t^2}} $$

で定義したり, $\ds (X(u),Y(u))=\left(\frac{1}{\sqrt{1+u^2}},\frac{u}{\sqrt{1+u^2}}\right)$ から得られる

$$ \theta = G(a) = \int_0^a \frac{du}{1+u^2} $$

で定義することによって, 高校数学のスタイルそのままの三角函数の定義に基いて三角函数の微積分の理論を展開できるようになる. $\theta = F(y)$, $\theta = G(a)$ の逆函数はそれぞれ $y=\sin\theta$, $a=\tan\theta$ の高校数学教科書における定義そのものになっている.

このようにして, 循環論法に陥らないだけではなく, 高校数学の三角函数の定義をそのまま採用することによって, べき級数による天下り的な定義の採用したり, その他様々な技巧をこらした三角函数の定義を採用する必要はなくなり, さらに楕円函数論にも容易に接続できるような議論の仕方が可能になる.

数学的にはそういう事情になっているので, 数学を本当に理解する気があるならば, どこかで聞き齧った情報に基いて安易に「高校数学における三角函数の微積分は循環論法である」などと言ってはいけない.

実際の理論の展開の仕方の素描を「高校数学の話題」の方に書いておいたので参照して欲しい.

補足: 前者と後者の $\theta$ の表示は

$$ \begin{aligned} & t = \frac{u}{\sqrt{1+u^2}}, \quad & & y = \frac{a}{\sqrt{1+a^2}}, \\ & u = \frac{t}{\sqrt{1-t^2}}, \quad & & a = \frac{y}{\sqrt{1-y^2}}. \end{aligned} $$

という変換によって同値であることも確認できる. 前者の表示における $t$ と $y$ は単位円の右半分上の点の $y$ 座標であり, 後者の表示における $u$ と $a$ は原点と単位円の右半分上の点を通る直線の傾きである. $\QED$

In [5]:
plot(size=(400,400), legend=false)
plot!(xlims=(-1.2,1.3), ylims=(-1.2,1.2), aspect_ratio=1)
plot!([-2,2], [0,0], color=:grey, lw=0.5)
plot!([0,0], [-2,2], color=:grey, lw=0.5)
plot!([1,1], [-2,2], color=:grey, lw=0.5)
t = -1:0.001:1
X = @.((1-t^2))
Y = t
plot!(X, Y, color=:grey, ls=:dash)
y = 0.6
t = 0:0.001:y
X = @.((1-t^2))
Y = t
plot!(X, Y, color=:red)
plot!([0,2], [0,0], color=:black)
plot!([0,2], [0,2y/√(1-y^2)], color=:black)
plot!([0,(1-y^2)], [y,y], color=:blue)
annotate!(-0.1, y, text("\$y\$", 13, :blue, :center))
annotate!(1.1, 0.95y/√(1-y^2), text("\$a\$", 13, :black, :center))
annotate!(0.8, 0.25, text("\$\\theta\$", 13, :red, :center))
annotate!(-0.1, -0.12, text("\$0\$", 13, :grey, :center))
Out[5]:
In [6]:
t, y = symbols("t y", real=true)
integrate(1/√(1-t^2), (t,0,y)) # asin(y) = arctin y になる.
Out[6]:
\begin{equation*}\operatorname{asin}{\left(y \right)}\end{equation*}
In [7]:
u, a = symbols("u a", real=true)
integrate(1/(1+u^2), (u,0,a)) # atan(a) = arctan a になる.
Out[7]:
\begin{equation*}\operatorname{atan}{\left(a \right)}\end{equation*}
In [8]:
# 積分変数の変換 t = u/√(1+u^2)

u = symbols("u", real=true)
t = u/√(1+u^2)
simplify(1/√(1-t^2) * diff(t, u))
Out[8]:
\begin{equation*}\frac{1}{u^{2} + 1}\end{equation*}
In [9]:
# 積分変数の変換 u = t/√(1-t^2)

t = symbols("t", real=true)
u = t/√(1-t^2)
simplify(1/(1+u^2) * diff(u, t))
Out[9]:
\begin{equation*}\frac{1}{\sqrt{1 - t^{2}}}\end{equation*}

無理式とは根号内に文字を含む式のことなのか?

高校の数学の教科書を見ると,

$\sqrt{x+1}$, $\sqrt{2x^2-3}$ などのように根号内に文字を含む式をその文字についての無理式といい, $x$ についての無理式で表された関数を $x$ の無理関数という. (実教出版『数学III』2009年1月25発行)

のように書いてある. これは高校の数学の教科書外では通用しない可能性が高い「定義」である.

数については, $\sqrt{2}$ などが無理数なだけではなく, $\sqrt[3]{4}$ も無理数だし, $\pi$ のような超越数も無理数である. 数と函数の類似に従えば, $\sin x$ のような超越函数も無理函数と呼びたくなるのだが, 上の定義に従うとそれは不可能になる.

それ以前の問題として, 上に引用した無理式の定義がおそろしくあいまいである. $\sqrt{\sin x}$ は無理式なのだろうか?

無理式(irrational expression)や無理函数(irrational function)は19世紀の数学の教科書に見付かる用語である. 19世紀の時代遅れなスタイルが伝言ゲームによって21世紀の現代まで伝わっているいるのだろう.

上に引用したような定義になっていない「定義」は数学の本質と無関係である. 数学を教えるときには, 歴史的な経緯や数学とは無関係の「大人の事情」によって不適切な記述が教科書に残ってしまうことがある.

数学を教えるときには, 教科書に忠実に従おうとしてはいけない.

その理由は単に教科書が誤りを含む可能性があるからだけではなく, 非標準的な用語や非標準的な流儀を採用していることが普通にあって, そのような場合にはそれが非標準的であることがわかるように教えなければいけないからである. 教科書に書いてあることは標準的であることを意味しない.

場合によっては教える必要がないことが教科書に書いてあることもある.

数学を教えるときには, 教科書とは独立に何が標準的で何が正しくて何が良い議論の仕方なのかについて知っておく必要がある.

参考情報: Rational function - Wikipedia には

The adjective "irrational" is not generally used for functions.

と書いてある. 形容詞「無理」は「函数」には一般的には使用されないらしい. $\QED$

In [10]:
showimg("image/png", "images/adjective-irrational.png")

以下は

  • Silvestre François Lacroix, An Elementary Treatise on the Differential and Integral Calculus, 1816, 720 pages. Google Books

のp.206からの引用. おそらく, irrational function は rational でない function の意味で使われており, 正式に定義して irrational function と書いているのではないと思われる.

In [11]:
showimg("image/jpeg", "images/IrrationalFunctions1816.jpg", scale="50%")