投稿

JuliaのPyPlotパッケージでスライド用の図をかくときのテンプレート

using PyPlot rcParams = PyPlot.PyDict(PyPlot.matplotlib."rcParams") fs = 9.5 fgcolor = "#222222" rcParams["font.size"] = fs rcParams["axes.titlesize"] = fs rcParams["lines.linewidth"] = 2 rcParams["legend.frameon"] = false rcParams["legend.handlelength"] = 1 rcParams["patch.edgecolor"] = fgcolor rcParams["axes.edgecolor"] = fgcolor rcParams["text.color"] = fgcolor rcParams["axes.titlecolor"] = fgcolor rcParams["axes.labelcolor"] = fgcolor rcParams["xtick.color"] = fgcolor rcParams["ytick.color"] = fgcolor

振動積分のためのDE公式の変数変換の計算

はじめに 本記事では振動積分 \[\begin{aligned} \int_0^\infty \sin(x) f(x) \,\mathrm{d}{x}, \qquad \int_0^\infty \cos(x) f(x) \,\mathrm{d}{x} \end{aligned}\] のためのDE公式 (Ooura and Mori 1999) で用いられる変数変換とその正弦・余弦・微分を計算するときの注意事項を示す. 具体的には, \(\int_0^\infty \sin(x)f(x)\,\mathrm{d}{x}\) の計算では \[\begin{aligned} x_{\sin,h}(t) = \frac{\pi}{h} \phi(t), \qquad \phi(t) :=\frac{t}{1 - \mathrm{e}^{u(t)}}, \qquad u(t) :=-2t - \alpha(1-\mathrm{e}^{-t}) - \beta (\mathrm{e}^t-1) \end{aligned}\] という変換を用いる.なお, \(x_{\sin,h}(t)\) の微分は \[\begin{aligned} x_{\sin,h}'(t) = \frac{\pi}{h} \phi'(t) = \frac{\pi}{h} \left[ \frac{1}{1 - \mathrm{e}^{u(t)}} - \frac{t u'(t) \mathrm{e}^{u(t)}}{(1-\mathrm{e}^{u(t)})^2} \right] = \frac{\pi}{h} \frac{1 -\mathrm{e}^{u(t)} + tu'(t)\mathrm{e}^{u(t)}}{(1-\mathrm{e}^{u(t)})^2} \end{aligned}\] である. また, \(\int_0^\infty \cos(x)f(x)\,\mathrm{d}{x}\) の計算では \[\begin{aligned} x_{\cos,h}(t) = \frac{\pi}{h}\phi\lef...

ネットワークログを保存するだけのコード

from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.desired_capabilities import DesiredCapabilities import yaml service = Service(executable_path="./chromedriver") url = "http://selenium.dev" dc = DesiredCapabilities.CHROME dc["goog:loggingPrefs"] = {"performance": "ALL"} driver = webdriver.Chrome(service=service, desired_capabilities=dc) driver.get(url) with open("network.yaml", "w") as f: yaml.dump(driver.get_log("performance"), f) driver.quit()

GSL.jlの使い方(雑なメモ)

GSLの使い方 入力にポインターが必要なとき (sf_elljac_e) function gsl_ellipj ( ϕ , m ) sn , cn , dn = Cdouble [ 0 ] , Cdouble [ 0 ] , Cdouble [ 0 ] sf_elljac_e ( ϕ , m , sn , cn , dn ) return sn [ 1 ] , cn [ 1 ] , dn [ 1 ] end import Elliptic import GSL function ellipj_GSL ( ϕ , m ) sn , cn , dn = Cdouble [ 0 ] , Cdouble [ 0 ] , Cdouble [ 0 ] sf_elljac_e ( ϕ , m , sn , cn , dn ) return sn [ 1 ] , cn [ 1 ] , dn [ 1 ] end ellipj_Elliptic = Elliptic . ellipj ( ϕ , m ) ϕ , m = 0.672 , 0.36 result_Elliptic = elliptic_Elliptic ( ϕ , m ) @show result_Elliptic # 0.6095196917919022, 0.792770928653356, 0.9307281387786907 result_GSL = elliptic_GSL ( ϕ , m ) @show result_GSL # 0.6095196917919021, 0.792770928653356, 0.9307281387786907

こんな線形代数の期末試験はいやだ

問1. $A = \begin{bmatrix}3 & 1\\ 1 & 3\end{bmatrix}$ とする.以下の(1)〜(4)に答えよ. (1) $A$ の全ての固有値とそれに対応する固有ベクトルを求めよ. (2) $A^7$ を求めよ. (3) $\displaystyle B = \frac{1}{4}A$ とする. $\displaystyle C = I + \sum_{k=1}^\infty B^k$ を求めよ. (4) $\displaystyle D = \frac{1}{8}A$ に対して $\displaystyle E = - \sum_{k=1}^\infty \frac{1}{k} D^k$ を求めよ. 問2. 以下の(1),(2)に答えよ. (1)...

OpenSUSEでpdfの日本語だけうまく表示できない問題を直す

Before: LaTeXで作った日本語の資料を見ようとすると日本語だけフォントが空白になってしまった. 解決策: poppler-dataのインストール ( sudo zypper in poppler-data ) どうやってわかったか: pdffonts hoge.pdf とすると, Syntax Error: Missing language pack for 'Adobe-Japan1' mapping と返ってきた.そこで このページ を見た

Matplotlibのテンプレ

論文用 Import部分 import pandas as pd import numpy as np import matplotlib.pyplot as plt fs = 10 plt.style.use( "tableau-colorblind10" ) plt.rcParams[ "font.size" ] = fs plt.rcParams[ "axes.titlesize" ] = plt.rcParams[ "font.size" ] plt.rcParams[ "lines.linewidth" ] = 2.5 plt.rcParams[ "legend.handlelength" ] = 1.5 plt.rcParams[ "legend.frameon" ] = False def cm2inch(x,y): return [x / 2.54 , y / 2.54 ] プロットするところ labels = [ "Alice" , "Bob" , "Carol" ] m = len (labels) markers = [ None ] * m lw = plt.rcParams[ "lines.linewidth" ] lws = [lw] * m lss = [ "-" ] * m params = [{ "label" : labels[i], "marker" : markers[i], "lw" : lws[i], "ls" : ls[i], } for i in range (m)] for i in range (m): ax.plot(x, y[i], ** params[i]) ax.legend() ...