garcalc
Graphing Calculator with CAS
A graphical calculator with a built-in computer algebra system, 2D and 3D function plotting, parametric and implicit curve support, and a standalone CAS command-line interface. Evaluates expressions symbolically or numerically with support for calculus, linear algebra, and complex numbers.
Features
- Symbolic CAS with differentiation, integration, and limits
- 2D graphing: explicit, parametric, and implicit curves
- 3D surface plotting with camera rotation and zoom
- Exact fractions, complex numbers, and matrix operations
- Standalone CAS REPL (garcas) for scripting
- Daemon mode with IPC control via garcalcctl
- Popup mode for quick calculations from keybindings
- Lua and TOML configuration with gar integration
- Trace mode for reading values off curves
- Viridis, Plasma, Coolwarm, and Grayscale 3D colormaps
- Equation solving, simplification, and factoring
- Catppuccin-based function color palette
Quick Start Guide
Get up and running with garcalc. This covers installation, the three binaries, and basic usage in each mode.
1. Installation
This builds three binaries: garcalc (GUI), garcalcctl (control client), and garcas (standalone CAS CLI).
2. System Dependencies
garcalc requires Cairo, Pango, and X11 development libraries (via gartk):
3. Launch
4. Calculator Mode
Type expressions and press Enter to evaluate. Results appear in the history panel above the input area.
> 2 + 3 * 4
14
> sin(pi/2)
1
> sqrt(2)
1.4142135623730951
> 5!
120
> diff(x^3, x)
3*x^2 5. Graph Mode
Press F2 to switch to 2D graphing. Type a function and press Enter to plot it.
> sin(x) -- plots y = sin(x)
> x^2 - 3*x + 2 -- plots a parabola
> x^2 + y^2 = 1 -- plots a circle (implicit)
> sin(t), cos(t) -- plots a circle (parametric) 6. Keyboard Shortcuts
| Key | Action |
|---|---|
| F1 | Switch to Calculator mode |
| F2 | Switch to 2D Graph mode |
| F3 | Switch to 3D Graph mode |
| Return | Evaluate expression |
| Up / Down | Navigate history |
| Ctrl+Left / Right | Jump to previous/next word |
| Home / End | Jump to start/end of input |
| Escape | Clear input (standalone) or quit (popup) |
| Ctrl+R | Reset viewport/camera (graph modes) |
| Ctrl+C | Clear all functions/surfaces (graph modes) |
| Ctrl+T | Toggle trace mode (2D graph) |
Releases
- • CAS engine with symbolic differentiation, integration, limits, and summation
- • 2D graphing: explicit, parametric, and implicit curves
- • 3D surface plotting with camera rotation and zoom
- • Exact fractions, complex numbers, and matrix operations
- • Standalone CAS REPL (garcas) for scripting
- • Daemon mode with IPC control via garcalcctl
- • Popup mode for quick calculations from keybindings