おおしだ良問蓄積
良問蓄積プロジェクト
こういう問題を考えさせたら学生の理解が深まったり計算力が向上したりするんじゃないかという思いつきを募集します。 実際に授業でやってみて効果があった、とかいう話であればさらに良いです。(おおしだ)
数学以前[編集]
数式には意味がある。 意味を考えずにただ計算すればいいというものではない。 式の意味を読みとることを心がけよう。
- ある高校生に数学を教えてみたところ、どうやら <math>\sqrt{2} + \sqrt{3} = \sqrt{5}</math> と思っているらしいことが判明した。間違いに気づかせるにはどう説明したらよいか?
- ある大学生に数学を教えてみたところ、どうやら 1/x = t + [任意定数] ならば x = 1/t + C だと思っているらしいことが判明した。間違いに気づかせるにはどう説明したらよいか?
- <math>\sqrt{z}</math> を <math>z=0</math>のまわりでテイラー展開せよ(できるものなら)。
- 以下は本当の数学の問題:
- まず <math>\,a</math>を正の実数として <math>\sqrt{z}</math> を <math>z=a\,</math>のまわりでテイラー展開せよ。
- 次に <math>a \to +0</math> の極限で何が起きるか考えよ。
無限小解析[編集]
微分の意味[編集]
<math>f(t) = t^3 + t^5</math> とする。
- <math>f(t + \Delta) = A + B\Delta t +</math>(2次以上の微小量)
A,Bを求めよ(途中の考え方も示せ)。
上の問題ができたら: <math>F(x,y) = x^2 y^3 + x^5\,</math> として
- F(x+Δx, y+Δy) = なんとか + なんとか Δx + なんとか Δy + (2次の微小量)
同じようにやってみよう。
発展問題: ベクトル <math>\mathbf{r} = (x,y)</math> を使って <math>F(\mathbf{r}+\Delta\mathbf{r}) = \cdots</math> みたいに まとめて書けないか?
コメント: exp(y sin(x))でx=pi/2,y=1というのをだしました。2次までテイラー展開しろという問題です。数値もいれさせます。 dxとΔxのちがいをわからせるには、そこまでさせないとしかたないです。
x^3 - 8*x - 0.1 = 0 の解を小数で求めよ。 近似値でかまわないけれど、できればそれなりの説明はしてほしい。 (ヒント: x^3 - 8*x = ε と見る。右辺がゼロなら因数分解で解ける。 あとはグラフで考えよ。)
長方形があって、辺の長さが時間とともに変化している。 たての長さを a = a(t), よこの長さを b = b(t) としよう。 ある時刻での面積 S = ab に対し、微小時間 Δt だけ経過したあとの面積の変化を ΔS とする。 この ΔS を a, b, aドット, bドット, Δt であらわせ。 (微分の公式を用いた回答と図による説明と両方考えよ。)
半径 R = R(t) の円について、上記と同じことを考えよ。
歯車がいくつもあって順番に噛み合っている。 最初の歯車の回転角をθ, 次の歯車の回転角をφ, その次をψとしよう。 つまり
- θ → φ → ψ.
- 最初の歯車を角度Δθだけ回すと、次の歯車がΔφだけ回る。 ΔφとΔθの比は既知。
- 2番目の歯車がΔφだけ回ると、3番目の歯車がΔψだけ回る。 ΔψとΔφの比は既知。
これらの情報から「ΔψがΔθの何倍になるか」を求める方法を示せ。 必要な記号があれば自分で設定すること。
ある関数 f(x) の増減表がかくかくしかじかであることが分かっている。 これから分かる範囲で f(x) のグラフを描け。 (この手の問題は大量生成してドリル課題にしてもいいかもしれない。TAが大変だけど。)
Taylor展開[編集]
exp(x) を <math>\{ x^n | n = 0, 1, 2, \ldots \}</math> の線形結合であらわせ。 ただし、線形結合の係数は、x = 0 ですべての微係数が一致するという条件から定める。 結果ができたらグラフ化してみよう。 グラフから何が読み取れるか? sin(x) の場合はどうか?
<math>f(x) = 2 + 3\,(x-2)^2 + \cdots</math> であることが分かっている。 この情報から分かる範囲で f(x) のグラフを描け。 (誤答パターンとしては「何も考えずに展開する」というものがある。)
aを正の実数とする。
- <math>f(x) = \sqrt{x}</math>をx=aのまわりでテイラー展開せよ。
- テイラー展開して得られた多項式のグラフと、もとのf(x)のグラフとを重ねて図示せよ。
- a → +0 とすると何が起きるか?
微分方程式[編集]
m(d/dt)^2 x + k x = 0 を解くにはたくさんの方法がある。 下記のなかから3つ以上選んで、詳しい手順と結果を示せ。
- 差分化して隣接3項漸化式に直して解き Δt → 0
- エネルギー積分 → 平方根を用いて変数分離
- エネルギー積分が ( )^2 + ( )^2 の形なので cos と sin で置く
- 定数係数の線形同次ODEなので基本解をexpで置いてみる
- 解を t のベキ級数で置いて代入
- 1階化し dX/dt = MX の形にしたあと差分 → 行列のexp
- 1階化したあと2つの実数変数を複素数の変数1個にパック
以下、N階のODEについて考える。 ただし面倒ならN=2としてよい。
- 「重ね合わせの原理」について説明せよ。
- 「重ね合わせの原理」が成り立つODEと成り立たないODEの具体例を3つずつ挙げよ。
補足: 線形同次と非線形はいいとして、線形非同次方程式で「重ね合わせの原理」が成り立つと言えるかどうかは、 何をもって「重ね合わせの原理」とするか、に依存します。 出題者(採点者)はそこまで考慮しないといけない。
指数関数[編集]
exp(2) × exp(3) は exp(5) か exp(6) か?
高校1年生にも分かるような方法で説明せよ。
※ これが説明できない人は教員志望をあきらめるほうが良いかもしれない(と学生には言っておく)。
一般に exp(a) × exp(b) = exp(???) ← ??? には何が入るか?
- exp(8) つまり exp( 5 + 3 ) を exp(5) と exp(3) であらわせ。
- exp(2) つまり exp( 5 - 3 ) を exp(5) と exp(3) であらわせ。
- exp( 10 ) を exp(5) であらわせ(ヒント: 10 = 5 + 5)。
- exp( 5k ) を exp(5) であらわせ。
- exp( 3 log(x) + C ) を簡単化せよ(<math>e^C = A</math> とする)。
<math>2^{(3+5)n} = 2^3 2^{5n} \,</math> と <math>2^{(3+5)n} = 2^{3n} 2^{5n}\,</math> と どちらが正しいか?
<math>e^{(3+2i)t} = e^3 ( \cos{2t} + i \sin{2t} )\,</math> と <math>e^{(3+2i)t} = e^{3t} ( \cos{2t} + i \sin{2t} )\,</math> と どちらが正しいか?
空欄を埋めよ:
- a = log 2 ということは [ ] = 2
- b = log 3 ということは [ ] = 3
この考え方で log i を求めよ(iは虚数単位)。 log(-1) は どうか?
コメント: 「複素数のlogでも、y= exp zの逆関数であること」 を認識させてから、logやらせるということですが、 「この考えかたで」に微妙にむりがあるような。
複素数のzでも、z= exp yに対して、y=log zと してlog(z)が定義される。 以下のzの値に対してlog zを計算せよ.
- z = exp (i pi/3)
- z = exp (i pi)
- z = exp (2)
- = 1/2+i/2
- z = exp (i 2 pi)
- z= i
「複素数体操」というものを作る。 ♪アイかけるアイはマイナスいち、マイナスかけるマイナスはプラスいち、 ωの3乗が1ならばωかけるωは逆数ω、 とかいって90度まわったり120度まわったりする。
a をただの定数として、演算子 A を次のように定義する:
- <math>
A = 1 + a (\mathrm{d}/\mathrm{d}x)
+ (1/2) a^2 (\mathrm{d}/\mathrm{d}x)^2 + \cdots + (1/n!) a^n (\mathrm{d}/\mathrm{d}x)^n + \cdots
</math> (expの級数展開を知っていることが期待できる相手に対しては A の代わりに exp(a d/dx) と書いてもよいが、そこは保留。)
- A x^2 = ?
- A x^3 = ?
- f(x) を十分になめらかな(正確に言えば「解析的」な)関数とする。 このとき A f(x) = ?
コメント: たしかにexpの肩に演算子とか行列とか乗っかってるのを教えたいような 気もするけど、どうなんでしょう。。。運動量が空間並進のgeneratorである とかHが時間並進のgeneratorとかいっても、なかなかむずかしいかな。 まずは、「線形微分方程式は一階多変数になおしたあと解がexp(Lt)と書ける」 のを教えるとか。。。さらには、2x2行列をexpの肩にのっけたやつ(次は3x3で)、 回転になるのをおしえるとか。。。(と、思ってゼロから学ぶにいれたけど。。。)。
コメントへのコメント:
この問題はいろんな場面で使えるけれど、
たぶん現状で最もあり得る用途は「Taylor展開の復習として」でしょう。
だから出題ではexpの級数展開であることを隠しています。
他方、藤村研の卒研生に実際にこれを出題したのはどういう場面かというと、
expの級数展開の話をしていたときで、
「応用するとこんなこともできるよ」「expは奥が深いね!」という話です。
こういう話をするには相手を見極めて話をしないといけない。
しかも、そのときでさえ「generator」とかいう用語は一言も出さなかった。
A x^2 を計算すると(これ自体が演算子の勉強)、なぜか (なんとか)^2 の形にまとめられる式が出てくる。
こういう数学的体験そのものに対する驚きをまずは出発点にしたい。
用語を導入し名前をつけようとするのはずっと後でいいです。
同じく藤村研の学生に出した問題: <math>e^x = \lim_{n \to \infty} \left(1+\frac{x}{n}\right)^n</math> という式を展開することにより <math>e^x = 1 + x + (1/2) x^2 + ... + (1/k!) x^k + ... </math>を示せ。
ヒント: まずは lim を無視して n を適当に大きい具体的な数として考えてみる。 たとえば n = 100 のときの x^5 の係数は? 一般にx^k の係数は?
- 問:「1年に1%の複利」で元金の1円は10年で<math>(1+0.01)^{10}</math>円に増える。すなわち一年後には元金自体が1.01円になり二年後にはそれの1.01倍となる。これと似た場合として、「<math>\frac{1}{10}</math>年に<math>\frac{1}{10}</math>%の複利がつく」場合10年でどうなるか?「<math>\frac{1}{100}</math>年に<math>\frac{1}{100}</math>%が複利でつく」場合と、「<math>\frac{1}{10000}</math>年に<math>\frac{1}{10000}</math>%が複利でつく」場合もしらべよ。(一年終了時ぐらいなら、読んだ瞬間に問の意図が分からないと困ります)。
線形代数の用語と概念[編集]
線形結合[編集]
<math>\textbf{u} = (5,7)</math> とする。 <math>\textbf{u}</math> を (1,2) と (2,3) の線形結合であらわせ。
<math>\textbf{v} = (1,-1,6)</math> を (1,1,1) と (1,2,4) と (2,-1,1) の線形結合であらわせ。
<math>f = 1 - x + 6 x^2</math> とする。 <math>f</math> を <math>1 + x + x^2</math> と <math>1 + 2 x + 4 x^2</math> と <math>2 - x + x^2</math> の 線形結合であらわせ。
内積[編集]
<math>\mathbf{a} = (a_1,a_2)</math>, <math>\mathbf{b} = (b_1,b_2)</math> とする(成分はすべて実数)。
- (a・b)^2 ≦ a^2 b^2 が成り立つことを示せ。
- 右辺 - 左辺 = S^2 である。 Sの図形的な意味を考えよ。
- 3次元以上の場合に同じ不等式を示せ(図形的には成り立って当然だが代数的に証明せよ)。
- ヒント
- φ(t) = (a-tb)^2 という2次関数のグラフを考えよ。 判別式を利用。
ここまでは高校数学。 本当の狙いは次の問題にある:
- f = f(x), g = g(x) とする。 <math>(\int fg dx)^2 \le (\int f^2 dx)(\int g^2 dx)</math> を示せ。
ヒント: <math>\langle p,q \rangle</math> のような記号を導入し、 左辺を <f,g>^2, 右辺を <f,f> <g,g> と書く。 まずはこの記号に慣れる練習が必要(たとえば <2f + 3g, 5f> みたいなものを展開するとか)。 記号に慣れたら、上記の問題の証明を今の問題に「翻訳」してみる。
コメント: まず|a|^2|b|^2で割るのがわかりやすいような気もします。 「有限次元 → N次元 → 無限次元のつながり」 を理解してもらわないと数値計算も量子力学もできないので、 そのあたりを理解してもらいたいんですが.
コメントへのコメント:
「図形的」に考えるならそのとおり。 もちろん代数的に考える場合はそうとは限りません。 高次元の場合について代数的にやってみて、そこから逆に なにか幾何学的な実体がありそうだという(少なくとも幾何学的なものに見立てるのは有効かもしれないという)感じをつかんでもらえればいいわけです。
直線や平面の式[編集]
(x,y)平面上で 3x+2y = 1 をみたす点の集合を図示せよ。 なるべくy=…に直さずに答えを得る方法を考えること。
これができたら: (x,y,z)空間で 3x+2y+5z = 1 をみたす点の集合はどんな図形か?
(x,y)平面上で (x,y) = (1,3) + t (2,-1) のようにパラメータ表示される点の軌跡はどんな図形か? なるべくy=…に直さずに答えを得る方法を考えること。
これができたら: 3次元空間で (x,y,z) = (2,3,1) + t (1,0,1) のようにパラメータ表示される点の軌跡はどんな図形か?
固有値問題[編集]
y = y(x) とする。
- <math>y + αy = 0</math>, <math>y(0) = 0, y'(L) = 0</math>
を満たすような非自明な y と α の組み合わせをすべて求めよ。 (「非自明な」とは「y が恒等的に0という場合を除く」という意味。)
解に適当に番号をつけ(たとえばαがゼロに近い順)、最初の3つをグラフに描け。
j番目の解とk番目の解をかけて
- <math>\int y_j(x) y_k(x) \mathrm{d}x</math>
という定積分を計算してみよ。 何か気づくことはないか?
どこかの数学の先生が線形代数の講義のネタにしていて好評であるという量子力学の問題(を改作したもの):
φ = φ(x) = (a0 + a1 x + a2 x^2 + … ) exp(-x^2/2) とする。
[-(d/dx)^2 + x^2] φ を計算してみると (b0 + b1 x + … ) exp(-x^2/2) のような形に整理できる。
- {a} は たとえば3次多項式だとして、{b} = M {a} となるような行列Mを具体的に求めよ。
- Mの固有値と固有ベクトルを計算せよ。
- 関数に戻し、その概形を描け。
コメント: 次、調和振動子なので、これ出そうかな? <math>M=a^\dagger a</math>で分解させてもいいな.
コメントへのコメント:
もし a を出すなら次の補充問題も:
たとえば [-(d/dx)^2 + 4] φ = [-d/dx + 2] [d/dx + 2] φ という因数分解は正しいが、
[-(d/dx)^2 + x^2] φ = [-d/dx + x] [d/dx + x] φ という因数分解は間違っている。
下の式を正しく訂正せよ(ヒント: 右辺を計算して[左辺]+[補正]の形にする)。
(d/dx + x) φ = 0 の解を求めよ(ヒント: 変数分離)。 これと上の結果を見比べて何か気づくことはないか?
関数の幾何学的な把握[編集]
z = z(x,t) = cos(a x - b t) とする。
- (x,t)平面上で z = ± 1 となるすべての点を図示せよ。 同じく z = 0 とか z = 0.5 についても考えて図示せよ。
- これを (x,t) 平面上で図示するのではなく、(x,z)平面上の曲線を動画で示したら、どう見えるか?
- (x,t,z) という3次元で表示したらどうなるか?
- z の関数形が違う場合はどうか? たとえば z = -2 tanh(ax-bt) とか。
コメント: 二変数を数値計算でやらせたらいいんじゃないかな。
数値計算[編集]
プログラムの仕組みの理解[編集]
次のプログラムの実行結果は? (コンピュータを使わず頭で考えて予想せよ。 足りない部分は適当に補って考える。)
a = 0 do i = 1, 100 a = a + i enddo write(*,*) a
※ むかし、do文は回るものだということを知らない学生がいて、驚いたことがある。
微積分の数値的理解[編集]
次のプログラムの実行結果を、コンピュータを使わずに予想せよ。
n = (適度に大きな数) dx = 1.0 / n; a = 0 do i = 0, n-1 x = (i+0.5)*dx a = a + x**2 * dx enddo write(*,*) a
<math>y=x^2</math>の数値積分と1/N分割での区分求積法での差。
数値微分。
Python[編集]
SNSに書き込むと字下げが無効化されるので困る: python のプログラムだと致命的、というのが話の発端。
小谷コメント:
python、後期にたぶんすこし教えます.
python+NumPy+matplotlibはかなり強力だと思います.
jmolも紹介ぐらいはしたい(ぼくはこれは原子モデリングの描画以外にも汎用3次元描画ツールとして、
なんかにつかえないかとおもってるんですが)。
数値計算するにしてもデータ処理やプログラムの解析など
「正規表現」ぐらいはある程度つかえないと困る.
数値計算は、将来、python+fortranが主流になるとおもっています。
(ということでそうやってます)。
もちろんいろんな点で難点もあるのでぼちぼちですが。
NumPyとかいうのもあって行列aの逆をとるにはb=inv(a)とやるだけです。バカになるともいえます。僕が好ましいと思う右辺に入力、左辺に出力 と言うようなコードが書けます(関数型のプログラミングができます)。