From 534711cfada84a0ef52b5e4d98ab94b7715c7fa8 Mon Sep 17 00:00:00 2001 From: Liam Zhang Date: Fri, 17 Apr 2026 05:27:58 +0000 Subject: [PATCH] Fix tutorials doc format issues Signed-off-by: Liam Zhang --- docs/tutorials/poly.rst | 2 ++ docs/tutorials/stp.rst | 1 + 2 files changed, 3 insertions(+) diff --git a/docs/tutorials/poly.rst b/docs/tutorials/poly.rst index 6fecb0a..5f90190 100644 --- a/docs/tutorials/poly.rst +++ b/docs/tutorials/poly.rst @@ -43,6 +43,7 @@ Example: Wiring a Square Function ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Let's say we want to compute :math:`y = x \otimes x` (the tensor product of :math:`x` with itself). + * **The Math (STP)**: Requires two input operands (Left, Right) and produces one output. * **The Circuit (SP)**: Has only *one* global input (:math:`x`). We need to wire this single input to *both* the Left and Right operands of the STP. @@ -151,6 +152,7 @@ This happens when every operand is made of segments that are: **Why does this matter?** If your data is "Uniform 1D", it fits into regular tensors. This means we don't need slow, sparse lookups. We can use highly optimized code: + * **Vectorization**: Using ``vmap`` in JAX or PyTorch. * **CUDA Kernels**: We provide specialized GPU kernels for this case that are very fast. diff --git a/docs/tutorials/stp.rst b/docs/tutorials/stp.rst index 0f8a1e2..c9e0137 100644 --- a/docs/tutorials/stp.rst +++ b/docs/tutorials/stp.rst @@ -80,6 +80,7 @@ Now for the connectivity. A **path** defines a single term in our sparse calcula It specifies which segments interact. If we want to connect: + * Segment 0 from Operand 0 * Segment 1 from Operand 1 * Segment 0 from Operand 2