emout.emout.backtrace package
Submodules
emout.emout.backtrace.backtrace_result module
- class emout.emout.backtrace.backtrace_result.BacktraceResult(ts, probability, positions, velocities, unit=None)[source]
Bases:
objectget_backtrace の返り値をまとめて管理するクラス。 - ts : shape = (N_steps,) - probability : shape = (N_steps,) - positions : shape = (N_steps, 3) # (x, y, z) - velocities : shape = (N_steps, 3) # (vx, vy, vz)
以下の方法でアクセス・可視化できます:
- ts, prob, pos, vel = result
→ タプルアンパック
- result.pair(“x”, “y”).plot()
→ x vs y
- result.pair(“t”, “x”).plot()
→ t vs x
- result.tx.plot()
→ x軸に t, y軸に x (= pair(“t”,”x”) と同義)
- result.yvz.plot()
→ y vs vz (= pair(“y”,”vz”))
emout.emout.backtrace.multi_backtrace_result module
- class emout.emout.backtrace.multi_backtrace_result.MultiBacktraceResult(ts_list, probabilities, positions_list, velocities_list, last_indexes, unit=None)[source]
Bases:
objectget_backtraces の返り値をまとめて管理するクラス。
ts_list : shape = (N_traj, N_steps)
probabilities : shape = (N_traj,)
positions_list : shape = (N_traj, N_steps, 3)
velocities_list : shape = (N_traj, N_steps, 3)
last_indexes : shape = (N_traj,)
以下の方法でアクセス・可視化できます:
ts_list, probs, pos_list, vel_list = result # タプルアンパック
# 任意の 2 変数ペア (var1, var2) を MultiXYData で取得 result.pair(“x”, “y”) → 各 trajectory の x vs y result.pair(“t”, “x”) → 各 trajectory の t vs x result.tvx → pair(“t”,”vx”) 省略形 result.yvz → pair(“y”,”vz”)
# サンプリング: ランダムまたはインデックス指定 result.sample(10) → ランダムに 10 本だけ抽出 result.sample([0,2,5]) → インデックス 0, 2, 5 の 3 本だけ抽出
# プロット result.yvz.plot()
- pair(var1, var2)[source]
任意の 2 変数を取り出し、MultiXYData を返す。 var1, var2 は ‘t’,’x’,’y’,’z’,’vx’,’vy’,’vz’ のいずれか。
- Return type:
- 例:
result.pair(“x”,”y”) → 各 trajectory の x vs y result.pair(“t”,”x”) → 各 trajectory の t vs x result.tvy → pair(“t”,”vy”)
- sample(indices, random_state=None)[source]
ランダム/インデックス指定で一部トラジェクトリを抽出し、新しい MultiBacktraceResult を返す。
- Parameters:
indices (Sequence[int], range, slice) – 正の整数 k を渡すと「全 N_traj 本からランダムに k 本抽出」。
indices – int のリスト/range/slice を渡すと「指定されたインデックス群だけ抽出」。
random_state (int, optional) – ランダムサンプリングのシード
- Return type:
emout.emout.backtrace.probability_result module
- class emout.emout.backtrace.probability_result.HeatmapData(X, Y, Z, xlabel='X', ylabel='Y', title='Heatmap', units=None)[source]
Bases:
object2D グリッド上の値を保持し、pcolormesh で描画するヘルパークラス。 X, Y, Z はすべて 2D numpy.ndarray で同じ形状である必要があります。
- class emout.emout.backtrace.probability_result.ProbabilityResult(phases, probabilities, dims, ret_particles, particles, ispec, inp, unit=None)[source]
Bases:
objectget_probabilities が返す結果をまとめるクラス。 任意の 2 変数平面 (var1, var2) に対して HeatmapData を返す。 内部では 6 次元グリッドを保存し、任意の2軸を切り出して可視化可能。
emout.emout.backtrace.solver_wrapper module
- class emout.emout.backtrace.solver_wrapper.BacktraceWrapper(directory, inp, unit)[source]
Bases:
object- get_backtrace(position, velocity, ispec=0, istep=-1, dt=None, max_step=30000, output_interval=1, use_adaptive_dt=False, **kwargs)[source]
- Return type:
Tuple[Any,Any,Any,Any]
- get_backtraces(positions, velocities, ispec=0, istep=-1, dt=None, max_step=10000, output_interval=1, use_adaptive_dt=False, n_threads=4, **kwargs)[source]
- Return type:
Any
- get_backtraces_from_particles(particles, ispec=0, istep=-1, dt=None, max_step=10000, output_interval=1, use_adaptive_dt=False, n_threads=4, **kwargs)[source]
- Return type:
Any
- get_probabilities(x, y, z, vx, vy, vz, ispec=0, istep=-1, dt=None, max_step=10000, use_adaptive_dt=False, n_threads=4, **kwargs)[source]
- Return type:
emout.emout.backtrace.xy_data module
- class emout.emout.backtrace.xy_data.MultiXYData(x, y, last_indexes, xlabel='x', ylabel='y', title=None, units=None)[source]
Bases:
object複数シリーズ (x[i,:], y[i,:]) を保持し、plot() で全シリーズをプロットするヘルパークラス。