Cloud Build で呼び出した Python 内から subprocess でも仮想環境を使う

解決したい問題 from subprocess import run run(["python", "-m", "hoge.fuga"]) # hoge/fuga.py import numpy as np を Cloud Build上で実行しようとすると ModuleNotFoundError: No module named 'numpy' などと言われてしまう 解決方法 こうする import …

ゆっくり仕事をするインセンティブ

はじめに 早々に仕事を終わらせられるような能力があったとしても、合理的な判断をした結果、あえてゆっくり仕事をすることがあります。ここでは、労働者の立場になってみて、仕事をゆっくり行うかどうかの判断基準を検討してみましょう。 仕事を遅く行うメ…

airflow で CPU が100パーセントに張り付いてしまうときに見直したい設定

結論 Apache Airflow の起動時に CPU が 100% に張り付いてしまう際には、 AIRFLOW__CORE__MIN_SERIALIZED_DAG_UPDATE_INTERVAL などの設定値を変更することで改善される可能性があります: AIRFLOW__CORE__MIN_SERIALIZED_DAG_UPDATE_INTERVAL=600 AIRFLOW_…

AHC027(マラソンマッチ)の参加者の使用言語の分布を調べてみた

競技プログラミングコンテストサイトである AtCoder のマラソン部門のコンテストが開催されていました atcoder.jp 本記事では、コンテスト参加者の使用しているプログラミング言語はどういうものがあるのかを順位から調査してみました。 本記事は、前回の調…

よく使うコマンドをまとめる(自分用メモ)

Linux(shellコマンド) ファイル検索 dir/ 配下の.py または .ipynb ファイルで hogehoge を含むものを検索したい grep -r --include='*.py' --include='*.ipynb' "hogehoge" dir/ dir/ 配下の特定の文字列を含むファイルを一括で置換したい 例えば、 calende…

離散カントロビッチ問題のエントロピー正則化とその双対問題

離散カントロビッチ問題とは? 次のような問題を考えます 商品を 個の工場から, 個のお店に輸送することを考えます. 商品の輸送に掛かる労力が「重量」と「始点と終点の距離」の積で決まっているとき, トータルの労力が最小になるような運び方はどんなもので…

Python で mod. p での二項係数 (nCk mod. p) の求め方

過去記事, Python で mod の下での逆元を計算するテーブルを作成する - わかばめにっき では, modの下での階乗の逆元を求めました. 本記事では, 以下の記事を参考にして二項係数 を前処理 , 実行 で行うアルゴリズムを紹介します. drken1215.hatenablog.com

AHC001(マラソンマッチ)の参加者の使用言語の分布を調べてみた

競技プログラミングコンテストサイトである AtCoder のマラソン部門のコンテストに参加してみました: atcoder.jp 本記事では、コンテスト参加者の使用しているプログラミング言語はどういうものがあるのかを順位から調査してみました。

ABC192 D - Base n を Python で解いてみる

問題概要 atcoder.jp 数字列 を 進法表記と見なしたとき, 以下になるような値が何種類あるか求めよ. ただし, は に含まれる数字より大きいものとする. 考えたこと 入力例 1 22 10 22 を 3 進数と見なすと, 22 を 4 進数と見なすと, 22 を 5 進数と見なすと, …

SIRモデル方程式を数値的に解いて、gifで表示させてみる

伝染病の拡大過程を記述するSIRモデル の初期値問題を Python で解き, 得られた解をgifにします. PCとインターネットがあればどなたでも, 以下のノートブックを逐次実行することでgifファイルを生成することができます. colab.research.google.com

水素原子の基底状態解は原点での値を用いずに特徴付けられる

3次元空間における水素原子ハミルトニアンに対する固有値問題*1 \begin{equation} -\dfrac{1}{2}\Delta \psi - \dfrac{1}{|x|} \psi = E \psi,\quad x \in \mathbb{R}^3 \end{equation} について, 1s軌道に対応する基底状態解を考察します. よく知られている…

変分法の直接法で、ラプラシアンの第一固有関数と第一固有値を手に入れる

この記事では, 滑らかな有界領域 に対して Dirichlet Laplacian の第一固有関数 と第一固有値 を変分的な手法で得ます. すなわち, 次の Dirichlet 条件付き楕円型偏微分方程式を満たす固有値 と固有関数 を求める問題を考えましょう. \begin{equation} \begi…

最適輸送「モンジュの問題」と「カントロビッチの問題」

最適輸送問題とは? ある砂山の形 を別の砂山の形 に移すことを考える. 砂山の移動に掛かる労力が「質量」と「始点と終点の位置」で決まっているとき, トータルの労力が最小になるような移し方はどんなものだろうか? 数学的に定式化すると 砂がありえる場所…

無限次元ヒルベルト空間の有界点列は収束部分列を持たないが、弱収束部分列なら持つ

この記事では, 無限次元ヒルベルト空間 について, 有界な点列であっても収束するような部分列がない場合があること 弱収束を考えれば収束するような部分列があること を述べていきます.

AGC044 の A 問題「Pay to Win」を Python で解いてみる

再帰を書くのが苦手です. 問題はこちら: atcoder.jp 問題概要 次の選択肢を繰り返すことで初期値 を にするための最小コストを求めよ. コスト を払うことで, 数値を 倍する コスト を払うことで, 数値を 倍する コスト を払うことで, 数値を 倍する コスト …

L^2 で弱収束するが強収束しない関数列の3パターン

関数列が弱収束するのに強収束しない場合は, この記事で述べるような3パターンの例があります*1. この記事では, 2乗可積分なルベーグ空間 を対象とし*2, に弱収束する関数の列 の例*3を考えていきます. 例1. めっちゃ振動する における関数列 を, \begin{eq…

ABC 162 A - Lucky 7 を Python で解いてみる

問題概要 atcoder.jp3桁の数字が与えられたとき, 一度でも 7 があったら "Yes" を, そうでないなら "No" を出力せよ. 考えたこと 100 の位の数字が 7 である 10 の位の数字が 7 である 1 の位の数字が 7 である の3つの条件のいずれかが成り立てば"Yes"を出…

一般化パレート分布の平均と分散をレベルセットを使って計算する

積分の計算をレベルセットの積分に変形する公式として, Layer Cake Representation が知られている. Layer Cake Representation 定理 1. (Layer Cake Representation) を非負実数直線 上のBorel 集合族の上の測度とし, 単調増大関数 \begin{equation}\label{…

「割った余り」での割り算は、既約分数にしなくても答えは変わらない

この記事では, を素数とし, の下での割り算について述べます. 整数 に対する の下での割り算 では, 分数 が既約分数になっていなくても計算結果は変わりません. そのことを述べていきます. 復習 wakabame.hatenablog.com でも触れましたが, まずは逆元とは何…

Python で mod の下での逆元を計算するテーブルを作成する

wakabame.hatenablog.com では, の素数 で割った余りを求める方法について解説しました. 実は, この計算アルゴリズムは高速化できます.

プログラミングコンテストにおける C++ での標準入出力のまとめ

入力 1行に1要素の場合 数字(自然数) #include <bits/stdc++.h> using namespace std; int main() { int a; cin >> a; } 入力が小数、文字列の場合は, int の部分をそれぞれ double, string にすればよい 1行にスペース区切りで複数要素の場合 2つの数字を別の変数 N, M </bits/stdc++.h>…

みんなのプロコン2019 D-Ears をPython で解いてみる

問題文が迷わせに来ていますね. 全ての要素は非負ですので, りんごさんの要望を , すぬけさんの石の置き方を としたときのコスト \begin{equation} \sum_{i=1}^L |A_i-B_i| \end{equation} を最小化すればいいことがわかります. すぬけさんの動き方はりんご…

AtCoder の DPまとめコンテストを python で解いてみる(F問題まで)

この記事は書きかけです. 動的計画法(DP)について, AtCoder でコンテストが開かれました. atcoder.jp Python で解けたものから, 自分なりに解説をつけていきたいと思います. A - Frog 1 atcoder.jp 考えること 足場 , にたどり着くまでの最小コストを考えま…

【ベイズ推論】ディリクレ分布の規格化定数の導出について

カテゴリ分布のベイズ推論をしたい! を与えられた自然数とし, 母数 , , ()となるカテゴリ分布を考えます. すなわちどれか 成分ののみが , それ以外が となるような 次元値の確率変数 に対するカテゴリ分布 \begin{equation} \mathrm{Cat}(S|\pi) = \prod_{k…

博士課程の失敗体験談

はじめに あまり格好のよいことではないのだけど、内省のために書いた文章がそこそこの分量に達したし、誰かにとって有益になるかもしれないと思ったので自分語りをしてみます。軽い話ではないので、そういうのが好みではない人は読み飛ばしてください。 元…

【ベイズ推論】多次元ガウス分布の平均・分散についてのベイズ推論

前回記事では行列ガンマ分布とその規格化定数の計算方法を紹介しました. wakabame.hatenablog.com今回はその応用として, 多次元のガンマ分布を観測モデルとするベイズ推論を行いましょう. ウィシャート分布を行列ガンマ分布を用いて定義しよう 次の行列ガン…

行列ガンマ分布の規格化定数の計算方法について

多次元ガウス分布の精度行列のベイズ推論を行う際にあらわれる行列ガンマ分布: \begin{align*} \textrm{MGam}(\Lambda|a,B) &= C(a,B) |\Lambda|^{a-1}\exp\{-\langle B, \Lambda\rangle\} \end{align*} の規格化定数 \begin{align*} C(a,B)^{-1} &= \int_{…

【ベイズ推論】一次元ガウス分布の平均・分散についてのベイズ推論の意味

前回記事では, 一次元ガウス分布を観測モデルに持つようなベイズ推論を行うために, 事前分布はパラメータ により, \begin{align*} p(\lambda|v ) &= z(v)\exp\left\{v_1\ln{\lambda} -v_2\lambda +v_3\lambda\mu -\dfrac{v_4}{2}\lambda\mu^2 \right\},\\ z(…

【ベイズ推論】一次元ガウス分布の平均・分散についてのベイズ推論の公式

正規分布についてのベイズ推論を考えましょう. 母数が つになることに気をつけましょう. 平均 , 精度 がともに未知の一次元ガウス分布を考えます. \begin{equation} N(x|\mu,\lambda^{-1}) = \sqrt{\dfrac{1}{2\pi}}\exp\left\{ \dfrac12\ln{\lambda} -\dfra…

【ベイズ推論】指数型分布族を用いた共役事前分布の導出と予測分布の公式について

ベイズ推論をします. パラメータ をもつような確率変数 に対する独立同分布な族 を考えます. 事後分布を書く際にはハイパーパラメータ をしばしば省略します. すなわち とかきましょう. 指数型分布族と共役事前分布について 指数型分布族の定義 実数値確率変…