<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>MāyāPramāṇa: Quantum Sensor Digital Twins on MayaLucIA</title>
    <link>https://mayalucia.dev/modules/mayapramana/</link>
    <description>Recent content in MāyāPramāṇa: Quantum Sensor Digital Twins on MayaLucIA</description>
    <generator>Hugo -- 0.156.0</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 25 Feb 2026 12:00:00 +0100</lastBuildDate>
    <atom:link href="https://mayalucia.dev/modules/mayapramana/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>C&#43;&#43; Track: Deployment</title>
      <link>https://mayalucia.dev/modules/mayapramana/cpp/</link>
      <pubDate>Wed, 25 Feb 2026 12:00:00 +0100</pubDate>
      <guid>https://mayalucia.dev/modules/mayapramana/cpp/</guid>
      <description>&lt;p&gt;C++ is the deployment language of MāyāPramāṇa &amp;mdash; the bridge from understanding to hardware. The same Bloch equation solver that runs interactively in Python and type-checks in Haskell must eventually execute in real-time on a Red Pitaya FPGA controlling an actual magnetometer.&lt;/p&gt;
&lt;h2 id=&#34;pure-core--effectful-shell&#34;&gt;Pure Core / Effectful Shell&lt;/h2&gt;
&lt;p&gt;The architecture separates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pure core&lt;/strong&gt; &amp;mdash; physics, signal processing, estimation algorithms. No I/O, no global state, no allocations in the hot path. These are the same functions as in Haskell, translated to C++ templates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Effectful shell&lt;/strong&gt; &amp;mdash; hardware I/O (ADC/DAC), logging, calibration, network communication. Side effects are quarantined at the boundary.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This separation makes the core testable, portable, and comprehensible. The shell adapts to the deployment target (Red Pitaya, desktop simulation, or browser via WebAssembly).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Haskell Track: Executable Specification</title>
      <link>https://mayalucia.dev/modules/mayapramana/haskell/</link>
      <pubDate>Wed, 25 Feb 2026 12:00:00 +0100</pubDate>
      <guid>https://mayalucia.dev/modules/mayapramana/haskell/</guid>
      <description>&lt;p&gt;Haskell is the specification language of MāyāPramāṇa. If the Python track asks &amp;ldquo;what happens?&amp;rdquo;, the Haskell track asks &amp;ldquo;what &lt;em&gt;must&lt;/em&gt; happen?&amp;rdquo; Types encode physical units, function signatures encode signal flow, and QuickCheck properties encode the laws of physics.&lt;/p&gt;
&lt;h2 id=&#34;why-haskell-for-physics&#34;&gt;Why Haskell for Physics?&lt;/h2&gt;
&lt;p&gt;Signal processing is inherently compositional. A lock-in amplifier is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;demodulate . lowpass . mix_with_reference . sample
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Each stage is a pure function; the pipeline is their composition. Haskell makes this composition explicit and type-safe. A Kalman filter is a state monad; a PID controller is a feedback arrow. The language&amp;rsquo;s abstractions map directly onto the physics.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Interactive Demo: The Bloch Sphere</title>
      <link>https://mayalucia.dev/modules/mayapramana/demo/</link>
      <pubDate>Wed, 25 Feb 2026 12:00:00 +0100</pubDate>
      <guid>https://mayalucia.dev/modules/mayapramana/demo/</guid>
      <description>&lt;p&gt;The Bloch sphere is the geometric representation of a two-level quantum system &amp;mdash; every point on the sphere corresponds to a pure state, every point inside to a mixed state. Watching a spin precess on the Bloch sphere builds intuition that no equation can replace.&lt;/p&gt;
&lt;h2 id=&#34;what-the-demo-will-show&#34;&gt;What the Demo Will Show&lt;/h2&gt;
&lt;p&gt;An interactive 3D Bloch sphere in the browser where the user can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Apply a static field&lt;/strong&gt; and watch Larmor precession&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Turn on optical pumping&lt;/strong&gt; and see the state spiral toward the poles&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Add relaxation&lt;/strong&gt; (T₁, T₂) and observe the magnetisation decay&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sweep the RF field&lt;/strong&gt; and find the resonance condition&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compare&lt;/strong&gt; the quantum spin dynamics with the Bloch vector approximation&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;applications-context&#34;&gt;Applications Context&lt;/h2&gt;
&lt;p&gt;The same physics drives optically pumped magnetometers (OPMs) used for:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lesson 00: The Bloch Equations</title>
      <link>https://mayalucia.dev/modules/mayapramana/bloch-equations/</link>
      <pubDate>Wed, 25 Feb 2026 12:00:00 +0100</pubDate>
      <guid>https://mayalucia.dev/modules/mayapramana/bloch-equations/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I think I can safely say that nobody understands quantum mechanics.&amp;rdquo; &amp;mdash; Richard Feynman&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The Bloch equations describe how a magnetic moment precesses, relaxes, and responds to resonant driving fields. They are the foundation of everything that follows in the magnetometer: optical pumping, Larmor precession, signal demodulation, and state estimation all reduce to solving these equations under different conditions.&lt;/p&gt;
&lt;h2 id=&#34;what-this-lesson-covers&#34;&gt;What This Lesson Covers&lt;/h2&gt;
&lt;p&gt;Starting from a single spin-½ in a static magnetic field, the lesson builds up to the full Bloch vector equations through:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Python Track: Interactive Exploration</title>
      <link>https://mayalucia.dev/modules/mayapramana/python/</link>
      <pubDate>Wed, 25 Feb 2026 12:00:00 +0100</pubDate>
      <guid>https://mayalucia.dev/modules/mayapramana/python/</guid>
      <description>&lt;p&gt;Python is the exploration language of MāyāPramāṇa &amp;mdash; the medium for quick experiments, interactive plots, and org-babel notebooks. When you want to see what happens when you change the pump rate or sweep the RF frequency, you reach for Python.&lt;/p&gt;
&lt;h2 id=&#34;role-in-the-three-language-architecture&#34;&gt;Role in the Three-Language Architecture&lt;/h2&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Language&lt;/th&gt;
          &lt;th&gt;Role&lt;/th&gt;
          &lt;th&gt;Strength&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/td&gt;
          &lt;td&gt;Exploration&lt;/td&gt;
          &lt;td&gt;Fast iteration, plotting, org-babel integration&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Haskell&lt;/td&gt;
          &lt;td&gt;Specification&lt;/td&gt;
          &lt;td&gt;Type safety, QuickCheck property testing&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;C++&lt;/td&gt;
          &lt;td&gt;Deployment&lt;/td&gt;
          &lt;td&gt;Real-time performance, FPGA bridge&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The Python track implements the same physics as Haskell and C++, but optimises for &lt;strong&gt;readability and interactivity&lt;/strong&gt; rather than performance or type safety. NumPy and SciPy handle the numerics; Matplotlib handles the visualisation; org-babel handles the narrative.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
