象牙の塔4階2号室・改

アスペとADHDの高専生によるブログ(不定期更新)

October 3rd ワンデイ伏線回収

日記

 伏線回収が何回もあった

授業

数学特論

 数学特論というのは要は複素関数や複素積分の授業で、どうもテストは簡単だが授業内容は難しめとのこと。まあそんな授業が選択科目で、しかも昨年は最終的に30人に減ったということだからどんな内容が来るのかと思ったら、小平邦彦「数学基礎シリーズ複素関数論」みたいな数学書を用いたものということらしい。ちなみに小平邦彦についてあまり知らないのだが先日の国立科学博物館にてレリーフがあり、そこで数学者だという些細な理由から撮った写真がある。どうも「調和積分」にてフィールズ賞をとったとあるが残念ながら自分はまだこの辺りに開いていないのでよく分からない…

 ともかく、今日の授業では、複素数全体の集合は体であることや、複素数zの逆数は\frac{\bar{z}}{|z| ^ 2}であること、絶対収束に関する定理、並びにε-N論法を用いたCauchyの判別法というものを学んだ…はず

プログラミング演習

 今日はGoogle colaboratoryに慣れ、更に機械学習の概念について学べた。課題に関しては1週目のものが来週提出

 予測したいデータについて、ざっくばらんとした関数(季節ごとの気温の移り変わりを4次関数!で表してよい)を用意し、それをデータに対して最小二乗法や勾配降下法で近づけるという事だった

画像処理

 今日は画像の種類について学んだ

 画像の種類としては白か黒かのものや、グレーを許容するもの、あとおなじみカラーとか、変わり種だと物体の距離に応じてグレースケールでカメラへの近さを表すものもあった

 個人的に興味を持ったものとしてはアウトラインフォントというものがある。これはスマホやパソコンの文字を表すのに使われるフォントの、データとしての表現の一つで、3次関数で線分を表すものらしい。これは画面を四角に区切り、その区切り毎に色をつけるか否かを表すビットマップ(ファミコン風と言ったらイメージしやすい?)とは違い、フォントを大きく表示しても線がガタガタしない利点がある。しかしながら個人的に興味があるのは数式での表現方法で、自分が知ってるのだと点と点の間を滑らかな関数で繋ぐものや、あとベジェ曲線があるのだが、もしもこれらが使われているのならおなじみ関数グラフにて文字を表せるからである。

数値計算法Ⅱ

 さっき挙げた方法のうち点と点の間を滑らかな関数で繋ぐ方法、ラグランジュ補間を学んだ。課題は問題6.1のx=1.5のときのyを推定するものだけが課されており、それは10/10提出となっている。なおこのほかにもベジェ曲線と関連したスプライン補間や最小二乗法という方法があり、スプライン補間というのは点と点の間ごとに別の関数を用意してそれらをいい感じにつなぐというもので、プログラミング演習でも出た最小二乗法というのは近づけたいデータとの差がなるべく小さくなるような関数を求めるというものである。

 ラグランジュ補間の方法について、例えば4点(x_1,y_1)=(-1,3),(x_2,y_2)=(0,1),(x_3,y_3)=(1,1),(x_4,y_4)=(2,9)を通る関数y=f(x)ラグランジュ補間で与えたい。この時、

\displaystyle{
y=y_1z_1(x)+y_2z_2(x)+y_3z_3(x)+y_4z_4(x)
}

という式の形を最初に出す。z _ m(x)\ (m=1,2,3,4)というのはz _ m(x _ n)=0\ (m\neq n)z _ m(x _ m)=1を満たすものであり、要は4点のうちある1点のx成分が入ったときに1は返すけど、それ以外の3点に関しては0を返すという要件を満たす関数である。

 関数z _ 1(x)について考える。まずこれはz _ 1(x _ 2)=z _ 1(x _ 3)=z _ 1(x _ 4)=0よりz _ 1(x)=a _ 1(x-x _ 2)(x-x _ 3)(x-x _ 4)\ (a _ 1\text {は定数})、即ちz _ 1(x)=a _ 1x(x-1)(x-2)\ (a _ 1\text {は定数})と表せる。そしてこのa _ 1z _ 1(x _ 1)=z _ 1(-1)=1という条件に合うように調整すればよい。

 z _ 1(-1)=a _ 1(-1)(-1-1)(-1-2)=-6a _ 1より-6a _ 1=1。よってa _ 1=-\frac{1}{6}であり、z _ 1(x)=-\frac{1}{6}x(x-1)(x-2)a _ 1の辻褄を合わすことでz _ 1(x)を表せた。これを他の関数でもすることにより求めたかった4点を通る関数が出せる。

B-スプライン曲線

 ここから自身の数学?の話に移る。NURBSというものを調べてはいたものの、そこのB-スプライン基底関数というものを調べる必要が出てきた。

nixeneko.hatenablog.com

 最初はその関数の計算を追っかけて行って性質を探すだけだった。しかしこのサイトから1次の場合のB-スプライン曲線というのについて、tとx、tとyのそれぞれの関係というのが今日の数値計算法Ⅱで出てきたラグランジュ補間のそれと同じであることが分かった。要はさっきのy=y _ 1z _ 1(x)+y _ 2z _ 2(x)+y _ 3z _ 3(x)+y _ 4z _ 4(x)というやつみたいな式がtとx(t)、tとy(t)にも言えるという事である。

 という事は関数を計算するだけでなく、それを含めた曲線全体について考えると更に面白いことがわかるかもしれない。