physicskit 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- physicskit/__init__.py +51 -0
- physicskit/astro/__init__.py +66 -0
- physicskit/astro/cosmic_web.py +395 -0
- physicskit/astro/galactic_dynamics.py +137 -0
- physicskit/astro/nbody.py +208 -0
- physicskit/astro/orbital_mechanics.py +220 -0
- physicskit/astro/stellar_dynamo.py +628 -0
- physicskit/astro/stellar_structure.py +198 -0
- physicskit/astro/tests/__init__.py +0 -0
- physicskit/astro/tests/conftest.py +7 -0
- physicskit/astro/tests/test_cosmic_web.py +159 -0
- physicskit/astro/tests/test_galactic_dynamics.py +46 -0
- physicskit/astro/tests/test_nbody.py +81 -0
- physicskit/astro/tests/test_orbital_mechanics.py +73 -0
- physicskit/astro/tests/test_stellar_dynamo.py +198 -0
- physicskit/astro/tests/test_stellar_structure.py +52 -0
- physicskit/astro/tests/test_visualizers.py +159 -0
- physicskit/astro/visualizers.py +628 -0
- physicskit/chaos/__init__.py +55 -0
- physicskit/chaos/core/__init__.py +3 -0
- physicskit/chaos/core/base_system.py +342 -0
- physicskit/chaos/core/integrators.py +40 -0
- physicskit/chaos/exceptions.py +24 -0
- physicskit/chaos/quantum/__init__.py +38 -0
- physicskit/chaos/quantum/billiards.py +274 -0
- physicskit/chaos/quantum/husimi.py +85 -0
- physicskit/chaos/quantum/maps.py +366 -0
- physicskit/chaos/systems/__init__.py +38 -0
- physicskit/chaos/systems/billiards.py +1131 -0
- physicskit/chaos/systems/continuous.py +1276 -0
- physicskit/chaos/systems/maps.py +557 -0
- physicskit/chaos/tests/__init__.py +0 -0
- physicskit/chaos/tests/test_basins.py +76 -0
- physicskit/chaos/tests/test_bifurcation.py +132 -0
- physicskit/chaos/tests/test_billiards.py +115 -0
- physicskit/chaos/tests/test_continuous.py +224 -0
- physicskit/chaos/tests/test_dimension.py +69 -0
- physicskit/chaos/tests/test_divergence.py +90 -0
- physicskit/chaos/tests/test_dynamic_plots.py +269 -0
- physicskit/chaos/tests/test_integrators.py +96 -0
- physicskit/chaos/tests/test_io.py +41 -0
- physicskit/chaos/tests/test_maps.py +110 -0
- physicskit/chaos/tests/test_metrics.py +115 -0
- physicskit/chaos/tests/test_phase_space.py +73 -0
- physicskit/chaos/tests/test_properties.py +116 -0
- physicskit/chaos/tests/test_quantum_billiards.py +94 -0
- physicskit/chaos/tests/test_quantum_maps.py +144 -0
- physicskit/chaos/tests/test_recurrence.py +51 -0
- physicskit/chaos/tests/test_repr_and_api_consistency.py +134 -0
- physicskit/chaos/tests/test_section.py +49 -0
- physicskit/chaos/tests/test_spectral.py +48 -0
- physicskit/chaos/tests/test_streamlit_app.py +45 -0
- physicskit/chaos/tests/test_timeseries.py +131 -0
- physicskit/chaos/tests/test_viewer3d.py +41 -0
- physicskit/chaos/utils/__init__.py +46 -0
- physicskit/chaos/utils/dimension.py +139 -0
- physicskit/chaos/utils/io.py +95 -0
- physicskit/chaos/utils/metrics.py +304 -0
- physicskit/chaos/utils/recurrence.py +122 -0
- physicskit/chaos/utils/spectral.py +69 -0
- physicskit/chaos/utils/timeseries.py +303 -0
- physicskit/chaos/visualizers/__init__.py +85 -0
- physicskit/chaos/visualizers/basins.py +185 -0
- physicskit/chaos/visualizers/bifurcation.py +273 -0
- physicskit/chaos/visualizers/divergence.py +374 -0
- physicskit/chaos/visualizers/dynamic_plots.py +1372 -0
- physicskit/chaos/visualizers/phase_space.py +133 -0
- physicskit/chaos/visualizers/quantum.py +299 -0
- physicskit/chaos/visualizers/recurrence.py +91 -0
- physicskit/chaos/visualizers/section.py +161 -0
- physicskit/chaos/visualizers/theme.py +31 -0
- physicskit/chaos/visualizers/viewer3d.py +82 -0
- physicskit/classical/__init__.py +55 -0
- physicskit/classical/core/__init__.py +17 -0
- physicskit/classical/core/base_system.py +510 -0
- physicskit/classical/core/integrators.py +397 -0
- physicskit/classical/systems/__init__.py +32 -0
- physicskit/classical/systems/chains.py +334 -0
- physicskit/classical/systems/hamiltonian.py +215 -0
- physicskit/classical/systems/lagrangian.py +308 -0
- physicskit/classical/systems/newtonian.py +536 -0
- physicskit/classical/systems/rotations.py +614 -0
- physicskit/classical/tests/__init__.py +0 -0
- physicskit/classical/tests/conftest.py +7 -0
- physicskit/classical/tests/test_base_system.py +113 -0
- physicskit/classical/tests/test_chains.py +84 -0
- physicskit/classical/tests/test_conservation.py +244 -0
- physicskit/classical/tests/test_conservation_utils.py +47 -0
- physicskit/classical/tests/test_hamiltonian.py +44 -0
- physicskit/classical/tests/test_integrators.py +123 -0
- physicskit/classical/tests/test_lagrangian.py +69 -0
- physicskit/classical/tests/test_newtonian.py +45 -0
- physicskit/classical/tests/test_rotations.py +160 -0
- physicskit/classical/tests/test_stepsize.py +149 -0
- physicskit/classical/tests/test_symbolic.py +125 -0
- physicskit/classical/tests/test_visualizers.py +172 -0
- physicskit/classical/utils/__init__.py +20 -0
- physicskit/classical/utils/conservation.py +126 -0
- physicskit/classical/utils/stepsize.py +187 -0
- physicskit/classical/utils/symbolic.py +235 -0
- physicskit/classical/visualizers/__init__.py +25 -0
- physicskit/classical/visualizers/animations.py +508 -0
- physicskit/classical/visualizers/interactive.py +113 -0
- physicskit/classical/visualizers/modal_analysis.py +97 -0
- physicskit/classical/visualizers/phase_space.py +214 -0
- physicskit/condensed/__init__.py +122 -0
- physicskit/condensed/anderson_localization.py +155 -0
- physicskit/condensed/correlated.py +284 -0
- physicskit/condensed/ginzburg_landau.py +220 -0
- physicskit/condensed/landau_levels.py +246 -0
- physicskit/condensed/laughlin.py +229 -0
- physicskit/condensed/models.py +627 -0
- physicskit/condensed/tests/__init__.py +0 -0
- physicskit/condensed/tests/test_condensed.py +518 -0
- physicskit/condensed/tests/test_visualizers.py +87 -0
- physicskit/condensed/tight_binding.py +445 -0
- physicskit/condensed/topological_insulator_3d.py +178 -0
- physicskit/condensed/topology.py +217 -0
- physicskit/condensed/visualizers.py +296 -0
- physicskit/condensed/weyl.py +180 -0
- physicskit/constants.py +184 -0
- physicskit/fields/__init__.py +111 -0
- physicskit/fields/electrodynamics.py +671 -0
- physicskit/fields/quantum_fields.py +510 -0
- physicskit/fields/solitons.py +527 -0
- physicskit/fields/tests/__init__.py +0 -0
- physicskit/fields/tests/conftest.py +7 -0
- physicskit/fields/tests/test_field_animations.py +154 -0
- physicskit/fields/tests/test_fields.py +439 -0
- physicskit/fields/tests/test_visualizers.py +101 -0
- physicskit/fields/visualizers.py +503 -0
- physicskit/fluids/__init__.py +134 -0
- physicskit/fluids/core/__init__.py +23 -0
- physicskit/fluids/core/grid.py +165 -0
- physicskit/fluids/core/timestepping.py +231 -0
- physicskit/fluids/exceptions.py +26 -0
- physicskit/fluids/systems/__init__.py +70 -0
- physicskit/fluids/systems/compressible_flow.py +281 -0
- physicskit/fluids/systems/instabilities.py +343 -0
- physicskit/fluids/systems/navier_stokes.py +221 -0
- physicskit/fluids/systems/potential_flow.py +440 -0
- physicskit/fluids/systems/viscous_flow.py +425 -0
- physicskit/fluids/systems/vortex_dynamics.py +304 -0
- physicskit/fluids/tests/__init__.py +0 -0
- physicskit/fluids/tests/conftest.py +7 -0
- physicskit/fluids/tests/test_compressible_flow.py +66 -0
- physicskit/fluids/tests/test_instabilities.py +115 -0
- physicskit/fluids/tests/test_navier_stokes.py +67 -0
- physicskit/fluids/tests/test_potential_flow.py +92 -0
- physicskit/fluids/tests/test_static_visualizers.py +91 -0
- physicskit/fluids/tests/test_utils.py +100 -0
- physicskit/fluids/tests/test_viscous_flow.py +110 -0
- physicskit/fluids/tests/test_visualizers.py +34 -0
- physicskit/fluids/tests/test_vortex_dynamics.py +88 -0
- physicskit/fluids/utils/__init__.py +18 -0
- physicskit/fluids/utils/dimensionless.py +239 -0
- physicskit/fluids/utils/spectral_analysis.py +142 -0
- physicskit/fluids/visualizers/__init__.py +14 -0
- physicskit/fluids/visualizers/compressible.py +39 -0
- physicskit/fluids/visualizers/flow_fields.py +252 -0
- physicskit/fluids/visualizers/potential_flow.py +51 -0
- physicskit/fluids/visualizers/spectra.py +62 -0
- physicskit/fluids/visualizers/theme.py +38 -0
- physicskit/integrators/__init__.py +52 -0
- physicskit/integrators/adaptive.py +199 -0
- physicskit/integrators/fixed_step.py +360 -0
- physicskit/integrators/tests/__init__.py +0 -0
- physicskit/integrators/tests/test_integrators.py +101 -0
- physicskit/optics/__init__.py +124 -0
- physicskit/optics/_compat.py +5 -0
- physicskit/optics/gaussian.py +382 -0
- physicskit/optics/quantum_optics.py +428 -0
- physicskit/optics/ray.py +469 -0
- physicskit/optics/tests/__init__.py +0 -0
- physicskit/optics/tests/test_diffraction_animation.py +38 -0
- physicskit/optics/tests/test_gaussian.py +170 -0
- physicskit/optics/tests/test_quantum_optics.py +147 -0
- physicskit/optics/tests/test_ray.py +177 -0
- physicskit/optics/tests/test_visualizers.py +58 -0
- physicskit/optics/tests/test_wave.py +146 -0
- physicskit/optics/visualizers.py +264 -0
- physicskit/optics/wave.py +365 -0
- physicskit/particle/__init__.py +152 -0
- physicskit/particle/collider.py +382 -0
- physicskit/particle/confinement.py +125 -0
- physicskit/particle/decays.py +357 -0
- physicskit/particle/electroweak.py +300 -0
- physicskit/particle/kinematics.py +271 -0
- physicskit/particle/neutrinos.py +84 -0
- physicskit/particle/nuclear.py +100 -0
- physicskit/particle/scattering.py +159 -0
- physicskit/particle/tests/__init__.py +0 -0
- physicskit/particle/tests/conftest.py +7 -0
- physicskit/particle/tests/test_collider.py +119 -0
- physicskit/particle/tests/test_confinement.py +42 -0
- physicskit/particle/tests/test_decays.py +112 -0
- physicskit/particle/tests/test_electroweak.py +97 -0
- physicskit/particle/tests/test_kinematics.py +138 -0
- physicskit/particle/tests/test_neutrinos.py +36 -0
- physicskit/particle/tests/test_nuclear.py +45 -0
- physicskit/particle/tests/test_scattering.py +64 -0
- physicskit/particle/tests/test_visualizers.py +214 -0
- physicskit/particle/visualizers/__init__.py +38 -0
- physicskit/particle/visualizers/animations.py +705 -0
- physicskit/particle/visualizers/static.py +101 -0
- physicskit/plasma/__init__.py +176 -0
- physicskit/plasma/acceleration.py +152 -0
- physicskit/plasma/instabilities.py +417 -0
- physicskit/plasma/kinetic.py +588 -0
- physicskit/plasma/mhd.py +463 -0
- physicskit/plasma/single_particle.py +562 -0
- physicskit/plasma/tests/__init__.py +0 -0
- physicskit/plasma/tests/conftest.py +7 -0
- physicskit/plasma/tests/test_new_time_domain_features.py +222 -0
- physicskit/plasma/tests/test_plasma.py +232 -0
- physicskit/plasma/tests/test_visualizers.py +79 -0
- physicskit/plasma/turbulence.py +219 -0
- physicskit/plasma/visualizers.py +868 -0
- physicskit/plasma/waves.py +549 -0
- physicskit/quantum/__init__.py +180 -0
- physicskit/quantum/_compat.py +20 -0
- physicskit/quantum/chapters/__init__.py +0 -0
- physicskit/quantum/chapters/entanglement.py +489 -0
- physicskit/quantum/chapters/harmonic_spin.py +517 -0
- physicskit/quantum/chapters/hydrogen_am.py +292 -0
- physicskit/quantum/chapters/perturbation.py +350 -0
- physicskit/quantum/chapters/potentials.py +997 -0
- physicskit/quantum/chapters/spin.py +306 -0
- physicskit/quantum/chapters/wave_packets.py +541 -0
- physicskit/quantum/core/__init__.py +0 -0
- physicskit/quantum/core/eigensolvers.py +311 -0
- physicskit/quantum/core/operators.py +296 -0
- physicskit/quantum/core/solvers.py +271 -0
- physicskit/quantum/tests/__init__.py +0 -0
- physicskit/quantum/tests/conftest.py +7 -0
- physicskit/quantum/tests/test_animations.py +225 -0
- physicskit/quantum/tests/test_compat.py +43 -0
- physicskit/quantum/tests/test_eigensolvers.py +24 -0
- physicskit/quantum/tests/test_entanglement.py +127 -0
- physicskit/quantum/tests/test_harmonic_spin.py +140 -0
- physicskit/quantum/tests/test_hydrogen_am.py +48 -0
- physicskit/quantum/tests/test_measure.py +110 -0
- physicskit/quantum/tests/test_operators.py +105 -0
- physicskit/quantum/tests/test_perturbation.py +112 -0
- physicskit/quantum/tests/test_physics_checks.py +131 -0
- physicskit/quantum/tests/test_potentials.py +191 -0
- physicskit/quantum/tests/test_solvers.py +70 -0
- physicskit/quantum/tests/test_spin.py +22 -0
- physicskit/quantum/tests/test_unitarity.py +84 -0
- physicskit/quantum/tests/test_wave_packets.py +53 -0
- physicskit/quantum/utils/__init__.py +0 -0
- physicskit/quantum/utils/measure.py +253 -0
- physicskit/quantum/visualizers/__init__.py +0 -0
- physicskit/quantum/visualizers/bloch_sphere.py +205 -0
- physicskit/quantum/visualizers/entanglement.py +58 -0
- physicskit/quantum/visualizers/orbitals.py +187 -0
- physicskit/quantum/visualizers/phase_space.py +179 -0
- physicskit/quantum/visualizers/wavefunctions.py +230 -0
- physicskit/relativity/__init__.py +61 -0
- physicskit/relativity/chapters/__init__.py +33 -0
- physicskit/relativity/chapters/cosmology.py +190 -0
- physicskit/relativity/chapters/gw_merger.py +399 -0
- physicskit/relativity/chapters/kerr.py +371 -0
- physicskit/relativity/chapters/lensing.py +196 -0
- physicskit/relativity/chapters/neutron_star.py +149 -0
- physicskit/relativity/chapters/schwarzschild.py +412 -0
- physicskit/relativity/chapters/timekeeping.py +133 -0
- physicskit/relativity/core/__init__.py +12 -0
- physicskit/relativity/core/geodesics.py +216 -0
- physicskit/relativity/core/kerr_raytracer.py +259 -0
- physicskit/relativity/core/raytracer.py +241 -0
- physicskit/relativity/core/tensors.py +468 -0
- physicskit/relativity/tests/__init__.py +0 -0
- physicskit/relativity/tests/test_conservations.py +54 -0
- physicskit/relativity/tests/test_constants.py +34 -0
- physicskit/relativity/tests/test_cosmology.py +61 -0
- physicskit/relativity/tests/test_gw_merger.py +117 -0
- physicskit/relativity/tests/test_kerr.py +116 -0
- physicskit/relativity/tests/test_kerr_raytracer.py +103 -0
- physicskit/relativity/tests/test_lensing.py +75 -0
- physicskit/relativity/tests/test_neutron_star.py +48 -0
- physicskit/relativity/tests/test_raytracer.py +67 -0
- physicskit/relativity/tests/test_schwarzschild.py +126 -0
- physicskit/relativity/tests/test_shadow_render.py +81 -0
- physicskit/relativity/tests/test_tensors.py +86 -0
- physicskit/relativity/tests/test_timekeeping.py +51 -0
- physicskit/relativity/tests/test_visualizers_misc.py +115 -0
- physicskit/relativity/utils/__init__.py +1 -0
- physicskit/relativity/utils/constants.py +232 -0
- physicskit/relativity/visualizers/__init__.py +46 -0
- physicskit/relativity/visualizers/interactive.py +127 -0
- physicskit/relativity/visualizers/shadow_render.py +367 -0
- physicskit/relativity/visualizers/spacetime_3d.py +92 -0
- physicskit/relativity/visualizers/spacetime_diagrams.py +198 -0
- physicskit/relativity/visualizers/wave_plots.py +185 -0
- physicskit/rmt/__init__.py +8 -0
- physicskit/rmt/ensembles/__init__.py +108 -0
- physicskit/rmt/ensembles/banded.py +114 -0
- physicskit/rmt/ensembles/base.py +135 -0
- physicskit/rmt/ensembles/bdg.py +218 -0
- physicskit/rmt/ensembles/chiral.py +308 -0
- physicskit/rmt/ensembles/circular.py +104 -0
- physicskit/rmt/ensembles/crossover.py +82 -0
- physicskit/rmt/ensembles/density_matrix.py +148 -0
- physicskit/rmt/ensembles/effective_hamiltonian.py +230 -0
- physicskit/rmt/ensembles/embedded.py +207 -0
- physicskit/rmt/ensembles/gaussian.py +153 -0
- physicskit/rmt/ensembles/ginibre.py +110 -0
- physicskit/rmt/ensembles/girko.py +190 -0
- physicskit/rmt/ensembles/graph_laplacian.py +92 -0
- physicskit/rmt/ensembles/haar.py +57 -0
- physicskit/rmt/ensembles/jacobi.py +182 -0
- physicskit/rmt/ensembles/poisson.py +77 -0
- physicskit/rmt/ensembles/polynomial.py +139 -0
- physicskit/rmt/ensembles/pt_symmetric.py +120 -0
- physicskit/rmt/ensembles/single_ring.py +170 -0
- physicskit/rmt/ensembles/sparse.py +95 -0
- physicskit/rmt/ensembles/syk.py +170 -0
- physicskit/rmt/ensembles/truncated_unitary.py +80 -0
- physicskit/rmt/ensembles/universality.py +92 -0
- physicskit/rmt/ensembles/wishart.py +88 -0
- physicskit/rmt/py.typed +0 -0
- physicskit/rmt/spectrum.py +82 -0
- physicskit/rmt/stats/__init__.py +160 -0
- physicskit/rmt/stats/characteristic_polynomial.py +77 -0
- physicskit/rmt/stats/circular_law.py +54 -0
- physicskit/rmt/stats/correlations.py +162 -0
- physicskit/rmt/stats/density.py +70 -0
- physicskit/rmt/stats/entanglement.py +36 -0
- physicskit/rmt/stats/free_probability.py +202 -0
- physicskit/rmt/stats/localization.py +338 -0
- physicskit/rmt/stats/marchenko_pastur.py +55 -0
- physicskit/rmt/stats/pt_symmetric.py +265 -0
- physicskit/rmt/stats/ratios.py +110 -0
- physicskit/rmt/stats/real_ginibre.py +134 -0
- physicskit/rmt/stats/rigidity.py +272 -0
- physicskit/rmt/stats/single_ring.py +95 -0
- physicskit/rmt/stats/spacing.py +150 -0
- physicskit/rmt/stats/tracy_widom.py +175 -0
- physicskit/rmt/stats/truncated_unitary.py +40 -0
- physicskit/rmt/stats/unfolding.py +37 -0
- physicskit/rmt/stats/wachter.py +67 -0
- physicskit/rmt/tests/__init__.py +0 -0
- physicskit/rmt/tests/cache_utils.py +107 -0
- physicskit/rmt/tests/conftest.py +8 -0
- physicskit/rmt/tests/test_banded.py +86 -0
- physicskit/rmt/tests/test_base.py +29 -0
- physicskit/rmt/tests/test_bdg.py +133 -0
- physicskit/rmt/tests/test_characteristic_polynomial.py +50 -0
- physicskit/rmt/tests/test_chiral.py +273 -0
- physicskit/rmt/tests/test_circular.py +225 -0
- physicskit/rmt/tests/test_crossover.py +72 -0
- physicskit/rmt/tests/test_density.py +23 -0
- physicskit/rmt/tests/test_density_matrix.py +181 -0
- physicskit/rmt/tests/test_effective_hamiltonian.py +140 -0
- physicskit/rmt/tests/test_embedded.py +169 -0
- physicskit/rmt/tests/test_free_probability.py +81 -0
- physicskit/rmt/tests/test_gaussian_ensembles.py +22 -0
- physicskit/rmt/tests/test_gaussian_semicircle.py +127 -0
- physicskit/rmt/tests/test_ginibre_circular_law.py +131 -0
- physicskit/rmt/tests/test_girko.py +178 -0
- physicskit/rmt/tests/test_graph_laplacian.py +102 -0
- physicskit/rmt/tests/test_haar.py +118 -0
- physicskit/rmt/tests/test_jacobi_wachter.py +136 -0
- physicskit/rmt/tests/test_localization.py +240 -0
- physicskit/rmt/tests/test_poisson.py +149 -0
- physicskit/rmt/tests/test_polynomial.py +107 -0
- physicskit/rmt/tests/test_pt_symmetric.py +178 -0
- physicskit/rmt/tests/test_random_state.py +19 -0
- physicskit/rmt/tests/test_real_ginibre.py +112 -0
- physicskit/rmt/tests/test_rigidity_universality.py +167 -0
- physicskit/rmt/tests/test_single_ring.py +132 -0
- physicskit/rmt/tests/test_spacing_and_ratios.py +122 -0
- physicskit/rmt/tests/test_sparse.py +71 -0
- physicskit/rmt/tests/test_spectrum.py +27 -0
- physicskit/rmt/tests/test_syk.py +136 -0
- physicskit/rmt/tests/test_tracy_widom.py +113 -0
- physicskit/rmt/tests/test_tridiagonal.py +41 -0
- physicskit/rmt/tests/test_truncated_unitary.py +80 -0
- physicskit/rmt/tests/test_validation_base.py +25 -0
- physicskit/rmt/tests/test_validation_misc.py +67 -0
- physicskit/rmt/tests/test_wishart_marchenko_pastur.py +120 -0
- physicskit/rmt/utils/__init__.py +0 -0
- physicskit/rmt/utils/haar.py +128 -0
- physicskit/rmt/utils/random_state.py +24 -0
- physicskit/rmt/utils/tridiagonal.py +167 -0
- physicskit/rmt/validation/__init__.py +36 -0
- physicskit/rmt/validation/base.py +126 -0
- physicskit/rmt/validation/circular_law.py +80 -0
- physicskit/rmt/validation/marchenko_pastur.py +53 -0
- physicskit/rmt/validation/ratio_distribution.py +53 -0
- physicskit/rmt/validation/real_ginibre.py +60 -0
- physicskit/rmt/validation/sine_kernel.py +57 -0
- physicskit/rmt/validation/single_ring.py +68 -0
- physicskit/rmt/validation/tracy_widom.py +89 -0
- physicskit/rmt/validation/universality.py +100 -0
- physicskit/rmt/validation/wachter.py +52 -0
- physicskit/rmt/validation/wigner_semicircle.py +40 -0
- physicskit/rmt/validation/wigner_surmise.py +58 -0
- physicskit/semiclassical/__init__.py +94 -0
- physicskit/semiclassical/_compat.py +5 -0
- physicskit/semiclassical/core/__init__.py +41 -0
- physicskit/semiclassical/core/gutzwiller.py +215 -0
- physicskit/semiclassical/core/path_integral.py +594 -0
- physicskit/semiclassical/core/propagators.py +579 -0
- physicskit/semiclassical/core/wkb.py +308 -0
- physicskit/semiclassical/systems/__init__.py +13 -0
- physicskit/semiclassical/systems/scarring.py +278 -0
- physicskit/semiclassical/tests/__init__.py +0 -0
- physicskit/semiclassical/tests/test_gutzwiller.py +35 -0
- physicskit/semiclassical/tests/test_path_integral.py +194 -0
- physicskit/semiclassical/tests/test_propagators.py +82 -0
- physicskit/semiclassical/tests/test_scarring.py +43 -0
- physicskit/semiclassical/tests/test_visualizers.py +89 -0
- physicskit/semiclassical/tests/test_wkb.py +30 -0
- physicskit/semiclassical/visualizers/__init__.py +17 -0
- physicskit/semiclassical/visualizers/gutzwiller.py +55 -0
- physicskit/semiclassical/visualizers/path_integral.py +195 -0
- physicskit/semiclassical/visualizers/propagators.py +89 -0
- physicskit/semiclassical/visualizers/scarring.py +146 -0
- physicskit/semiclassical/visualizers/wkb.py +55 -0
- physicskit/statphys/__init__.py +80 -0
- physicskit/statphys/chapters/__init__.py +43 -0
- physicskit/statphys/chapters/ehrenfest_urn.py +112 -0
- physicskit/statphys/chapters/ising_lattice.py +431 -0
- physicskit/statphys/chapters/kpz_growth.py +129 -0
- physicskit/statphys/chapters/molecular_dynamics.py +258 -0
- physicskit/statphys/chapters/nonequilibrium_work.py +146 -0
- physicskit/statphys/chapters/percolation.py +305 -0
- physicskit/statphys/chapters/random_walk.py +142 -0
- physicskit/statphys/chapters/renormalization.py +148 -0
- physicskit/statphys/chapters/sandpile.py +109 -0
- physicskit/statphys/chapters/spin_glass.py +275 -0
- physicskit/statphys/core/__init__.py +10 -0
- physicskit/statphys/core/kpz_engine.py +53 -0
- physicskit/statphys/core/md_engine.py +157 -0
- physicskit/statphys/core/monte_carlo.py +462 -0
- physicskit/statphys/core/random_walk_engine.py +68 -0
- physicskit/statphys/core/sandpile_engine.py +52 -0
- physicskit/statphys/tests/__init__.py +0 -0
- physicskit/statphys/tests/test_dynamics.py +66 -0
- physicskit/statphys/tests/test_ehrenfest_urn.py +44 -0
- physicskit/statphys/tests/test_finite_size_scaling.py +62 -0
- physicskit/statphys/tests/test_interactive.py +33 -0
- physicskit/statphys/tests/test_ising.py +68 -0
- physicskit/statphys/tests/test_kpz.py +55 -0
- physicskit/statphys/tests/test_landau_theory.py +49 -0
- physicskit/statphys/tests/test_md_engine.py +31 -0
- physicskit/statphys/tests/test_molecular_dynamics.py +72 -0
- physicskit/statphys/tests/test_nonequilibrium_work.py +33 -0
- physicskit/statphys/tests/test_partition_function.py +26 -0
- physicskit/statphys/tests/test_percolation.py +116 -0
- physicskit/statphys/tests/test_potts_model.py +46 -0
- physicskit/statphys/tests/test_random_walk.py +50 -0
- physicskit/statphys/tests/test_renormalization.py +44 -0
- physicskit/statphys/tests/test_sandpile.py +44 -0
- physicskit/statphys/tests/test_spin_glass.py +73 -0
- physicskit/statphys/tests/test_thermodynamics.py +121 -0
- physicskit/statphys/tests/test_xy_model.py +45 -0
- physicskit/statphys/utils/__init__.py +1 -0
- physicskit/statphys/utils/dynamics.py +100 -0
- physicskit/statphys/utils/finite_size_scaling.py +171 -0
- physicskit/statphys/utils/landau_theory.py +151 -0
- physicskit/statphys/utils/partition_function.py +109 -0
- physicskit/statphys/utils/thermodynamics.py +356 -0
- physicskit/statphys/visualizers/__init__.py +87 -0
- physicskit/statphys/visualizers/interactive.py +161 -0
- physicskit/statphys/visualizers/jarzynski_render.py +44 -0
- physicskit/statphys/visualizers/kpz_render.py +65 -0
- physicskit/statphys/visualizers/lattice_render.py +212 -0
- physicskit/statphys/visualizers/particle_render.py +121 -0
- physicskit/statphys/visualizers/random_walk_render.py +106 -0
- physicskit/statphys/visualizers/rg_render.py +45 -0
- physicskit/statphys/visualizers/sandpile_render.py +65 -0
- physicskit/statphys/visualizers/spin_glass_render.py +40 -0
- physicskit/statphys/visualizers/urn_render.py +38 -0
- physicskit/statphys/visualizers/vortex_render.py +84 -0
- physicskit/tests/__init__.py +0 -0
- physicskit/tests/test_constants.py +38 -0
- physicskit-0.1.0.dist-info/METADATA +196 -0
- physicskit-0.1.0.dist-info/RECORD +484 -0
- physicskit-0.1.0.dist-info/WHEEL +5 -0
- physicskit-0.1.0.dist-info/licenses/LICENSE +21 -0
- physicskit-0.1.0.dist-info/top_level.txt +1 -0
physicskit/constants.py
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"""Physical constants shared across physicskit, in SI units.
|
|
2
|
+
|
|
3
|
+
Every subpackage in physicskit computes in whatever unit convention is
|
|
4
|
+
natural for its own domain -- ``astro`` uses gravitational units with
|
|
5
|
+
:math:`G = 1`, ``relativity`` uses geometrized units with :math:`G = c =
|
|
6
|
+
1`, the ``quantum`` family sets :math:`\\hbar = 1`, and ``statphys`` writes
|
|
7
|
+
entropy and free energy in units of :math:`k_B`. Each of those choices is
|
|
8
|
+
documented in the relevant subpackage and is the right call for a
|
|
9
|
+
self-contained chapter.
|
|
10
|
+
|
|
11
|
+
This module is the single place those subpackages (and calling code) can
|
|
12
|
+
get the *actual* SI value of a constant, so that "G" or "hbar" or "k_B"
|
|
13
|
+
means the same number everywhere in physicskit rather than being
|
|
14
|
+
independently retyped -- and potentially drifting -- in each subpackage.
|
|
15
|
+
Values are taken from :mod:`scipy.constants` (2019 SI redefinition /
|
|
16
|
+
CODATA), which is already a physicskit dependency.
|
|
17
|
+
|
|
18
|
+
A handful of conversion helpers are also provided, but only for
|
|
19
|
+
conversions that are well-defined without extra domain choices: energy
|
|
20
|
+
<-> temperature (via :math:`k_B`) and energy <-> electronvolts, plus a
|
|
21
|
+
helper for going from an :math:`(L_0, M_0)` length/mass scale choice to
|
|
22
|
+
the derived time and velocity scale of a gravitational (:math:`G = 1`)
|
|
23
|
+
unit system, e.g. as used in :mod:`physicskit.astro`. Converting a
|
|
24
|
+
:math:`\\hbar = 1` quantum-chapter result to SI additionally requires a
|
|
25
|
+
choice of mass or length scale specific to that chapter, so no generic
|
|
26
|
+
helper is provided for it -- see the chapter's own docstring instead.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
from __future__ import annotations
|
|
30
|
+
|
|
31
|
+
import scipy.constants as _sc
|
|
32
|
+
|
|
33
|
+
__all__ = [
|
|
34
|
+
"C",
|
|
35
|
+
"G",
|
|
36
|
+
"H",
|
|
37
|
+
"HBAR",
|
|
38
|
+
"K_B",
|
|
39
|
+
"ELEMENTARY_CHARGE",
|
|
40
|
+
"ELECTRON_MASS",
|
|
41
|
+
"PROTON_MASS",
|
|
42
|
+
"NEUTRON_MASS",
|
|
43
|
+
"AVOGADRO",
|
|
44
|
+
"GAS_CONSTANT",
|
|
45
|
+
"VACUUM_PERMITTIVITY",
|
|
46
|
+
"VACUUM_PERMEABILITY",
|
|
47
|
+
"STEFAN_BOLTZMANN",
|
|
48
|
+
"ELECTRONVOLT",
|
|
49
|
+
"SOLAR_MASS_KG",
|
|
50
|
+
"ASTRONOMICAL_UNIT_M",
|
|
51
|
+
"PARSEC_M",
|
|
52
|
+
"energy_to_temperature",
|
|
53
|
+
"temperature_to_energy",
|
|
54
|
+
"joules_to_ev",
|
|
55
|
+
"ev_to_joules",
|
|
56
|
+
"gravitational_unit_system",
|
|
57
|
+
]
|
|
58
|
+
|
|
59
|
+
#: Speed of light in vacuum, in m/s (exact by SI definition).
|
|
60
|
+
C = _sc.c
|
|
61
|
+
|
|
62
|
+
#: Newton's gravitational constant, in m^3 kg^-1 s^-2.
|
|
63
|
+
G = _sc.G
|
|
64
|
+
|
|
65
|
+
#: Planck constant, in J*s (exact by SI definition).
|
|
66
|
+
H = _sc.h
|
|
67
|
+
|
|
68
|
+
#: Reduced Planck constant, in J*s.
|
|
69
|
+
HBAR = _sc.hbar
|
|
70
|
+
|
|
71
|
+
#: Boltzmann constant, in J/K (exact by SI definition).
|
|
72
|
+
K_B = _sc.k
|
|
73
|
+
|
|
74
|
+
#: Elementary charge, in C (exact by SI definition).
|
|
75
|
+
ELEMENTARY_CHARGE = _sc.e
|
|
76
|
+
|
|
77
|
+
#: Electron rest mass, in kg.
|
|
78
|
+
ELECTRON_MASS = _sc.m_e
|
|
79
|
+
|
|
80
|
+
#: Proton rest mass, in kg.
|
|
81
|
+
PROTON_MASS = _sc.m_p
|
|
82
|
+
|
|
83
|
+
#: Neutron rest mass, in kg.
|
|
84
|
+
NEUTRON_MASS = _sc.m_n
|
|
85
|
+
|
|
86
|
+
#: Avogadro constant, in mol^-1 (exact by SI definition).
|
|
87
|
+
AVOGADRO = _sc.N_A
|
|
88
|
+
|
|
89
|
+
#: Molar gas constant, in J mol^-1 K^-1.
|
|
90
|
+
GAS_CONSTANT = _sc.R
|
|
91
|
+
|
|
92
|
+
#: Vacuum electric permittivity, in F/m.
|
|
93
|
+
VACUUM_PERMITTIVITY = _sc.epsilon_0
|
|
94
|
+
|
|
95
|
+
#: Vacuum magnetic permeability, in N/A^2.
|
|
96
|
+
VACUUM_PERMEABILITY = _sc.mu_0
|
|
97
|
+
|
|
98
|
+
#: Stefan-Boltzmann constant, in W m^-2 K^-4.
|
|
99
|
+
STEFAN_BOLTZMANN = _sc.Stefan_Boltzmann
|
|
100
|
+
|
|
101
|
+
#: One electronvolt, in J.
|
|
102
|
+
ELECTRONVOLT = _sc.eV
|
|
103
|
+
|
|
104
|
+
#: Solar mass, in kg.
|
|
105
|
+
SOLAR_MASS_KG = 1.988_47e30
|
|
106
|
+
|
|
107
|
+
#: One astronomical unit, in m.
|
|
108
|
+
ASTRONOMICAL_UNIT_M = _sc.au
|
|
109
|
+
|
|
110
|
+
#: One parsec, in m.
|
|
111
|
+
PARSEC_M = _sc.parsec
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
def energy_to_temperature(energy_j):
|
|
115
|
+
"""Convert an energy (in J) to the temperature (in K) with :math:`E = k_B T`.
|
|
116
|
+
|
|
117
|
+
Examples
|
|
118
|
+
--------
|
|
119
|
+
>>> round(float(energy_to_temperature(K_B)), 6)
|
|
120
|
+
1.0
|
|
121
|
+
"""
|
|
122
|
+
return energy_j / K_B
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
def temperature_to_energy(temperature_k):
|
|
126
|
+
"""Convert a temperature (in K) to an energy (in J) with :math:`E = k_B T`.
|
|
127
|
+
|
|
128
|
+
Examples
|
|
129
|
+
--------
|
|
130
|
+
>>> temperature_to_energy(1.0) == K_B
|
|
131
|
+
True
|
|
132
|
+
"""
|
|
133
|
+
return temperature_k * K_B
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def joules_to_ev(energy_j):
|
|
137
|
+
"""Convert an energy from joules to electronvolts."""
|
|
138
|
+
return energy_j / ELECTRONVOLT
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
def ev_to_joules(energy_ev):
|
|
142
|
+
"""Convert an energy from electronvolts to joules."""
|
|
143
|
+
return energy_ev * ELECTRONVOLT
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def gravitational_unit_system(length_m, mass_kg):
|
|
147
|
+
"""Derive the time and velocity scale of a :math:`G = 1` unit system.
|
|
148
|
+
|
|
149
|
+
Packages such as :mod:`physicskit.astro` compute with :math:`G = 1`,
|
|
150
|
+
leaving the length and mass scales free. Fixing a length scale
|
|
151
|
+
``length_m`` (in meters, "1 length unit") and a mass scale
|
|
152
|
+
``mass_kg`` (in kg, "1 mass unit") determines the corresponding time
|
|
153
|
+
and velocity units via :math:`G_{SI} = 1 \\times L^3/(M T^2)`, i.e.
|
|
154
|
+
:math:`T = \\sqrt{L^3/(G_{SI} M)}`.
|
|
155
|
+
|
|
156
|
+
Parameters
|
|
157
|
+
----------
|
|
158
|
+
length_m : float
|
|
159
|
+
The physical length, in meters, that corresponds to 1 length
|
|
160
|
+
unit in the :math:`G = 1` system.
|
|
161
|
+
mass_kg : float
|
|
162
|
+
The physical mass, in kg, that corresponds to 1 mass unit in the
|
|
163
|
+
:math:`G = 1` system.
|
|
164
|
+
|
|
165
|
+
Returns
|
|
166
|
+
-------
|
|
167
|
+
dict
|
|
168
|
+
A dict with keys ``"length_m"``, ``"mass_kg"``, ``"time_s"``, and
|
|
169
|
+
``"velocity_m_s"`` giving the physical size of one unit of each
|
|
170
|
+
quantity in this unit system.
|
|
171
|
+
|
|
172
|
+
Examples
|
|
173
|
+
--------
|
|
174
|
+
>>> units = gravitational_unit_system(length_m=PARSEC_M, mass_kg=SOLAR_MASS_KG)
|
|
175
|
+
>>> units["time_s"] > 0
|
|
176
|
+
True
|
|
177
|
+
"""
|
|
178
|
+
time_s = (length_m**3 / (G * mass_kg)) ** 0.5
|
|
179
|
+
return {
|
|
180
|
+
"length_m": length_m,
|
|
181
|
+
"mass_kg": mass_kg,
|
|
182
|
+
"time_s": time_s,
|
|
183
|
+
"velocity_m_s": length_m / time_s,
|
|
184
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"""Classical and quantum field theory: electrodynamics, solitons, and BEC vortex lattices.
|
|
2
|
+
|
|
3
|
+
Typical usage::
|
|
4
|
+
|
|
5
|
+
import physicskit as pk
|
|
6
|
+
import numpy as np
|
|
7
|
+
|
|
8
|
+
# A dark soliton on a defocusing NLS background:
|
|
9
|
+
x = np.linspace(-40, 40, 1024)
|
|
10
|
+
psi0 = pk.fields.nls_dark_soliton(x, t=0.0)
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from .electrodynamics import (
|
|
14
|
+
C0,
|
|
15
|
+
EPS0,
|
|
16
|
+
MU0,
|
|
17
|
+
courant_limit_1d,
|
|
18
|
+
courant_limit_2d,
|
|
19
|
+
dielectric_slab,
|
|
20
|
+
fdtd_1d,
|
|
21
|
+
fdtd_2d_tmz,
|
|
22
|
+
fdtd_2d_tmz_evolve,
|
|
23
|
+
flux_tube_energy_density_2d,
|
|
24
|
+
flux_tube_field_1d,
|
|
25
|
+
oscillating_dipole_source,
|
|
26
|
+
pml_conductivity_profile,
|
|
27
|
+
pml_conductivity_profile_2d,
|
|
28
|
+
poynting_vector_tmz,
|
|
29
|
+
tmz_cavity_mode,
|
|
30
|
+
)
|
|
31
|
+
from .quantum_fields import (
|
|
32
|
+
casimir_energy_1d,
|
|
33
|
+
casimir_mode_frequencies,
|
|
34
|
+
count_vortices,
|
|
35
|
+
gpe_energy,
|
|
36
|
+
gpe_evolve,
|
|
37
|
+
gpe_imprint_vortex,
|
|
38
|
+
gpe_relax,
|
|
39
|
+
harmonic_trap_grid,
|
|
40
|
+
)
|
|
41
|
+
from .solitons import (
|
|
42
|
+
kdv_evolve,
|
|
43
|
+
kdv_evolve_frames,
|
|
44
|
+
kdv_soliton,
|
|
45
|
+
kdv_step,
|
|
46
|
+
nls_bright_soliton,
|
|
47
|
+
nls_dark_soliton,
|
|
48
|
+
nls_evolve,
|
|
49
|
+
nls_evolve_frames,
|
|
50
|
+
sine_gordon_evolve,
|
|
51
|
+
sine_gordon_evolve_frames,
|
|
52
|
+
sine_gordon_kink,
|
|
53
|
+
)
|
|
54
|
+
from .visualizers import (
|
|
55
|
+
animate_casimir_modes,
|
|
56
|
+
animate_density_2d,
|
|
57
|
+
animate_field_1d,
|
|
58
|
+
animate_field_2d,
|
|
59
|
+
animate_flux_tube,
|
|
60
|
+
plot_bec_density,
|
|
61
|
+
plot_bec_phase,
|
|
62
|
+
plot_field_1d,
|
|
63
|
+
plot_poynting_field,
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
__all__ = [
|
|
67
|
+
"EPS0",
|
|
68
|
+
"MU0",
|
|
69
|
+
"C0",
|
|
70
|
+
"courant_limit_1d",
|
|
71
|
+
"courant_limit_2d",
|
|
72
|
+
"fdtd_1d",
|
|
73
|
+
"fdtd_2d_tmz",
|
|
74
|
+
"fdtd_2d_tmz_evolve",
|
|
75
|
+
"pml_conductivity_profile",
|
|
76
|
+
"pml_conductivity_profile_2d",
|
|
77
|
+
"oscillating_dipole_source",
|
|
78
|
+
"dielectric_slab",
|
|
79
|
+
"tmz_cavity_mode",
|
|
80
|
+
"poynting_vector_tmz",
|
|
81
|
+
"flux_tube_field_1d",
|
|
82
|
+
"flux_tube_energy_density_2d",
|
|
83
|
+
"kdv_soliton",
|
|
84
|
+
"kdv_step",
|
|
85
|
+
"kdv_evolve",
|
|
86
|
+
"kdv_evolve_frames",
|
|
87
|
+
"nls_bright_soliton",
|
|
88
|
+
"nls_dark_soliton",
|
|
89
|
+
"nls_evolve",
|
|
90
|
+
"nls_evolve_frames",
|
|
91
|
+
"sine_gordon_kink",
|
|
92
|
+
"sine_gordon_evolve",
|
|
93
|
+
"sine_gordon_evolve_frames",
|
|
94
|
+
"harmonic_trap_grid",
|
|
95
|
+
"gpe_imprint_vortex",
|
|
96
|
+
"gpe_relax",
|
|
97
|
+
"gpe_evolve",
|
|
98
|
+
"gpe_energy",
|
|
99
|
+
"count_vortices",
|
|
100
|
+
"casimir_mode_frequencies",
|
|
101
|
+
"casimir_energy_1d",
|
|
102
|
+
"plot_field_1d",
|
|
103
|
+
"plot_poynting_field",
|
|
104
|
+
"plot_bec_density",
|
|
105
|
+
"plot_bec_phase",
|
|
106
|
+
"animate_field_1d",
|
|
107
|
+
"animate_field_2d",
|
|
108
|
+
"animate_density_2d",
|
|
109
|
+
"animate_flux_tube",
|
|
110
|
+
"animate_casimir_modes",
|
|
111
|
+
]
|