tag:blogger.com,1999:blog-3952384207420356012024-03-17T23:29:07.197+09:00Midnight Floating ThoughtMATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.comBlogger106125tag:blogger.com,1999:blog-395238420742035601.post-25554654203433028582024-03-17T23:28:00.003+09:002024-03-17T23:28:20.706+09:00ケヤキ - 樹皮上のいろいろ<p>
地衣類を見始めて、樹皮に付く種類を見付けやすいのがケヤキ・サクラ辺りだと判ったのだが、同時に地衣類以外もいろいろ集まりやすい木のようだ。
そのいろいろを集めて見せてくれるページがないか探してみたが見当たらなかったので、試しにやってみようと思う。
</p><p>
蘚類はヒナノハイゴケ・コゴメゴケなどが多いらしい。上は多分ヒナノハイゴケで、下は不明。
</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2Dp3reWx-JMxXjE-i-VcWX550IFg3I27fzeJU-s5EvNfoQPalUHcvTyG-mJYB3vODAK-fILbam1ISi-ILqk3vDLogY82xCWQq-8DZ7h35g6H3Wan_D0CJ_Dgp-yxHYSMU2vmvm5ivFHvAb7zAFUdolbVNOVmLZED5GdYsx_GxwVMm64QesIZllufzPDw/s4032/IMG_3414.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2Dp3reWx-JMxXjE-i-VcWX550IFg3I27fzeJU-s5EvNfoQPalUHcvTyG-mJYB3vODAK-fILbam1ISi-ILqk3vDLogY82xCWQq-8DZ7h35g6H3Wan_D0CJ_Dgp-yxHYSMU2vmvm5ivFHvAb7zAFUdolbVNOVmLZED5GdYsx_GxwVMm64QesIZllufzPDw/s320/IMG_3414.JPG"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUQM0YxFj9tGBRfgfJoeDrgRyXqRcpRWi7d7OS09ADWKgVO0bk6UvK6VuLxXqpnFniHiEzyNtTz1W8nSjrnq1r-crBkA65SFCht8iNLcuPJfI-hfmwBs8YEJSstGBRKnqdrN2BXJw3PdL_QhWbAivL59RzumqKNRXn0g9UwTfxdz6LS3y3KLsxS1fIW_o/s4032/IMG_3426.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUQM0YxFj9tGBRfgfJoeDrgRyXqRcpRWi7d7OS09ADWKgVO0bk6UvK6VuLxXqpnFniHiEzyNtTz1W8nSjrnq1r-crBkA65SFCht8iNLcuPJfI-hfmwBs8YEJSstGBRKnqdrN2BXJw3PdL_QhWbAivL59RzumqKNRXn0g9UwTfxdz6LS3y3KLsxS1fIW_o/s320/IMG_3426.JPG"/></a></div>
<p>
藻類は「ケヤキの場合は Interfilum paradoxum が優占する群落が見られる。」と
http://sourui.org/publications/phycology21/materials/file_list_21_pdf/25Airborne-algae.pdf
に書いてあった。
それかどうかはともかく。
</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha4mro_AHUez0nJCs6C0XFPvA_ulPl1b4acBQr_kJYDjSBKaJm1BdIxTayY46a67AGNbBQbnEjaYIcdTHAlgDgi8xdG-Zaa-iGOFjFwgIz0psW6CCK8znKR70pZ_0RCqmfDCwNm8wDXqQitTgx4O2Tby-srs7OoC6Ojakso0sv2HBf0_Y8U9jWQjT1pWg/s4032/IMG_3442.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha4mro_AHUez0nJCs6C0XFPvA_ulPl1b4acBQr_kJYDjSBKaJm1BdIxTayY46a67AGNbBQbnEjaYIcdTHAlgDgi8xdG-Zaa-iGOFjFwgIz0psW6CCK8znKR70pZ_0RCqmfDCwNm8wDXqQitTgx4O2Tby-srs7OoC6Ojakso0sv2HBf0_Y8U9jWQjT1pWg/s320/IMG_3442.JPG"/></a></div>
<p>
地衣類(レプラゴケ、ロウソクゴケ、コフキメダルチイ、ハクテンゴケ)。他のウメノキゴケ類、モジゴケ類、フタゴウオノメゴケやヒメスミイボゴケなども。
</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4LLzXHwLjlzxO5jjNuHiCOBNDbaMS5U9njj-GzTk3t45zE6-FmZ-JftAOAvDndGBHC9hMSHP4XrdEpFbecnO0u4s78N4B2QuwdI77KDPRdQ0vTIKQ1fjGDzxMZj86hPSMVJ8M07zn7_OC5JkpGZHYjK3_xTPk9n0oUsyT-HhqGInwQYt6ibV4J2H8Jlw/s4032/IMG_3401.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4LLzXHwLjlzxO5jjNuHiCOBNDbaMS5U9njj-GzTk3t45zE6-FmZ-JftAOAvDndGBHC9hMSHP4XrdEpFbecnO0u4s78N4B2QuwdI77KDPRdQ0vTIKQ1fjGDzxMZj86hPSMVJ8M07zn7_OC5JkpGZHYjK3_xTPk9n0oUsyT-HhqGInwQYt6ibV4J2H8Jlw/s320/IMG_3401.JPG"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgITbmgmvphNx7KpfQQX5cJHhxueRxqInEd_s7Ohcvq8zqoTlMih-oY30he2H-DmxENppu2o_4AEUj5rBGeL6lxw_Tlq1neSjHBugYDf5Z4x7jsUO1zZ4emcQAS5zRr8YacCLRJ8LcZpmlX6qV-L0ZbqwX_QI5iMmZh02MfC7w_r7L8sMrF-AJBd4jVMx0/s4032/IMG_3405.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgITbmgmvphNx7KpfQQX5cJHhxueRxqInEd_s7Ohcvq8zqoTlMih-oY30he2H-DmxENppu2o_4AEUj5rBGeL6lxw_Tlq1neSjHBugYDf5Z4x7jsUO1zZ4emcQAS5zRr8YacCLRJ8LcZpmlX6qV-L0ZbqwX_QI5iMmZh02MfC7w_r7L8sMrF-AJBd4jVMx0/s320/IMG_3405.JPG"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr3bB_-IsLwhYjMwkkkcV7r2B5aaMpIjht_QdYt_jSQzl2bJP1npdi6UlRWrU2x69dKNj7ZElDycfDOeXyoC2ZpxfQzqkjagGu4XeAGrAcS8JOVWL8W9ts09XFI-B0nuXXsSmTYXrXzmWQKlVBhbYEhyphenhyphenyo-REkkmknjqi50LcS0wI8suI9kXvXYWNspRE/s4032/IMG_3423.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr3bB_-IsLwhYjMwkkkcV7r2B5aaMpIjht_QdYt_jSQzl2bJP1npdi6UlRWrU2x69dKNj7ZElDycfDOeXyoC2ZpxfQzqkjagGu4XeAGrAcS8JOVWL8W9ts09XFI-B0nuXXsSmTYXrXzmWQKlVBhbYEhyphenhyphenyo-REkkmknjqi50LcS0wI8suI9kXvXYWNspRE/s320/IMG_3423.JPG"/></a></div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG8Ia7kbBjY-pAYxl5W6ojQzuowTwcg1138_RZDY7yO2UcKfSYSZRRZEgKyNejA1QkzOpW2jvhINPSFnB5yV_EJhOH0YtilupMzwJ0RTKn4U2kUleIrXoQHCs6Xwez7czRq8IT6BULuBimATsNYDBUybCbo9ualZxsfsKa_iUrgyIYG_CLKEZ1E2_70sI/s4032/IMG_3452.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG8Ia7kbBjY-pAYxl5W6ojQzuowTwcg1138_RZDY7yO2UcKfSYSZRRZEgKyNejA1QkzOpW2jvhINPSFnB5yV_EJhOH0YtilupMzwJ0RTKn4U2kUleIrXoQHCs6Xwez7czRq8IT6BULuBimATsNYDBUybCbo9ualZxsfsKa_iUrgyIYG_CLKEZ1E2_70sI/s320/IMG_3452.JPG"/></a></div>
<p>
不明。これは結局何?
</p><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzaJzIOFK235vQXEtjz8Qm2FJm34fv48ZmTgYhkSZ5PUqCAOv1ZCkn9gWSwhBtfGAGmTCM71Aq8eCAbdVmexTDaXTtnTyvKT6ycPzqb51NcVz2dQuwxmWQFQi7yVBYSM1i3lYsRhGF9yI10WJ66dk3sem70HUR_YenN2mNRbgSRhVXBWCwhow9DmHHysY/s4032/IMG_3397.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzaJzIOFK235vQXEtjz8Qm2FJm34fv48ZmTgYhkSZ5PUqCAOv1ZCkn9gWSwhBtfGAGmTCM71Aq8eCAbdVmexTDaXTtnTyvKT6ycPzqb51NcVz2dQuwxmWQFQi7yVBYSM1i3lYsRhGF9yI10WJ66dk3sem70HUR_YenN2mNRbgSRhVXBWCwhow9DmHHysY/s320/IMG_3397.JPG"/></a></div>
<p>
昆虫(ヨコヅナサシガメ)。夏場にはオオミズアオが飛んでくるしもちろん蝉も、蟻はよく見る。外来種のヒロヘリアオイラガの繭もよく付いている。
</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSgyAyPU-20ohBCzbY9osiDqrLNygQN-k_fl_WH1cnj4LPaDKnWrxIA4-yzwSuNdhS9JFSPyOgI9jUGttAsiV5KterYGrJJ_z94zMcS2lmmSs5SiHyxYMH89dKLgQ-ldlJ8G5suJEtpkKFQiMrOquyKL7uI98P-EZsriZlGT2yb1TOettvYbpVOJTYepQ/s4032/IMG_3407.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="320" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSgyAyPU-20ohBCzbY9osiDqrLNygQN-k_fl_WH1cnj4LPaDKnWrxIA4-yzwSuNdhS9JFSPyOgI9jUGttAsiV5KterYGrJJ_z94zMcS2lmmSs5SiHyxYMH89dKLgQ-ldlJ8G5suJEtpkKFQiMrOquyKL7uI98P-EZsriZlGT2yb1TOettvYbpVOJTYepQ/s320/IMG_3407.JPG"/></a></div>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-56043185291100991152024-03-12T21:43:00.001+09:002024-03-13T10:11:27.398+09:00トロピカル多項式<p>
トロピカル幾何学で扱われる"トロピカル多項式"の話をしたい。
引用符を付けたのは、特別な多項式があるわけではなくただの実数係数多項式だ、と言いたいからだ。
もちろん、代入操作がトロピカル代数を使った評価になる。
</p><p>
以前(<a href="https://mmfftt.blogspot.com/2020/02/monoid-ring.html">多項式環はモノイド環</a>)、次のように書いた。
</p><blockquote><p>
多項式環をモノイド環として見ると、「代入」によって冪乗や係数との積が取られることは全く自明ではなくなるが、説明付けることは可能だ。
いま可換環\(R\)と\(R\)代数\(S\)がある状況を考えよう。
\(R[\mathbb{N}^n]\)の元\(f\)に\(s\in S^n\)を代入するとは、
\(\mathbb{N}^n\) から \(s\) で \(S\) の積により生成されるモノイド \(\langle s \rangle\) への準同型で \(R[\mathbb{N}^n]\) を \(R[\langle s \rangle]\) に写した上で、
\(\langle s \rangle\) の元を \(S\) の元と考え、係数を \(R\) の作用と考え、形式和を \(S\) の和に読み替えて、全てを \(S\) の中で評価した結果を得ることを言う、ということになるだろう。
</p></blockquote><p>
トロピカル代数にこれを当てはめてみたい。
と、その前にトロピカル代数を定義しておこう(一般論はよく知らないので、よく出てくる min-plus 代数というやつだけ考える)。
\(\mathbb{R}\) を実数体とし、\(\overline{\mathbb{R}}=\mathbb{R}\cup\{\infty\}\) とする。
\(\overline{\mathbb{R}}\)に次のように演算を定義する。
積\(\otimes\)を\(\mathbb{R}\)の和(もちろん\(\infty\)に何を足しても\(\infty\))とし、
和\(\oplus\)を\(\min\)とする。
積の単位元は\(0\)、和の単位元は\(\infty\)となる。
和が逆元を持たないので通常の意味で環ではないが、この点だけを除けば大体環みたいなので半環と呼ばれる。
</p><p>
\(\mathbb{R}\)の\(\overline{\mathbb{R}}\)への作用は普通に\(\overline{\mathbb{R}}\)の積として入れることができる。
ということで、「可換環\(R\)と\(R\)代数\(S\)」の代わりに「可換環\(\mathbb{R}\)と\(\mathbb{R}\)の作用を持つ半環\(\overline{\mathbb{R}}\)」が用意できた。
後は\(\mathbb{R}\)係数の多項式(\(R[\mathbb{N}^n]\)の元)に\(\overline{\mathbb{R}}^n\)の元を代入する手続きで、これは引用した説明と同じだ。
くどいかも知れないが念のためなぞっておくと、\(f\in\mathbb{R}[\mathbb{N}^n]\)に\(s\in\overline{\mathbb{R}}^n\)を代入した\(f(s)\)は、次のように計算される。
\(\mathbb{N}^n\) から \(s\) で \(\overline{\mathbb{R}}\) の積により生成されるモノイド \(\langle s \rangle\) への準同型で \(\mathbb{R}[\mathbb{N}^n]\) を \(\mathbb{R}[\langle s \rangle]\) に写した上で、
\(\langle s \rangle\) の元を \(\overline{\mathbb{R}}\) の元と考え、係数を \(\mathbb{R}\) の作用(\(\overline{\mathbb{R}}\)の積すなわち\(\mathbb{R}\)の和)と考え、形式和を \(\mathbb{R}\) の和(すなわち\(\mathbb{R}\)の\(\min\))に読み替えて、全てを \(\overline{\mathbb{R}}\) の中で評価した結果を得る。
</p><p>
背景: 最近、トロピカル代数の話って付値の話に似てると思って何本か YouTube でトロピカル幾何学の動画を見ていたらやっぱり付値の説明なんかが出てきたのですっきりした、という流れでそこで扱われている多項式についてちょっと考えたことを書き留めてみた。
</p><p>
追記: うーん、違うな。これだと多項式関数として役に立っていない。
</p>
MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-66686173380782364382024-02-25T18:58:00.001+09:002024-03-10T09:27:28.792+09:00100均のマクロレンズ - 続ダイダイゴケ<p>
去年だったか100均でスマホにクリップで付ける簡単なマクロレンズを買っていた、のを思い出したので使ってみる。
</p><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr79aUEeogZC769Hd7Q3CI_0O-cw9Rt0GBWJwmDwDGMzyBfCeWTnikzJwUuZ_t5zkAjy0YvJd5FycY8GApl5-KqUrUuevinJjEmrRwhw0blVuFbAvVJn5wVq1ENmLOIUJzPW-2JA5Z7WNxShX9aMB3u_j2otxJG9WkU5hWOCfLjr3A9RuL7FZbMO6naAo/s4032/IMG_2844.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="640" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr79aUEeogZC769Hd7Q3CI_0O-cw9Rt0GBWJwmDwDGMzyBfCeWTnikzJwUuZ_t5zkAjy0YvJd5FycY8GApl5-KqUrUuevinJjEmrRwhw0blVuFbAvVJn5wVq1ENmLOIUJzPW-2JA5Z7WNxShX9aMB3u_j2otxJG9WkU5hWOCfLjr3A9RuL7FZbMO6naAo/s320/IMG_2844.JPG"/></a></div><p>
コウロコダイダイゴケ <i>Squamulea</i> aff. <i>subsoluta</i>
</p><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZmXv3gEQOkfVJH6ok_3cay0Mcj7_p2-FaySiInbJT8_w6u4TJdIPvLnpYU6gR0uW_TI1xl-oWo4N0CqPZooAVrluWVjcRjLoyCo1eGaMcDvaY4qTzUL-uxOVNEjHWNp4lRaYAMzUPUiXyXQBgWUanbYWnNbdn2_aWgWEMcTEMoguyNS5gHtQFnDdn6Fw/s4032/IMG_2870.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="640" data-original-height="3024" data-original-width="4032" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZmXv3gEQOkfVJH6ok_3cay0Mcj7_p2-FaySiInbJT8_w6u4TJdIPvLnpYU6gR0uW_TI1xl-oWo4N0CqPZooAVrluWVjcRjLoyCo1eGaMcDvaY4qTzUL-uxOVNEjHWNp4lRaYAMzUPUiXyXQBgWUanbYWnNbdn2_aWgWEMcTEMoguyNS5gHtQFnDdn6Fw/s320/IMG_2870.JPG"/></a></div><p>
ツブダイダイゴケ <i>Gyalolechia flavovirescens</i>
</p><div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggwrQ3aliwDLDA4TVxCy_8A7NuroLCkQDvXx0lg7ULyu1-uRVX5jkOTkMH0rYjQjG_81b7A1Fd-zkktCO9eJ7wHqp9dMicqIxKT48JQxaWaMU1viSJjo1QYYY-Rt9jKH6YJ-RiAJTPAdjID2GV3uX-G17OFebbEDTIn2MubN4sBV5OX9IatqMjsITzRy4/s4032/IMG_2863.JPG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="640" data-original-height="4032" data-original-width="3024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggwrQ3aliwDLDA4TVxCy_8A7NuroLCkQDvXx0lg7ULyu1-uRVX5jkOTkMH0rYjQjG_81b7A1Fd-zkktCO9eJ7wHqp9dMicqIxKT48JQxaWaMU1viSJjo1QYYY-Rt9jKH6YJ-RiAJTPAdjID2GV3uX-G17OFebbEDTIn2MubN4sBV5OX9IatqMjsITzRy4/s320/IMG_2863.JPG"/></a></div><p>
不明種。前回「生え方が厚みがある気がする」とか言っていたが、拡大したら子器だらけで、上の二つとは別種ということでいいいと思う。
地衣体がほぼ無い種類として <i>Athallia</i> という属があるらしいので、その仲間だろうか、とか想像してみたり。
</p><p>
2024-03-10追記: 3枚目の写真だが、いろいろ観察してきた結果コウロコダイダイゴケだと判ってきた。
どういう環境だとこうなるのかまでは不明だが、コウロコダイダイゴケのコロニーを見ていると時々こうした子器だらけの領域が現れる。
この写真の場所もきっと端の方まで観察すれば普通のコウロコダイダイゴケっぽい領域に続いていると思う。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-30758063339952128082024-02-20T02:53:00.002+09:002024-02-20T02:53:36.190+09:00ダイダイゴケ<p>
ここ数週間地衣類を見るのにはまっている。
きっかけは何となく読んでみた本からなのだが、今まで意識に上っていなかったそこらで目にするあれもこれも地衣類だということに気付いてしまったら、もう見逃すことができなくなってしまった。
種類をちゃんと知るためにはルーペで細かい部分まで見る必要があって、種を同定するというレベルだと特有の分泌物質を検出することが必要になるらしいのだが、そこまでは無理。ルーペは買うべきかも知れないが。
ざっくり見分けるレベルだったら、図鑑と見比べるぐらいで何とかなるだろうと、最新の安価な図鑑を買った。「街なかの地衣類ハンドブック」というやつだ。
</p><p>
最初のうちは、ダイダイゴケ、モジゴケ、ウメノキゴケのように目や科のレベルで認識するので手一杯だったが、そのうちよく見掛けるダイダイゴケの中にたまに雰囲気の違うような気がするものがあるような気がしてきた。
もう一度ハンドブックに戻ると、コウロコダイダイゴケとツブダイダイゴケが載っている。よく見るのはコウロコダイダイゴケの方だ。これは本当に住宅街には遍在していると言っても良いほどそこら中に生え散らかしている。
雰囲気の違う物がツブダイダイゴケの記述に当てはまるか、と言われると、それも違う気がする。
ということで他の資料を見たいのだが、そもそも日本語の地衣類図鑑は大昔のものを除くと、あとは(自費出版か何かの類いなのか)携帯版と称するもので5000円ぐらいするやつしかない(後に、図書館で実物を見たがフルカラーで値段的には妥当かもしれないがいきなりは手を出しにくい)。
ということでネットの大海に乗り出すために、ハンドブックで学名を確認する。
コウロコダイダイゴケ <i>Squamulea</i> aff. <i>subsoluta</i>。ツブダイダイゴケ <i>Gyalolechia flavovirescens</i>。
aff?
</p><blockquote><p>
【aff. affinis】○○△△に類似の意味。特定の種または亜種に類似するが、重要な分類形質の一部が明らかに一致しないことから、未記載種の可能性の高い場合に、属名と種小名の間に挿入する用語。○○ sp. aff. △△というように用いる(○○は属名、△△は種小名)</p><cite><a href="https://churashima.okinawa/umitosaka/pdf/softCoralBook08.pdf">Ⅶ 用語解説</a></cite></blockquote><p>
つまり学名が確定していない!
こんなにそこら中にある普通種の学名が確定していない状態で安閑としていられるものなのか?
サザエがずっと別種と取り違えられていて最近新種と判った、などという話もあるし研究者は普通種に興味が無いものなのかもしれない。
</p><p>
一方、Squamulea や Gyalolechia という属が設けられたのは長い博物学の歴史からすると極最近のわずか10年前のことで、分子生物学的なつまり DNA の系統分析の波が押し寄せて今まで巨大な分類群だった Caloplaca がバラバラになり、その後も一部は別の分類群に移動したり、とダイダイゴケ類(を含め地衣類)の分類は今激動期のようだ。
ツブダイダイゴケを web で探すと以前の <i>Caloplaca flavovirescens</i> としているページの方が多く出てくる。
そして、より新しくは <i>Laundonia flavovirescens</i> のようだ。
</p><p>
コウロコダイダイゴケのように、ダイダイゴケ類でコンクリートの上に生えてる種類、みたいなものを探してみる。たとえば <i>Xanthocarpia crenulatella</i> の
<a href="https://fungi.myspecies.info/all-fungi/xanthocarpia-crenulatella">Fungi of Great Britain and Ireland</a> の生息地の説明を見ると
"On flat concrete such as drain covers and disused airfield runways, rarely on inland limestone." などとあり、写真も割と似たものに見える。
ただし、いろいろな物が混ざっているので再考が必要("According to Vondrák et al. (2011) the species is polyphyletic, and the status of GBI material needs further research.")、みたいな注意もあり分類の難しさが判る。
</p><p>
話を戻して、「雰囲気の違うやつ」に関しては、生え方が厚みがある気がするのでその方向で何か探せないかと思うのだが、いかんせん写真頼りで調べるのは限界がある。
学術的な記述で探し出すのってどうやるんだろう。
そもそも論文にアクセスするのも大変そう(大学などの機関に属しているわけではないので)。
何か進展があればまた書くかも知れないが、一瞬の熱狂で終わる可能性も…。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-36293127220526745612024-01-09T01:49:00.000+09:002024-01-09T01:49:17.515+09:00pipenv の zsh 補完<p>
Django の開発中の不満の一つが pipenv run の補完だ。
zsh は補完が凄いと聞いていたのに bash から移行してストレスが増えた。
bash はとりあえずファイルがそこにあればいつでも補完が効く。
pipenv run python と打った後にはカレントの manage.py が補完できる。
それに対して、zsh の補完はもっと inteligent で文脈を理解するのだが、何の指定もない文脈では何も補完できない。
本当に使えない。
まあお気づきかと思うが、zsh が使えないというより設定ファイルが酷い、という話、のはずだ。
</p><h2>調査</h2><p>
まずは状況を確認しよう。
Mac の homebrew で pipenv を入れていて、シェルは zsh。
.zshrc で補完の設定は最低限のものだけ。
</p><blockquote><pre>
autoload -Uz compinit && compinit
zstyle ':completion:*' completer _complete _ignored _files
</pre><cite>.zshrc</cite></blockquote><p>
pipenv の補完設定は /usr/local/share/zsh/site-functions/_pipenv にあるが、これは /usr/local/Cellar/pipenv/2023.11.15/share/zsh/site-functions/_pipenv へのシンボリックリンクだ。
homebrew がこの設定ファイルをどこから持ってきているかというと、pipenv.rb の中で次の補助関数で生成している。
</p><blockquote style="overflow-x: scroll"><pre>
generate_completions_from_executable(libexec/"bin/pipenv", shells: [:fish, :zsh],
shell_parameter_format: :click)
</pre><cite>pipenv.rb</cite></blockquote><p>
generate_completions_from_executable は、formula.rb に定義がある。
shell_parameter_format を :click にして shell に :zsh を渡すと最終的に
<code>env _PIPENV_COMPLETE=zsh_source pipenv</code>
というような呼び出しが行われる。
pipenv のドキュメントにある <quote>eval "$(_PIPENV_COMPLETE=zsh_source pipenv)"</quote> にたどり着くのだ。
つまり、pipenv 側が用意した設定だと言って良い。
</p><p>
click とは何ぞや?
</p><blockquote><p>Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary. It’s the “Command Line Interface Creation Kit”. It’s highly configurable but comes with sensible defaults out of the box.</p><cite><a href="https://click.palletsprojects.com/en/8.1.x/">Welcome to Click</a></cite></blockquote><p>
Python で CLI を作るときのツールキットらしい。
シェルの補完設定も作れる(<a href="https://click.palletsprojects.com/en/8.1.x/shell-completion/">Shell Completion</a>)。
つまり、pipenv はこれを利用して作られている、と。
コードを確認してみよう。
</p><blockquote><pre>
@cli.command(
short_help="Spawns a command installed into the virtualenv.",
context_settings=subcommand_context_no_interspersion,
)
@common_options
@argument("command")
@argument("args", nargs=-1)
@pass_state
def run(state, command, args):
"""Spawns a command installed into the virtualenv."""
from pipenv.routines.shell import do_run
do_run(
state.project,
command=command,
args=args,
python=state.python,
pypi_mirror=state.pypi_mirror,
)
</pre><cite>pipenv/cli/command.py</cite></blockquote><p>
このデコレーターたちが click のもので、デコレーターの引数によって補完の挙動が変わるようだ(詳細は把握していない)。
ざっとドキュメントを見た感じ、残りはただのコマンドラインみたいな指定ができる方法が見当たらない。
ということでこの仕組みのまま直す方法は無さそう…。
</p><h2>解決</h2><p>
pipenv に手を入れて解決するのは難しそうなので、zsh の補完で pipenv run にだけ適用するパターンを作りたい。
遠い昔に買った「zshの本」に nice などに適用される方法が載っていたのでそれを参考にする。
</p><pre>
#compdef -p pipenv
local cur in_run
cur=$CURRENT
in_run=0
while (( cur - 2 )) do
if [[ $words[$(( $cur - 1 ))] == "run" ]]; then
in_run=1
break
fi
(( cur-- ))
done
if [[ $in_run == 1 ]]; then
while (( cur - 1 )) do
shift words
(( CURRENT-- ))
(( cur-- ))
done
_normal
else
_pipenv
fi
</pre><p>
大雑把に説明すると、pipenv の引数に run が入っている場合に、それより前の(グローバルオプションなども含む)部分を無視した文脈で補完し直す、という方針になる。
</p><p>
注意点1:「pipenv run にだけ適用」を zsh 側で書けなかったので、pipenv に適用する補完関数として、run が入ってなければ _pipenv での補完に戻る、という書き方をしている。
</p><p>
注意点2: 先頭行の「#compdef -p pipenv」は、"#compdef pipenv" と書いたら pipenv に対する補完の定義、ということになると思うのだが、既に _pipenv が定義されていて二つめは受け付けてもらえないようだったので、ファイルパターン(glob パターン)で指定した。
</p><p>
あとはこのファイルを /some/where/_pipenv_run としておいて、compinit の前で fpath に /some/where を追加したら、起動時に読み込んでもらえる。
</p><p>
もう少し効率よく書けたらいいと思うのだが、ひとまずはこれで良しとしよう。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-36414745404039797642024-01-02T22:15:00.002+09:002024-01-09T01:49:39.129+09:002023年の読書<p>
<a href="https://bookmeter.com/users/233333/summary/yearly/2023">読書メーターの記録</a>によるとマンガを入れて78冊。
まあ去年と大差ない。
</p><p>
印象に残っているのは
「紋章学入門」「神田神保町書肆街考」という厚めのちくま学芸文庫、
「運動しても痩せないのはなぜか」
辺り。
数学では「グレブナー基底と代数多様体入門」は良い本だった。表現論の本には手を出して挫折、を繰り返していた感じ。
マンガでは継続して読んでいた「プリニウス」「重版出来」「ダンジョン飯」が完結したし、「フットボールネーション」や「アルテ」はそろそろ終わりそうな雰囲気になってきたので、この先は読む量がだんだん減りそう…いや「ぼっち・ざ・ろっく!」とか読み始めてしまったし、そんなことはないか。
YouTube きっかけは「冬虫夏草ハンドブック」があった。うごめ紀という生物系のチャンネルで紹介されていたもの。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-16486602249528606662023-10-21T11:49:00.000+09:002023-10-21T11:49:02.780+09:00今年の夏に見たクモ<p>
今年の夏はクモに目が行くことが多かったような気がする。
きっかけは植木の間に巣を作ったクモの種類を調べたところからだった。
[写真1] 垂直円網に体長5ミリほどのクモが頭を上にしている。
一般的に蜘蛛の巣というと垂直円網を思い浮かべるが本当は案外少数派である、というようなことは去年クモの糸についての本を読んで知っていたので、それが手がかりになるはずということで図書館に行ってクモの図鑑「<a href="https://amzn.to/3PXDLcU">原色日本クモ類図鑑</a>」を開く。垂直円網で調べるとコガネグモ科ということが判って、頭を上に向けて止まる種類はほとんど無く、ギンメッキゴミグモかギンナガゴミグモというところまでは絞れる。模様を図版と見比べて、ギンナガゴミグモかなあというのが最初の判断だったが、体型が長細くは感じず確信が持てなかったので、ほかの図鑑類も見てみることにした。
ギンナガゴミグモについて「<a href="https://amzn.to/3tOsMer">ネイチャーガイド日本のクモ</a>」曰く"本州中部以北の記録はほとんどクマダギンナガゴミグモと思われる"と新たな種の示唆が。
「<a href="https://amzn.to/3QnCZaC">クモの巣ハンドブック</a>」を開くと、ギンナガゴミグモの巣には白い帯があることが判った。
巣の全体はこの写真には入っていないが、白い帯はなかったので、ギンメッキゴミグモの方らしい、という結論になった。
その後も時々見てみると、だんだん腹部全体が白っぽく光っているように見えてきたので、あるいは模様は成長と共に消えるようなものだったのかも知れない。
</p><p>
家の中で、近年はアダンソンハエトリ[写真2]しか見掛けない、と思っていたが、2種類ほどよく判らないクモにも遭遇した。大きさはアダンソンハエトリと大体同じ。
[写真3] 木目調の壁にいるから青っぽく見えているだけでただの灰色なのかも知れないが、ぱっと見青いクモがいると思った。
[写真4] こちらは床にいた。ハエトリグモの仲間かと思って「<a href="https://amzn.to/4708XPA">ハエトリグモハンドブック</a>」を眺めてみたが、よく判らなかった。
</p><p>
[写真5] 近所の塀にいたクモは多分ネコハエトリのメス。ハンドブックには"草地の草本や低木の上に見られる"と書いてあったが。
</p><p>
他にも、空中に巣を張っている小さいクモを撮ろうとしたことがあったけど、iPhone がどうしても背景にピントを合わせてしまって上手くいかなかった。
普段から植物と虫の写真しか撮っていないが、今年はクモの写真が多いなと思ってまとめてみた。
</p><div class="separator" style="clear: both;">写真1<br><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNWeKqTityg41bM7TsdXOrGT1Go9tB_oL8oXexVNvlaReguTZ5Nmo6i-7Oe7REC_6YxMkbEAnYVQRzqJ-sAEl0N578SVuebbRBmtdQt4NWIp7Hw3HYsBr_bkQXv9Lnc-YrMvzETpp81_NbGU1LfMoNV3BwZufaot3SGahCIGlcC3D3SnNQkese7FzFVTU/s512/CyclosaArgentioalba.png" style="display: block; padding: 1em 0; text-align: center; clear: left; float: left;"><img alt="" border="0" height="320" data-original-height="512" data-original-width="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNWeKqTityg41bM7TsdXOrGT1Go9tB_oL8oXexVNvlaReguTZ5Nmo6i-7Oe7REC_6YxMkbEAnYVQRzqJ-sAEl0N578SVuebbRBmtdQt4NWIp7Hw3HYsBr_bkQXv9Lnc-YrMvzETpp81_NbGU1LfMoNV3BwZufaot3SGahCIGlcC3D3SnNQkese7FzFVTU/s320/CyclosaArgentioalba.png"/></a></div><div class="separator" style="clear: both;">写真2<br><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdRPTasZN7ZHxzJpyO7xpmAZAvb5YzaZ9tFNVlXVv15iNYbNTWR2vn-L0go_b1FHZybC71m_IMoHlznvA2Fahtfr0Ntrt7pX556jjd9n-GyDWb_P9bmlCihwKc4r20aQ1UrSO4z1ZcDRuY-DF3dYCu4X_1nrIJSRG9westlKTBYS9VYsIITKuEVRQDli4/s1024/HasariusAdansoni.png" style="display: block; padding: 1em 0; text-align: center; clear: left; float: left;"><img alt="" border="0" height="320" data-original-height="1024" data-original-width="768" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdRPTasZN7ZHxzJpyO7xpmAZAvb5YzaZ9tFNVlXVv15iNYbNTWR2vn-L0go_b1FHZybC71m_IMoHlznvA2Fahtfr0Ntrt7pX556jjd9n-GyDWb_P9bmlCihwKc4r20aQ1UrSO4z1ZcDRuY-DF3dYCu4X_1nrIJSRG9westlKTBYS9VYsIITKuEVRQDli4/s320/HasariusAdansoni.png"/></a></div><div class="separator" style="clear: both;">写真3<br><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBFE8IZvAsbAxQLt-73-F2GIg9gLWu6-7wVcY37YLCYUJStWIw3GEbN44qPUorbu8dIQX5ewzc_FyHpOYo2sT7HInLWMZWuBkba7Pil2NVlhR3Bru4PjX7tEvJwx5PpvOk0Nbfa1FoA778UiTYVntbevDwBnTy9Poxr83rIME4EO6OH4dkcLM8yuWftMs/s1023/unknown1.png" style="display: block; padding: 1em 0; text-align: center; clear: left; float: left;"><img alt="" border="0" height="320" data-original-height="1023" data-original-width="768" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBFE8IZvAsbAxQLt-73-F2GIg9gLWu6-7wVcY37YLCYUJStWIw3GEbN44qPUorbu8dIQX5ewzc_FyHpOYo2sT7HInLWMZWuBkba7Pil2NVlhR3Bru4PjX7tEvJwx5PpvOk0Nbfa1FoA778UiTYVntbevDwBnTy9Poxr83rIME4EO6OH4dkcLM8yuWftMs/s320/unknown1.png"/></a></div><div class="separator" style="clear: both;">写真4<br><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR-dfo6PjMiIbkPXr4Z1pD3NukLoPEcEvwf-Hld23IrHGETiho-Ax6yN_ggkRIrmnVu0xTnmenMi8iOxDZAb9cd7c3BkrmywKZFWLWAqEgf9yncrxkQ2jJc8uG3g02n6vWkjmbMbnv_Q2uycau5xuMrXelCdJpADg7gNNm5YMPCGfmDBQHqk7VdkDyO_s/s1024/unknown2.png" style="display: block; padding: 1em 0; text-align: center; clear: left; float: left;"><img alt="" border="0" height="320" data-original-height="1024" data-original-width="768" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR-dfo6PjMiIbkPXr4Z1pD3NukLoPEcEvwf-Hld23IrHGETiho-Ax6yN_ggkRIrmnVu0xTnmenMi8iOxDZAb9cd7c3BkrmywKZFWLWAqEgf9yncrxkQ2jJc8uG3g02n6vWkjmbMbnv_Q2uycau5xuMrXelCdJpADg7gNNm5YMPCGfmDBQHqk7VdkDyO_s/s320/unknown2.png"/></a></div><div class="separator" style="clear: both;">写真5<br><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsizBEBEm_SfL-jvoCzbu-AmfsM1uFAjLlX0TUztbGCTUBTlI77Zw1Jp11sR56IbE__acqOA9GArtUwjzM30knPuaVc8dTgmm7_gvf6JMtbNHh4SFOYS4N6BhM9R8ocVYQ4kNMTYj-u3SYH2szXfi4E6QiEc3n2w_NTX2AssfiDtSTqprTmz2ayQNkzFw/s1024/CarrhotusXanthogramma.png" style="display: block; padding: 1em 0; text-align: center; clear: left; float: left;"><img alt="" border="0" height="320" data-original-height="1024" data-original-width="768" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsizBEBEm_SfL-jvoCzbu-AmfsM1uFAjLlX0TUztbGCTUBTlI77Zw1Jp11sR56IbE__acqOA9GArtUwjzM30knPuaVc8dTgmm7_gvf6JMtbNHh4SFOYS4N6BhM9R8ocVYQ4kNMTYj-u3SYH2szXfi4E6QiEc3n2w_NTX2AssfiDtSTqprTmz2ayQNkzFw/s320/CarrhotusXanthogramma.png"/></a></div>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-56332354724494793792023-08-28T00:30:00.001+09:002023-08-28T00:30:43.618+09:00(近所の)生物図鑑<p>
ときどき、街で見掛けた生き物(主に植物と昆虫)の写真を撮って、これは何かな、などとウェブで検索する。
判ったら SNS に投げたりして。
判らなかったら、図書館で図鑑をめくったりもする。
ところで、そんなに行動範囲が広いわけではないので、たとえば23区内の生き物に絞った図鑑があったら事足りることが多そうだ。
</p><p>
そんな中、最近、「せたがや動物ガイド」という世田谷区が出していたガイドブックを古本で手に入れた。
「世田谷自然観察シリーズII」とあるので、きっと I は「せたがや植物ガイド」なのだろう。
そして忘れていたが、昔杉並区が出しているもっと薄い「すぎなみの植物」「すぎなみの鳥」「すぎなみの昆虫・クモ」も買ったことがあった。
ひょっとして、どの区も似たようなものを出していたりするだろうか。
あるいは、もっと全国的に?
</p><p>
ということで調べてみた。
ようするにウェブで検索してみた、ということだが、引っかけるには若干のコツがあるようだ。
最初は検索のキーワードが判らず「図鑑」とか「ガイドブック」とか入れていたものの、全然(杉並区も世田谷区も)出てこない。
役所的にはこれらの本はそうやって分類される物ではなく、数ある刊行物の1つということで「刊行物」と入れると俄然引っかかるようになった。
</p><table>
<thead>
<tr><th width="12%">自治体</th><th>タイトル</th><th width="9%">値段</th><th width="36%">リンク</th></tr>
</thead>
<tbody style="vertical-align:top">
<tr><td rowspan=4>江戸川区</td><td>野の花 春・夏</td><td>210円</td><td rowspan=4><a href="https://www.city.edogawa.tokyo.jp/e068/kuseijoho/kohokocho/houkokusho/kankobutsu/edogawakunoshizen.html">トップページ > 区政情報 > 広報・広聴 > 報告書・刊行物 > 刊行物 > 江戸川区の自然(1)から(4)</a></td></tr>
<tr><td>野の花 秋・冬</td><td>210円</td></tr>
<tr><td>樹のはなし</td><td>210円</td></tr>
<tr><td>昆虫の博物誌</td><td>210円</td></tr>
<tr><td rowspan=3>葛飾区</td><td>葛飾区生きものガイドブック</td><td>1000円</td><td rowspan=3><a href="https://www.city.katsushika.lg.jp/kurashi/1000062/1030304/1023083.html">トップページ >くらし・手続き >環境 >自然環境・自然観察 >「生きものガイドブック」を販売しております</a></td></tr>
<tr><td>葛飾の昆虫・クモ</td><td>1200円</td></tr>
<tr><td>葛飾の水辺の生き物</td><td>1200円</td></tr>
<tr><td rowspan=5>北区</td><td>北区植物ガイドブック</td><td>670円</td><td rowspan=5><a href="https://www.city.kita.tokyo.jp/koho/kuse/koho/annai.html">ホーム > 区政情報 > 広報・広聴 > 区政資料室</a> 刊行物一覧</td></tr>
<tr><td>北区野鳥ガイドブック</td><td>660円</td></tr>
<tr><td>北区小動物・昆虫ガイドブック</td><td>710円</td></tr>
<tr><td>北区の野鳥</td><td>1540円</td></tr>
<tr><td>北区の小動物</td><td>1020円</td></tr>
<tr><td rowspan=3>江東区</td><td>江東区の野草</td><td>700円</td><td rowspan=3><a href="https://www.city.koto.lg.jp/011501/kuse/profile/shoseki/5396.html">ホーム > 区政情報 > 江東区プロフィール > 江東区発行の書籍等 > 江東区の野草</a></td></tr>
<tr><td>続 江東区の野草</td><td>1000円</td></tr>
<tr><td>続続 江東区の野草</td><td>1000円</td></tr>
<tr><td rowspan=2>杉並区</td><td>すぎなみの植物</td><td>500円</td><td rowspan=2><a href="https://www.city.suginami.tokyo.jp/guide/kusei/etsuran/1005310.html">トップページ > くらしのガイド > 区の運営に関する情報 > 区政資料の閲覧など > 有料頒布刊行物目録(計画書・報告書等)</a></td></tr>
<tr><td>すぎなみの昆虫・クモ</td><td>500円</td></tr>
<tr><td>練馬区</td><td>ねりまの自然</td><td>700円</td><td><a href="https://www.nerima-archives.jp/hiroba/publications/">ホーム > 区民情報ひろば > 有償刊行物</a>(練馬わがまち資料館)</td></tr>
<tr><td>文京区</td><td>文の京生きもの図鑑</td><td>850円</td><td><a href="https://www.city.bunkyo.lg.jp/bosai/kankyo/jouhou/ikimonozukan.html">ホーム>防災・まちづくり・環境>環境・公害>環境情報>文の京生きもの図鑑を刊行しました!</a></tr>
<tr><td>港区</td><td>港区のみどりと生きもの2010(生きもの図鑑)</td><td>800円</td><td><a href="https://www.city.minato.tokyo.jp/ryokukasuishin/tayousei/zukan.html">トップページ > 環境・まちづくり > 環境 > 都市緑化・自然環境 > 生物多様性 > 港区のみどりと生きもの2010(生きもの図鑑)</a></td></tr>
<tr><td>目黒区</td><td>めぐろのいきもの80選</td><td>400円</td><td><a href="https://www.city.meguro.tokyo.jp/kurashi/shizen/ikimono/ikimoono.html">トップページ → くらし・手続き → 自然・環境・ごみ → 自然・いきもの → 冊子「めぐろのいきもの80選」を販売しています</a></td></tr>
</tbody>
</table><p>
注意事項: 内容は確認してない。こういう自治体のリンクはすぐに切れるだろうからあまり期待してはダメ。23区全区調べたつもりだが見落としがあったらすまない。世田谷区のはもう古本でしか入手できないらしいし「すぎなみの鳥」もリストにない。こういうのは ISBN もないし、普通の本屋では買えないだろうから、それぞれの区内の扱いのある施設に出向くか郵送を(頼める場合は)頼むか、というような入手方法になる。
</p><p>
23区以外でも出している自治体はあると思う。
ただ、海から標高1000mを越える山まであるような広い自治体だと調べること自体が大変だし、小さい自治体は需要とか財政的問題とかあるかもしれないので、期待できるのは都会の大きめの市かと。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-64138276015668984802023-07-28T01:54:00.000+09:002023-07-28T01:54:55.299+09:00隣接代数と多項式環<p>
概要: <a href="https://mmfftt.blogspot.com/2023/06/blog-post.html">前回</a>多項式の積を余代数から定義するということをしたが、その余代数の出所はどこだ、というような話。
自然数は加法モノイドであるだけでなく、順序集合である、ということが大事なのではないか。
</p><p>
局所有限な半順序集合(poset) \(P\) に対し、その区間(interval)を \([x, y]\) のように書く。
局所有限とは、\(x \leq y\) なる2元が何であっても \(x \leq z \leq y\) となる \(z\) は有限個しかない、という条件である。
体 \(K\) を固定して、\(P\) の区間を基底にした線型空間 \(I_P\) を考える。
\(I_P\) に余乗法(comultiplication) \(\Delta\) を
\[\Delta ([x, y]) = \sum_{z \in [x, y]} [x, z]\otimes [z, y]\]
で定義する。余単位 \(\epsilon\) は \([x, x]\) に対して \(1\)、それ以外で \(0\)となる関数とする。
これによって \(I_P\) は余代数となる。
</p><p>
この余代数に対して、双対空間を代数にするために、前回やった積の \(m_K \circ (f \otimes g) \circ \Delta\) という作り方を踏襲すると
\[ (fg)([x, y]) = \sum_{z \in [x, y]}f([x, z]) g([z, y])\]
という形で双対空間 \(I_P^*\) が代数になるが、これを \(P\) の隣接代数(incidence algebra)という。
ζ関数とかメビウス関数とかを定義して poset に関する議論をするために使うものだ。
そうそう、積の単位元はδ関数(1点からなる区間で 1、 それ以外で 0 となる関数)だ。
</p><p>
モノイドの構造と両立する順序構造を備えたものを順序モノイドという。
ねじれのない(torsion-free)消去的可換モノイドには全順序が入れられる。
多項式を考えるためには \(\mathbb{N}\) や \(\mathbb{N}^n\) などを考える。
後者に全順序が入るのも大事ではあるのだがいったん忘れて、\(\mathbb{N}\) の直積順序である半順序だけ考えることにする。
</p><p>
これら(以降 \(M\) と書こう)は局所有限な半順序集合なので、上の半順序集合に対する余代数(や隣接代数)の一般的な構成がそのまま使える。
\(I_M\) を区間の余代数とする。
ここから \(M\) の区間を \(M\) の元で置き換える。
すなわち \([x,y]\) を \(y-x\) で置き換える。
モノイドで引き算はちょっとおかしい感じもするが、いわゆる自然数の引き算で、大きいものから小さいものを引く状況しか現れないので大丈夫である。
それに応じて余乗法(comultiplication) \(\Delta\) も
\[\Delta (y - x) = \sum_{z \in [x, y]} (z - x)\otimes(y - z) = \sum_{t + u = y - x} t \otimes u\]
に変える。余単位 \(\epsilon\) は \(0\) に対して \(1\)、それ以外で \(0\)となる関数とする。
このようにして、\(M\) 自体を基底にした線型空間 \(V_M\) が余代数の構造を持つ。
これで前回の話に合流して多項式環が定義できたことになる。
</p><p>
区間を潰してしまうこのやり口は、古典的な数論的メビウス関数を隣接代数から復元するときと同じようなものである。
メビウス関数の場合は整除関係を順序とした乗法モノイド \(\mathbb{Z}^+\) なので引き算でなく割り算を使うが。
</p><p>
まとめ: 多項式環の乗法を導く余代数は次数を表すモノイドが半順序集合だったところからもたらされた。
隣接代数と多項式環はいとこみたいな存在だった。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-28623306781847714132023-06-28T20:02:00.001+09:002023-06-29T01:02:10.194+09:00多項式の掛け算の回りくどい定義<p>
多項式の定義にはいくつか方法があるが、今回は「多項式は自然数から係数環への関数」というタイプの定義を扱う。
</p><p>
この前、Gilmer の Commutative Semigroup Rings を読み返していて、半群環の定義に差し掛かった。
</p><blockquote><p>
R is an associative ring and that (S, *) is a semigroup.
Let T be the set of functions f from S into R that are finitely nonzero, with addition and multiplication defined in T as follows.
\[(f+g)(s) = f(s) + g(s)\]
\[(fg)(s) = \sum_{t*u=s}f(t)g(u)\]
where the symbol \(\sum_{t*u=s}\) indicates that the sum is taken over all pairs (t, u) of elements of S such that t*u=s.
</p></blockquote><p>
S を自然数の加法モノイドだと見れば多項式環の定義になる。
</p><p>
そこでふと思ったのは、この \(\sum_{t*u=s}\) の辺りは余乗法(comultiplication)なのでは、ということである。
群環を Hopf 代数と考えるときの余乗法は \(\Delta(g)=g\otimes g\) というタイプのものなので、それとは異なる何かということになる。
S が基底になるような線型空間 V に、余乗法を \(\Delta(s)=\sum_{t*u=s}t\otimes u\) から定める。
余単位 \(\epsilon\) は S の単位元だけ 1 に写して、ほかは 0 になるクロネッカーのデルタを使う。
これで余結合律や余単位律が成り立って V が余代数になる。
(S が半群という仮定だと単位元の存在が保証されないから、モノイドでないと通らない。
また、余代数は線型空間に余乗法を入れたものなので、係数が体になってしまった。
ここは多分言葉の問題で、環を係数にしても話は同じに進行すると思う。)
</p><p>
今度はこれを多項式の乗法の定義に戻していきたいのだが、いったん整理しよう。
\(\mathbb{N}\) を自然数の加法モノイドとして、\(K\) を体とする。
\(K\) 上 \(\mathbb{N}\) を基底とする線形空間を \(V\) とする。
余乗法 \(\Delta\) を \(s \in \mathbb{N}\) に対し \(\Delta(s) = \sum_{t+u=s} t\otimes u\) とし、あとは線型に延長する。
余単位 \(\epsilon = \delta_{0,s}\) も同様。
これで \(V\) は余代数になった。
\(T\) を \(V\) から \(K\) への線型写像の集合とする。
つまり、\(V\) の双対空間を考える。
\(T\) に乗法を次のように定める。
\[fg = m_K \circ (f\otimes g) \circ \Delta\]
ただし \(m_K: K\otimes K\rightarrow K\) は \(K\) の積。つまり
\[(fg)(s) = m_K \circ (f\otimes g) (\sum_{t+u=s} t\otimes u) = m_K(\sum_{t+u=s} f(t)\otimes g(u))= \sum_{t+u=s} f(t) g(u)\]
これが結合律を満たすのは \(\Delta\) の余結合律から示せるはず。
これでできあがったようだが、\(T\) は冪級数環になってしまうので、有限の台をもつ関数だけの部分環を考えて、ようやく多項式の乗法が定義できたことになる。
</p><p>
まとめ: 多項式の掛け算を、余代数の余乗法から双対空間の乗法を定義する一般論(?)に乗せることができた。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-91980232392098040602023-01-18T00:29:00.002+09:002023-01-18T00:29:34.323+09:00pyi スタブ<p>
私は基本的に Python で型を書きたくない人で、
Python で型を書くと関数定義行が長くなって読みにくくなるのが嫌だなというのが型を書きたくない理由の1つだったのだが、
関数の(に限らないけど)型だけ別ファイルに置いておく仕組みがあった。
スタブ(stub)ファイルというもので、実は型を書けるようにする仕組みと同じ時に誕生してたので、知らなかった方がおかしいのかもしれない。
ともかくこれで(保守コストはさておき)型を書くことへの抵抗感はぐっと減った。
</p><p>
別ファイルの型情報を誰がどうやってどこに引っ張ってくるのか、という部分については、型チェッカーを単独で導入するほどのやる気になったわけではないので、VSCode の Pylance というプラグインが勝手にやってくれるに任せることにして、少し書いてみた。
結果は微妙である。
他のモジュールから import した関数などはちゃんと型が見えるのだが、そのファイル内で定義している関数の型はスタブから読まれない。
Unknown な引数を受け取って Unknown な型を返すようにしか示されない。
ネットでざっくり調べたところによると、スタブファイルを使うことでモジュール本体をパースするより手軽に型を取り込める、といった用途で使うものとの主張を見た。
一方で PyCharm は pyi スタブから型を読んで当てはめてくれるらしい。
こっちの方が直観的には便利。
理想的には、py + pyi とインラインで型を付けた py と自由に行き来できたら幸せ。
</p><p>
妥協案として、インラインで型を書いても良いけど「アノテーションを隠す」モードが提供されたらだいぶマシ。
VSCode にそんなプラグインがあったりするかなと思ったけど、editor.semanticTokenColorCustomizations で色を変えたり bold/italic にしたりがカスタマイズの限界なので難しいか。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-34419560273678597562023-01-10T23:49:00.000+09:002023-01-10T23:49:43.668+09:00杉並区内の金太郎 2023<p>
遡ってみたら前回この話題を書いたのは2015年の正月だった(<a href="/2015/01/blog-post.html">杉並区内の金太郎</a>)。
最近上井草の方に行ったら、井草川暗渠のさらに上流側でいくつか見た。
これも含め、見掛けるたびに撮っていた写真に残っていた位置情報から、<a href="https://www.google.com/maps/d/edit?mid=1mQoEutqzeqQQ6AYr5Ci-79T2rnIJ84w&usp=sharing">地図</a>にしてみた。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-50941699923260411122023-01-01T20:38:00.002+09:002023-01-11T22:25:53.720+09:002022年の読書<p>
いわゆる老眼というやつで文庫のルビとか数式の添え字とかが読みづらくなってしまって、読書量が減っていた。
夏頃に眼鏡を導入したが、それで読書量が戻ったかというと、そうでもないかもしれない。
<a href="https://bookmeter.com/users/233333/summary/yearly/2022">読書メーターの記録</a>によるとマンガを入れて76冊。
マンガを除くと50冊程度だろう。
</p><p>
印象に残っている本は
「<a href="https://amzn.to/3Q9XFkY">カルロ・ロヴェッリの科学とは何か</a>」
「<a href="https://amzn.to/3WF1X63">詳説データベース</a>」
「ギリシア哲学者列伝(<a href="https://amzn.to/3GbCTMS">上</a><a href="https://amzn.to/3GbCTMS">中</a><a href="https://amzn.to/3jMI3I0">下</a>)」
「<a href="https://amzn.to/3jMI3I0">因果推論の科学</a>」
辺り。科学とは何かではアナクシマンドロスから説き起こされていたが、ギリシア哲学者列伝でのアナクシマンドロスの記載に無いこともいろいろ語られていて、別のソースが伝わった幸運なケースなのかもしれないと思ったり。詳説データベースはデータベースの実装方法の説明といった内容で、普段データベースはそこに有るものとして中身を余り考えない対象だが、知ればそれが何かの場面で役に立つこともあるだろう。最後の因果推論の科学は最近読んだ分厚い本なので、まだ新鮮(別の教科書を読んでみたいとは思った)。
</p><p>
今年も YouTube きっかけで読んだものがいくつかあって、
ウェザーニュースのキャスター檜山沙耶さんのエッセイ「<a href="https://amzn.to/3VDkPRy">ブルーモーメント</a>」、
こはやし【古生物ちゃんねる】経由で「<a href="https://amzn.to/3VCrjQI">クモはなぜ糸をつくるのか?</a>」
など。
</p><p>
※本のリンクはamazonアフィリエイトです。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-34794050666772615922022-11-18T19:05:00.002+09:002022-11-18T19:05:43.105+09:00スタイルの変更<p>
このブログはタイトルに Midnight を含むこともありダークテーマにしてあったのだが、読みにくいのでシンプルな白背景のテーマに変更した。
個人的にはとても読みやすくなった。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-12658757602365190162022-08-17T20:53:00.000+09:002022-08-17T20:53:45.191+09:00チュウレンジ<p>
サツキの葉が無くなっていた。
<a href="https://mushinavi.com/navi-insect/data-hati_rurityuu.htm">ルリチュウレンジ</a>の幼虫に食い尽くされたようだ。
ルリチュウレンジのルリはもちろん瑠璃の意味で、成虫の体色が青っぽいところから来ている。
ではチュウレンジとは?
意外にどこにも正解が見当たらない。
</p><p>
手軽に手に取れる図鑑類にそんなに詳しく解説されるほどのものではない。
一応図鑑的記述の例として「標準原色図鑑全集 昆虫」というのが図書館にあったのでそれから引いてみる。
<quote>体長9mm。全体が濃い青藍色で光たくが強い。日本各地に産する。</quote>という本文と<quote>ルリチュウレンジハバチの幼虫はツツジの大害虫として有名である。</quote>という補足説明である。
</p><p>
園芸の本には駆除方法ぐらいしか載っていない。
近い種類にバラの葉を食べるチュウレンジ・ニホンチュウレンジ・アカスジチュウレンジなどがいるので、その方面も見たが同様だ。
</p><p>
漢字ではチュウレンジバチを「鐫花娘子蜂」と<a href="https://kotobank.jp/word/%E9%90%AB%E8%8A%B1%E5%A8%98%E5%AD%90%E8%9C%82-1766508">書くらしい</a>。
中国語での表記ということだろう。
さすがにこれの音読みから変化したとは考えにくい。
意味としては「鐫」が穴を穿つということで、穴を開けて産卵する特徴を捉えたものらしい。
</p><p>
寺の名前という考えも浮かぶ。
四国に<a href="https://ja.wikipedia.org/wiki/%E4%B8%AD%E8%93%AE%E5%AF%BA%E5%B3%B0" rel="nofollow">中蓮寺峰</a>という山がある。
中蓮寺はそこにかつてあった寺の名前とのこと。
山形には湯殿山<a href="http://www2.plala.or.jp/sansuirijuku/">注連寺</a>がある。
しかし、関連性は見当たらない。
</p><p>
あとは初出でも調べるか、と「日本国語大辞典 第2版」を開く。
チュウレンジの項は無かったが、意外にも同じ読みの「ちゅうれんじ」があった。
<quote>ちゅうれんじ【中連子】[名]細長い板や竹を一定の間隔でうちつけた、中型の窓。*俳諧・去来抄(1703-04)先師評「中れんじ中切(なかぎり)あくる月かげに(去来)</quote>
</p><p>
これがハバチの方のチュウレンジの語源そのものである可能性も無きにしも非ずか、というのが今回の主な思いつき。
チュウレンジはバラの茎に産卵する(その卵の様子はたとえば<a href="https://www.ne.jp/asahi/kikko/living/diary-musi51.htm">こちら</a>で見ることができる)が、この<quote>一つずつ部屋のように区切られています</quote>という整然と並んだ感じを中連子に見立てたとは考えられないだろうか。
</p><p>
以下は完全に余談。
この「中」は本当にチュウなのだろうかと疑う事例を見てしまった。
</p>
<blockquote><p>土間へはいって、中櫺子(なかれんじ)の下の水瓶から水を汲み出し</p><cite><a href="https://www.aozora.gr.jp/cards/001562/files/56074_68754.html">吉川英治「梅里先生行状記」(青空文庫)</a></cite></blockquote>
<p>
謎は謎のまま。
</p>
MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-29519873387952909492022-07-24T23:11:00.001+09:002022-07-26T23:06:08.354+09:00情報が物理的……つまり数学は形式主義<p>
今回はだいぶ大風呂敷です。
そして雑です。
まずは世界から語り始めます。
</p><p>
世界は存在します。
と仮定しないと話が進まないので仮定します。
しかしながら、人間は(あるいはおよそ全ての生物や機械は)それをあるがままに受け取ることはできずに、常に観測によって観測値を受け取ることしかできません。
観測値は、離散的です。
言い替えると、何らかのビット列で表現される情報です。
思い切った言い方をすれば自然数です。
そして、この過程は世界の内に起こる現象なので、情報も世界と独立にあるのではなく、必ず世界の内に表現されます。
情報は物理的である(by Landauer)、ということです。
情報とは離散的に変化しうる対象の一時的な永続状態で、書き換えられる(別の状態に移行する)までは何度でも同じ状態を観測できるもの、と考えていいでしょう。
(情報についてこういう説明をしているのを見たことはないのですが、多分こんなところだと思います。)
</p><p>
自然数のみで表現される世界を情報世界と呼びましょう。
人間の思考もここに全て含まれます。
少なくとも言葉(や記号)を使った思考はここに含まれ、他人と共有できる思考は全て含まれるのは明らかでしょう。
およそ学問は情報世界にあります。
</p><p>
物理学は、世界に対峙して、観測値の間の整合的な関係を追求しています。
量子力学に至るまでは、世界と観測値はほぼ同じものに見えていましたが、観測が世界の状態を不可逆に変えてしまうということが知られた以上、世界は世界、観測値は観測値と考えざるを得なくなりました。
その上で、観測値はデタラメではなくある種の確率論にしたがって得られる、というのが量子力学の新しい観点なのでした。
</p><p>
数学は(ひとまず世界に関係なく)情報の間の整合的な関係を追求しています。
数学が物理学の役に立つのは仕組上必然的であって、驚くようなことではないのです。
(「整合的」とは何か、ということを考えると根本的には物理的な基盤を共有しているから、というべきかも知れません。話が膨らみすぎるので省略します。)
</p><p>
さて、数学の基礎は情報にあります。
数学者の言い方でいえば記号と論理です。
記号は、それ自体以外に、指し示す対象を持つと考えるのが自然に思えますが、「対象」が世界を踏み越える場合があります。
たとえば自然数。
世界の内に表現され得る自然数は宇宙も所詮有限なので有限ですが、その限界を明示することも困難なので、任意の自然数 \(n\) に対して後者 \(n+1\) が存在する、という論理構造だけを制約として、無限に存在すると想定します。
このような自然数が素朴に「存在する」と考えると、プラトニズムというお花畑に足を踏み入れるしかなくなります。
逆に「存在する」を世界の内に表現される場合に限ると生真面目に捉えると、普通の意味での数学とは相容れない立場となってしまいます。
</p><p>
そこで、「自然数の全体」 \(\mathbb{N}\) とその元に関する数学的帰納法という公理を認めて、記号の間の関係だけ論じる、という立場が現れます。
これは記号だけの話なので情報世界の内で完結します。
「自然数の全体」を素朴な意味で受け取るのではなく、あらかじめ定められた公理を満たす記号として割り切るのです。
要するに「自然数」「無限」「集合」などの意味を担っているように見える言葉の直観的意味は実際に何を指し示すものなのですか、と問われたときに、それもまた記号をもって論じられる以上、最終的に記号同士の関係以外のものはあり得ないではないかと思い至ります。
こうして、数学は形式主義に到達するのです。
</p><ul>
<li>幾何学は点・直線・平面の代わりにビールジョッキ・椅子・机を使ってもできる</li>
<li>存在するとは矛盾しないことだ</li>
</ul><p>
こうした Hilbert の言葉を初めて理解した気がしました。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-37607328549687562702022-05-11T19:56:00.000+09:002022-05-11T19:56:03.760+09:00冪<p>
冪乗の「冪」。
「冖」が意符で「幕」が音符、と理解していたが、意外と混沌としていた。
</p><p>
漢字それぞれの成り立ちについて解説しているページというのが案外見つからなかったので、個人のページを参照するのだが、
</p><blockquote><h3>白川</h3>
<p>形聲。聲符は冖。</p>
<p>『<a href="https://ctext.org/yili/ji-xi-li/zh#n54926">儀禮・既夕禮</a>』<q>冪用疏布</q>(冪に疏布を用ふ)の《注》に<q>覆ふなり</q>とあり、棺を覆ふ布をいふ。</p>
<p>雲が深く垂れ籠めることを「雲、冪冪たり」といひ、すべて深く覆ふことをいふ。</p>
<h3>藤堂</h3>
<p>幕と音符冖(覆ひ隱す)の會意兼形聲。幕で覆ひ隱すことを示す。冪は冖の後出の字。</p>
<quote><a href="https://www.hiemalis.org/~acy/mnc/2680701l5o.html">冪 - 漢字私註</a></quote></blockquote><p>
まずワ冠としか読んでいなかった「冖」の音、ベキ、でなんと「冪」と同じなのだ。
なので上に引用した2説はどちらも「冖」が音との立場。
</p><p>
私の元々の理解は手元にあった辞書でいうと『新明解漢和辞典』の次の解説が当てはまる。
</p><blockquote><p>
形声、幕バクの転音が音。
</p></blockquote><p>
一方『新字源』には全然違うことが書いてある。
</p><blockquote><p>
会意形声。幂が本字。幂は巾きん(きれ)と、おおう意と音とを示す冥ベイ→ベキとから成る。もと、幎ベキと同じ。冪は冖ベキと幕とから成る。
</p></blockquote><p>
草冠の欠けた形が本字とは、という驚き。
そして、誤字としか言えない「羃」を排撃して、返す刀で「巾」なる略字もバッサリいく予定で始めた調べ物だったのに一分の理がありそうな記述を見つけてしまい、ちょっと悔しい。
</p><p>
方向を変えて、覆い隠すというような意味の漢字が冪乗を表す理由を探してみた。
次のようなネット上の答を見つけた。
</p><blockquote><p>
ワかんむりに幕ですから、「ワ」かんむりは「オホフ」の意味、幕も「覆いかくすもの」の意味。会意形声文字で、「覆い」さらに「覆う」から和義として、「同数の相乗積」の意となる。と、調べられました。(大字典より)
</p><quote><a href="https://oshiete.goo.ne.jp/qa/27033.html">教えて! goo</a></quote></blockquote><p>
もともとの記述がどこからどこまでなのかは『大字典』を確認する必要があるが、ともかく「冖」と「幕」から成る字という前提でしかこの説は成り立たない。
</p><p>
着地点を見失ったこの文章、「冪」を略すなら「冖」がいいんじゃない? 略す必要もないけど。
という誰も得しない結論をもって終わりとする。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-61893278291340793172022-04-29T22:55:00.000+09:002022-04-29T22:55:20.357+09:00多項式の次数<p>
概要: 多項式の次数はただの自然数ではないという話。
</p><p>
自然数は和による可換モノイドであるだけでなく、全順序の構造も持つ。
一般に、半順序の構造を持つ半群を順序半群という。
そこでは不等式(順序関係)の両辺で同じ元との半群演算を行っても順序構造が変わらない、という条件を置く。
自然数はその意味で順序半群の一種である。
</p><p>
多項式の次数は、自然数みたいなものである。
次数 \(n\) の多項式と次数 \(m\) の多項式を掛けるとき、次数は \(n+m\) と足し算になる。
面倒なのが \(0\) の扱いで、雑に扱うときは多項式 \(0\) の「次数は考えない」などと言ってごまかす。
ごまかさないとすれば、\(0\) は多項式の積における零元なので、次数にも零元が必要になる。
しかし、自然数には零元が存在しない(和を考えているので \(0\) は単位元であって零元ではない)。
</p><p>
半群に零元を添加するのはいつでも可能である。
自然数にも零元を添加しよう。
仮に \(\lozenge\) で表すことにする。
満たすべき演算規則は次の通り。
\[n + \lozenge = \lozenge + n = \lozenge\]
この \(\lozenge\) を導入した自然数を \(N_\lozenge\) と表すことにする。
</p><p>
いま、考えていた自然数の構造は順序半群(実際は全順序モノイド)だったので、半群としての零元の導入が順序についても矛盾なく行われなければ、あまり意味がない。
自然数の順序構造は全順序だったので、\(\lozenge\) の入る余地は3通り考えられる。
最小元、最大元、中間の元である。
が、中間の元にはできないことを先に確認しよう。
\(\lozenge\) が \(a\) と \(a+1\) の中間に埋まると仮定しよう。
すなわち、
\[a \lneq \lozenge,\qquad \lozenge \lneq a+1\]
ところが、左の式の両辺に \(1\) を足すと
\[a + 1 \lneq \lozenge\]
となり、右の式と矛盾する。
したがって、\(\lozenge\) は自然数の間に入ることはない。
</p><p>
次に、最小元の場合を考えると、任意の自然数 \(n\) について
\[\lozenge \leq n\]
が成り立ち、両辺に何を足しても、\(\lozenge\) は \(\lozenge\) であり、右辺は自然数だから、特に矛盾は生じない。
同様に、最大元の場合にも矛盾なく導入することができる。
以降、最小元として零元を入れた場合 \(\lozenge\) の代わりに \(\bot\) を使って \(N_\bot\) と表記する。
最大元として入れた場合も同様に \(N_\top\) と書くことにする。
</p><p>
もう一度多項式の次数に話を戻そう。
多項式 \(0\) の次数は、半群として零元でなけらばならなかったが、順序の上ではどうだろう。
これは主に割り算(擬除算)の都合という事になるのだが、\(f\) を \(g\) で割ったとき、商 \(q\) は何でもいいのだが、余り \(r\) は「次数が \(g\) の次数よりも小さい」と、たとえ \(g\) が \(f\) を割り切って \(r=0\) となる場合にも、言えた方が良い。
このことから順序半群としては \(N_\bot\) を使うのが妥当である。
</p>
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">多項式 0 の次数を -∞ とするのはなぜか。∞ ではいけないのか</p>— MATSUI Fe2+ Tetsushi (@mf2t) <a href="https://twitter.com/mf2t/status/1515507064101273600?ref_src=twsrc%5Etfw">April 17, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<p>
twitter にこんなことを書いた時点では、零元という条件だけを考えていたが、順序も矛盾なく扱うためにはやはり -∞ でなければならないという結論になる(\(\bot\) をふつうは \(-\infty\) で表す)。
</p><p>
多変数多項式に拡張する場合にも次数は \(N^k_\bot\) という順序半群で扱うべき(\(N^k\) に \(\bot\) を添加したもの。\(N_\bot\) の直積ではない)。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-82838730310651042222022-01-03T00:06:00.001+09:002022-01-03T00:06:41.973+09:002021年の読書<p>
例年のように、昨年の読書を振り返る。
<a href="https://bookmeter.com/users/233333">読書メーターの記録</a>に依れば前年と同じくマンガも入れて100冊ぐらいだった。
</p><p>
案外、印象に残ったというほどの出会いは無かったような気がするが、
テーマ的に量子力学の本は何冊か読んでいた。
<a href="https://amzn.to/31h8NY2" target="_blank">量子論の果てなき境界</a>、<a href="https://amzn.to/3Jyc9Y2" target="_blank">実在とは何か</a>、<a href="https://amzn.to/3JzsZ8T" target="_blank">世界は関係でできている</a>、<a href="https://amzn.to/3mR9lLY" target="_blank">量子力学10講</a>など。
<a href="https://amzn.to/3qF0yxC" target="_blank">入門 現代の量子力学</a>は読みかけで止まっている。
物理学と情報科学の関係がすっきりすれば自分の中では目的達成なのだが。
</p><p>
小説をあまり読まなくなって久しい。
そんな中、三体シリーズ(<a href="https://amzn.to/3eKubId" target="_blank">I</a>、<a href="https://amzn.to/31lp5iK" target="_blank">II上</a>、<a href="https://amzn.to/3JCRJNm" target="_blank">II下</a>、<a href="https://amzn.to/3sMjVHP" target="_blank">III上</a>、<a href="https://amzn.to/3ELNdc2" target="_blank">III下</a>)と沢村凜のソナンと空人シリーズ(<a href="https://amzn.to/32Tiaxw" target="_blank">1</a>、<a href="https://amzn.to/344TFhq" target="_blank">2</a>、<a href="https://amzn.to/31lcaNK" target="_blank">3</a>、<a href="https://amzn.to/3HrkWsS" target="_blank">4</a>)をどちらも一気読みした。
</p><p>
新しいきっかけとして、YouTube から、というものが何冊かあった。
Sabine hossenfelder の <a href="https://amzn.to/32BmamL" target="_blank">Lost In Math</a> (日本語版「<a href="https://amzn.to/3sQF03Z" target="_blank">数学に魅せられて、科学を見失う</a>」も出た)、
藤森哲也の<a href="https://amzn.to/3FMAx5V" target="_blank">将棋放浪記</a>の他、
<a href="https://amzn.to/3sRZadM" target="_blank">幾何学と代数系</a>を再読したのも Geometric Algebra の紹介動画を見たからだった。
</p><p>
2022年はどんな年になるだろうか。
</p><p>
※本のリンクはamazonアフィリエイトです。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-36061372772758646452021-12-07T23:24:00.000+09:002021-12-07T23:24:20.264+09:00不変式論のお勧めの本はありますか?<p>
以前、<a href="/2020/11/i-dont-want-to-call-it-a-cyclotomic-field.html">円分体って名前がそもそもどうなんだ</a>という記事を書いた。
雑にまとめると、円分体と呼ばれている体は有限巡回群の有理数を係数とする群環を考えれば良く、その有限巡回群の自己同型群による不変部分環が係数体に一致してしまうし、もう複素数とかそれに引きずられた名称とかいらないだろう、という話だった。
しかし群環という構造はちょっと特殊すぎて応用が利かないので枠組みを広げてみたい、というのが今回のもくろみとなる。
</p><p>
一番重要だったのは群が作用して不変部分環を考えられる部分だったので、有限集合とそこに作用する群があってそれをうまく環の世界に持ち込めれば良い。
そこで、多変数多項式環とその変数の入れ替えという作用を考える。
例としては、すぐに複雑になってしまうので3変数多項式環 \(K[X_1, X_2, X_3]\) と3次巡回群 \(C_3\) を取ろう。
係数は \(K\) と書いたが標数が \(0\) の体で、変数たちは \(K\) に入らないとする。
では不変部分環 \(A = K[X_1, X_2, X_3]^{C_3}\) がどうなるかをみよう。
</p><p>
不変式はいくつもある。
基本対称式
\[I_1 = X_1 + X_2 + X_3\]
\[I_2 = X_1 X_2 + X_2 X_3 + X_3 X_1\]
\[I_3 = X_1 X_2 X_3\]
の他に、
\[I_4 = (X_1 - X_2)(X_2 - X_3)(X_3 - X_1)\]
がある。
\(I_4\) は対称性を見易くするためにこの形で書いたが、差積 \((X_1 - X_2)(X_2 - X_3)(X_1 - X_3) = -I_4\) を選んでもいい。
さらに、
\[I_5 = X_1^2 X_2 + X_2^2 X_3 + X_3^2 X_1\]
\[I_6 = X_1 X_2^2 + X_2 X_3^2 + X_3 X_1^2\]
など、色々な形の式を取ることができる。
</p><p>
簡単に見て取れるように \(I_1\), \(I_2\), \(I_3\) から各 \(X_i\) は \(X^3 - I_1 X^2 + I_2 X - I_3 = 0\) の解である。
また \(I_4\) は2乗すると対称式になって \(I_1\) から \(I_3\) で書けるようになる(具体的な式は省略)。
同様にというかより簡単に \(I_5 + I_6\) が対称式なのでこれも \(I_1\) から \(I_3\) で書ける(\(I_5\), \(I_6\) それぞれは書けない)。
不変部分環は有限生成というのが Hilbert を有名にした(?)定理であり、ここでは生成系としては多分 \(I_1\) から \(I_4\) だけあればいいはず。
</p><p>
環ではなく体について語りたいのだが \(A\) が体になるかというと疑わしいので、以降 \(L\) を \(A\) の商体とする。
</p><p>
\(L[X_1]\) には
\[X_2 + X_3 = I_1 - X_1\]
と
\[X_2 - X_3 = -I_4 / (X_1^2 - (I_1 - X_1) X_1 + I_3 / X_1)\]
が含まれるので、これらの和や差によって \(X_2\) と \(X_3\) も含まれていることが判る。
つまりガロワ拡大で、各 \(X_i\) が \(X^3 - I_1 X^2 + I_2 X - I_3 = 0\) の解だったから、\(L[X_1]\) は \(L\) の3次巡回拡大体ということになる。
</p><p>
おまけで \(I_4\) が不変式に含まれていない場合を考えてみよう。
この場合は \(C_3\) ではなく \(S_3\) が作用していて、不変式は基本対称式で尽きるという状況になっている。
\(F\) を \(K[X_1, X_2, X_3]^{S_3}\) の商体としたとき、
\(F[X_1]\) には \(X_2\), \(X_3\) が含まれず、\(F[X_2]\), \(F[X_3]\) も同型ではあるが別の \(F\) の3次拡大になる。
ただし、たとえば \(X_1\), \(X_2\) の2元を含めば \(F[X_1, X_2]\) の中に \(X_3 = I_1 - X_1 -X_2\) はいるので、それ以上大きな体は出てこない。
また \(F[I_4]\) も異なる体だが、当然この \(F[X_1, X_2]\) の部分体になっており、\(F[I_4]\) から見れば、\(F[X_1, X_2]\) が3次巡回拡大体になる。
</p><h4>まとめ</h4><p>
複素数体の中にある方程式の解を添加するのではなく、多項式環に群を作用させて不変部分環(の商体)を取ることでガロワ理論的なことはだいたい語れるのではないか。
複素数はむしろ不変式を具体的な数に置き換える特殊化の結果として登場するのではないか。
といった見方は、聞いたことはないのだけれど、当然すぎて語られていないだけなのか。
</p><p>
ところで不変式論のお勧めの本はありますか。
考えてみたら、不変式論は暗黒通信団でしか入門していないので。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-53867334448663194272021-11-24T01:27:00.001+09:002021-12-12T01:54:15.106+09:00ヒバとは<p>
檜っぽい葉っぱの植木をヒバと呼んでいたような記憶があって、正確には(分類学的には)何なのだろう、と調べてみた。
</p><p>
図書館で「検索入門針葉樹」という図鑑を借りてきた。
索引を見てもヒバという名前は出てこない。
検索表の方を見ると、D2なる分類(鱗片状の葉に表裏性があり鱗片葉が小型)に、ニオイヒバ・アオノクジャクヒバ・オウゴンクジャクヒバ・カマクラヒバ・オウゴンシノブヒバ・イトヒバと並んでいる。
ヒノキも入っている分類なので見た目的には合っている。
</p><p>
<b>ニオイヒバ</b> <i>Thuja occidentalis</i> Linn. 北米原産「洋風の庭園に植栽されるドワーフコニファー類にこの仲間が多い」
</p><p>
<b>アオノクジャクヒバ・オウゴンクジャクヒバ・カマクラヒバ</b> ヒノキ <i>Chamaecyparis obtusa</i> Sieb. et Zucc. の園芸品種。
</p><p>
<b>オウゴンシノブヒバ・イトヒバ</b> サワラ <i>Chamaecyparis pisifera</i> Sieb. et Zucc. の園芸品種。
</p><p>
これで終わりと思いきや、さらに「針葉樹の世界」という全体を俯瞰した説明のページがあり、そこに家の土台には「ヒノキやヒバ、ベイヒバが使われ」るという表現が登場する。
ベイマツの伝でいけばベイヒバのベイはアメリカを意味する米だと考えられるのだが、本編に登場しない種を説明無しに出してくるのは流石にどうかと思う。
ちなみにこの後に「ヒノキアスナロ(ヒバ)」という表現が登場し、ここではヒノキアスナロの別名だと判明する。
</p><p>
<b>ヒノキアスナロ</b> アスナロ <i>Thujopsis dolabrata</i> Sieb. et Zucc. の変種品種。
(これの説明には「ヒバ」という呼称は無い。)
</p><p>
以上ヒバという植物はなく、ヒノキ科ではあるものの3つの属にまたがる植物にヒバの呼称が使われていることが判った。
結局ヒバとは檜っぽい葉っぱの木以上のものではなかったのかも知れない。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-22102822384117849722021-09-18T18:54:00.000+09:002021-09-18T18:54:06.696+09:00Aurifeuille 恒等式の計算方法 (Brent)<p>
Brent による Aurifeuille 恒等式の計算方法を紹介していく。
Brent によれば <a href="/2019/11/aurifeuille_27.html">Stevenhagen の方法</a>は互除法の係数爆発が起きるので次数の大きな円分多項式には適用できないとのことである。
Stevenhagen の方法は実質的に「\(\sqrt{k\zeta_n}\) が \(\mathbb{Q}[\zeta_n]\) に入っているならば、\(\zeta_n\) の多項式で表せる」という事実しか使わなかったが、Brent の方法ではもう少し特殊事情を考えて多項式の係数を決定していく。
</p><p>
あまり複雑な一般化は省いて、 平方因子を持たない \(3\) 以上の奇数 \(k\) に対し、\(n\) を \(k\equiv 1\pmod 4\) ならば \(k\)、そうでなければ \(2k\) とする。
\(\zeta = \zeta_{2n}\) とすると \(\mathbb{Q}[\zeta]\) の \(\mathbb{Q}\) 上のガロワ群は \(\left(\mathbb{Z}/2n\mathbb{Z}\right)^{\times}\) と同型である。
\(\mathbb{Q}[\zeta]\) に含まれる実2次体 \(\mathbb{Q}[\sqrt{k}]\) に対応する指数 \(2\) の部分群 \(H\) を見つけられる。
具体的には \(H=\left\{\pm a \in \left(\mathbb{Z}/2n\mathbb{Z}\right)^{\times} | 1 \leq a \leq n \land (\frac{k}{a})=1\right\}\) だ。
</p><p>
\[L(X) = \prod_{a\in H}(X - \zeta^a)\]
を考えると実は
\[L(X) = F(X^2) - \left(\frac{2}{k}\right) X\sqrt{k} G(X^2)\]
となることが Schinzel によって示されているそうだ(論文を参照できていないので伝聞)。
つまり、偶数次の項を拾うと \(F\) が得られて奇数次の項を拾うと \(G\) が得られるのだ。
具体的な係数を得るには次のように考えればいい。
\(L(X)\) の係数は根が与えられているので解と係数の関係から計算できる。
そこに現れる根の対称式はその冪和で書き表せる(Newton の恒等式)。
\(1\) の冪根の冪和はガロワ群の作用を考えると簡単に表せる(ガウス周期)。
</p><p>
ガロワ群の元 \(b\) は \(\zeta\) に対し \(\zeta^b\) として作用する。
\(L(X)\) の根の冪和を
\[p_b = \sum_{a \in H} \zeta^{ab}\]
と書くことにしよう。
\(L(X)\) の根の和 \(p_1 = \sum_{a\in H} \zeta^a\) はもちろん \(H\) の各元の作用で不変である。
また、\(p_1^2 = k\) であるから、\(p_1 = \sqrt{k}\) と考えて良い。
一方、\(H\) のコセットの各元の作用では \(-p_1\) に移る。
これらが \(1 \leq b \leq 2n\) の内、\(2n\) と互いに素な \(b\) による \(b\) 乗和に相当する。
残る \(2n\) との最大公約数 \(\Gamma_{b} = (b, 2n)\) が \(1\) より大きい場合で、\(b\) が偶数ならば
\[p_b = \sum_{a \in H} \zeta^{ab} = \mu(2n/ \Gamma_b) \phi(\Gamma_b / 2) \in \mathbb{Z}\]
となることが知られている。
\(b\) が奇数ならば \(0\) になる。
以上で根の冪和が決定できた。
</p><p>
奇数冪に現れる \(\sqrt{k}\) を最初から括って、残りの整数係数部分だけを考える。
\(F\) と \(G\) は相反多項式なので半分の次数まで計算すればいい。
といった工夫により、整数の計算だけを行えばいいことになる。
</p><p>
先に \(d=\phi(n)/2\) とおいて \(F\) と \(G\) を
\[F(X) = \sum_{j=0}^{d}f_j X^{d-j}\]
\[G(X) = \sum_{j=0}^{d - 1}g_j X^{d-j-1}\]
と表すことにしよう。
モニックであることは判っているので \(f_0 = g_0 = 1\) である、ということは後ほど使う。
目標は \(f_j\), \(g_j\) を求めることだ。
</p><p>
ステップ1では、根の冪和に相当する(\(\sqrt{k}\) の因子は取り除いた)数として、\(q_j\) を求める。
必要なのは \(1 \leq j \leq d\) の範囲だ。
\(j\) が奇数の時 \(q_j = \left(\frac{k}{j}\right)\)、偶数の時 \(q_j = \mu(2n/\Gamma_j)\phi(\Gamma_j/2)\) とすれば良い。
</p><p>
ステップ2では、Newton の恒等式から導かれる次の漸化式を \(j = 1\) から次数の半分まで順に解く。
\[f_j = \frac{1}{2j}\sum_{i=0}^{j-1}\left(k q_{2j-2i-1} g_i - q_{2j - 2i} f_i \right)\]
\[g_j = \frac{1}{2j+1}\left(f_j + \sum_{i=0}^{j-1}\left(q_{2j-2i+1} f_i - q_{2j - 2i} g_i \right)\right)\]
初期値は上で述べた \(f_0 = g_0 = 1\) だ。
</p><p>
ステップ3(最後のステップ)では、相反多項式であることを利用して \(F\), \(G\) それぞれの次数まで \(f_j = f_{d-j}\), \(g_j = g_{d-j-1}\) を求める。
これで計算終了だ。
</p><p>
例として前回と同じ \(k=7\) を計算しよう。
\(n = 14\), \(d=\phi(14)/2 = 3\) となる。
<p><p>
ステップ1。\(q_1=1\), \(q_2 = 1\)、\(q_3 = 1\)。
</p><p>
ステップ2は \(d/2 = 3/2\) なので \(f_1\), \(g_1\) を計算すれば十分。
\[f_1 = \frac{1}{2} \left(7 q_1 g_0 - q_2 f_0\right) = \frac{1}{2} (7 - 1) = 3\]
\[g_1 = \frac{1}{3} \left(f_1 + q_3 f_0 - q_2 g_0\right) = \frac{1}{3} (3+1 - 1) = 1\]
</p><p>
ステップ3。\(f_2=f_1=3\), \(f_3=f_0=1\), \(g_2=g_0=1\)。
</p><p>
したがって、
\[\Phi_{14}(X)= (X^3 + 3 X^2 + 3 X + 1)^2 - 7X (X^2 + X + 1)^2\]
が得られた。
</p><p>
確かに Stevenhagen の方法より無駄が少なそうだ。
</p><!-- p>
合成数も気になるので \(k=15\) も試してみよう。
\(n = 30\), \(d=\phi(30)/2 = 4\) となる。
\[\Phi_{30}(X) = X^8 + X^7 - X^5 - X^4 - X^3 + X + 1\]
</p><p>
ステップ1。\(q_1=1\), \(q_2 = -1\)、\(q_3 = 0\), \(q_4 = 1\)。
</p><p>
ステップ2。\(d/2 = 2\)
\[f_1 = \frac{1}{2} \left(15 q_1 g_0 - q_2 f_0\right) = \frac{1}{2} (15 + 1) = 8\]
\[g_1 = \frac{1}{3} \left(f_1 + q_3 f_0 - q_2 g_0\right) = \frac{1}{3} (8 + 1) = 3\]
\[f_2 = \frac{1}{4} \sum_{i=0}^{1}\left(15 q_{3-2i} g_i - q_{4 - 2i} f_i \right) = \frac{1}{4} (0 -1 +45 + 8) = 13\]
</p><p>
ステップ3。\(f_3=f_1\), \(f_4=f_0\), \(g_2=g_1\), \(g_3=g_0\)。
</p><p>
したがって、
\[\Phi_{30}(X) = (X^4 + 8 X^3 + 13 X^2 + 8 X + 1)^2 - 15X (X^3 + 3 X^2 + 3 X + 1\)^2\]
が得られた。
</p -->
<h4>参考文献</h4>
<p>Richard P. Brent "<a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.114.548">Computing Aurifeullian Factors</a>" in
Computational Algebra and Number Theory, Mathematics and its Applications Vol. 325, 1995, Pages 201-212</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-68687252607896751682021-09-04T21:47:00.000+09:002021-09-04T21:47:58.553+09:00Aurifeuille 恒等式の計算方法 (Stevenhagen)<p>
この Aurifeuille シリーズは2年ほどブランクがあって3回目。
前2回は <a href="/2019/10/aurifeuillian.html">Aurifeuillian 因数分解</a> と <a href="/2019/11/aurifeuille.html">Aurifeuille 恒等式</a> について書いた。
今回は計算方法の一つを紹介する。
</p><p>
簡単にするためにあまり複雑な一般化は省いて、
平方因子を持たない \(2\) 以上の整数 \(k\) に対し、\(n\) を \(k \equiv 1 \pmod{4}\) ならば \(k\)、そうでなければ \(2k\) とする。
このときある整数係数多項式 \(F\) と \(G\) により円分多項式 \(\Phi_n(X)\) を \(F(X)^2 - kX G(X)^2\) という形(Aurifeuille 恒等式)に書ける。
この \(F\) と \(G\) を求める方法を見ていきたい。
</p><p>
\(k=5\) の時のように整数 \(\Phi_n(k)\) の因数分解をして \(k\) 進数展開から求めるのは、いろいろ問題がある。
整数の因数分解自体が難しいし、\(k\) 以上の係数や負の係数が必要になると破綻してしまう。
一般的に使える方法は、もっと代数的な議論だ。
</p><p>
前に見たように \(k\zeta_n\) が \(\mathbb{Q}[\zeta_n]\) で平方数になっているというのがキーだった。
ここで紹介する Stevenhagen の方法は、\(\sqrt{k\zeta_n}\) が \(\mathbb{Q}[\zeta_n]\) に入っているならば、\(\zeta_n\) の多項式で表せるという事実に基づいている。
</p><p>
具体的な \(\sqrt{k\zeta_n}\) を表す \(\zeta_n\) の多項式が
\[H(X) = \sum_{1 \leq a \leq 2n \land (a, 2n) =1 \land (\frac{k}{a})=1} X^{(a+1)/2}\]
と与えられる。実際 \(X\) に \(\zeta_n\) を代入すると、
\(1/2\) 乗は \(\zeta_n\) を \(\zeta_{2n}\) にし、 \(+1\) の分の \(\zeta_{2n}\) で括った残りは \(\mathbb{Q}(\zeta_2n)\) から \(\mathbb{Q}(\sqrt{k})\) へのトレースになりそれは値として \(\sqrt{k}\) だから結局 \(\zeta_{2n}\sqrt{k} = \sqrt{k\zeta_n}\) となる。
この \(H\) と \(\Phi_n\) にユークリッドの互除法を適用する。
余りの次数が段階的に下がっていくが、最初に \(\phi(n)/2\) 以下になった多項式を \(f\) とし、次の段階の多項式を \(f^*\) とする。
このとき、\(f^*\) の定数項を \(f\) の適当な有理数 \(\alpha\) 倍で消したもの \(f^*-\alpha f\) を \(Xg\) とおくと、
\(f\) を先頭項係数 \(c\) で割ったものが \(F\)、逆にその \(c\) を \(g\) に掛けたものの符号を調整すると \(k G\) となる。
という形で \(F\) と \(G\) が求められる。
</p><p>
最後の部分が不思議な感じなのでもう少し補足しておく。
補助的な多項式 \(\gamma_i\) を \(\gamma_0 = 1\), \(\gamma_1 = 0\) から始めて、
\[ \Phi_n = \begin{vmatrix} 1 & H \\ 0 & \Phi_n \end{vmatrix} = \pm\begin{vmatrix} \gamma_i & f_i\\ \gamma_{i+1} & f_{i+1}\end{vmatrix}\]
とユークリッドの互除法を行変形と見ていくと、行列式は符号を除いて一定である。
定数項を消す処理も行変形なので
\[ \Phi_n = \pm\begin{vmatrix} \gamma & f\\ \gamma^* & f^*\end{vmatrix} = \pm\begin{vmatrix} \gamma & f \\ \gamma' & Xg \end{vmatrix}\]
が得られる。
一方 Aurifeuille 恒等式は
\[ \Phi_n = \begin{vmatrix} cG & cF \\ c^{-1}F & c^{-1} X k G\end{vmatrix}\]
と表現できる。
最後の二つの式の右辺の要素同士が(符号を除いて)等しいことが言える(詳しくは参考文献を)ので上のようなアルゴリズムとなる。
</p><p>
例として \(k=7\) としてみよう。\(n=14\) だ。
\(1\) 以上 \(28\) 以下かつ \(28\) と互いに素かつヤコビ記号 \(\left(\frac{7}{a}\right)\) が \(1\)
という条件を満たすのは \(a \in \{1,3,9,19,25,27\}\) なので、
\[H_{14}(X) = X + X^2 + X^5 + X^{10} + X^{13} + X^{14}\]
だ。
この \(f_0=H_{14}\) と円分多項式 \(f_1=\Phi_{14}\) にユークリッドの互除法を適用する。
\[f_2(X) = f_0(X) \bmod f_1(X) = X^4 - 2 X^3 + 2 X^2 + 2\]
\[f_3(X) = f_1(X) \bmod f_2(X) = -X^3 - 3 X^2 - 3 X - 1\]
\[f_4(X) = f_2(X) \bmod f_3(X) = 14 X^2 + 14 X + 7\]
ここで \(f_3\) の次数が \(\phi(14)/2=3\) 以下なので、\(f = f_3\) 、\(f^* = f_4\) とする。
\(f^*\) の定数項 \(7\) を \(f\) で消すために \(\alpha=-7\) とする。
\[f^*(X) - \alpha f(X) = -7 X^3 -7 X^2 -7 X\]
これを \(X\) で割って
\[g(X) = -7 X^2 -7 X -7\]
を得る。
\(f\) の先頭係数は \(-1\) なので、
\[F(X) = -f(X) = X^3 + 3 X^2 + 3 X + 1\]
\[G(X) = -g(X) / 7 = X^2 + X + 1\]
よって
\[\Phi_{14}(X) = (X^3 + 3 X^2 + 3 X + 1)^2 - 7X (X^2 + X + 1)^2\]
を得る。
</p>
<h4>参考文献</h4>
<p>P. Stevenhagen "<a href="https://www.sciencedirect.com/science/article/pii/1385725887900096">On Aurifeullian factorizations</a> Indagationes Mathematicae (Proceedings), Volume 90, Issue 4, 1987, Pages 451-468</p>
MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-91163539688359353562021-07-07T21:20:00.000+09:002021-07-07T21:20:57.128+09:00functools.cache とフィボナッチ<p>
フィボナッチ数を計算する関数を再帰で素直に書く。
</p><blockquote><pre>
def fib(n):
if n < 0:
return n
return fib(n-1) + fib(n-2)
</pre></blockquote><p>
このままではものすごく遅いので、メモ化すると良い。
というのは一般常識の内だろう。
</p><p>
Python には 3.9 からデコレーター <code>functools.cache</code> があるので、簡単だ。
</p><blockquote><pre>
from functools import cache
@cache
def fib(n):
if n < 0:
return n
return fib(n-1) + fib(n-2)
</pre></blockquote><p>
もう少し前のバージョンを使わなければならない人も安心して欲しい。
デコレーター <code>functools.lru_cache</code> が 3.2 から存在していて、<code>lru_cache(maxsize=None)</code> と書けば実質的に <code>cache</code>
と同じことをしてくれる。
実は上のフィボナッチ数を計算するプログラムは <a href="https://docs.python.org/ja/3/library/functools.html">functools</a> 公式ドキュメントの <code>lru_cache</code>
使用例から持ってきたものだ。
</p><p>
話はちょっと飛ぶのだが、昔やっていた <a href="https://sourceforge.net/projects/nzmath/">NZMATH</a> というプロジェクトをもう一度動かそうという動きがあるとかないとか。
いや動きがあるとは聞いているのだが、実際に動き出したかどうかはまだ見えていない。
そんな NZMATH にもフィボナッチ数を計算する関数 <code>nzmath.sequence.fibonacci</code> があった。
</p><blockquote><pre>
FIBONACCI = {0:0, 1:1}
def fibonacci(n):
"""
param non-negative integer n
return the n-th term of the Fibonacci
effect FIBONACCI[n] = fibonacci(n)
"""
if n < 0:
raise ValueError("fibonacci(n) 0 <= n ?")
if n in FIBONACCI:
return FIBONACCI[n]
m = n >> 1
if n & 1 == 0:
f1 = fibonacci(m - 1)
f2 = fibonacci(m)
FIBONACCI[n] = (f1 + f1 + f2) * f2
else:
f1 = fibonacci(m)
f2 = fibonacci(m + 1)
FIBONACCI[n] = f1 ** 2 + f2 ** 2
return FIBONACCI[n]
</pre></blockquote><p>
注目したいのは2点、計算方法とメモ化だ。
計算方法は、大体半分ぐらいのところの値を使って計算するという仕組になっている。
何を参考に書いたのか判らないが、線形再帰数列の一般論から出てくるはずだ。
あるいはフィボナッチ数に特化した話としてリベンボイムの「素数の話」に書いてあったのから取ったのかもしれない。
定義通りの計算はメモ化しても O(n) 項計算するのを避けられないが、この方法は O(log n) 項の計算で済む。
一方のメモ化だが、キャッシュに使う辞書 FIBONACCI を自前で準備している。
(当時対象バージョンは Python 2.5 だったので、まだ <code>functools.lru_cache</code> は登場していなかった)
</p><p>
今ならばこの自前のキャッシュを止めて、<code>functools.cache</code> を使ってより簡潔に書ける。
</p><blockquote><pre>
@cache
def fibonacci(n):
if n < 0:
raise ValueError("fibonacci(n) 0 <= n ?")
if n < 2:
return n
m = n >> 1
if n & 1 == 0:
f1 = fibonacci(m - 1)
f2 = fibonacci(m)
return (f1 + f1 + f2) * f2
else:
f1 = fibonacci(m)
f2 = fibonacci(m + 1)
return f1 ** 2 + f2 ** 2
</pre></blockquote><p>
速さに違いがあるか timeit を仕掛けてみた、が、考えてみたら2回目以降の呼び出しはただの辞書からの読み出しだから大して意味は無いかも。
一応書いておくと、fibonacci(1000) を計算させて、元のバージョンは "2000000 loops, best of 5: 145 nsec per loop" なのに対し、
デコレーター <code>cache</code> を使った方は "5000000 loops, best of 5: 59.8 nsec per loop" だった。
ちなみに定義通りに書いた方はもっと手前で再帰が最大回数まで使い果たしてエラーが出る。
再帰させる行の足し算を逆転するとちょっと限界が伸びるけどね。
</p><blockquote><pre>
@cache
def fib(n):
if n < 0:
return n
return fib(n-2) + fib(n-1)
</pre></blockquote>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0tag:blogger.com,1999:blog-395238420742035601.post-58434238189417763172021-05-15T11:54:00.000+09:002021-05-15T11:54:28.756+09:00たとえ話<p>
最近、YouTube で何の動画を見たからなのか、高校数学と大学数学のギャップについて語っている動画をおすすめされることがある。
何本か見てみたが、高校まで数学が好きでそのまま大学の数学科に進むと、思っていたのと違うというような経験をするものらしい。
私自身はそういうタイプではなかったので、こういうことなんじゃないの、と傍観者的に思ったことを書いてみたい。
</p><p>
数学をサッカーにたとえてみると、ボールに親しもうという子供時代から少しずつ難しい技術を覚えて、
高校ではミニゲームが主な練習になっている、というような成長段階なんだと思う。
そして高校数学が好きというタイプはそのミニゲームで得点を取るのが上手な子だったりするのだろう。
</p><p>
大学の数学で、初めてフルコートでサッカーをする感じになる。
そのためにもう一回ルールをおさらいして、フルコートを走り回れる体力を付け、ロングボールを蹴れるようになるといった今まで必要なかった能力も要求され、フリーキックに対し壁を作るといった新しいテクニックを身につける必要が出てくる。
そして、FW・MF・DF といったポジションごとに違った思考をするようになる。
</p><p>
たとえが先行しすぎて数学の話に聞こえなくなってきたかもしれないが、論理や集合論といった基本を復習して、長い証明を読み書きする力を身に付け、分野を横断するような発想を理解するように要求され、今まで使わなかったような語彙を習得しないといけない、というようなことだ。
そして、解析・幾何・代数といった分野ごとに特有のスタイルを知っていくことになる。
</p><p>
要するに、高校数学が数学だと思っていたら大学数学にギャップを感じるというのは、ミニゲームがサッカーだと思っていたらフルコートに面食らうだろう、というぐらい当然な現象なのだ。
そして大学で勉強する数学もフルコートで行うとは言え所詮練習に過ぎず、本当に試合をするのは研究と名前が変わってからだと言って良いだろう。
教授達は試合をするプロのプレイヤーなのだが、試合の様子をなかなか覗くことができないのがちょっとイメージしづらくさせている部分かと思う。
とりあえず適当なノンフィクション的なものなんかを読んでみて世界観を漠然とでも掴んでから数学を志した方がいいのかも。
ミニゲームでの巧さはそれなりのセンスを意味するだろうから恐れずに進んでいって欲しいとは思う。
</p>MATSUI Tetsushihttp://www.blogger.com/profile/13652980570303484561noreply@blogger.com0