Tools for |
Nova
Markdown editor for STEM
Turn ordinary markdown with a Python code block into a live, interactive article. All markdowns live on your public Github repo. No login required.
# The cardioid```pygeomaticn = gm.scalar(6)nums = gm.linspace(0, n - 1, n)rad = gm.deg2rad(360 * nums / n)r = gm.scalar(2)pts = gm.point(r * gm.cos(rad), r * gm.sin(rad))d = gm.distance(pts, pts[0])with group("family"):gm.circle(pts, d)ns = gm.array(10, 12, 15, 18, 20, 25)```Every circle {passes through the cusp}(ref:family)tracing a cardioid. Drag $n$:::slider[ns, n]
Every circle passes through the cusp; their envelope traces a cardioid. Drag n:
Linear Algebra for Programmers
Visualize, interact, internalize
Built on top of Geomatic, the engine that also powers Nova, LAfP provides educational content for all levels. Every concept is a live canvas: click through the commands and watch the math respond.
An immersive platform for All Things Linear Algebra.
Seamless interactivity
On the left (or top for mobile devices) is the vector field of the gradients of the following function:
- Change to see how it changes the vector field.
- Type
a = \scalar 1.2in the editor at bottom left and test it out for different values ofayourself.
Insightful visualizations
- Click the teal text to see different ways to visualize a matrix transform:
- shows how it transforms a uniform grid.
- , see where the point lands and where the point lands.
- shows how it maps points on a circle to points on an ellipse.
- shows how it transforms a uniform grid.
- anything to illustrate the behavior of certain properties over time.
Autograd enabled
- The of total distance from the origin of each point.
- , the gradients also update reactively.
Implement your own figures
You can build your own extension and import it here to visualize and interact with it. This is actually how most of the commands you will encounter here have been implemented.
... and much more.