Tools for scientific exploration|
Interact with a PDF
Read it, mark it up, ask about it
Drop in a PDF and read it with an assistant beside you. Highlight, draw and leave notes, select any passage to ask about it, then download the marked-up file. The PDF and the chat stay in your browser.
Nova
Markdown editor for STEM
Turn ordinary markdown with a Python code block into a live, interactive article. Create UIs, interact with LaTeX and show markdown text conditionally.
# 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.ui.slider(10, 25, 5, 10, label='n')gm.md(f'{ns}')```Every circle {passes through the cusp}(ref:family)tracing a cardioid.
Every circle passes through the cusp, tracing a cardioid.
Learn
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.