Platform Stats After Wave 23
Wave 23 Posts
Published with this wave
📊 Spotlight #44 — General Relativity & Cosmology (∼17 min) 📖 Learning #33 — Complex Analysis in Physics (∼16 min)New Simulations
PCA / SVD Visualiser
Principal Component Analysis and Singular Value Decomposition on a live 2D scatter plot. Generate a synthetic dataset with controllable variance, covariance, and outliers. Watch the algorithm compute the covariance matrix, diagonalise it, and draw the principal component axes scaled by their eigenvalues. A bar chart shows explained variance per component; a slider lets you project the cloud onto k principal components and reconstruct with varying k to see compression quality.
The SVD tab decomposes an arbitrary 3×3 matrix M = U Σ Vᵀ and animates the three geometric transformations: rotation V, scaling Σ, rotation U. Singular values are proportional to bar widths; the matrix rank is the number of non-zero singular values.
Engineering Note: Incremental Covariance & Eigendecomposition
The covariance matrix C = XᵀX/(n−1) (zero-mean data) is computed in O(n·d²) time. For d = 2, eigenvalues follow the closed-form formula: λ₁,₂ = (σₓ² + σᵧ²)/2 ± √((σₓ² − σᵧ²)²/4 + σₓᵧ²). Eigenvectors are computed via the 2×2 Jacobi rotation and updated live as points are dragged — all without any linear algebra library, just browser JS. The SVD interface uses iterative Golub-Reinsch bidiagonalisation for the 3×3 case, converging in ≤ 10 iterations.
C vₖ = λₖ vₖ (eigendecomposition)
Explained variance ratio: EVR(k) = λₖ / ∑ λⱼ
Reconstruction error: ‖X − X_recon‖² = ∑j>k λⱼ (Eckart-Young thm.)
Torus & Surface Genus
Parametric 3D surfaces rendered with Three.js r160: sphere (genus 0), torus (genus 1), double torus (genus 2), and triple torus (genus 3). Rotate with mouse, pinch to zoom, toggle wireframe/solid/both. An info panel shows the genus g, Euler characteristic χ = 2 − 2g, and the fundamental polygon identification string (aba⁻¹b⁻¹ for the torus).
A section on simplicial complexes lets you morph between genus levels by adding handles; the Euler characteristic V − E + F updates in real time. The hairy ball theorem is demonstrated by attempting to comb a vector field on the sphere (genus 0) vs. the torus (genus 1): the torus admits a zero-free vector field.
Engineering Note: Parametric Torus with Handle Attachment
The genus-g surface is constructed by gluing g handle tori to a base sphere. For g = 1, the standard torus parametrisation x = (R + r cos v) cos u, y = (R + r cos v) sin u, z = r sin v is used. For g = 2, two handles are attached at antipodal points of the base sphere, each handle generated by a translated torus patch and blended with a smooth bump function to ensure C¹ continuity. Three.js’ BufferGeometry indexes the vertices to share normals across seams, keeping the WebGL draw call to a single indexed mesh per surface.
χ = 2 − 2g for a closed orientable surface of genus g
g = 0 (sphere): χ = 2 | g = 1 (torus): χ = 0
g = 2 (double torus): χ = −2 | g = 3: χ = −4
Gauss-Bonnet theorem: ∫∫ K dA = 2π χ (links curvature to topology)
Gravitational Lensing (Existing Sim Highlighted)
The gravitational lensing simulation received significant upgrades in Wave 23: the lens mass can now be swept from a solar-mass microlens to a 1015 M☉ galaxy cluster, with automatic switching between the microlensing regime (point source magnification) and the strong lensing regime (multiple counter-images and Einstein rings). A Fermat potential surface is drawn alongside the imageplane, showing that the two primary images correspond to Fermat minima and saddle points. Source ellipticity controls are added for weak-lensing shear visualisation.
This Wave’s Blog Posts
Spotlight #44 — General Relativity & Cosmology
A 17-minute deep dive spanning the equivalence principle through to the cosmological constant problem. Covers: metric tensor and geodesics; Einstein field equations (Gμν + Λgμν = 8πG/c⁴ Tμν); Schwarzschild metric, event horizon, photon sphere (r = 3rs/2), ISCO (r = 3rs), Kerr rotation and Penrose process; gravitational lensing (deflection angle 4GM/c²b, Einstein rings, Eddington 1919); gravitational redshift and GPS corrections (+45.9 − 7.2 = +38.7 μs/day); FLRW metric, Friedmann equations, Ωm ≈ 0.315, ΩΛ ≈ 0.685; CMB acoustic peaks at ℓ ≈ 220, Silk damping, B-mode polarisation and inflation; dark energy equation of state w ≈ −1 and the 10123 fine-tuning problem.
Learning #33 — Complex Analysis in Physics
A 16-minute structured course. Topics: complex plane, Euler formula (eiπ+1=0), de Moivre, roots of unity; Cauchy-Riemann equations and harmonic functions; Cauchy’s theorem and integral formula (values inside determined by boundary); Laurent series, residues, pole classification; residue theorem and applications to classic improper integrals; conformal maps (Möbius, Joukowski aerofoil lift theorem L = ρUΓ, Schwarz-Christoffel for polygonal domains); physical applications (2D potential flow, complex velocity dF/dz = vₓ − ivᵧ; method of images in electrostatics; AC impedance phasors; Fourier/Laplace contour inversions and quantum propagators); analytic continuation and the Riemann hypothesis.
What’s Next: Wave 24
Wave 24 will focus on fluid dynamics, combustion and quantum computing. Planned simulations include:
- Taylor series visualiser — sin/cos/ex polynomial approximations with interactive radius of convergence.
- Michaelis-Menten kinetics — enzyme kinetics Vmax, Km, inhibitor types, Lineweaver-Burk plot.
- Markov chain visualiser upgrades — absorbing states, ergodicity, PageRank power iteration.
- Thermodynamic phase equilibrium — Le Chatelier, ΔG vs. Q/K, temperature and pressure shifts.
- Gravitational wave chirp — inspiral waveform h(t), frequency sweep, LIGO detector response.
Blog posts: Spotlight #45 on Fluid Dynamics & Turbulence; Learning #34 on Thermodynamics & Statistical Mechanics.