From e67cca834834f9bcb986560fc65e1c17602f6a53 Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@pm.me> Date: Wed, 20 Mar 2024 22:36:28 +0100 Subject: [PATCH] started changing this to time-dependent stuff --- sage/hermite.sage | 107 ++++++++++++++++++++++++++-------------------- 1 file changed, 60 insertions(+), 47 deletions(-) diff --git a/sage/hermite.sage b/sage/hermite.sage index 5a5af1d..9db7805 100644 --- a/sage/hermite.sage +++ b/sage/hermite.sage @@ -1,12 +1,19 @@ +t = var('t') +x = var('x') + xi = var('xi') -u = var('u') +u = function('u')(x, t) theta = var('theta') +rho = function('rho')(x, t) +theta0 = var('theta0') xi0 = var('xi0') n = var('n') +T = function('T')(x, t) assume(theta > 0) +assume(theta0 > 0) def hn(n): - return (-1)^n * xi0^n * exp(xi^2/(2 * xi0^2))*diff(exp(-xi^2/(2 * xi0^2)), xi, n) + return (-1)^n * theta0^(n/2) * exp(xi^2/(2 * theta0))*diff(exp(-xi^2/(2 * theta0)), xi, n) print("Hermite polynomials") h0 = hn(0) @@ -22,7 +29,7 @@ print(h4) h5 = hn(5).full_simplify() print(h5) -w = 1/sqrt(2*pi) * exp(-xi^2/(2*xi0^2)) +w = 1/sqrt(2*pi*theta0) * exp(-xi^2/(2*theta0)) print("Coefficients") n0 = integrate(w * h0, xi, -infinity, infinity) @@ -33,13 +40,13 @@ n2 = integrate(w * h2 * h2, xi, -infinity, infinity) print(n2.canonicalize_radical()) n3 = integrate(w * h3 * h3, xi, -infinity, infinity) print(n3.canonicalize_radical()) -n4 = integrate(w * h4 * h4, xi, -infinity, infinity) -print(n4.canonicalize_radical()) -n5 = integrate(w * h5 * h5, xi, -infinity, infinity) -print(n5.canonicalize_radical()) +# n4 = integrate(w * h4 * h4, xi, -infinity, infinity) +# print(n4.canonicalize_radical()) +# n5 = integrate(w * h5 * h5, xi, -infinity, infinity) +# print(n5.canonicalize_radical()) -bol = 1 / (sqrt(2 * pi * xi0^2)) * exp(-(xi - u)^2/(2 * xi0^2)) +bol = rho / (sqrt(2 * pi * theta)) * exp(-(xi - u)^2/(2 * theta)) res = integrate(bol, xi, -infinity, infinity) print("Moments of Boltzmann") @@ -51,47 +58,53 @@ mom2 = integrate(bol * h2, xi, -infinity, infinity) print(mom2.canonicalize_radical()) mom3 = integrate(bol * h3, xi, -infinity, infinity) print(mom3.canonicalize_radical()) -mom4 = integrate(bol * h4, xi, -infinity, infinity) -print(mom4.canonicalize_radical()) -mom5 = integrate(bol * h5, xi, -infinity, infinity) -print(mom5.canonicalize_radical()) +# mom4 = integrate(bol * h4, xi, -infinity, infinity) +# print(mom4.canonicalize_radical()) +# mom5 = integrate(bol * h5, xi, -infinity, infinity) +# print(mom5.canonicalize_radical()) -print("Moments of Polynomial") -feq = w * (mom0 + h1 * mom1/n1 + h2 * mom2/n2 + h3 * mom3/n3 + h4 * mom4/n4 + h5 * mom5/n5) -p_mom0 = integrate(feq * 1, xi, -infinity, infinity) -print(p_mom0.canonicalize_radical()) -p_mom1 = integrate(feq * h1, xi, -infinity, infinity) -print(p_mom1.canonicalize_radical()) -p_mom2 = integrate(feq * h2, xi, -infinity, infinity) -print(p_mom2.canonicalize_radical()) -p_mom3 = integrate(feq * h3, xi, -infinity, infinity) -print(p_mom3.canonicalize_radical()) -p_mom4 = integrate(feq * h4, xi, -infinity, infinity) -print(p_mom4.canonicalize_radical()) -p_mom5 = integrate(feq * h5, xi, -infinity, infinity) -print(p_mom5.canonicalize_radical()) +print(diff((integrate(bol * h0 * xi, xi, -infinity, infinity).canonicalize_radical() / sqrt(theta0)), t)) +print((integrate(bol * h1 * xi, xi, -infinity, infinity).canonicalize_radical() / sqrt(theta0)).subs(theta=T)) +print((integrate(bol * h2 * xi, xi, -infinity, infinity).canonicalize_radical() / sqrt(theta0)).subs(theta=T)) -w_m = var('w_m') -w_0 = var('w_0') -w_p = var('w_p') -xi_m = var('xi_m') -xi_0 = var('xi_0') -xi_p = var('xi_p') -wi = vector([-w_p, w_0, w_p]) -xi_i = vector([-xi_p, xi_0, xi_p]) - -h0_i = 1 -h1_i = xi_i -h2_i = vector([xi_i[i]^2 - 1 for i in range(len(xi_i))]) -h3_i = vector([xi_i[i]^3 - 3 * xi_i[i] for i in range(len(xi_i))]) -h4_i = vector([xi_i[i]^4 - 6 * xi_i[i]^2 + 3 for i in range(len(xi_i))]) -h5_i = vector([xi_i[i]^5 - 10 * xi_i[i]^3 + 15 * xi_i[i] for i in range(len(xi_i))]) -sum(wi) == n0 -wi.dot_product(h1_i) == n1 -wi.dot_product(h2_i) == n2 -wi.dot_product(h3_i) == n3 -wi.dot_product(h4_i) == n4 -wi.dot_product(h5_i) == n5 +# print("Moments of Polynomial") +# feq = w * (mom0 + h1 * mom1/n1 + h2 * mom2/n2 + h3 * mom3/n3 + h4 * mom4/n4 + h5 * mom5/n5) +# p_mom0 = integrate(feq * 1, xi, -infinity, infinity) +# print(p_mom0.canonicalize_radical()) +# p_mom1 = integrate(feq * h1, xi, -infinity, infinity) +# print(p_mom1.canonicalize_radical()) +# p_mom2 = integrate(feq * h2, xi, -infinity, infinity) +# print(p_mom2.canonicalize_radical()) +# p_mom3 = integrate(feq * h3, xi, -infinity, infinity) +# print(p_mom3.canonicalize_radical()) +# p_mom4 = integrate(feq * h4, xi, -infinity, infinity) +# print(p_mom4.canonicalize_radical()) +# p_mom5 = integrate(feq * h5, xi, -infinity, infinity) +# print(p_mom5.canonicalize_radical()) +# w_m = var('w_m') +# w_0 = var('w_0') +# w_p = var('w_p') +# xi_m = var('xi_m') +# xi_0 = var('xi_0') +# xi_p = var('xi_p') +# wi = vector([-w_p, w_0, w_p]) +# xi_i = vector([-xi_p, xi_0, xi_p]) +# +# h0_i = 1 +# h1_i = xi_i +# h2_i = vector([xi_i[i]^2 - 1 for i in range(len(xi_i))]) +# h3_i = vector([xi_i[i]^3 - 3 * xi_i[i] for i in range(len(xi_i))]) +# h4_i = vector([xi_i[i]^4 - 6 * xi_i[i]^2 + 3 for i in range(len(xi_i))]) +# h5_i = vector([xi_i[i]^5 - 10 * xi_i[i]^3 + 15 * xi_i[i] for i in range(len(xi_i))]) +# +# sum(wi) == n0 +# wi.dot_product(h1_i) == n1 +# wi.dot_product(h2_i) == n2 +# wi.dot_product(h3_i) == n3 +# wi.dot_product(h4_i) == n4 +# wi.dot_product(h5_i) == n5 +# +# -- GitLab