diff options
Diffstat (limited to '')
-rw-r--r-- | buch/papers/laguerre/scripts/integrand.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/buch/papers/laguerre/scripts/integrand.py b/buch/papers/laguerre/scripts/integrand.py new file mode 100644 index 0000000..43fc1bf --- /dev/null +++ b/buch/papers/laguerre/scripts/integrand.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +# -*- coding:utf-8 -*- +"""Plot for integrand of gamma function with shifting terms.""" + +import os +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np + +EPSILON = 1e-12 +xlims = np.array([-3, 3]) + +root = str(Path(__file__).parent) +img_path = f"{root}/../images" +os.makedirs(img_path, exist_ok=True) + +t = np.logspace(*xlims, 1001)[:, None] + +z = np.array([-4.5, -2, -1, -0.5, 0.0, 0.5, 1, 2, 4.5]) +r = t ** z + +fig, ax = plt.subplots(num=1, clear=True, constrained_layout=True, figsize=(6, 4)) +ax.semilogx(t, r) +ax.set_xlim(*(10.0 ** xlims)) +ax.set_ylim(1e-3, 40) +ax.set_xlabel(r"$t$") +ax.set_ylabel(r"$t^z$") +ax.grid(1, "both") +labels = [f"$z={zi:.1f}$" for zi in np.squeeze(z)] +ax.legend(labels, ncol=2, loc="upper left") +fig.savefig(f"{img_path}/integrands.pgf") + +z2 = np.array([-1, -0.5, 0.0, 0.5, 1, 2, 3, 4, 4.5]) +r2 = t**z2 * np.exp(-t) + +fig2, ax2 = plt.subplots(num=2, clear=True, constrained_layout=True, figsize=(6, 4)) +ax2.semilogx(t, r2) +# ax2.plot(t,np.exp(-t)) +ax2.set_xlim(10**(-2), 20) +ax2.set_ylim(1e-3, 10) +ax2.set_xlabel(r"$t$") +ax2.set_ylabel(r"$t^z e^{-t}$") +ax2.grid(1, "both") +labels = [f"$z={zi:.1f}$" for zi in np.squeeze(z2)] +ax2.legend(labels, ncol=2, loc="upper left") +fig2.savefig(f"{img_path}/integrands_exp.pgf") +plt.show() |