مهندس کوانتومی

L. مرجع محاسبات عددی پایتون

عادت‌های numpy ویژهٔ کوانتوم (درس‌های فصل ۱۷ فشرده). dtype: complex128 همه‌جا، صریح تعریف‌شده (np.zeros(2**n, dtype=complex))؛ upcasting بی‌صدا باگ شمارهٔ ۱ است. حاصل‌ضرب تانسوری: np.kron(A, B) — endianness را یک‌بار تصمیم، آزمون و مستند کنید (17.6). اعمال سریع دروازه: حالت را به (2,)*n بازآرایی کنید، np.tensordot(gate, state, axes=([1],[k])) + np.moveaxis (17.7). اندازه‌گیری: probs = np.abs(state)2; np.random.default_rng(seed).choice(2n, p=probs). جبر خطی: np.linalg.eigh (هرمیتی — مقدارهای ویژهٔ حقیقی مرتب؛ برای مشاهده‌پذیرها)، eigvalsh (فقط مقادیر)، norm، vdot (آرگومان اول را مزدوج می‌کند — np.vdot(state, O @ state) همان ⟨ψ|O|ψ⟩ است). اسپارس: scipy.sparse برای هامیلتونی‌های رشته-پائولی (تا ~۱۶ متراکم، بعدش اسپارس)؛ SparsePauliOp قیسیت برای همان. کارایی: اول پروفایل (cProfile)؛ گلوگاه هرگز آن‌جا نیست که شهود می‌گوید (17.11)؛ روی شات‌ها و مدارها برداری کنید. تکرارپذیری: اشیای rng = np.random.default_rng(seed) صریح پاس داده شوند، هرگز np.random سراسری نه. آزمون: np.allclose(a, b) (و rtol/atol آگاهانه)؛ آزمون ویژگی با بذر ثابت.