8月にフィンランドでエクストリーム・サウナを体験しました.
2019年以来5年ぶりの北京出張.手続きや現地の様子など以前と大きく変わっていたこともあったので,その備忘録です.
関数を定義する際,キーワード引数を利用すると便利なことがあります.例えば反復法の終了条件として閾値(例えば最大反復回数や許容誤差)を設定することはよくありますが,デフォルトの値を設定しつつも,関数を呼び出すときに自由に変更できると便利です.キーワード引数は,引数の指定を位置ではなく名前でおこないます.以下,Jiliaにおけるキーワード引数の基本的な使い方を説明します.
科学技術計算では行列ベクトル積が頻繁に登場し,これを効率よく計算することはとても重要です. 行列サイズ $n$ に対して計算量は $\mathrm{O}(n^2)$ ですが,行列は疎行列(ほとんどの要素が $0$)であることが多く,定義通りに計算すると $0$ を掛けたり足したりする無駄な演算が多く発生してしまいます. 以下では疎行列とベクトルの積の計算について解説します. (もっとも,Juliaで行列ベクトル積 $A\boldsymbol{b}$ を計算するには A*b と書けばよく,これは $A$ が疎行列の場合でも同様なので,疎行列のパッケージがあることさえ知っていれば実用上は十分なことが多いのですが,とはいえ,チューニングを行ったり,上三角部分など行列の一部とベクトルの積を計算したりしたいときには,疎行列とベクトルの積がどのように計算されているか理解しておくことが重要です.)
A*b
Matlabで図を描いたとき,通常,図の背景は白です.論文を書くときなどはこれで困らないのですが,スライドに貼り付けると,背景が「真っ白」ではない場合,少し微妙な出来栄えになってしまいます.
Matlabなどで図を描き,PDFで保存すると,想定外に余白が大きすぎることがあり,TeXで貼り付けるときに少々困ります.そんなときは,ターミナルから
pdfcrop test.pdf
とすれば余白は最小化されます.なお,TeXをTeX Liveでインストールしていればpdfcropは標準でインストールされているはずです.
JuliaでLU分解を利用して連立一次方程式を数値計算するとき,枢軸選択 (pivoting) に注意する必要があります.みるべき情報はここですが,備忘録も兼ねてまとめておきます.
2019年頃から個人のウェブページをMkDocsで作ってきましたが,Hugoを使ってリニューアルしました.MkDocsも十分使い勝手がよく,おそらくこれからも講義用のページはMkDocsで構成していく予定ですが,備忘録(メモ)をブログ形式で残したいと思い(日付を残したいのと,タグ付け機能を使いたいのが主な動機です),HugoのAcademicテーマを利用することにしました.