動物標本の3Dモデルを見るメモ 動物標本の3Dモデルを見られるサービスを見つけたのでメモ。 動物標本の3Dモデルを見るメモ CT図鑑 MorphoSource iDigBio 参考リンク
動物標本の3Dモデルを見るメモ 動物標本の3Dモデルを見られるサービスを見つけたのでメモ。 動物標本の3Dモデルを見るメモ CT図鑑 MorphoSource iDigBio 参考リンク
Bing Chatとペアプロできる時代がきた 世間はChat-GPT4で持ち切りですが、Bing Chatでもいい感じのコードを生成してくれるぞという成功例メモ。 今のBingChatは最大15ターン150回まで利用できるようになった。 個人的には、 無料 APIキー必要なし モバイル利用OKは かなりのメリットだと思っている。 今回は、doctestを使ったときにmodule単位でなく、 doctest.run_docstring_examples()あたりを使ってクラス単位でテストして、(失敗数, try数)である集計結果を得る方法はないのか聞いてみた。 (なぜかdoctest.run_d…
Pythonで循環リスト(circular list; 初期位置リセット可)を作る
Pythonで循環リスト(circular list; 初期位置リセット可)を作る いい感じの循環リストがなさそうなので作ってみようというメモ Pythonで循環リスト(circular list; 初期位置リセット可)を作る 環境・事前準備 循環リストとは よくあるやり方 iterableとiteratorの違い CircularList Classを自作する メモ代わりの解説 Deque継承版 参考リンク 環境・事前準備 Windows10 64bit WSL2 Docker Desktop 4.17.0 (99724) jupyter python 3.10
Mesonの使い方メモ Mesonの情報無さすぎるということでメモ。 触ってみた所感としてcmakeより楽なんだろうけど、どのbuitinオプションがどの引数を制御してるかなどがわかりにくい.. (ver0.61なので今後変わりそうですが) The Meson Build system mesonではビルド方法を2種類に分けている native build: build machineとhost/target machineが同じ cross build: build machineとhost/target machineが別 今回はnative buildを中心にまとめる。 Mesonの使い…
はてなブログでmermaidの図を描く Githubでもサポートされたmermaidをはてなブログでも描けないか試したところ多少なんとかなったのでメモ。 ```mermaid graph TB H["Hatenaで"] M["mermaid"] H-->M ``` 👇上のmarkdownコードがこうなる graph TB H["Hatenaで"] M["mermaid"] H-->M はてなブログでmermaidの図を描く mermaidって何? サポートしてる図 記事に埋め込むコード 注意点 Example 参考リンク mermaid.initialize({startOnLoad: tru…
emscriptenでよくみるoption-flagをまとめる
emscriptenでよくみるoption-flagをまとめる emcc --helpしても出てこないオプション(e.g. clang由来のものとか)もあってよくわからんとなったのでメモ。 emscriptenでよくみるoption-flagをまとめる 環境・事前準備 困ったときのコマンド emscriptenのコンパイラとリンカ コンパイラ用オプションとリンカ用オプション コンパイラ用オプション リンカ用オプション 参考リンク 環境・事前準備 今回はDocker上にemscriptenをインストールした状況を想定してる。 Windows10 64bit WSL2 DockerDesktop …
DockerでExited(139)が出たときの対処 doker runしたときにコンテナが立ち上がらずExited(139)で終了してしまうときの対処メモ。 この終了コードはDocker Desktop上でも確認できる。 Exited(139) DockerでExited(139)が出たときの対処 環境・事前準備 対処方法 原因 参考リンク 環境・事前準備 Windows10 64bit WSL2 DockerDesktop 4.5.1 (74721)
Docker+VSCodeのRust環境を作る RustがCとPythonの間(C寄り)の中級型言語でCより書きやすく速度はCと大差ないらしいということで、触りたくなったのでWindowsでの環境構築を調べたメモ。 GUIアプリを作るようなケースでなければ以下の方法で問題ないはず。 .devcontainerを使わない方法(1ファイルのみのコンパイル・実行なら可能) .devcontainerを使う方法(ワークスペース・パッケージ単位のビルド、1パッケージのデバッグ、補完やらが可能。基本的にはこっち) Docker+VSCodeのRust環境を作る 環境・事前準備 Rustはどんな言語か .d…
Jupyter上にGraphvizの図をSVGで描画する Jupyter上にGraphviz(.dot)の図をSVGで描画することに成功したのでメモとして残す。(※拡張機能としてはまだ作れていない) Viz.jsのおかげでJavaのインストールすら不要になった..! dotファイルのコードを書いてあげればこうなる👇 jupyter上にGraphvizの図を描画 gist上では表示されないがnbviewerを通せば図も表示される。 https://nbviewer.org/gist/Cartman0/5a7cfadc2f367869f2df506577ace525 また、IPythonのカーネル…
畳み込み積分は結局何を計算してるのかメモ 畳み込み積分をフーリエかラプラス変換で周波数領域にすると積の形にできて便利だよねくらい雑に理解してたので、 時間領域でどんな計算してるのかメモとして残す。 この記事で出てくる式や図はgistにまとめている。 convolution_integral.ipynb · GitHub 畳み込み積分は結局何を計算してるのかメモ なぜ畳み込み積分なんてするのか なぜ反転する? 上図の領域を積分すると... 一般化して図示すると 参考リンク MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\('…
はてなブログのコードブロックのcssスタイルを変更する はてなブログのコードブロックのスタイル変更時のメモ。 色などのスタイル変更 言語名の追加 を中心にまとめる。 はてなブログの場合、意外に行数表示はCSSだけではタグ構造上無理でJSが必要になりそうなので gistやcodepenみたいなサービスの埋め込み使うのもありかも。 はてなブログのコードブロックのcssスタイルを変更する はてなブログにおけるコードブロックのセレクタ Qiitaっぽいデザインにしてみる 言語名の追加 行数表示 参考リンク
伊勢田哲治「哲学的思考トレーニング」の感想とメモ 伊勢田哲治先生の「哲学的思考トレーニング」(2005)を読んだので感想とメモを残す。 哲学的思考(クリティカルシンキング)とはなんぞやからどうやるのか (哲学的)議論(主張)の扱い方、さらに価値主張の扱い方 懐疑主義の大切さとどのくらい緩めるのかの文脈主義 反証可能性の大切さ 科学と疑似科学の違いの入り口 みんなで考える場合のクリティカルシンキング などが分かる本で、 文系学生に限らずみな読んでおいたほうがいい本である. 哲学思考トレーニング (ちくま新書)作者:伊勢田哲治筑摩書房Amazon 伊勢田哲治「哲学的思考トレーニング」の感想とメモ …
ドット絵で30度の斜線を引くには ドット絵で中途半端な角度の斜線を引くための計算メモ. 数学的に考えると,極座標系のグリッド化問題になる? 結論からいくと, 単純に30度を引くには,「2,2,1,...」の周期並びで問題ない. arctan 3/5 ≒ 31度になる.+1度の誤差が発生するが,ジャギ消し分含めるとあまり問題ないはず 画像サイズが大きくもっと精度良くしたい場合には,『「2,1,...」の周期並べx4,「2,2,...」の均等並べx13, 「2,1,...」の周期並べx4』の周期並べが良さげ. arctan 58/100 ≒ 30.1度で+0.1度まで誤差を抑えられる.でもジャギ消…
BlenderでMMDのpmxファイルを読み込む BlenderでMMDのpmxファイルを読み込むには,アドオンの導入が必要なのでその辺のメモ. BlenderでMMDのpmxファイルを読み込む 環境 最新版MMDの導入 Blenderのためのpmxファイル読み込み用アドオンmmd_toolsの導入 Blenderのアドオンの設定 pmxファイルを開く 参考リンク 環境 Windows10 64bit Blender 2.19
プチブロックで学ぶプーリー・ベルト機構 ダイソー100均のプチブロックの車輪パーツを見てたらプリー・ベルト機構を作れそうだなということで作ってみたメモ. とりあえず車輪4つとベルト用の輪ゴムあれば,以下のような簡易なものは作れる. ただし,駆動輪側は手動なので教育用な感じ. プーリー・ベルト機構 プチブロックで学ぶプーリー・ベルト機構 プーリー・ベルト機構とは 必要なもの シンプルなプーリー・ベルト機構を作る 従動輪を逆回転させる プーリーの大きさを変えてみる 感想・メモ 参考リンク
2010-2020年くらいのプラモ界隈の流れをざっくりまとめたい
2010-2020年くらいのプラモ界隈の流れをざっくりまとめたい 最近,自分の中の小学生男子心が疼きプラモ熱が高まり,調べてみたところ昔比べてかなり結構進化してるなと思ったのでいろいろまとめたい. 今のプラモ界隈の流れとしてポイントは6つ+αほどある. 骨組みフレーム+外付けアーマー形式により可動箇所が増えた フィギュアスケールプラモ(美少女フィギュア形含む)が普及して当たり前になった 共通規格(3mm軸ジョイント,キットブロック系)ができはじめてきた 価格安めが増えてきた(特にバンダイ) 低年齢狙いの商品が増えてきた 環境問題対策(特にバンダイ) (+α)100円ショップで便利な道具が安く手…
pythonのビット演算周りのメモ 負数の取り扱いとビットの反転がわかりにくいのでメモ pythonのビット演算周りのメモ 環境 pythonでの2進数,16進数 pythonでの負数ビット ビット文字列の自作関数 ビット文字列から整数への変換 2の補数ビット文字列から整数への変換 pythonでのビット反転 参考リンク 環境 Windows10 Docker Desktop scipy-notebook image python 3.8.4
ディリクレ(Dirichlet)分布を3Dで可視化する (3次元の)ディリクレ分布をpythonのmatplotlib.plot_surfaceで可視化するメモ. ディリクレ(Dirichlet)分布を3Dで可視化する 環境 ディリクレ分布 matplotlibで可視化する. 参考リンク MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 環境 Windows10 Docker Desktop scipy…
2020年代でも環境構築できる論理型言語のメモ 2020年代でも使えそうな論理型言語のメモ. 論理型言語自体アカデミック向けだったり最近の人工知能はディープニューラル系が多いので情報が少ない. このあたりhttp://minikanren.org/#papers を見ると,最近では"Program Synthesis"というコードの自動生成(Quin生成)の分野では活躍してるぽい. 結論から列挙すると以下が良さげ. SWI-Prolog(+python+pyswip) Java + Clojure + core.logic Python + Hy + miniKanrenライブラリ Racke…
gccのコンパイルの流れとオプションのメモ docker利用によりWindowsでもMinGWなど使わずとも手軽にUnixベースのgccが利用できるようになった. gccでの中間コード(Intermediate code; アセンブリコード), オブジェクトコード(Object code), 実行ファイル(Executable file)の流れとオプションを使った生成のメモ. gccのコンパイルの流れとオプションのメモ 環境 コンパイラの流れ(特にgcc) gccでの例 中間(アセンブリ)コードの生成(-Sオプション) アセンブラからオブジェクトコードの生成(-cオプション) 実行ファイルの生…
Windows環境にUEFIアプリ動作用の仮想環境qemuをインストールする
Windows環境にUEFIアプリ動作用の仮想環境qemuをインストールする UEFIアプリ自体はWindowsPCでも動くのに意外に仮想環境であるqemuをwindowsにインストールして動かす話があまりなかったのでメモ. Windows環境にUEFIアプリ動作用の仮想環境qemuをインストールする 環境 ファームウェア周りの用語メモ 実機でファームウェアアプリを動かす場合 エミュレータを利用する qemuとは qemuのインストール wsl上でも動く? OVMFとは OVMFのDL ビルド方法 qemuの動作確認 そのまま起動 空フォルダをマウントしてOVMFを起動 OSイメージの起動 参…
ルートと無限連分数メモ ルートの入った無理数を無限連分数で表現しようという面白い記事があったのでメモ. また,収束条件を満たすかあたりも残しておく. gendai.ismedia.jp ルートと無限連分数メモ 環境 ルートを求めるテク 収束を可視化 無限連分数で表現 自然数nを変えても収束するか? 連分数の理論 正準表現と収束子(近似子) Theorem1 収束市の形の規則(漸化式) Theorem2 Theorem3 Theorem4 Theorem5 Theorem6 無限連分数 Theorem7 Theorem8 Theorem9 Theorem10 無限連分数が収束する必要十分条件 参…
Androidアプリ単体をadbでバックアップ/リストアする
Androidアプリ単体をadbでバックアップ/リストアする Androidアプリ単体をadbでバックアップ/リストアするメモ. Android SDK Platform-Tools内のadbコマンドを使うとアプリ単体または全部のバックアップ/リストアが可能になる. ※なおadb backupとadb restoreは将来的にdepricate予定になっているので使う場合は注意. 代替コマンドの予定もない? Androidアプリ単体をadbでバックアップ/リストアする 環境 adbとは Android SDK Platform-Toolsの導入 バックアップ前の準備 Androidの開発者向け…
2次の分数関数の積分とhyperbolic tangentへの変換
2次の分数関数の積分とhyperbolic tangentへの変換 2次の分数関数$\frac{1}{ax^{2}+bx+c}$の積分の導出とhyperbolic tangentへの変換メモ. 2次の分数関数の積分とhyperbolic tangentへの変換 まず平方完成する $1/(x^{2} + k^{2})$の積分を求める 平方完成した式を積分する 可視化 hyperbolic tangentへの変換 $\tan{x}$をオイラーの公式で表す $ \tan{x} $をへ変換する hyperbolic tangentへ変形 参考リンク MathJax.Hub.Config({ tex2j…
微分方程式モデルでPursuitCurve問題を解く:hawk-pigeon問題
微分方程式モデルでPursuitCurve問題を解く:hawk-pigeon問題 微分方程式モデルでPursuitCurve問題:hawk-pigeon問題(鳩を追いかける鷹の追跡曲線)を解くメモ. hawk-pigeonモデルとここでは呼んでいるが他の専門書では 商船を追いかける海賊船 飛んでいる飛行機を撃ち落とすための迎撃ミサイル などの追跡曲線で紹介されている. 今回は以下をまとめる. その微分方程式がどんな形になるか どう解くか capture time(捕捉時間)はどうなるか 図1. hawk-pigeon problem 参考: D.N.Burghers, M.S.Borrie, …
VSCodeでWSL2のLinux上のファイルをリモート操作する
VSCodeでWSL2のLinux上のファイルをリモート操作する Windows上にVSCodeがあればssh使わずとも WSL2上のLinuxにアクセスし操作ができる. これができると,例えば,WSL2上のLinuxにあるcコードをVSCodeで編集し gcc環境でコンパイルして結果を得ることが容易に可能になる. 参考: Windows Subsystem for Linux で VS Code の使用を開始する Microsoft Docs VSCodeでWSL2のLinux上のファイルをリモート操作する 環境 WSL2を事前にインストール VSCodeで拡張機能をインストールする W…
WSL2でネットワークのドメインを解決できない場合の対処 WSL2上のLinux(ex.Ubuntu)で, ping google.comやapt updateがうまく行かない場合(Temporary failure)の対処である. どうやらDNSサーバの設定がよくなく?ドメインの解決ができなくなっているぽい. 参考: Apt-get update and apt-get upgrade fail · Issue #4435 · microsoft/WSL · GitHub WSL2 DNS stops working · Issue #4285 · microsoft/WSL · GitHu…
[選挙統計]どの党派が小池百合子氏を再選させたかをベイズ推定する 都知事選が2020年7月5日にありました. 大差で小池百合子氏が再選しました. 今回は小池百合子氏に投票した内どの党派が多いかをベイズ推定で計算します. 結論からいうと無党派層(小池氏に投票した5割が無党派層)です. ※なお,筆者は都内在住ではないので投票に参加していません ※また,この記事は選挙開票が終わった後にpublishしており公職選挙法に反するものではないことを明記しておきます. [選挙統計]どの党派が小池百合子氏を再選させたかをベイズ推定する 計算するための定義・仮定 データ NHKによる政党支持率 投票予定先(東京…
WSL2のインストールメモ Windows10 ver2004からWSL2のインストールが可能になったのでそのメモ. 以下のドキュメントの手順に従えばインストール可能. docs.microsoft.com WSL2のインストールメモ 環境 導入手順 Windows10をver2004へアップデート Windows TerminalをMicrosoftStoreからインストール wsl2を使うのためのオプションを有効にする wsl2を有効にするためにPCを再起動 wslのデフォルトバージョンを設定する Ubuntuなどの好きなLinuxディストリビューションをMicrosoftStoreからイ…
点とバウンディングボックス(超長方形hyper rectangle)との距離を求める 超次元点と超次元長方形の距離を求めるメモ. 距離の考え方としては以下になる. バウンディングボックスの外に点がある場合は,その最短距離の求め方 バウンディングボックス内に点がある場合は,距離0とする. 逆に,最長距離の求め方 これはクラスタリングなどの最近傍を求めるような,とくにk-d treeを使った近傍探索に使える. 例:点とバウンディングボックスとの最短距離 点とバウンディングボックス(超長方形hyper rectangle)との距離を求める 最短距離を求める バウンディングボックス左側に対象データがあ…
内分点と重み付け平均の考察 内分点と重み付け平均の考察メモ gist: 内分点と重み付け平均 · GitHub 内分点と重み付け平均の考察 内分点1つの場合 なぜ重みが逆になるのか 内分点が2つある場合 繰り返し内分点を分ける場合 重み付け平均 データが2種類の場合 データが3種類の場合 内分点と外れ値 内分点の重みは信頼度
ガンマ分布のパラメータ推定 ガンマ分布のパラメータ推定メモ. 以下の手法のメモ 標本平均,標本分散からの近似値推定 最尤推定 shapeパラメータの近似値推定 それを初期値として数値解析的にニュートン・ラフソン法で求める MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); ガンマ分布のパラメータ推定 ガンマ分布 標本平均,標本分散からの近似値推定 最尤推定 inverse scaleパラメータを推定 sh…
リッジ回帰(Ridge Regression)の正規方程式を導出
リッジ回帰(Ridge Regression)の正規方程式を導出 リッジ回帰(Ridge Regression)の正規方程式を導出するメモ. L2ノルムの2乗により微分が容易にできるので解析解として導出できる. MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); リッジ回帰(Ridge Regression)の正規方程式を導出 回帰モデルの定義 重みの導出 参考リンク
Windowsに64bit版Mecabとpython用bindingをインストールする
Windowsに64bit版Mecabとpython用bindingをインストールする 有志の方がwindows用64bit版のMecabインストーラー(非公式)とpython用bindingモジュールを作成していたのでインストールメモ. 参考: qiita.com 環境 Windows10 64bit pip 20.0.2 Python 3.7 Windowsに64bit版Mecabとpython用bindingをインストールする 環境 64bit版Mecabをインストール pythonからMecabを操作できるbindingをインストール 参考リンク 関連リンク
scikit-learnでMNISTの手書き数字データセットをロードする
scikit-learnでMNISTの手書き数字データセットをロードする http://mldata.org/ サーバーが死んでる sklearn.datasets.fetch_mldataがdeprecateされる ということについてのメモ. 環境 Windows10 64bit pip 20.0.2 Python 3.7 scikit-learn '0.21.2' scikit-learnでMNISTの手書き数字データセットをロードする 環境 fetch_openmlを使う 参考リンク
SIFT, SURFが利用できるPython用OpenCVをインストールする
SIFT, SURFが利用できるPython用OpenCVをインストールする Python用OpenCVのインストールメモ. Python用OpenCVでは,商用利用不可アルゴリズム(SIFTやSURF)が含まれないモジュールと 含まれるモジュールの2種類がある. 環境 Windows10 64bit pip 20.0.2 Python 3.7 SIFT, SURFが利用できるPython用OpenCVをインストールする 環境 Python用OpenCV インストール ロードして確認 参考リンク
カイジのEカードの勝率を計算する 図書館でNewton別冊”確率に強くなる―「偶然」にひそむ数学法則”(2010年発行なのでちょっと古い)を読んでたら面白いコラムがあった. 選択制じゃんけん.つまりEカードの勝率である. 確率に強くなる―「偶然」にひそむ数学法則 (ニュートンムック Newton別冊)メディア: ムック 詳細な解説は本に任せて,一部誤植を見つけたので自分でも計算してみる. MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\…
2019年度のセパ両リーグのピッチャーの成績データを偏相関係数でみる
2019年度のセパ両リーグのピッチャーの成績データを偏相関係数でみる 2019年度のセパ両リーグのピッチャーの成績データの変数間の偏相関係数がどうなっているか見てみる. 特に勝利数と防御率に着目する. repository: github.com MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 2019年度のセパ両リーグのピッチャーの成績データを偏相関係数でみる データ 偏相関係数行列をみる データの…
行列の固有値分解(スペクトル分解)の写像を可視化 行列によるベクトルの写像は,行列の固有値分解で3段階で写像されている. それを可視化してみる. MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 行列の固有値分解(スペクトル分解)の写像を可視化 固有値分解 対称行列の固有値分解の性質 固有値分解で見える行列の写像 1段階: $P^{-1}\vec{x}$ 2段階:$\mathbf{\Lambda} \m…
pythonで偏相関係数行列(pcor)を計算 以前,3変数(X,Y,Z)の場合の偏相関係数の式を導出した. cartman0.hatenablog.com 今回は3変数以上の多変数の場合の偏相関係数行列を求めてみる. ただscipy.stats, pandas, statsmodels,scikit-learnなどで関数がないようなので, 実装して計算してみる. Rではcor2pcorという相関係数行列を偏相関係数行列に変換してくれる関数があるぽいので, これに近いものを実装してみる. 偏相関係数と似たL1ノルムを利用したスパースな精度行列なるものであればscikit-learnのほうにGr…
線形写像と基底の取替えの表現行列のメモ 線形写像(mapping)と基底の取替えの表現行列での変換を図示化してメモ. MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 線形写像と基底の取替えの表現行列のメモ 線形写像と行列 例. 回転行列 基底A,Bに関する写像fの表現行列 例 表現行列と座標 例 合成写像と表現行列 基底の取替え(線形変換を恒等変換とし基底を変更に相当) 基底の取替え行列と線形写像の表…
Twisted GFSRとMersenne Twist(メルセンヌ・ツイスタ)のメモ
Twisted GFSRとMersenne Twist(メルセンヌ・ツイスタ)のメモ 前回はLFSRとGFSRのメモであった. cartman0.hatenablog.com 今回はそれを発展させたTwisted GSRとMersenne Twisteについてのメモ. かんたんな発展の流れとしては Twisted GSR: GFSR(一般フィードバック・シフト・レジスタ)の際に,桁間に情報の攪拌(Twist) を追加 Mersenne Twister: Twisted GSRのときに,使わない次元を指定し周期をメルセンヌ素数に選べるよう拡張 MathJax.Hub.Config({ tex2j…
Windows10にPlantUML環境を作る Windows10環境で, コマンドプロンプト(cmd)からPlantUMLを動作させるメモ. 環境 Windows10 64bit Windows10にPlantUML環境を作る 環境 必要なファイルをインストール Java(OpenJDK)のDL,インストール GraphVizのインストール plantuml.jarのDL 実行方法 参考リンク
線形フィードバックシフトレジスタLFSR,一般フィードバックシフトレジスタGFSRのメモ
線形フィードバックシフトレジスタLFSR,一般フィードバックシフトレジスタGFSRのメモ 前回はざっくりM系列法のメモだったが,今回はM系列を利用している線形フィードバックシフトレジスタLFSRと一般フィードバックシフトレジスタGFSRのメモ. cartman0.hatenablog.com かんたんな流れとしては LFSR:1bitのみ GFSR: ベクトル化して複数bitに対応できるように拡張 3項GFSR 5項GFSR:項を増やしてランダム性を改善 MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']]…
疑似乱数発生法 M系列法のメモ 前回は線形合同法のメモだったが,今回はもう1つの疑似乱数発生法として, メルセンヌ・ツイスタの基になっているM系列法のメモ. cartman0.hatenablog.com MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 疑似乱数発生法 M系列法のメモ M系列法 例 かんたんな実装 パラメータ$p, (c_{1},c_{2},\cdots,c_{p−1})$ の選び方 …
乱数発生方法と線形合同法のメモ メルセンヌ・ツイスタの前知識として,乱数発生方法と線形合同法のメモ MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 乱数発生方法と線形合同法のメモ 乱数発生方法 物理乱数 物理乱数発生器の問題点:再現不能性 疑似乱数 PRNGの種類 線形合同法(LCG) 例 A=3, C=5, M=13 例:A=3, C=1, M=8 例:32bit LCG, 64bit LCG パラ…
「ブログリーダー」を活用して、cartman0さんをフォローしませんか?
動物標本の3Dモデルを見るメモ 動物標本の3Dモデルを見られるサービスを見つけたのでメモ。 動物標本の3Dモデルを見るメモ CT図鑑 MorphoSource iDigBio 参考リンク
Bing Chatとペアプロできる時代がきた 世間はChat-GPT4で持ち切りですが、Bing Chatでもいい感じのコードを生成してくれるぞという成功例メモ。 今のBingChatは最大15ターン150回まで利用できるようになった。 個人的には、 無料 APIキー必要なし モバイル利用OKは かなりのメリットだと思っている。 今回は、doctestを使ったときにmodule単位でなく、 doctest.run_docstring_examples()あたりを使ってクラス単位でテストして、(失敗数, try数)である集計結果を得る方法はないのか聞いてみた。 (なぜかdoctest.run_d…
Pythonで循環リスト(circular list; 初期位置リセット可)を作る いい感じの循環リストがなさそうなので作ってみようというメモ Pythonで循環リスト(circular list; 初期位置リセット可)を作る 環境・事前準備 循環リストとは よくあるやり方 iterableとiteratorの違い CircularList Classを自作する メモ代わりの解説 Deque継承版 参考リンク 環境・事前準備 Windows10 64bit WSL2 Docker Desktop 4.17.0 (99724) jupyter python 3.10
Mesonの使い方メモ Mesonの情報無さすぎるということでメモ。 触ってみた所感としてcmakeより楽なんだろうけど、どのbuitinオプションがどの引数を制御してるかなどがわかりにくい.. (ver0.61なので今後変わりそうですが) The Meson Build system mesonではビルド方法を2種類に分けている native build: build machineとhost/target machineが同じ cross build: build machineとhost/target machineが別 今回はnative buildを中心にまとめる。 Mesonの使い…
はてなブログでmermaidの図を描く Githubでもサポートされたmermaidをはてなブログでも描けないか試したところ多少なんとかなったのでメモ。 ```mermaid graph TB H["Hatenaで"] M["mermaid"] H-->M ``` 👇上のmarkdownコードがこうなる graph TB H["Hatenaで"] M["mermaid"] H-->M はてなブログでmermaidの図を描く mermaidって何? サポートしてる図 記事に埋め込むコード 注意点 Example 参考リンク mermaid.initialize({startOnLoad: tru…
emscriptenでよくみるoption-flagをまとめる emcc --helpしても出てこないオプション(e.g. clang由来のものとか)もあってよくわからんとなったのでメモ。 emscriptenでよくみるoption-flagをまとめる 環境・事前準備 困ったときのコマンド emscriptenのコンパイラとリンカ コンパイラ用オプションとリンカ用オプション コンパイラ用オプション リンカ用オプション 参考リンク 環境・事前準備 今回はDocker上にemscriptenをインストールした状況を想定してる。 Windows10 64bit WSL2 DockerDesktop …
DockerでExited(139)が出たときの対処 doker runしたときにコンテナが立ち上がらずExited(139)で終了してしまうときの対処メモ。 この終了コードはDocker Desktop上でも確認できる。 Exited(139) DockerでExited(139)が出たときの対処 環境・事前準備 対処方法 原因 参考リンク 環境・事前準備 Windows10 64bit WSL2 DockerDesktop 4.5.1 (74721)
Docker+VSCodeのRust環境を作る RustがCとPythonの間(C寄り)の中級型言語でCより書きやすく速度はCと大差ないらしいということで、触りたくなったのでWindowsでの環境構築を調べたメモ。 GUIアプリを作るようなケースでなければ以下の方法で問題ないはず。 .devcontainerを使わない方法(1ファイルのみのコンパイル・実行なら可能) .devcontainerを使う方法(ワークスペース・パッケージ単位のビルド、1パッケージのデバッグ、補完やらが可能。基本的にはこっち) Docker+VSCodeのRust環境を作る 環境・事前準備 Rustはどんな言語か .d…
Jupyter上にGraphvizの図をSVGで描画する Jupyter上にGraphviz(.dot)の図をSVGで描画することに成功したのでメモとして残す。(※拡張機能としてはまだ作れていない) Viz.jsのおかげでJavaのインストールすら不要になった..! dotファイルのコードを書いてあげればこうなる👇 jupyter上にGraphvizの図を描画 gist上では表示されないがnbviewerを通せば図も表示される。 https://nbviewer.org/gist/Cartman0/5a7cfadc2f367869f2df506577ace525 また、IPythonのカーネル…
畳み込み積分は結局何を計算してるのかメモ 畳み込み積分をフーリエかラプラス変換で周波数領域にすると積の形にできて便利だよねくらい雑に理解してたので、 時間領域でどんな計算してるのかメモとして残す。 この記事で出てくる式や図はgistにまとめている。 convolution_integral.ipynb · GitHub 畳み込み積分は結局何を計算してるのかメモ なぜ畳み込み積分なんてするのか なぜ反転する? 上図の領域を積分すると... 一般化して図示すると 参考リンク MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\('…
はてなブログのコードブロックのcssスタイルを変更する はてなブログのコードブロックのスタイル変更時のメモ。 色などのスタイル変更 言語名の追加 を中心にまとめる。 はてなブログの場合、意外に行数表示はCSSだけではタグ構造上無理でJSが必要になりそうなので gistやcodepenみたいなサービスの埋め込み使うのもありかも。 はてなブログのコードブロックのcssスタイルを変更する はてなブログにおけるコードブロックのセレクタ Qiitaっぽいデザインにしてみる 言語名の追加 行数表示 参考リンク
伊勢田哲治「哲学的思考トレーニング」の感想とメモ 伊勢田哲治先生の「哲学的思考トレーニング」(2005)を読んだので感想とメモを残す。 哲学的思考(クリティカルシンキング)とはなんぞやからどうやるのか (哲学的)議論(主張)の扱い方、さらに価値主張の扱い方 懐疑主義の大切さとどのくらい緩めるのかの文脈主義 反証可能性の大切さ 科学と疑似科学の違いの入り口 みんなで考える場合のクリティカルシンキング などが分かる本で、 文系学生に限らずみな読んでおいたほうがいい本である. 哲学思考トレーニング (ちくま新書)作者:伊勢田哲治筑摩書房Amazon 伊勢田哲治「哲学的思考トレーニング」の感想とメモ …
ドット絵で30度の斜線を引くには ドット絵で中途半端な角度の斜線を引くための計算メモ. 数学的に考えると,極座標系のグリッド化問題になる? 結論からいくと, 単純に30度を引くには,「2,2,1,...」の周期並びで問題ない. arctan 3/5 ≒ 31度になる.+1度の誤差が発生するが,ジャギ消し分含めるとあまり問題ないはず 画像サイズが大きくもっと精度良くしたい場合には,『「2,1,...」の周期並べx4,「2,2,...」の均等並べx13, 「2,1,...」の周期並べx4』の周期並べが良さげ. arctan 58/100 ≒ 30.1度で+0.1度まで誤差を抑えられる.でもジャギ消…
BlenderでMMDのpmxファイルを読み込む BlenderでMMDのpmxファイルを読み込むには,アドオンの導入が必要なのでその辺のメモ. BlenderでMMDのpmxファイルを読み込む 環境 最新版MMDの導入 Blenderのためのpmxファイル読み込み用アドオンmmd_toolsの導入 Blenderのアドオンの設定 pmxファイルを開く 参考リンク 環境 Windows10 64bit Blender 2.19
プチブロックで学ぶプーリー・ベルト機構 ダイソー100均のプチブロックの車輪パーツを見てたらプリー・ベルト機構を作れそうだなということで作ってみたメモ. とりあえず車輪4つとベルト用の輪ゴムあれば,以下のような簡易なものは作れる. ただし,駆動輪側は手動なので教育用な感じ. プーリー・ベルト機構 プチブロックで学ぶプーリー・ベルト機構 プーリー・ベルト機構とは 必要なもの シンプルなプーリー・ベルト機構を作る 従動輪を逆回転させる プーリーの大きさを変えてみる 感想・メモ 参考リンク
2010-2020年くらいのプラモ界隈の流れをざっくりまとめたい 最近,自分の中の小学生男子心が疼きプラモ熱が高まり,調べてみたところ昔比べてかなり結構進化してるなと思ったのでいろいろまとめたい. 今のプラモ界隈の流れとしてポイントは6つ+αほどある. 骨組みフレーム+外付けアーマー形式により可動箇所が増えた フィギュアスケールプラモ(美少女フィギュア形含む)が普及して当たり前になった 共通規格(3mm軸ジョイント,キットブロック系)ができはじめてきた 価格安めが増えてきた(特にバンダイ) 低年齢狙いの商品が増えてきた 環境問題対策(特にバンダイ) (+α)100円ショップで便利な道具が安く手…
pythonのビット演算周りのメモ 負数の取り扱いとビットの反転がわかりにくいのでメモ pythonのビット演算周りのメモ 環境 pythonでの2進数,16進数 pythonでの負数ビット ビット文字列の自作関数 ビット文字列から整数への変換 2の補数ビット文字列から整数への変換 pythonでのビット反転 参考リンク 環境 Windows10 Docker Desktop scipy-notebook image python 3.8.4
ディリクレ(Dirichlet)分布を3Dで可視化する (3次元の)ディリクレ分布をpythonのmatplotlib.plot_surfaceで可視化するメモ. ディリクレ(Dirichlet)分布を3Dで可視化する 環境 ディリクレ分布 matplotlibで可視化する. 参考リンク MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 環境 Windows10 Docker Desktop scipy…
2020年代でも環境構築できる論理型言語のメモ 2020年代でも使えそうな論理型言語のメモ. 論理型言語自体アカデミック向けだったり最近の人工知能はディープニューラル系が多いので情報が少ない. このあたりhttp://minikanren.org/#papers を見ると,最近では"Program Synthesis"というコードの自動生成(Quin生成)の分野では活躍してるぽい. 結論から列挙すると以下が良さげ. SWI-Prolog(+python+pyswip) Java + Clojure + core.logic Python + Hy + miniKanrenライブラリ Racke…
gccのコンパイルの流れとオプションのメモ docker利用によりWindowsでもMinGWなど使わずとも手軽にUnixベースのgccが利用できるようになった. gccでの中間コード(Intermediate code; アセンブリコード), オブジェクトコード(Object code), 実行ファイル(Executable file)の流れとオプションを使った生成のメモ. gccのコンパイルの流れとオプションのメモ 環境 コンパイラの流れ(特にgcc) gccでの例 中間(アセンブリ)コードの生成(-Sオプション) アセンブラからオブジェクトコードの生成(-cオプション) 実行ファイルの生…
Bing Chatとペアプロできる時代がきた 世間はChat-GPT4で持ち切りですが、Bing Chatでもいい感じのコードを生成してくれるぞという成功例メモ。 今のBingChatは最大15ターン150回まで利用できるようになった。 個人的には、 無料 APIキー必要なし モバイル利用OKは かなりのメリットだと思っている。 今回は、doctestを使ったときにmodule単位でなく、 doctest.run_docstring_examples()あたりを使ってクラス単位でテストして、(失敗数, try数)である集計結果を得る方法はないのか聞いてみた。 (なぜかdoctest.run_d…
Pythonで循環リスト(circular list; 初期位置リセット可)を作る いい感じの循環リストがなさそうなので作ってみようというメモ Pythonで循環リスト(circular list; 初期位置リセット可)を作る 環境・事前準備 循環リストとは よくあるやり方 iterableとiteratorの違い CircularList Classを自作する メモ代わりの解説 Deque継承版 参考リンク 環境・事前準備 Windows10 64bit WSL2 Docker Desktop 4.17.0 (99724) jupyter python 3.10