複天一流:どんな手を使ってでも問題解決を図るブログ

宮本武蔵の五輪書の教えに従い、どんな手を使ってでも問題解決を図るブログです(特に、科学、数学、工学の問題についてですが)

プログラミング

東大数学2024問題6 (part 9):gnuplotで見つけた格子点の確認

前回のあらすじ 判別式を計算してみる 素数の解は4つあるだろうか? 前回のあらすじ 東大入試問題の数学2024問題6の後半にとりかかった。まずは二次方程式の解が2つとも正となる条件について調べることにした。条件を満たす領域がわかり、数値的にいくつかの…

画像処理にチャレンジ(part 4): jpeg(JFIF)のヘッダー情報

次のヘッダーを読み込む(APP0) APP1セグメントはある場合とない場合がある ファイルを開けておけば、次々と読み続けることができる。 ohtani.jpgの場合はちょっと古いver.1.01のJFIFであった コード さらにその先は? 前回はjpegのヘッダー情報を読み込むた…

画像処理にチャレンジ(part 3): jpegのヘッダー情報を読み込む関数をつくる

前回のあらすじ 自作の関数Ver.0 前回のあらすじ 前回はJPEGのヘッダー情報を読み取ってみた。最初の「魔法数」に相当するSOIがff d8であること、つづくff e0がAPP0に相当し、JFIF形式の画像(JPEGの拡張版)となっていることなどが読み込めた。 しかし、1バ…

画像処理にチャレンジ(part 2): jpegのヘッダー情報解読

前回のあらすじ 最初のマジックナンバー JPEGには終わりのマークもある(EOI) ff e0の意味 最初の試みとしてはこんなところであろう おまけ(ファイルの終端) 前回のあらすじ 前回はBMP画像ファイルの読み込みに挑戦し、まずはヘッダーファイルという画像…

画像処理にチャレンジ(part 1):彗星観測の失敗と無謀な挑戦

Pons-Brook彗星の観測失敗 画像処理の教科書を納屋から引っ張り出す doomとnanosaursの経験が生きているかも 教科書をまねる BMPファイルを用意する ファイルを読み込むコード ASCII文字コード putc()関数 BMPの最初の2byteのデータを読み込む Pons-Brook彗…

東大数学2024問題6 (part 7): 数値的に問題6を解く

前回のあらすじ コードを分ける 前回のあらすじ 前回までに、素数のデータベースの取り込み、エラトステネスの篩を使った素数生成、両者の比較検証、などが済み、いよいよ問題に直接チャレンジできるところまできた。今回でけりを付ける。 コードを分ける エ…

東大数学2024問題6 (part 6): データベースとの比較

前回のあらすじ The PrimePagesのデータベースとの比較 計算結果 前回のあらすじ エラトステネスの篩のコードが書き終わった。最初の30個の素数(2,3,....,113)は正確に計算することができたが、果たしてたまたまなのか、それともちゃんと機能しているのか、…

東大数学2024問題6 (part 5): エラトステネスの篩のコーディング

前回のあらすじ A code for the Sieve of Eratosthenes Test run 前回のあらすじ ちょっと前のブログ記事の最後に英語を使って「付録」を書いてみたら、海外からのアクセスが来るようになって意外に感じている。東大の入試問題が世界からも注目されているの…

東大数学2024問題6 (part 4): ポインタを使って整数表現を調べる

前回のあらすじ C言語におけるポインタの利用 Fortran95における「ポインタ」の利用 Pythonの場合 前回のあらすじ 素数を生成する「エラトステネスの篩」アルゴリズムに従って、自分でコードを書いてみようと思ったわけだが、どの程度まで大きな整数が数値的…

東大数学2024問題6 (part 3): エラトステネスの篩(ふるい)と数値計算で扱える最大の整数

前回のあらすじ エラトステネスの篩 pythonによる実装 Fortran95で整数の最大値を確かめる デフォルトのinteger :: r, sumの場合 integer*4 の場合 integer*8の場合 integer*16にトライ! pythonではどうなのか? エラトステネスの篩のコードまでいけなかっ…

東大数学2024問題6 (part 2): 素数のデータファイルを読み込む

前回のあらすじ 二次元の配列に似たもの コードを書く 前回のあらすじ 前回の記事では、東大2024数学入試問題6を解き始めた。この問題では素数を扱うため、素数データベースを利用して問題探究を数値的に行うことにした。pythonでデータファイルを読み込む方…

東大数学2024問題6: 素数と因数分解

「今年最難」と噂の問題6へ 問題の概略 複天一流の流儀で解く 素数のデータベース 最初のコード 「今年最難」と噂の問題6へ ネットでの評価をざっと見た感じでは、本年度の東大入試問題においては問題6が「一番難しかった」との評価のようである。問題1もそ…

東大数学2024問題1(part 3): 境界を抽出する

前回のあらすじ 境界を抜き出す データの読み込み 動径と角度でグループ化されたデータ構造を利用して境界を抽出する 境界を抽出する 前回のあらすじ 前回の記事では、2つの不等式を満たす$(x,y)$をしミューレションによって数値的に見つけ出し、その結果を…

DOOM(Game)のソースコンパイルにチャレンジ

DOOMとは DOOMの移植 Linux DOOM (linuxxdoom) しかしX11の問題があって動かない Raspberry PI OS desktopのX-window システム XephyrでX-windowをネストする方法 XMatchVisualInfoの構文の謎 起動後の解像度の問題の解決方法 ついに起動したlinuxxdoom! DOO…

Nanosaur(ゲーム)のソースコードをコンパイルする

PowerMacとNanosaur2 Nanosaur for macOS cmake? Nanosaur2のコンパイル PowerMacとNanosaur2 Hackintoshの野望のおかげで、いろいろなことが勉強できている。Intel-macが消滅した今の状況と、その昔power-macが消滅したときとを比較していて思い出したのが…

失われた対数の性質 (part 4):最後の山場

前回のあらすじ $f(x,y)=\log_x y$という「二次元」の問題 わかったこと pythonで数値計算 前回のあらすじ 対数関数にパラメーターを入れる二つの方法(割り算系と足し算系)を吟味した。 関連する性質についてのこれまでの考察に基づき、いよいよ最後の問題…

共通テスト2024(数学):星と円の図形 part 2

シミュレータで問(2)の状況をまとめる シミュレータで問(2)の状況をまとめる 我々がつくったシミュレータで、5点P,Q,R,S,Tが円周上に乗る状況を描いてみよう。 まず、円の中心は \begin{equation} (x_0, y_0)=\left(\frac{9}{2\sqrt{11}}, \frac{3}{2}\righ…

共通テスト2024(数学):星型の図形 part 6

前回のあらすじ メネラウスの定理 点B, Eを打って星型を完成させる 前回のあらすじ 共通テスト2014の数学の幾何学の問題(数A、数I)で、今年は星型の図形を分析する問題が出た。問題を解く前に、シミュレーターをsvg+javascriptで作ってみようと思い、プログ…

共通テスト2024(数学):星型の図形 part 5

前回のあらすじ 問(1)に取り掛かる直前に発生したバグ取り話 問(1)の内容 代数幾何を利用する 点Rの座標 前回のあらすじ 共通テスト2014の数学の幾何学の問題(数A、数I)で、今年は星型の図形を分析する問題が出た。問題を解く前に、シミュレーターをsvg+…

共通テスト2024(数学):星型の図形 part 4

前回のあらすじ 点T,Sの設置は実は簡単 前回のあらすじ 共通テスト2014の数学の幾何学の問題(数A、数I)で、今年は星型の図形を分析する問題が出た。問題を解く前に、シミュレーターをsvg+javascriptで作ってみようと思い、プログラミングを始めた。問題の一…

共通テスト2024(数学):星型の図形 part 3

前回のあらすじ 回転の自由度 前回のあらすじ 共通テスト2014の数学の幾何学の問題(数A、数I)で、今年は星型の図形を分析する問題が出た。問題を解く前に、シミュレーターをsvg+javascriptで作ってみようと思い、プログラミングを始めた。問題の一般性を失…

共通テスト2024(数学):星型の図形 part 2

前回のあらすじ 極座標を用いた点Dの表現 直線ADを伸ばしたり縮ませる 前回のあらすじ 共通テスト2014の数学の幾何学の問題(数A、数I)で、今年は星型の図形を分析する問題が出た。問題を解く前に、シミュレーターをsvg+javascriptで作ってみようと思い、プ…

東京大学2023数学[3] part-11: svgを動かす

前回のあらすじ まずはsvgで問題文に設定された円と放物線を表示 スライダーとパラメータ表示窓の作成 前回のあらすじ hatena blogに、javascript, html/css, そしてsvgを組み込む練習をしてきた。その試みも、今回がいよいよ最終回である。これで、問題文が…

東京大学2023数学[3] part-9: svgをjavascriptで動かすための準備(html, css)

前回のあらすじ イメージというかスケッチのようなもの スライダーをつけてみる。 cssを使ってパラメータ値の表示窓をつくる 前回のあらすじ ....といっても随分前の話になってしまった。結局、この記事が2024年の「書き初め」ということで、1月以上も間が空…

東京大学2023数学[3] part-8: svgで放物線を描く(pythonで)

前回のあらすじ pythonで自動生成プログラムを書く pythonにおける文字列の連結 座標軸と円を置く いよいよ放物線 前回のあらすじ SVGを使って図形を描く試みは「放物線もどき」のところまで進んだが、「手描き」では限界があることを確認。より滑らか放物線…

東京大学2023数学[3] part-7: svgで放物線を描く(でも手描きで)

前回のあらすじ pathで放物線もどきを「手で」描く 前回のあらすじ hatenablogに関数グラフをSVGで描く試みを始めた。座標軸を表す直線や囲みに対応させた四角形、そして円などは、SVGに最初から組み込まれ準備されている図形であり、文法通りにコマンドを書…

東京大学2023数学[3] part-6: svgで問題の中の図形を描く

前回のあらすじ 完成図 svgの決まり文句 枠を描く 座標軸を描く 最後に円 放物線は難しい 前回のあらすじ 東大の数学入試問題2023[3]の小問(1)の答えを得るべく、「シミュレーションもどき」を駆使して分析してきた。その結果、$a>5/4$という解の予想が手に…

東京大学2023数学[3] part-4: 4次方程式のグラフの描画

前回のあらすじ 解くべき4次方程式 pythonによるグラフのプロット pyplotを使う シミュレーションを始める シミュレーションで分析する 最後のトドメ 前回のあらすじ この問題では放物線Bと円Cの「上下関係」を分析するように求められているが、2つの二次曲…

東京大学2023数学[3] part-3: gnuplotで図を量産する方法

前回のあらすじ シミュレーションのまとめ (1-a) 円が放物線の上に来る場合(C>B) (1-b) 円が放物線の下に来る場合 (C<B) (2-a) 円Cと放物線Cが一点で接する場合 (2-b) 2点で交差する場合 (2-c) 3点で「交差」する場合 (2-d)4点で交差する場合 gnuplotで…

東京大学2023数学[3] part-2: gnuplotによるスケッチ

前回のあらすじ gnuplotで描く問題設定のグラフ 問題の吟味 シミュレーションと数値計算の違い 連立方程式 前回のあらすじ 東京大学2023数学[3]の問題に取り掛かることにした。2次曲線(円錐曲線)の交点について調べる問題であるが、その図形をブラウザ上(…