#coding:utf-8 也可以这样修改代码 简写 好用

博客提到代码编码设置 #coding:utf-8 可进行简写修改,且这种简写方式好用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#coding:utf-8#coding:utf-8  也可以这样修改代码 简写 好用

# hydrogen_1s.py # -*- coding: utf-8 -*- import numpy as np from numpy.linalg import eigh def question1(): r = np.linspace(1e-4, 50, 500_000) psi = 2 * np.exp(-r) expect_inv_r = np.trapezoid((psi**2) / r, r) # 用 trapezoid dE_dlambda = -expect_inv_r E0 = -0.5 print("Q1 <1/r> =", expect_inv_r) print("Q1 dE/dλ =", dE_dlambda) print("Q1 基态能量 E0 =", E0, "\n") def question2(): def psi_analytical(r): return 2 * np.exp(-r) r_test = np.array([0.5, 1.0, 2.0]) print("Q2 ψ1s(r)=2e^(-r) 在 r =", r_test, "时的值:", psi_analytical(r_test), "\n") def solve_ground_state_fd(h, Rmax=20.0): r = np.arange(h, Rmax + h, h) N = len(r) diag = np.full(N, -2.0) off = np.ones(N - 1) D2 = (np.diag(diag) + np.diag(off, 1) + np.diag(off, -1)) / h**2 V = np.diag(-1.0 / r) H = -0.5 * D2 + V E, U = eigh(H) return E[0], U[:, 0], r def question3(): E0_fd, _, _ = solve_ground_state_fd(0.05) print(f"Q3 有限差分 (h=0.05) 求得基态能量 E0 ≈ {E0_fd:.6f}\n") def question4(): E = 2.0 k = np.sqrt(2 * E) print("Q4 散射态 E=2,对应波数 k =", k) print(" 渐近形式 ψ(r) ∝ sin(kr + δ) / r(可简写 sin(kr)/r)\n") def question5(): def psi_ex(r): return 2 * np.exp(-r) hs = [0.1, 0.05, 0.02, 0.01] print("Q5 步长(h) E0(数值) max|ψ_num - ψ_ex|") print("------------------------------------------------") for h in hs: E0, u0, r = solve_ground_state_fd(h) err = np.max(np.abs((u0/r) - psi_ex(r))) print(f" {h:<6} {E0:.6f} {err:.3e}") print() if __name__ == "__main__": print("\n=== Hydrogen-like Atom 1S State Computations ===\n") question1() question2() question3() question4() question5() 上述代码报错,修改代码
最新发布
06-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值