Tumgik
tanraku-teki · 2 years
Text
Keypirinhaをカスタムしよう!
こんばんは.Windows では極力「エクスプローラー」を使いたくないロシュミット数です.
さて,私は普段ランチャーアプリを用いて,PC内のお目当てのフォルダであったり,ファイルであったりを検索しています.
そんなランチャーアプリ,mac だと Alfred というアプリが有名で,私も普段これを使っていますが,このアプリは mac版 しかありません...
Windows でも Alfred のようなランチャーアプリを使いたい... そんなとき,候補はいくつか挙がるのですが,そのなかでも割と有名なのは
Keypirinha
ではないでしょうか?
実際,私は1~2年前くらいから Keypirinha を使っています.
Alfred
ライクという理由だけで,なんとなく使っていたものの,ところどころ検索に引っかからない資料があり,ランチャーアプリとしての恩恵をフルには享受できていませんでした.
そこでふと,Keypirinha
について色々調べてみると,どうやら FilesCatalog Package の設定ファイルを弄れば,検索候補に出て来ないファイルを表示させられる模様!
というわけで,私の環境での Keypirinha
の設定ファイルを以下に公開しておきます.
備考:
filebrowser.ini で,home を Onedrive にすることで, Keypirinha 上で”~“を入力したときに Onedrive 直下のディレクトリとファイルを表示するように設定しています. これは,私が普段 Onedrive へドキュメント類を共有するようにしているので,こうする方が私にとって便利だからです.
上記理由から,filescatalog.ini 内の [profile/Docs] ,[profile/Directory] の設定では,Onedrive 直下の ディレクトリ,ファイルを検索にかかるように設定しています.
また,filters で検索範囲の拡張子を.txt .pdf .doc .docx .xls .xlsx .pptx .ppt .md に限定しています.
[profile/Docs] ,[profile/Directory] には,Onedrive の他にもよく参照するGithubディレクトリや,「ダウンロード」ディレクトリも検索対象としました.
https://gist.github.com/Loschmidt-constant/29bf1e22701bf46ab5b3fcc04f7b860b
参考:
Keypirinhaの使い方
5.9.2. Profiles ( Keypirinha 公式ドキュメント)
0 notes
tanraku-teki · 2 years
Text
数学2:三角関数の教材
どうも.現在,とある高校で非常勤講師として努めている losch です. 授業で配るプリント用に,この記事を残しておきたいと思います.
Tumblr media
画像の引用先:Qiita:三角関数
Tumblr media
画像の引用先:gfycat:tangent GIF
1 note · View note
tanraku-teki · 2 years
Text
プリンタを買い替えたくない
こんにちは. 就活が終わったことで記事の更新頻度が上がっている Loschmidt です. 
唐突ですが,私の家にはプリンタがあります.一応スキャンも出来る優れものです. しかし,インク代・紙代を節約したい私はいつも大学(特に院生室)のプリンタで印刷しています.(←セコい)
そうすると,家のプリンタはスキャンでしか使わなくなり,買って早々スキャナと成り下がりました. けれどたまには家で印刷したいときもあります.印刷のために大学に行くのは流石に癪です.
そこで久々に使ってみると,黒色だけ全く印刷できない...
(実はこの記事の後半はこのプリンタの意外な事実を発見しています.そちらを先に読みたい人は → 意外な事実)
あぁ,マジか.... と.取り敢えずプリンタの設定画面から「クリーニング」を実行してみる.
Tumblr media
そして,その後ノズルチェックパターンを印刷してみる.
Tumblr media
あれ?イケてるじゃん?と思うも束の間.調べてみると,どうやら
Tumblr media
正常なノズルチェックパターン(出典: PGBKが出ない(印刷されない)とき、プリンターのメンテナンス | コピペドットコム)
上の画像の状態が正常らしい.違いが分かるでしょうか. 実は私のプリンタの ノズルチェックパターン は一番上にPGBKと書かれた網目模様が印刷されていないのです.
なんとも不便な話です.
~試行錯誤~
この記事によるとクリーニング(さらには強力クリーニング) を以てしても改善されない場合はプリンタのヘッドを取り外し,洗って乾��させ,綺麗な状態でもとに戻せば使えるようになるらしい.(方法1)
いやぁ,分解するの面倒くさいなぁと思う私. いろいろ調べてみると,代替案が出てきた.(方法2)
プリンターの黒だけ印刷できない! ヘッド洗浄してもダメ~写真用紙設定にすることで解決 | 健康探究ブログ
どうやらこの記事によると,写真用設定で印刷すれば解決するらしいです. (抜本的な解決にはなっていないような気もするが...)
というのも,プリンタの“黒”には実は2種類あって,BKというのが染料インクと呼ばれるもので,今回問題になっているPGBKは顔料インクと呼ばれるものに相当する.(詳しくはこちらの記事などを参照いただきたい.)
要するに,この記事では「顔料インクが使えないなら染料インク使えば良いじゃない」と言っています.(もちろん応急処置の意味合いで言っているが)
しかし,私は方法2をあまり使いたくない.なぜか.
私が使っている機種はキヤノンのPIXUS TS7430というモデルだが,このモデルの写真用設定による印刷は後ろの給紙トレイからしか印刷できないのです.
Tumblr media Tumblr media
これは結構由々しき問題でしょう.私の家は狭いので,後ろ の給紙 トレイと壁が接しており,給紙トレイがつっかえるのです. 1,2枚程度の印刷なら手差しで 後ろ の給紙 トレイ を使えなくもないが,下手に枚数の多い印刷物などは最早印刷する気も起きない.
ということで,渋々プリンタヘッドを取り外し,洗うことにしました.(方法1)
ヘッドの外し方の参考としては以下の動画を参考にしました.(型番が若干違うだけでモデルは共通っぽい?)
youtube
ヘッドを外すとこんな感じ(これは洗ったあと)↓
Tumblr media
お湯を張ったカップにこれを1時間くらい浸けておきます.
Tumblr media
こんな感じでヘッド内に残ったインクが染み出してきます.
水がインクで色濃くなってきたら水を入れ替えます. これを水の色が変わらなくなるまで繰り返します.
Tumblr media
その後,ヘッドを取り出し自然乾燥します.
Tumblr media
このまま1日自然乾燥したのちに,プリンタへ入れ直しプリントしてみる....
しかし,全く解決しない.ノズルチェックを行っても,やはりPGBKだけが印刷されない.
他の方法を模索していると,価格ドットコムのあるコメントが引っ掛かる.
Tumblr media
出典:『PGBKが印刷されない』のクチコミ掲示板
ホントか!? 眉唾ものだが試してみる価値はあるのでやってみました.(方法3)
結果:ウェットティッシュがちょっと黒っぽくなっただけ.
全く解決しなかった.
はぁ.どうしたものかと思っていた矢先,調べていると次の洗浄カートリッジなるものを見つけました.
Tumblr media Tumblr media
キヤノン用 BCI-380PGBK専用 プリンター目詰まり洗浄カートリッジ 顔料ブラック用
どうやら,インクカートリッジと同じ形状にしておき,中には洗浄剤が入っているらしい.これをはめたプリンタで印刷を繰り返すとプリンタ内部が洗浄され,再びインクが流れ出すようになる... らしい....
藁にもすがる思いで取り敢えず購入.とにかくこれをはめて印刷を繰り返してみます.(方法4)
Tumblr media
左:上面,右上:洗浄カートリッジの説明とか,右下:洗浄剤が入っている様子. 開封してみると,確かにインクの代わりに透明の液体が入っている.これが洗浄剤か.
ついでにこんな説明書も付いていました.
Tumblr media
ちなみに,上のQRコードを読み込むとこのページにリンクされている.
取り敢えずセットして100回くらいPKBG印刷をかける. 一向に印刷できそうな気配にない.
一応洗浄剤を取り外し確認してみると,
Tumblr media
なんか洗浄しようと頑張っている痕は確認できる.
うーんと思い,一度PKBGインクを入れ直す.紙が勿体ないので両面印刷をかける.
~意外な事実~
「あれ!? 印刷できてんじゃん!」
ちょっと色が薄い気がするが確かに印刷できてそう.
別の資料も両面印刷で印刷してみる.
おっ.やっぱ印刷できてんじゃん!
これで一安心と思い,一応最後にテキトーなページを片面印刷したところ...
今度は全く印刷されていない
あれ?? さっきまで印刷されてたじゃん?
ここである仮説が浮かぶ.
さっき印刷できたときは両面印刷だった
印刷できなかったときは片面印刷だった
→ 印刷できるのは両面印刷のときだけ!?
ということでこの仮説を検証してみる.
まずは片面印刷.やはり何も印刷されていない.
次に両面印刷.色は薄いが確かに印刷されている.
Tumblr media
テストプリントに使用したのは,https://mozilla.github.io/pdf.js/web/viewer.html.
試しに,PGBKを洗浄カートリッジに交換しても,両面印刷の場合は印刷できた.(もちろん,片面印刷では印刷できなかった.)
実際,いずれの場合もノズルチェックパターンを印刷すると,
Tumblr media
このとおり,PGBKのみ印刷されていない.
ということから次の結果が得られた.
キャノンプリンタ(少なくともTS7430モデル)では
片面印刷はPGBK(顔料)インクを使う
両面印刷は染料インクを使う
意外な事実が知れたが,ひとまずはこの家のプリンタで印刷するときは両面印刷することで何とか事なきを得た(!?)
P.S.
片面印刷で顔料インク,両面印刷で染料インクを使うという事実に少し驚いたので,調べてみたところ次の2つのページがヒットした.
『自動両面印刷でも顔料インクが利用されます』のクチコミ掲示板
Canonの両面印刷は顔料インクを利用しないのか?
この2つのページによると,両面印刷で染料インクを使うというのは否定されているが,真相や如何に.....?
0 notes
tanraku-teki · 2 years
Text
highlight.jsの使い方
こんばんは.loschです.
前回記事でhighlight.jsを簡単に紹介しました. 今回はその導入と詳しい使い方を記事にしたいと思います.
1. highlight.jsの導入
まず,前回記事で書いたようにダウンロードページから,cdnjs,jsdelivr,unpkg のjsコードのいずれかを<head>~</head>内にコピペすればいいです.
しかし,このまま使うとデフォルトで用意されている言語のシンタックスハイライトしか使えません. すなわち,
Tumblr media
この画像にある分しか使えません.
そこで,
Tumblr media
このようにotherの中にある好きな言語にチェックを入れ,下にある「Download」ボタンをクリックすればダウンロードが始まります.
そしてPCに“highlight.zip”がダウンロードされているはずなので,これを解凍します.
解凍先フォルダの中に“highlight.min.js”というファイルがあると思います.(画像の黄色い線を引いた部分)
Tumblr media
このファイルに先ほど選択した言語のシンタックスハイライトの設定が書き込まれています.
Tumblr media
Tumblrに適用する場合は
テーマの編集 < HTMLの編集 < 設定画面(歯車マーク) < テーマアセット
に進み,テーマアセットの「ファイルを追加」を押して,先ほどダウンロードした “highlight.min.js”を選択し,ファイルを追加します. するとテーマアセットの中に “highlight.min.js” が追加されると思うので,それをクリックしてみてください.
新たなタブが開かれると思います.このとき,
https://static.tumblr.com/◯◯/◯◯/highlight.min.js
というアドレスがアドレスバーに表示されていると思うので,これを控えておいてください. (ちなみに〇〇の部分はランダムな英数列が与えられています.人によって違います.)
このアドレスに対して,
<script src="https://static.tumblr.com/◯◯/◯◯/highlight.min.js"></script>
と書いて,これを <head>~</head> 内に貼り付ければOKです.
選択した言語が反映されているかの確認として,ブラウザのデベロッパーツールを使います.
私は普段Firefoxを使っているので,Firefoxでの説明をしていきます. (他のブラウザも概ね同様だと思うので,調べてみてください.)
まずブラウザ上でF12キーを押してください.すると,以下の画像のようなのが下に出てくると思います.これがデベロッパーツールです.
Tumblr media
コンソールタブを押すと,入力画面が一番下に現れると思うので,ここに
hljs.listLanguages()
と入力してください.
Tumblr media
エンターキーを押すと,
Tumblr media
このようにリストが展開されるので,先ほど選んだ言語がすべて入っていればOKです.
2.シンタックスハイライトのデザイン
ダウンロードページの cdnjs,jsdelivr,unpkg のjsコードのいずれかを選んだとしましょう.今回は cdnjs を選びます.
このコードの中に,
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.0/styles/default.min.css">
というものがあります.このコードがシンタックスハイライトのデザインを決めるものになります.
このコードの “default” の部分を書き換えれば,デザインを変更することが可能となります.
デザインは highlight.js demo に一覧が載っているので,これを参照すれば良いと思います.
結局,これらをまとめると,
<script src="https://static.tumblr.com/◯◯/◯◯/highlight.min.js"></script> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.0/styles/□□□□.min.css"> <script>hljs.highlightAll();</script>
というコードを <head>~</head> に突っ込むと記事内でシンタックスハイライトが使用可能になります. (ただし, 〇〇の部分はランダムな英数列,□ □ □ □ は好きなデザイン名.)
[Tips] highlight.js の適用方法
基本的にはエディタをHTMLモードにし,記事内のコードを表示したいところで,
<pre><code> [埋め込みたいコード] </code></pre>
と入力すれば使えます. 概ねこれで問題ないはずですが,適用する言語を明示したい場合は
<pre><code class=“[言語名]”> [埋め込みたいコード] </code></pre>
として入力すればOKです.
また,特にHTMLコードに highlight.js  を適用したい場合は,一部の記号を以下のように変換してください.
& → &
" → "
' → &apos;
< → <
> → >
0 notes
tanraku-teki · 2 years
Text
Tumblr記事内のコード埋め込みとシンタックスハイライト
どうも,Loschmidt です.
当ブログでは何かしらのソースコードを載せることが多いですが,それには今までgistで埋め込んできました.(以前の記事)
しかし,gistでコードの埋め込みは結構面倒です....
そこで,今回は別の方法でコードの埋め込み,そしてシンタックスハイライトの設定をしていきたいと思います.
そもそも...
元記事を見ていただきたいのですが,gistで埋め込む場合,
記事に埋め込みたいコードをgistにアップロードする必要がある.
記事に埋め込む際,記事内に
<div class="gist">[gist URL]</div>
  として埋め込む.
という手順になります.
アップロード→埋め込みという流れがちょいと煩雑だと最近思っています...
やっぱり,直にコードは埋め込みたい!という気持ちから色々調べてみると, highlight.jsというものを見つけました.
highlight.js について
highlight.js とは,Webページに貼り付けたソースコードを言語・構文( シンタックス )に合わせて色表示(ハイライト)する為の JavaScript ライブラリです.
highlight.jsが便利な点:
簡単に導入できる
対応している言語が多い
A. 簡単に導入できる
ダウンロードページへ飛ぶと,以下のjsコードが用意されています.
cdnjs,jsdelivr,unpkgと3つある(以下の画像参照)ので,このうちのいずれかをHTML内(の<head>内)にコピペすればOKです.
Tumblr media
貼り付けたすぐ直下に,
<script>hljs.highlightAll();</script>
を挿入すれば,すぐにシンタックスハイライトが使えます!
B. 対応している言語が多い
ダウンロードページの下の方を見てみると,マイナー言語含め多数の言語に対応していることがわかります.
Tumblr media
チェックボックスにチェックを付けている箇所は私が使う言語(シンタックスハイライトが欲しい言語)です.
Julia使いとしては,Juliaに対応しているのがとても有難い...!
結局...
ちなみに私は以下のように<head>内に貼り付けています. (詳しいことは次の記事で紹介します.)
<link rel="stylesheet"      href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.0/styles/atom-one-dark-reasonable.min.css"> <script src="https://static.tumblr.com/reqj7s5/dUPr9jxmp/highlight.min.js"></script> <script>hljs.highlightAll();</script>
さて,最後に使い方ですが,
<pre><code> [埋め込みたいコード] </code></pre>
を記事内の埋め込みたい箇所に記入すればOKです.
具体例を前回記事と同様のものを下に載せておきます.
rem************************************ rem**** Crank-Nicolson method ***** rem************************************ ' open "crank-nicolson.dat" for output as #1 ' 'constants x_min = 0.0: x_max = 1.0: M = 100: N = 100: dx = (x_max-x_min)/M: dt = 1.0/N: r = dt/dx^2: kappa = 0.5 E = 0.0001: NN = 200 PI = 4*ATN(1): 'π ≒ 4 arctan(1) ' dim x(M+1) dim u(M+1, N+1), uf(M+1, N+1) ' print #1, "x"; for i = 0 to M x(i) = i*dx next i ' for i = 0 to M step 10 print #1, using "##.##"; x(i); next i: ' 'IC for i = 1 to M-1 if (x(i)>=0 and x(i)<0.5) then let u(i, 0) = 0 else let u(i, 0) = 10 next i ' 'BCs for j = 0 to N u(0, j) = 0: u(M, j) = 10 next j ' print #1, print #1, "u(x,0)"; for i =0 to M step 10 print #1, using "###.###"; u(i, 0); next i: ' 'Gauss-Seidel method for j = 0 to N-1 for i = 1 to M-1 u(i, j+1) = u(i, j): 'setting of IC next i for L = 1 to NN for i = 1 to M-1 uf(i, j+1) = u(i, j+1) 'convergence judgment BS = -2*(1 + 1/(r*kappa)) B = -u(i+1, j) + 2*u(i, j) - u(i-1, j) - 2*u(i, j)/(r*kappa) u(i, j+1) = (B - u(i-1, j+1) - u(i+1, j+1))/BS next i ' 'convergence judgment s = 0: s0 = 0: 'total initial value for i = 1 to M-1 s0 = s0 + ABS(u(i, j+1)) s = s + ABS(u(i, j+1)-uf(i, j+1)) next i s = s/s0 if s<=E then 65 next L ' JJ = 10*(j+1)*dt if JJ = int(JJ) then 69 goto 77 print #1, t = (j+1) * dt print #1, "u(x,"; print #1, using "#.#";t; print #1, ")"; for i = 0 to M step 10 print #1, using "###.###"; u(i, j+1); next i next j close END
0 notes
tanraku-teki · 2 years
Text
ブログのデザインをリニューアルしました.
どうも.最近就活が無事終わって安堵しているLoschです.
前々から思っていたのですが当ブログ,結構不親切ですよね.
特に不便なのが,「タグ一覧」が無いこと. せっかく今まで書いてきた記事に,分かりやすい道標(?)としてタグを付けているのに全く活用されていない! しかも,タグ一覧が無いせいで検索効率も悪い!
ということで,サイドバーに「TAGS」という欄を設けました.
ついでに,「LINKS」という欄も設け,私が持っている他のサイトリンク集も設けておきました.
あとは,サイト下部のページネーション(下の画像みたいなやつです)も新しくしました.
Tumblr media
前回は「Previous」「Next」しか無かったところを,現在いるページの前後10個までページ数を表示するように変更しました. (当ブログはまだまだ記事が少ないので,6ページまでしか表示されていないですが...)
その他にも,サイトデザインをちょこちょこイジっている箇所もありますが,大きく変更したのはこの2点です.
なので,今回はタグ一覧とリンク集をサイトに反映させるための方法を備忘録としてこの記事に残しておきたいと思います.
1.タグ一覧の設置
主に,こちらの記事を参考にしました.
ただ,タグクラウドのデザインは当ブログに合わせて,以下のようにイジりました.
#tags { margin: 0; padding: 0; list-style: none; line-height: 1.4em; } #tags.tagCloud li { display: table-cell; list-style: none; font-size: 100%; margin: 0; padding: 0; display: inline-block; } #tags.tagCloud li a { text-decoration: none; color: #555; //テキスト色 border: 1px solid #555; //囲み線の色と幅 padding: 0 0.5rem; margin: 0 0.2rem; position: relative; } #tags.tagCloud li a:hover { color: #ba2636; //マウスオーバー時のテキスト色 border-color: #fff; //マウスオーバー時の囲み線の色 background-color: #fff; //マウスオーバー時の背景色 }
通常色をグレーにして,マウスオーバーしたときの色を赤色にしました.
2.paginationの設定
<div style="text-align:center;"> <div class="pagination"> <div class="nextprev"> {block:PreviousPage}<span class="previous-page"><a href="{PreviousPage}">« Previous</a></span>{/block:PreviousPage} {block:JumpPagination length="10"} {block:CurrentPage}<span class="current_page">{PageNumber}</span>{/block:CurrentPage} {block:JumpPage}<a class="jump_page" href="{URL}">{PageNumber}</a>{/block:JumpPage} {/block:JumpPagination} {block:NextPage}<span class="next-page"><a href="{NextPage}">Next »</a></span>{/block:NextPage} </div> </div> </div>
JumpPaginationブロックとCurrentPageブロックを追加したことで,今まで「前へ」「次へ」しか無かったページネーションにページ数も表示するようにしました.
0 notes
tanraku-teki · 3 years
Text
Firefoxの検索プラグインを復元する.
どうも.普段 macbook air で作業しているLoschです. 好きなブラウザは Firefox ,好きなメールクライアントは Thunderbird .Mozilla 大好きマンです.
普段 macbook air で作業しているとは言ったものの,家には Windows の母艦PCがあったりします. (↑ 主に研究,ゲーム,動画編集用)
macbook, 母艦PC, iPad, iPhone, …
全端末においてブラウザは Firefox を使いたい私です.
そこで,macbookで使っているFirefoxの環境を,Windowsの母艦PCでも構築したい…
しかし,同期機能を完全に使うにはユーザープロファイルは別に作らなくてはなりません.
以前,プロファイルを直接コピーしただけの,まるまる同じプロファイルを使用していたとき,同期が上手くいきませんでした. (同プロファイルのブラウザが同時に2つ存在している状態) (具体的には,デバイス間のページ共有や,タブ同期が上手く働かなかった.)
そこで
今回は,新規プロファイルに対し,Firefoxアカウントでの同期を行い,母艦PCでのブラウザ環境を整えていきたいと思います.
なお,Firefoxアカウントでの同期だけで,同期できないもの(各種アドオンの個別設定など)には,個別のバックアップなどをエクスポートすることにより,異なるデバイス間のFirefoxの同期を上手くいくようにしたいと思います.
まず
ブックマーク,履歴,ログイン情報,アドオン,個人設定などおおまかなものは,Firefoxアカウントによる同期ですぐ完了.
個別のアドオンの設定などは,各アドオンのインポート・エクスポート機能で対応できました.
(問題はここから…)
最後に検索プラグインのバックアップ. (設定画面では検索ショートカットと表示されている箇所.)
ここの部分のみは,どうやらFirefoxアカウントで同期されないようです… (個人設定には含まれていない模様.)
もちろん検索プラグインのエクスポートもありません...
しかも私の場合,“Add custom search engine” というアドオンで独自に作成した検索プラグインが幾つかあるので,同期されないのは非常につらい……
どうにかならないかと,Google先生に尋ねてみたところ... 以下の記事がHit!!
Firefoxで検索プラグインを追加・編集する方法
上記から引用:
- プロファイルの検索プラグインのデータを編集

 ビルトインのものと同じ名前の検索プラグインを追加することはできないので、ビルトインの検索プラグインのデータに対し何らかの方法で編集を行う。即ち、JSONドキュメントを編集節の方法を用い、search.json.mozlz4に含まれるビルトインの検索プラグインのデータを編集する。然し、Firefoxが更新されると、search.json.mozlz4に含まれるビルトインの検索プラグインのデータも更新される11ので、この編集は無に帰してしまう。そこで、編集したsearch.json.mozlz4のバックアップを保存しておき、Firefoxが更新された際には、バックアップのsearch.json.mozlz4に含まれるbuildID・appVersion各オブジェクトの値を現在のものに書き換え12、現在のsearch.json.mozlz4と置き換える。
なるほど,つまり search.json.mozlz4 というファイルに検索プラグイン情報が格納されているということか…
ということで,macbookのプロファイルフォルダからsearch.json.mozlz4 のみをコピーし,母艦PCのFirefoxのプロファイルフォルダーへ上書き!! (もちろん上書き前にプロファイルフォルダのバックアップ避難はしてあります.)
見事,検索プラグインのデータも引き継げました!!
結論
検索プラグイン情報はプロファイルフォルダの search.json.mozlz4 に格納されている.
0 notes
tanraku-teki · 3 years
Text
生物物理若手の会 夏学(第61回:2021年)3日目&4日目を終えて
生物物理若手の会夏学に参加していた男,Loschです.
さて,夏学がとうとう終わっちゃいました...
自分の知識の整理と,当日の楽しさを忘れないためにも夏学の4日間をブログ記事として残していきたいと思います.
(夏学が終わってからの投稿になるので,3日目と4日目をまとめて記事にします.)
↓ 1日目と2日目の記事はこちら.
夏学1日目の感想
夏学2日目の感想
ただ,私は専門が生物ではないので,専門外の内容には間違いも有り得るかとは思われるので,もし間違いやミスリードを誘いかねない表現など見つけられましたら,記事のコメント欄やDMにてご連絡ください.
さて
3日目の内容は,
市橋 伯一 先生の合成生物学セミナー
冨樫 祐一 先生の計算生物学セミナー
西口 大貴 先生のアクティブマターセミナー
の3本立てでした. (プラス,座談会とオンラインポスター発表会と懇親会.)
一つずつ振り返っていきましょう.
まず,市橋 伯一 先生の合成生物学セミナー.「物質��ら生命へ至る合成生物学」という題目で講演されました. 2日目の古澤先生の講演内容との関連性を強く感じた講演でした. 寄生体との共進化,それに付随して細胞という区画構造が進化に必要というのは確かに考えてみれば当たり前のような気がしますが,改めて気付かされました. 「創ることで生命機能達成の十分条件がわかる」 というのはまさにそのとおりだと感じました.こうしてテクノロジーの発展にまで言及していたことが,非常に興味深く感じました.
次に,冨樫 祐一 先生の計算生物学セミナー.「生化学反応と分子の状態・形・数 ~有限を問う~」という題目で講演されました. 少数性の理論というのが非常に興味深かったです.確かに,$N=1,2$ あたりの極端に少ないモデルか $N \to \infty$ のような��限系のモデルを考えるという事が多いのは確かにそう( $N=1,2$ だとモデルの本質を観察しやすいのはもちろんのこと,一方,$N \to \infty$ とすると寧ろ解析的手法が使いやすくなるのでモデルとして取り扱い安くなる)で,その間の数 $N = 4,5$ とか,大きくても $ N = 100, 1000 $ あたりとかを設定すると変な挙動が現れ,モデル化しづらいのは確かにそうだろうなぁと思いました.そこを少数性理論として確立しようとする心意気に非常にロマンを感じました! 離散・連続という概念を改めて考え直させられました.
3つ目に,西口 大貴 先生のアクティブマターセミナー.「生命現象と生き物っぽい現象とアクティブマター」という題目で講演されました. 流体力学と統計力学の狭間の理論という感じがして,聴いていてとても楽しかったです! 後半のトポロジカル欠陥に関する内容が非常に興味深かったです.人為的にトポロジカル欠陥を配置することで渦秩序がデザイン出来るのはとても驚きました.
3日目の座談会は冨樫先生のいる部屋によく居ました(途中途中で西口先生と市橋先生の部屋を行き来してました). 座談会で,冨樫先生と千葉先生のGather緊急対談が決まって激アツでした!!
そして,懇親会!冨樫先生と千葉先生のGather緊急対談もありつつ,その後も色々な方と話し,最後の方は千葉先生を囲んで何人かで色々な話をしていました!!私の研究内容なども議論できて非常に有意義な時間を過ごせました!!(だけど,そのあと知らない間に寝落ちしちゃってました笑)
最終日!
4日目の内容は,
原賀 学 先生のハラスメント対策講座
上野 隆史 先生と奥野 恭史先生による特別講演 (生物物理×コロナ禍)
の2本(実質3本)立てでした.
一つずつ振り返っていきましょう.
まず,原賀 学 先生のハラスメント対策講座.「よりよい研究環境をつくるために ―自分にできるハラスメント対応を考える―」という題目で講演されました. ハラスメントと聞いて,一方的なイメージしか持っていなかったのですが,性格分析をもとに性格別に対処法を出されていたのが目からウロコでした.
次に,上野 隆史 先生と奥野 恭史先生による特別講演.まずは上野先生の「タンパク質集合体のトランススケール設計」という題目で講演されました.T2ファージを例に,タンパク質の集合体による機能デザイン,機動分子のお話は非常に興味深かったです. 一方,奥野先生は「スーパーコンピュータ「富岳」・AIによるデータ駆動型創薬の可能性 」という題目で講演されました.スパコンによる創薬はここ最近で良く聞くようになりました.実際問題として,人工知能,スパコンによって未知の創薬が割と早い頻度で生成されるのはとても驚きました. 4日間,長いようで短かったBPSS2021が終わりました.今年は例年以上に々な話が聞け,オンラインのメリットを活かしに活かした非常に満足度の高い夏学だったと感じました.
また来年のBPSSが楽しみです!
0 notes
tanraku-teki · 3 years
Text
生物物理若手の会 夏学(第61回:2021年)2日目を終えて
一昨日から夏学に参加している男,Loschです.
さて,夏学も2日目を終えました.
自分の知識の整理と,当日の楽しさを忘れないためにもこの4日間をブログ記事として残していきたいと思います.
ただ,私は専門が生物ではないので,専門外の内容には間違いも有り得るかとは思われるので,もし間違いやミスリードを誘いかねない表現など見つけられましたら,記事のコメント欄やDMにてご連絡ください.
さて
2日目の内容は,
加藤 英明 先生の構造生物学セミナー
千葉 逸人 先生の数学セミナー
古澤 力 先生の普遍生物学セミナー
片山 なつ 先生のスライドデザインセミナー
の4本立てでした. (プラス,座談会と懇親会.)
私的には千葉先生の講演に非常に興味を持っていたので,聴いていてとても勉強になりました.
一つずつ振り返っていきましょう. まず, 加藤 英明 先生の構造生物学セミナー . 「タンパク質を視る・識る・創る  -ロドプシンと光遺伝学-」という題目で,ロドプシンについて講演されておりました. X線結晶構造解析やクライオ電子顕微鏡解析など,タンパク質解析のツールのお話をベースにロドプシンのお話を聞けました.
ロドプシンというタンパク質を存じていなかったのですが,光反応によって機能発現する膜タンパク質ということで興味深かったのと,光制御の可能性にワクワクしながら聴かせていただきました. 驚いたのが,自然環境下かた新規ロドプシンが20万以上も見つかっているんですね! 光遺伝学,激アツ!!
次に, 千葉 逸人 先生の数学セミナー. 「同期現象の数理」という題目で,蔵本予想の証明に用いられた一般化スペクトル理論について解説されていました.
今回の夏学で,私が一番注目していた講演です! 作用素のスペクトル理論は関数解析である程度勉強した筆者ですが,千葉先生が開発された一般化スペクトル理論は知らなかったので,非常に興味がアリました!
空間決定にゲルファントの三つ組が使われているのが意外でした.量子力学の数学的な定式化で聞いたことがあった程度だったのですが,なるほど,蔵本モデルでも応用されるのですね... 講演を聴いていて,蔵本方程式の線形作用素がどういう風にして得られるのかが気になっていたのですが,同期振動子クラスタに対して連続方程式を立ててそこから得られるというのは中々興味深かったです.
3つ目に, 古澤 力 先生の普遍生物学セミナー . 「生きている状態をどのように理解するか ~理論と実験からのアプローチ~ 」という題目で生命というシステムをどう理解できるかというテーマでした. 進化ダイナミクスを見ていく上で,低次元ダイナミクスに拘束されるというのは非常に面白く感じました. あと,自動化された実験の映像は非常にインパクトがありました↓(見ているだけで時間潰せる).
youtube
4つ目に,片山 なつ 先生のスライドデザインセミナー .「研究発表のユニバーサルデザイン -見やすく伝わりやすい発表資料の作り方- 」 という題目で した. 書体や色覚に関する知識とともに,みんなが見やすいデザイン -視覚バリアフリー- の作り方を知ることが出来たのはとても良かったです.
最後に,座談会と懇親会. 座談会の方は,千葉先生のいる部屋に行きました! 蔵本モデルの解構成,空間,作用素がどのようなものになるのかを詳しく知ることが出来たので非常に有意義な時間を過ごせました!
懇親会はGatherというオンラインツールで行われていました! レトロゲーム的雰囲気かつ,自分のアバターの周辺の人とシームレスにビデオが接続され,オンラインながら割と実際に人と会ってるのと同じ感覚を得ました.面白いですね. ただ,この日は異常に眠かったのでGatherに殆ど参加出来ず,そのまま値落ちしてしまいました... 勿体ない...
という感じで2日目は終了. 3日目も楽しみです!
0 notes
tanraku-teki · 3 years
Text
生物物理若手の会 夏学(第61回:2021年)1日目を終えて
最近ブログの更新頻度を高めている男,Loschです.
昨日(2021/09/07)から2021/09/10まで,生物物理若手の会 夏学がオンライン開催されます!
私はこれに参加しております(2019年初参加以来,今回は2回目の参加です).
自分の知識の整理と,当日の楽しさを忘れないためにもこの4日間をブログ記事として残していきたいと思います.
ただ,私は専門が生物ではないので,専門外の内容には間違いも有り得るかとは思われるので,もし間違いやミスリードを誘いかねない表現など見つけられましたら,記事のコメント欄やDMにてご連絡ください.
さて
本日1日目の内容は,
郷 通子 先生によるオープニングトーク
中山 裕木子 先生の英語論文執筆セミナー
懇親会1(後述するが,実質フラッシュトーク会)
の3本立てでした.
どれも非常に興味深い内容で,私的には英語論文執筆セミナーが特に興味深かったです.
一つずつ振り返っていきましょう. まず,郷 通子 先生によるオープニングトーク.
「私の歩んだ生物物理学の道 ~いろいろな出会い~」という題目で,研究内容だけに留まらず,研究を通しての人との出会いや,女性研究者としての生き方についても講演されていました.
講演を聴いていて驚いたのが,郷先生は学部,修士課程,博士課程,PDをすべて別の大学で過ごされていて,そういうのもアリなんだなということを知りました. (私自身,修士課程と学部で大学を異にしていますが,修士課程と博士課程は5年間同じところで過ごすものだと,ぼんやり思い込んでいる節がありました...)
なお,郷先生の研究内容については殆ど理解できておりません... 後半から話されていたイントロンとエクソンの話を,ググりながらで何となく言いたい事の大枠が掴めたくらいです... (もっと勉強します)
次に,中山 裕木子 先生の英語論文執筆セミナー.「伝わる英語論文執筆のための技術英語の基礎と応用」という題目で,特にアブストとタイトルの書き方に絞った,技術的な英語の書き方をレクチャーしていただきました.
コツとして,無生物主語・SVO・能動態を中心に... という聞いたことはあるものの,中々実践できていない内容を豊富な具体例とともに紹介いただきました.
何よりすごかったのが,コメントへの対応の異様な速さ! 殆どのコメントにリアルタイムで応答し,共有画面の英文に反映させていたのは本当に驚きました.
あと,付録として表現集まで頂けて... 正直これだけで夏学に参加した価値あったなと思わされました!
さて,最後に懇親会1...
今年は参加者が非常に多いので,1分で自己紹介するフラッシュスライド企画であっても,2時間超えが想定されていましたが......
本当に2時間以上かかりました
いやまぁ,想像は出来ていたんですけどね... すみません.後半とても眠たかったです.
自分のフラッシュスライドの番も割と後半の方だったので,自分が話す番でも既にちょっと眠かったです... なので,何を言うべきだったかが抜けちゃったので,殆ど言いたい事言えてなかったかも...笑
ただ,スライドに Twitter, Instagram のメンションを載せておいてよかったです.一日でフォロワーが40人近く増えました笑
そんなこんなで,1日目はこんな感じで終了.
2日目も楽しみです...!
0 notes
tanraku-teki · 3 years
Text
WindowsにおけるJulia languageの私的最適環境
みなさんお久しぶりです.Losch でしゅ.(←韻を踏みに行くな)
最近(といっても2ヶ月ほど前...),研究のため(とゲームや動画編集のため...)に PC を自作しました. OS は Linux ディストリビューションでも良かったのですが,やはり汎用性(とゲームを遊ぶため...)を考え,OS は Windows にしました. かれこれ2年弱は Windows から離れ mac を使っていたので,久々に Windows を使ってみると,中々慣れないですね...
慣れ以上に問題なのが,Julia でプログラミングをするためのエディタにどれを選ぶかですね.普段 mac では Sublime text を使っているので,Windows でもそれを導入すれば良いのですが,実は Windows のエディタには Notepad++ という超拡張性の高いエディタがあるのです! (もちろん Sublime text も十分拡張性が高いのですが,Notepad++ にはマクロ登録や,“Autosave” というとても便利なプラグインがあるのです.)
ということで!
今回は Windows での Notepad++ による Julia language (私的)最適環境を記事にしたいと思います. なお,環境構築に際しては「 SDPARA を開発しよう 」さんの “ Julia の Windows 用エディタとしては Notepad++ がベスト ” を参考に致しました.
Julia のシンタックスハイライト
“Autosave” による自動保存
は上記のリンク先(の 1. と 3. )を参照してもらえればと思います.
一方,上記のリンク先の 2. の Julia REPL 起動についてですが,これについては少々違う設定をしております. コマンドプロンプトから Julia を使う分には上記リンク先の通りで良いのですが,私はコマンドプロンプトではなく Windows Terminal を使っているので,私としては出来れば Windows Terminal から Julia を使いたいわけです.
そこで,編集中ファイルのフォルダをカレントディレクトリとして Julia REPLを起動するコマンドとして,
wt -d $(CURRENT_DIRECTORY) julia
を実行コマンドに登録すれば OK ですッ!![1][2][3]
私はこのコマンドを “Alt + R” に登録しています.
ついでに...
私は普段 PC で作業するとき( mac でも Windows でも),仮想デスクトップという機能を使っています.要するに,作業内容ごとにデスクトップを変えたいんですよね.作業効率的にも.
ここで問題になるのが,多重起動に関すること.
というのも,Notepad++ では最初からこの多重起動が設定されていないのですが,このせいで別の仮想デスクトップで Notepad++ を開いていた場合,本来起動したい仮想デスクトップで Notepad++ を開こうとする際に,別の仮想デスクトップで開かれるのでちょっとイライラしちゃうわけです......
そこで, Notepad++ に多重起動を設定したいと思います. 具体的には
Notepad++を多重起動する方法はないでしょうか? -Yahoo! 知恵袋
を参考にしました.
しかし,この方法だとショートカットに対して多重起動を設定しているだけなのでちょっと気持ち悪さが残ります...
そこでレジストリの App Paths に exeファイルを多重起動するように登録しました.(参考:EXEファイルのエイリアスを登録する -ITmedia エンタープライズ)
具体的には,レジストリエディタを起動し,以下のキーを参照します.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \Windows\CurrentVersion\App Paths\notepad++.exe
これの[既定]と書かれているキーをダブルクリックします. 「値のデータ」のところに既に Notepad++.exe のフルパスが登録されていると思われるので,このフルパスの末尾に,
 -multiInst
を付記すれば OK です.(ハイフンの手前には半角スペースを入れること.) 例えば,私のPCだと
C:\Program Files (x86)\Notepad++\notepad++.exe -multiInst
のように入力されています.
これで,仮想デスクトップ環境下でもイライラせずに済みました!
あとはこれで Windows で Julia を思いきり楽しむだけです!! 皆さまのよりよき Julia ライフを願って☆彡
備考
[1] Windows Terminal について軽く触れておくと...
wt -d (ディレクトリパス)
のコマンドは (ディレクトリパス) の部分のディレクトリをターゲットにします.(参考:ディレクトリをターゲットにする -Windows ターミナルにコマンド ライン引数を使用する)
[2] コマンドライン引数について Notepad++ は,Notepad++ から外部ファイルを実行することが可能なのですが, 外部ファイルを実行するときの引数として コマンドライン引数 というものがあります.
$(CURRENT_DIRECTORY) 
は Notepad++ で開いているファイルのディレクトリを指定する引数になります.(参考:コマンドライン引数 (Command line argument) -コマンド (外部ファイルの実行))
[3] 実行コマンドの
julia
の部分ですが,これは Julia の環境変数になります. いつぞやのバージョンからか Julia をインストールした時点で環境PATHが自動で登録されるようになっている(!?)のですが,もし 環境PATH が設定されていないなら,「Julia 環境変数」とかで検索してみてください... mac での設定に関しては,私の方で記事にしているので是非見てみてください→ macの環境変数PATHの設定
0 notes
tanraku-teki · 3 years
Text
スレッドお化け坊やのクリアスマホケースを買いました
皆さま,お久しぶりです,Loschです.
前回の記事:
スレッドお化け坊やのクリアスマホケースが欲しい話
にて,余裕が出来たら買いたいと思いますと言っていたのですが,今回やっと購入しました!
(そのときのツイート↓)
届いてた!! スレッドお化け坊やのケース可愛いすぎる!!!❤️ pic.twitter.com/nsJK3VUkdP
— ロシュミット数 (@B17T1071Z)
August 25, 2021
実はこれサブ機のiPhone8に装着した写真でして... 普段メインで使っているiPhone SEに装着した写真がこちら...!
Tumblr media
iPhone8とiPhone SEは中のプロセッサが違うだけで,外装の形状が全く一緒なのでiPhoneケースが使い回せるのですが... なんと,Appleマークが真ん中に移動しているのです!! しかも,その位置がスレッドお化け坊やの位置と一致!!!(←韻を踏むな)
通常のiPhoneよりも一層オシャレになった気がするので大満足です.
0 notes
tanraku-teki · 3 years
Text
久々の投稿 -時間を売る側ではなく買う側に回りたい話-
お久しぶりです。Loschです。
今回は久々の更新ですが、ふと思ったことを綴りたいと思います。
ある日のこと、家路に着くと郵便受けにいつものように他愛もなく様々なチラシが入っていました。
その中でも��ポスティングバイトのチラシに目が移る—。
"スキマ時間を有効活用! 時給1000円〜!"
なるほど。確かに空いた時間で軽い仕事をして時給1000円も得られるのは、魅力的に映る。
特に私は最近まで田舎の大学に居たもので、学生であっても時給が平均800円台だったことから、尚のこと魅力的には映る。
しかし、いま思えば、自分の人生の貴重な時間(特に学生なら色々な体験が出来るであろう時間)をスキマ時間の活用などと言って無闇に消費して良いのだろうか?
きっと大学1年時や2年時の私なら即座にアルバイトの時間に費やしていただろう。
(これは私が常に金欠だったこともあるが....)
時給1000円と人生のひと時の価値を天秤にかけたと考えたとき、いまの私なら、寧ろ1000円で1時間を買いたいところである。
.....と考えてしまうくらいに、いまの私に時間が足りていない(有効活用できていない可能性ももちろんある)という事と、"Time is money" という諺の意味合いを朧気ながらも認識できるまでには成長したんだとふと感じた日であった。
2021/05/20
東京の電車に揺られながら—。
0 notes
tanraku-teki · 3 years
Text
読了:黒川信重 著 「絶対数学の世界」
黒川信重 著 「絶対数学の世界」を読了したのでその感想を綴っていく.
Tumblr media
絶対数学の世界  ―リーマン予想・ラングランズ予想・佐藤予想― Amazon.co.jp
まず目次は,
・プロローグ:数学の山1
・第Ⅰ部:絶対数学という希望  - 数学の究極単純理論  - 未知なる絶対数学の発見  - 海辺の数学者  - 素数の演劇空間  - 絶対ガロア理論
・第Ⅱ部:美しき数学者たちの夢  - 高木貞治とクロネッカー青春の夢  - 谷山豊の未解決問題  - 佐藤幹夫の予想  - ラングランズの山・第Ⅲ部:リーマン予想への挑戦  - リーマン予想の風景  - BSD予想と深リーマン予想
・エピローグ:数学の山2
・あとがき
という構成になっている.
第Ⅰ部で“絶対数学”および,その周辺の理論を簡潔に説明しつつ,Riemann予想の概略について述べている. 第Ⅱ部では,Riemann予想および,Langlands予想の解決に尽力してきた偉大な数学者たち:高木貞治,谷山豊,佐藤幹夫について業績を振り返りつつ,Langlands予想が如何にして産まれ,何故未だにLanglands予想が解決されないかを説いている. 第Ⅲ部では,いよいよRiemann予想とその研究史の説明がなされ,今後の展望が記されている.また,BSD予想と深Riemann予想(Riemann予想をさらに深めたもの)の関係も説いている.
さて,本書は全体的に比喩・引用が多く(例えば,昆虫学者として有名なH.Fabreについての比喩・引用が多々ある),私自身は数論が専門ではないものの非常に面白く読めた. 黒川先生の研究テーマ:絶対数学を軸にRiemann予想,Langlands予想を簡潔に説明し,特にどういった点における証明が難しいのかを谷山予想や佐藤予想へ繋がる流れから明快に説明している.
ここで,絶対数学とは,一元体F1上の代数を指す. 一元体とは,単位元:1を持つ乗法群Gに、零元0を加えたモノイドのことのようである(pp.33-34:単圏(モノイド)の探検 参照).
従来の数論では,環(特に整数環Z上の代数)をRiemann予想を証明しようとする上での出発点としていたそうだが,より自由度を上げるためにも絶対数学:一元体F1上の代数で推し進めているようである.
Langlands予想の“こころ”として,Langlands予想が物理学における統一場理論と同様に,保型ゼータ函数, Hasse–WeilのL-函数,ArtinのL-函数,Selbergのゼータ函数を統一するべく打ち立てられた予想であるという説明は,数論を知らない者からも非常にわかりやすく,またその難解さを明快に示していると感じる.
黒川先生は書籍内で何度か,Langlands予想を山の登頂に見立てた比喩を用いているが,この比喩により数学者の幾度とない挑戦の“屍”の上に今日までLanglands予想のその揺るぎない難解さが聳え立っているのだと,感じさせられた.
私は代数学もまともに勉強できていないので,数論分野ましてや,Riemann予想,Langlands予想に触れることなど一生無いのだろうが,この本に触れたことでRiemann予想,Langlands予想の難解さを少しでも知ることが出来たと思うと非常に感慨深い.
0 notes
tanraku-teki · 4 years
Text
macの環境変数PATHの設定
最近,PCをsurface 4からmacbook airに買い替えた.
普段,プログラミングにはJuliaを用いているので,macにもインストールしPATHも通してやろうと思ったのだが,緊急事態発生.
$ echo "export PATH=/Applications/Julia-1.5.app/Contents/Resources/julia/bin:$PATH" >> ~/.bashrc
上記コマンドをターミナルに何度入力しても,PATHが通ってくれないのだ.
一時間もかかってしまったが,やっと原因判明.
よく考えれば,私のmacのターミナルのシェルはbashでなく,zshなのだ...... (盲点)
結局, PATHを通すために入力すべきは,
$ echo "export PATH=/Applications/Julia-1.5.app/Contents/Resources/julia/bin:$PATH" >> ~/.zshrc $ source ~/.zshrc
であったのだ.これにて,やっとPATHが通った(めでたしめでたし)
参考文献; Juliaの環境構築(macOS, ubuntu),PrismaCode https://taroosg.io/get-started-julia
0 notes
tanraku-teki · 4 years
Text
なるほど.....
Lp収束性の問題の足掛かりになったかも
L2ノルムが決まっているd次元ベクトルvについて、L1ノルムを最大化するには
【補足】
L2ノルムとは簡単にいえば「普通の平面や空間中の距離」(ユークリッド距離。中学校で出てくる、三平方の定理を使って算出される距離)を一般のベクトルについて定義したものである。v = (v1, v2, …, vd) のとき、√(v12 + v22 + … + vd2) で計算するのがL2ノルムである。
L1ノルムとは、「マンハッタン距離」(移動が東西南北にしかできないと考えたときの最小移動経路。詳しくはぐぐって)を一般のベクトルについて定義したものである。v = (v1, v2, …, vd) のとき、|v1| + |v2| + … + |vd| で計算するのがL1ノルムである。
【問題設定】
d次元空間においてL2ノルムがα (α>0) であるようなベクトルのうち、L1ノルムが最大になるのはどのようなときか。
例えば、「2次元空間においてL2ノルムがαであるようなベクトルのうち、L1ノルムが最大のものは?」というのは、図を描けば直感的にわかるだろう(図はα=2)。
つまり、原点から45度(135度、225度、315度でも同じ)に行く、すなわちベクトルとして(±α/√2, ±α/√2)を選べばよく、そのときのL1ノルムは α×√2 となる。
これは一般化すれば、d次元空間においてL2ノルムがαであるようなベクトルのうち、L1ノルムが最大のものは、おそらく (±α/√d, ±α/√d, …, ±α/√d)(そのときのL1ノルムは α・√d)になるのだろうけど、その証明がすぐに思いつかなかったのである。
【解き方の方針】
ふと「ラグランジュの未定乗数法」を使えば解けるとわかったので、それで解いた。 ラグランジュの未定乗数法とは簡単にいえば、条件付きの多変数の最大化/最小化を行うときに用いられる計算である。
ベクトルvを引数に取り実数一つを返す関数 f(v) は、vに制限がなければ、vが以下の条件を満たすときに極大あるいは極小になる。
∂f(v)/∂v1 = 0, ∂f(v)/∂v2 = 0, …, ∂f(v)/∂vd = 0
一方でラグランジュの未定乗数法では、vに制限を加えて「f(v)が、g(v)=0という条件を満たす中で極大/極小になる」というものを考える。その条件は、F(v) = f(v) - λg(v) とおいたとき、vが以下の条件を満たすときに極大あるいは極小になるというものである。
g(v)=0, ∂F(v)/∂v1 = 0, ∂F(v)/∂v2 = 0, …, ∂F(v)/∂vd = 0
【答え】
結論から言うと、上記の予想「L1ノルムを最大にするベクトルvは v = (±α/√d, ±α/√d, …, ±α/√d) で、そのときのL1ノルムは α・√d」は正しい。
上記のラグランジュの未定乗数法における条件において、
f(v) = |v1| + |v2| + … + |vd|
g(v) = v12 + v22 + … + vd2 - α2
とする。g(v)については「L2ノルムがαである」ことを表現する代わりに、「L2ノルムの2乗がα2である」としている(平方根を含んだままでは計算しにくいため)。
これを踏まえて ∂F(v)/∂vi (i ∈ {1, 2, …, d}) を計算すると
vi > 0 のとき、∂F(v)/∂vi = 1 - 2λ・vi
vi < 0 のとき、∂F(v)/∂vi = -1 - 2λ・vi
vi = 0 のとき、微分不能(別途検討する→補足2)
となるので、vi = 0 の場合を除くと、∂F(v)/∂vi = 0 ⇒ |vi| = 1/2λ が極値となる条件となることがわかる。これを g(v) = 0 に当てはめると、(1/2λ)2 + (1/2λ)2 + … + (1/2λ)2 - α2 = 0 より d/(4λ2) = α2, つまり 1/2λ = α/√d となる。すなわち、|vi| = α/√d がL1ノルムを最大にする条件であり、そのときのL1ノルムは α・√d である。(終) (本当はこれは極値でしかなく、極大/極小の判定や最大であることの証明も必要である→補足1)
(補足1)
極大/極小の判定には本来であれば、∂2 F(v)/∂vi∂vj をすべてのi, jの組み合わせに対して行わないとならない。しかしこの場合は不要であって、単に ∂2 F(v)/∂vi∂vi が計算できればよい。なぜなら式の形より、i≠j のとき ∂2 F(v)/∂vi∂vj は明らかに0になるからである。
さてこれを計算すると、vi≠0のとき、∂2 F(v)/∂vi∂vi = -2λ となる。先述の計算で「|vi| = 1/2λ」という条件があったの��、-2λは負の数である。∂2 F(v)/∂vi∂vi がすべての i について同一の負の数であって、かつ i≠j のとき ∂2 F(v)/∂vi∂v = 0 のときは、その点vではF(v)は極大値となることが知られている。(より詳しくは「ヘッセ行列」というものを利用して定式化できる。多変数関数の極値判定とヘッセ行列 | 高校数学の美しい物語)
極大値がこれらの点しかなく、かつf(v)の値は有界なので、これらは最大値である。
(補足2)
もし vi = 0 となるような i が存在する(すなわち、ベクトルの要素の少なくとも一つが0である)ときにL1ノルムが最大になりえないことを確かめ、証明を完了する。
vi = 0となる i がk個存在するとする(0 < k < d)。このとき、残る d - k 個の数について、「d-k 次元ベクトルのL2ノルムが α であるという条件のもとで、L1ノルムを最大化する」ことを考えると、そのときのL1ノルムは α・√(d-k) となる。よってこちらのほうがα・√dよりも小さいので、vi = 0 となるような i が存在するときにL1ノルムは最大にはなりえない。
(循環論法にも見えるが、dが小さい側から順番に証明して数学的帰納法を使っていると考えればよい。d=2のときはk=1しかないので直接計算すればよい。)
2 notes · View notes
tanraku-teki · 4 years
Text
youtube
意外とタメになったかも
0 notes