何かを書き留める何か

数学や読んだ本について書く何かです。最近は社会人として生き残りの術を学ぶ日々です。

Mathematics

Final Fantasy XII サブイベント「キャビンチーフ七姉妹」を効率的に攻略する

突然のゲーム攻略エントリ だいぶ前にFinal Fantasy XII The Zodiac AgeのNintendo Switch版を購入し、先日ラスボスを撃破し、現在2周目をやっている。 FF12のサブイベントに「キャビンチーフ七姉妹」というものがあり、飛空艇定期便の「ゆったり飛空艇」の…

『問題解決のPythonプログラミング』の査読を担当しました

これがMITの学生が学んでいるプログラミング! 2018年9月22日にオライリージャパンから『Programming for the Puzzled』の邦訳『問題解決のPythonプログラミング』が発売される。 この度、邦訳の査読者として参加させていただいた。 オライリーの方から話が…

オンライン整数列大辞典に掲載されている数列をPythonで生成したい #1

それ、Pythonで簡単にできるよ?と言いたかった。

事象が起こるまで試行を繰り返した場合の試行回数の期待値

成功するまで何度でも繰り返す 先日、Twitterで以下のツイートを見かけた。 ふと確率αの事象が起こるまで試行を繰り返したときに試行の総回数の期待値がいくつになるか不安になって高校の知識をフル動員して解いたところ、変哲もない1/αという答えが出て徒労…

UUID version 4は衝突するのか?

UUID4が衝突するのか心配で食事も満足にできず夜も寝ることができません UUID(Universally Unique Identifier)とは汎用識別子であり、 ISO/IEC 11578:1996や、 IETFのRFC 4122で仕様が公開されている。 UUID 4の構造 RFC 4122ではいくつかバージョンが定めら…

cmathとmatplotlibでMandelbrot集合を描画する。

cmathに思いをはせて cmathモジュールの活用例を求めて色々と考えた後、まずはMandelbrot集合を書いてみようと思い立った。 Mandelbrot集合の定義はWikipediaを参照してほしい。 マンデルブロ集合 - Wikipedia 簡単に述べると、ある複素数列が収束する初期値…

cmathモジュールのジレンマ

無何有の郷へ Pythonには複素数を計算するための函数を収めた標準モジュールcmathが存在する。 9.3. cmath — 複素数のための数学関数 — Python 3.6.1 ドキュメント ドキュメントにはこのような一節がある。 mathと同じような関数が選ばれていますが、全く同…

ポケコインを効率よく買いたいので整数計画問題に落とし込む

Pokemon Goを始めた。 最初のポケモンはピカチュウであった。 卵を複数入手し、10kmという長距離を歩かされるものもあり、インキュベーターは複数あった方が効率がよさそうだなと思い、初めてGoogle Playカードを買った。 1500円である。 いざチャージしたお…

Pythonで巡る線型代数:ベクトルと行列篇

「はじめに」の前に これは以下のプロポーサルに沿ったエントリ(の予定です) pycon.jp ただ、あまり需要がなさそうなので取り下げる可能性が高いです。 ベクトル 定義 のように3個の数を一列に並べたものを3次元数ベクトルという。 一般に、のように個の数…

Pythonで巡る線型代数:準備篇

「はじめに」の前に これは以下のプロポーサルに沿ったエントリ(の予定です) pycon.jp はじめに 線型代数学は、数学のもっとも古い分野の一つでありながら、またもっとも新しいものの一つに数えられる。 Bourbaki『数学史』 線型代数は現代数学の基礎をな…

「マイナンバーは素数だ!」発言による情報漏洩

「マイナンバーは素数だ!」発言の危うさ マイナンバーキタ━ヽ( ゚∀゚)ノ┌┛)`Д゚)・;'━!! やったー!チェックディジットを除けば素数だ!(この情報量は何ビットになるか計算せよ)— Haruhiko Okumura (@h_okumura) 2015, 11月 23 この世には素数に異常な執着をもつ…

Pythonによる体上の多項式環

整数剰余環の次は体上の多項式環である。 j2kun/finite-fields · GitHubを参考に…どころか数学的な部分はまる写しという体たらくである。 メタクラスを使ったり、コメントをつけたり、unittestを書いたのが私の頑張った範囲である。 プログラミングによる有…

Pythonでメタクラスを使ってみたかった

先日、 第5回Python文法詳解を詳解する会に参加した。 Python文法詳解を詳解する会 - 第5回 (2015/06/10 19:00〜)python-in-depth.connpass.com Pythonの名前空間とクラスに関する話が続き、最後にメタクラスが登場した。 メタクラスは名前こそ聞いたことが…

PythonでGF(2)の拡大体

GF(2)とは位数が2である有限体のことである。体とは簡単に言えば四則演算が定義され閉じている集合である。 有名な体には有理数体(分数を含む体)、実数体、複素数体があり、一般的な知名度は無いが代数的数の集合も体となる。 計算機上でも四則演算が出来…

Pythonで整数剰余環

これは、代数構造を実装しようとして四苦八苦して生み出された謎の記録である。複雑なプログラミング、大規模な開発を会社から指示される前に自分でやってみたいと思い、題材として代数を選んだ。まずは一番簡単そうな有理整数環の剰余環を実装しようと思い…

数学小話:代数学の基本定理

仕事でも数学を使う。この前は微積分学の基本定理と呼ばれるものをちょっと使った。微積分学の基本定理とは微分と積分が表裏一体であるということを主張している。高校ではこれを前提に積分を微分の逆演算として定義している。この定理が知られるまでは微分…

数学小話:無限の可能性

人生には無限の可能性があるという。僕は現在IT企業と呼ばれるものに属している。IT企業は文字通り情報技術を駆使してこの世の中を便利にする使命がある。もし、この使命を狂信している上司から「我々の事業には無限大の可能性がある」という言葉が出てきた…

冬休み課題の解答を提出します

冬休み課題②:円周率を使わない話 - マクロツイーターにある冬休みの課題をSymPyの宣伝を兼ねて提出する。 問題は上記のリンクを参照して欲しい。 import sympy t = sympy.Symbol('t') x = sympy.Symbol('x(t)') y = sympy.Symbol('y(t)') alpha = sympy.Sym…

電通大が読んでいる数学書ってどんな本

これを書いたのと、「数学者が読んでいる本ってどんな本」を紀伊國屋書店で見かけたので今までの軌跡を振り返るのもよいと思って書いてみることにする。なお電通大生は数学というより工学系の専門書か技術書を好む傾向があると推測している。よってこれは電…

自分のためのnetworkXメモ

「ランダムグラフを生成し保存する、そしてある操作をして得られたグラフをまた保存をする」というのはグラフ理論をやる人ならばよくある光景ではないだろうか。そこで私は以下の様なPythonコードを書いた。 import networkx as nx import matplotlib.pyplot…

像と核とは何者なのか -UEC Advent Calendar 2013-

UEC Advent Calendar 2013のために書かれた記事です。 staybuzz||12月7日:yadex205>

数学言葉遊び

数学で用いられる言葉の中には日常で用いる言葉を借りているものがある。

RSA暗号を実装する

実装すると言っても通用するのは精々学部のレポートまで、理屈をよくわかっている仲間内で遊び半分で使うならともかく役に立たないと思われる。

B. L. van der Waerden 『Algebra』

Algebra : Volume I作者: B.L. van der Waerden,F. Blum,J.R. Schulenberg出版社/メーカー: Springer発売日: 2003/10/21メディア: ペーパーバック購入: 2人 クリック: 2回この商品を含むブログを見る B. L. van der Waerden 『Algebra』Springer抽象代数学の…

Euclidの互除法はどれだけ速いのか

Euclidの互除法とは与えられた2つの自然数の最大公約数を求めるアルゴリズムである。 世界で最初のアルゴリズムとも言われていて知らない人はそんなにいないと思う。 最大公約数を求めるための自然な発想は素因数分解だと思われるが素因数分解を高速で解くア…

佐武一郎『線型代数学』

佐武一郎『線型代数学』 裳華房 1974年 http://www.shokabo.co.jp/mybooks/ISBN978-4-7853-1301-2.htm 日本語で書かれた線型代数の本としてはこの本と斉藤正彦先生の『線型代数入門』(東大出版会)が有名だろうか。共に2006年に日本数学会第二回出版賞を受…