Skip to content

pulas2345/linear-algebra

 
 

Repository files navigation

Linear Algebra Studio

PyPI - Python Version License: MIT

A modern, interactive Web GUI for the ma1522-linear-algebra library.

This project provides a beautiful, user-friendly graphical interface for performing symbolic linear algebra computations, making advanced operations accessible without writing any Python code.

🌟 Key Features

Beautiful Web Interface

  • Interactive Matrix Editor: Input matrices using an intuitive grid that dynamically resizes, or use text mode for LaTeX and Python lists.
  • MathJax Integration: Outputs are beautifully typeset in LaTeX math notation, rendering complex fractions, roots, and matrices elegantly.
  • Step-by-Step Solutions: View detailed breakdown steps for operations like REF, eigenvalues, and diagonalizations.

Powerful Symbolic Engine

  • Core Algorithms: Computes REF, RREF, LU Factorization, QR Factorization, SVD, and Diagonalization purely symbolically (yielding exact answers).
  • Vector Spaces: Calculate orthogonal complements, intersections, projections, and transition matrices.
  • Equivalent Statements: Instantly analyze matrix properties (invertibility, rank, nullity, etc.) against the MA1522 syllabus checklist.
  • Safe & Asynchronous: Heavy operations use background threading and timeout controls to keep the UI fluid and prevent server lockups.

🚀 Getting Started

This project is built using modern Python tooling and highly optimized for speed.

Prerequisites

Installation

  1. Clone the repository:

    git clone git@github.com:Tuxedolphin/linear-algebra.git
    cd linear-algebra
  2. Establish dependencies:

    # uv will automatically create a virtual environment and install dependencies
    uv sync

Running the Application

Start the local FastAPI development server:

# Run from the root directory to ensure imports resolve
PYTHONPATH=src uv run uvicorn src.gui.app:app --port 8000 --reload

Finally, open your browser and navigate to: http://localhost:8000

🤝 Credits

Original Library & Core Algorithms: Developed by YeeShin504 and contributors. This repository extends their robust symbolic ma1522 engine with a rich local frontend suite.

About

A GUI Calculator for NUS MA1522 Linear Algebra for Computing

Resources

License

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 79.7%
  • CSS 8.2%
  • JavaScript 7.5%
  • HTML 4.6%