佐々野寄の日記

数学、ソフトウェアまたはそのほか

三角関数加法定理(3) 回転行列の方法

問題再掲です。

(1) 一般角$\theta$に対して$\sin\theta$, $\cos\theta$の定義を述べよ。
(2) (1)で述べた定義に基づき、一般角$\alpha$, $\beta$に対して
\begin{eqnarray}
\sin(\alpha + \beta) &&= \sin\alpha\cos\beta + \cos\alpha\sin\beta \\
\cos(\alpha + \beta) &&= \cos\alpha\cos\beta - \sin\alpha\cos\beta
\end{eqnarray}

を証明せよ。

 

確か、回転の行列を用いた方法は、当時の予備校業界の人たちは
ダメだと言ったと思う(記憶が正しければ)。なぜかというと、
循環論法になるじゃね?だそうだ。

どういうことかというと、

「回転の行列$R(\theta)$が
$
\begin{pmatrix}
\cos \theta && -\sin \theta \\
\sin \theta && \cos \theta
\end{pmatrix}
$

を示すときに加法定理を使っているじゃんか、
つまり、示すべきものを使って示しているから反則だという論法でだめらしい。

そうなのかなぁぁ。とりあえず、これを使って示してみよう。

 

$\beta$回転して$\alpha$回転するのと、いっぺんに$\alpha + \beta$回転するのは
同じ操作なので、

 

$$R(\alpha + \beta ) = R(\alpha )R(\beta )$$

 

 

f:id:SazaNoyori:20201114095552j:plain

 

 これで本当にダメなんですかね?

ここで、他の人が言っていることを鵜吞みにせず踏み込んで考えてみませんか?

 

まずは示すべきことを明言しましょう。

 

こういう、問題は何かを言う、というのはとても重要なことです。

社会人になると、問題は何か言え、と何度も言われます。

問題が何かをはっきりさせずに解決策を話す人がいかに多いことか。

 

話しがそれました。以下が示すべきことです。

 

定理

$\theta$回転の移動を$R(\theta )$とする。このとき、$R(\theta )$は行列であって、

$$
\begin{pmatrix}
\cos \theta && -\sin \theta \\
\sin \theta && \cos \theta
\end{pmatrix}
$$

と表すことができる。

 

これを示しましょう。この定理を三角関数の加法定理を使わずに示すことができれ

ばそれで終了です。(回転の移動が行列であることも仮定していないことに注意)

 

まずは、$R(\theta )$が線形性を満たすことを示します。

 

f:id:SazaNoyori:20201114095923j:plain

 

回転して定数倍するのと、定数倍して回転するのは同じ。

平行四辺形をかいて回転するのと、回転して平行四辺形をかくのは同じ。

これを明らかでないと主張する人はいますか? 

 

私は明らかとしてよい事実かと思います。

 

では、定理を示します。

 

f:id:SazaNoyori:20201114100234j:plain

 

どこかで三角関数の加法定理を使いましたか?

使いませんでしたね。

 

これを示すのに加法定理を使わないといけないと思っているひとにとっては

巧妙な方法となります。 

しかし、上記の方法は、まったく突飛な証明ではなくて、

線形性から行列表示であることを示す、

それっぽく言うと、線形変換を基底を固定して行列として表示

という線形代数の根本に流れる由緒正しい証明法です。

 

私が採点する人であったなら、回転の行列で示す解答を誤答にする勇気がありません。

三角関数加法定理(2) 教科書的な証明

問題再掲です。

(1) 一般角$\theta$に対して$\sin\theta$, $\cos\theta$の定義を述べよ。
(2) (1)で述べた定義に基づき、一般角$\alpha$, $\beta$に対して
\begin{eqnarray}
\sin(\alpha + \beta) &&= \sin\alpha\cos\beta + \cos\alpha\sin\beta \\
\cos(\alpha + \beta) &&= \cos\alpha\cos\beta - \sin\alpha\cos\beta
\end{eqnarray}

を証明せよ。

 

今回は教科書に書いてあるような証明です。

 

まずは、(1)に対して解答を与えます。

高校の教科書のように、斜辺分のなんとか、から始めるのはちょっとやめて 

以下のように単位円上の座標で定義を与えてみます。

 

 

f:id:SazaNoyori:20201107142349j:plain

 

 教科書的な方法は、余弦定理と三角関数の性質を用いるものとなります。

まずは、$P(\cos\alpha, \sin\alpha), Q(\cos\beta, \sin\beta)$として

$\triangle OPQ$にの余弦定理を書くこと

 $-\theta$のとき、$\frac{\pi}{2}$のときの性質を書いておけば完璧です。

 

f:id:SazaNoyori:20210122092754j:plain

 

f:id:SazaNoyori:20201107144329j:plain

 

 $-\theta$のとき、$\frac{\pi}{2}$のときの性質は、受験生にとっては自明かもしれないので上記のように書けない人はたくさんいただろうし、書かなくても減点はされなかったかもしれません。

 

三角関数加法定理(1) 問題の定義

東大の入試問題で出た三角関数加法定理

 

1999年東大の入試問題で以下のようなものだが出題されました。

(1) 一般角$\theta$に対して$\sin\theta$, $\cos\theta$の定義を述べよ。
(2) (1)で述べた定義に基づき、一般角$\alpha$, $\beta$に対して
\begin{eqnarray}
\sin(\alpha + \beta) &&= \sin\alpha\cos\beta + \cos\alpha\sin\beta \\
\cos(\alpha + \beta) &&= \cos\alpha\cos\beta - \sin\alpha\cos\beta
\end{eqnarray}

を証明せよ。

なんとも誰もが教科書で見たことがある、何度も使ったことがある公式を示せ。
という問題です。

 

これが発表されたとき、みんながびっくりしました。

特に、予備校、塾の関係者は天を仰いだと言い伝えられています。

 

東大の入試問題と言えば、難しい問題が出ます。

実は誰も解けないというほどでもないんですがこれって

教科書の問題ですよね。

 

三角関数の加法定理は示すものではなく
使うもの、証明のやり方なんて高校でさえ習ってない、

授業聞いてない、さいこすこすさい、とか言ってればいいんだよ。。

 

。。。。

 

 東大受ける人はそんなことないよね?

そういうことでしょうか?

 

教科書に載っているから簡単、と思いきや、受験生にとっては
まあまあ難しい問題だったらしいです。もし受験生だったらどういう解答
を書くだろう?とか、もっともカッコいい解答は何だろう?
といろいろつらつら考えていきます。

 

 

読書感想文「スーパーエンジニアへの道」

ワインバーグの名著「スーパーエンジニアへの道」の

読書感想文です。

 

 装丁が古めかしいです。けれども素晴らしい本です。

 どういう人に向けて書かれているか

最も有益なのは、エンジニアになりたての時期を過ぎて

初心者ではなくなってきた人たちです。

入社して数年たって後輩ができたあたり。

これからテクニカルリーダとか呼ばれるような仕事に就く人には最適です。

それ以降の人たちにとって、つまり、いますでにテクニカルリーダの人とか

マネージャ的な仕事をやる人とかが読んでも心に刺さってきます。

 

私自身は、入社三年目くらいのとき、どう人を指示するのか

手探りでやっていた時期に読みました。

ドンピシャの時期に読んだことになります。

 

何が書かれているか

「リーダーシップはセックスと似ている」

という文章で始まるこの本に何が書かれているかを書くのは

とても難しい。いや、難しくはない。リーダーシップについて

書かれているのだけど、だからと言って、それでこの本の内容を

説明したことにはならない。

 

多くのエンジニアにとって、

リーダーシップ、マネージメントは、

はからずもやらなくてはならないことに違いない。

多くのエンジニアは職業的にコミュ障だ。仕事自体が一人で完結することが多いため

他人のやることにかまけることが嫌いな人が多い。

 

こんな感じの、ちょっと読みずらい嗜虐的な文章が螺旋を書くように

書かれていて、その章の主題が何かをすぐに忘れてしまう。

この文章だけに惚れ込んで内容なんかどうでもいいとさえ言える。

 

だから、そういう文章美の集大成とこみで、この本の内容だ。

(ある種類の人たちにとっての)素晴らしい文章で書かれたリーダーシップ

くらいが、この本の紹介文で合っていると思う。

 

読むべきですか?

私自身は何度も読み返している本だし自分自身の本質的部分を形作っている

ものと思っているので読むべきと思う。

他の人もそう思うかと言うと分からないというのが正直な感想です。

資格を取れるわけでも、新しい言語や技術を覚えられるわけでもありません。

 

でも、何かに行き詰ったときとか、仕事に疲れたときとか、

PMP死ねとか思ったときとか、会社やめたいと思ったときとか

に読むと、もしかしたら何かの気づきが得られるかと思います。

2021年 抱負とか

まずは振り返ってみる

昨年、2020年は私にとっては人生の転換の年でした。

ずっと前、数学からソフトウェアの世界に決めたときと

同じように人生の岐路だったと思います。

 

ソフトウェア設計から品質保証へ。

普通に考えると閑職への左遷なので

大体の人は可哀そうな人を見る目で見ますが

私自身はそういう風に感じてはいません。

 

異動して変わったことと言えば、

  • ほぼ残業しなくなった
  • 学生時代によく吹いていたフルートを吹くようになった
  • そして市民吹奏楽団に入った
  • このブログを書くようになった
  • プライベートで昔の知り合いと会ったり
  • ブログとかfacebookでつながったり

要するに、人生が充実してきました。

ブラックな忙しすぎる職場はもう戻れません。

 

抱負

抱負ですが、

まずは、このブログを毎週更新していくこと。

毎週土曜日に更新する予定です。

  • 数学の他の話題
  • ソフトウェアの本の紹介

とかを書いていきたいな、と思います。

「ずっとやりたかったことをやりなさい」

では、質の心配はするな、量の心配だけしろ

とあったので、量の心配だけしていこうかなと。

自分のブログを見返してダメだなぁ、と考えるのはやめます。

 

 

 

 

フルートをちゃんと吹くこと

マチュア吹奏楽団に入りました。

中学高校のころに吹奏楽部に入っていたんですけど

コンクールとか出てないし、吹奏楽の曲とか全く知りません。

いろいろ教えてもらいながら頑張っていきます。

 

数学をやること

ちょっと何かやりたいなぁぁと思っています。

あんまり難しいことやるとすぐに挫折するので

家にあるけどほとんど読んでない本を読もうかなと思います。

 

 

現代の球関数 (1975年) (数学選書)

現代の球関数 (1975年) (数学選書)

  • 作者:竹内 勝
  • 発売日: 1975/05/10
  • メディア: 単行本
 

 

こんな感じで、人生を豊かにしようかなと思っています。

2の冪について

実はソフトウェアの世界で数学が役に立つことはほとんどありません。

 

数学が得意なことによって、抽象的言い回しに慣れているので

プログラムを書いたり読んだりが

あまり抵抗ないとかはあるでしょう。公理がプログラミングの規則に

変わっただけだ、と思う人もいます。でも、それは、「数学」が

役に立っているわけではないです。

上記の主張は、論理を基調とする学問ならすべて当てはまります。

物理学とか法律学とか哲学に置き換えても、通じる主張がほとんどです。

 

さて、数学が役になったこと、ダイレクトに数学を使ったと思ったことが

一度だけありました。私は当たり前だと思っていたことが、十年以上

ソフトウェアのプログラムをしていた同僚が驚いてくれました。

 

ソフトウェアの世界では2進法

 

さて、ソフトウェアの世界で、$2^{10}=1024$を1Kと呼称します。

$2$進法の海の中で生きるソフトウェアの世界では

$10$進法は使わないです。

 

たとえば、

「ある値の最大値を$500$にしようと思う」

とデザインレビューで発言したとします。

かなりの高確率で

「そんな中途半端な数字はやめて$512$にしろ」

と言われます。

$500$よりも$512=2^9$の方が切りのいい数字だということを

覚えておくことはソフトウェアの世界を生き抜くために必須のことです。

 

2の冪をすぐに変換できるか

さて、$2^{23}$と言われてそれがすぐに$8M$であることは

分かりますか?

$2^{34}$が$16G$とすぐに変換できますか?

 

件の同僚と話しているとき、何ら躊躇なくこの変換をやったところ

「暗算速いね」

とか言われました。

「いや暗算とかしてないよ?」

 

まずは基本

まず、$2^0$から$2^9$の値は覚えるでしょう。

ソフトウェアの世界でこの値を覚えていない人はいません。

覚えていなくても覚えたふりをしておきましょう。馬鹿にされます。

$2^9$までだったら頭の中で計算できますから、覚えているフリは楽です。

$256K=262144$とかまで覚えているひとがいる世界ですから。

 

$2^0=1$

$2^1=2$

$2^2=4$

$2^3=8$

$2^4=16$

$2^5=32$

$2^6=64$

$2^7=128$

$2^8=256$

$2^9=512$

 

KとかMとか

$2^{10}=1024$を1Kといいます。

K(キロ)、M(メガ)、G(ギガ)、T(テラ)

あたりまで覚えておけばいいでしょう。

 

$2^{10}$とK, M, G, Tの関係を理解しましょう。

10乗ごとに上がっていくことを心に刻むのです。

 

$2^{10}$がK、

$2^{20}=2^{10} * 2^{10}$は、最初の$2^{10}$をKと読んで、

2個あるからMになる。

$2^{30}=2^{10} * 2^{10} * 2^{10}$

とK, M, Gと読んで、3個あるからGになります。

 

2の冪の変換

これで、準備が整いました。

$2^{23}$と言われたら、

$2^{23}=2^{10} * 2^{10} * 2^{3}$

と変換します。

K, Mと数えて、$2^3=8$だから8Mとすぐに分かります。

 

$2^{32}=4G$とか、瞬間的に変換できるようになりましたね?

 

恒等式の問題(5) 割り算の解法

問題再掲です。

 

以下の問題の解法をいろいろ考えてみようというやつの第5弾です。

 今日で最後の予定です。お付き合いくださってありがとうございます。

第1回で、簡単とした解法です。

 

 

問題

$$
x^3=a(x-1)^3+b(x-1)^2+c(x-1)+d
$$
が$x$に関する恒等式となるように定数$a,b,c,d$を求めよ。

 

 

今度は、剰余の定理をもっと深く考えていきましょう。 

 

$P(x)=x^3$とおくとき、

$d$が$P(1)$であることは剰余の定理そのものです。

 

これを拡張することはできないかと考えてみましょう。

 

 

$$P(x)=(x-1)Q_1(x)+P(1)$$

です。$Q_1(x)$を$(x-1)$で割ることを考えます。

 

$$Q_1(x)=(x-1)Q_2(x)+Q_1(1)$$

 

これを最初の$P(x)=(x-1)Q_1(x)+P(1)$に代入すると、

 

$$P(x)=(x-1)^2Q_2(x)+Q_1(1)(x-1)+P(1)$$

となります。

 

ということで、$Q_3(x), Q_4(x)$も定義することによって、

$$P(x)=Q_4(1)(x-1)^3+Q_3(1)(x-1)^2+Q_2(1)(x-1)+P(1)$$

 

したがって、

  • $P(1)$は$P(x)$を$(x-1)$で割った余りです
  • $Q(1)$は$P(x)$を$(x-1)$で割った商を$(x-1)$で割った余りです。

これを繰り返すこと、つまり、$(x-1)$でどんどん割っていけば

答えが得られます。

 

f:id:SazaNoyori:20201031115436j:plain

 

組み立て除法を繰り返せば答えが得られる。

という謎がこれで解けました。

解法的にはこれが一番簡単でしょう。

 

いろいろな解法を通じて「数学」を学ぶことができました。

(1)(2)(3)で、どんな値を代入しても同じであることと

係数がすべて同じであることが同値であることを示しました。

これによって、式を「もの」と見る視点が育まれます。

 

(4)においては微分法の解答です。Taylor展開につながる考え方です。

そして、今回(5)によって、割り算の原理による解法です。

多項式の世界においては、微分すること(一次近似すること)と

割り算することがほぼ同じであるので、とても自然です。

 

線形代数からの見方をすると、多項式環線形空間をなし

$1, x, x^2, x^3, ...$と$1, (x-1), (x-1)^2, (x-1)^3, ...$の

基底の変換(の一部)を与えるとみることができます。

実は、この恒等式の問題はとても豊かな数学の考え方がつまっていました。

楽しむことができましたか?