A modern, elegant web application for performing advanced linear algebra operations with a beautiful glassmorphism UI.
- Basic Operations: Addition, Multiplication, Transpose
- Advanced Computations: Determinant, Inverse, Rank
- Eigenanalysis: Eigenvalues & Eigenvectors
- Decompositions: LU, QR decomposition
- Dot Product: For vectors of any dimension
- Cross Product: For 3D vectors
- Linear Systems: Solve Ax = b equations
- Multiple solution types: Unique, infinite, or least-squares solutions
- π¨ Glassmorphism UI: Beautiful transparent glass-like interface with black and gray theme
- π Modern Dark Theme: Elegant black to gray gradient backgrounds
- π Real-time Feedback: Instant error handling and validation
- π± Responsive Design: Works perfectly on all devices
- β‘ Fast Performance: Server-side calculations with Next.js API routes
- π― Type Safety: Full TypeScript implementation with strict type checking
| Component | Technology |
|---|---|
| Framework | Next.js 15 (App Router) |
| Language | TypeScript 5.7 |
| UI Library | shadcn/ui (Radix UI primitives) |
| Styling | Tailwind CSS with glassmorphism |
| Math Engine | mathjs 14.0 |
| Icons | Lucide React |
- Node.js 18+ and npm/yarn/pnpm
- Modern web browser
-
Clone the repository:
git clone https://github.com/sakethksg/Linear-Algebra-Calculator.git cd Linear-Algebra-Calculator -
Install dependencies:
npm install # or yarn install # or pnpm install
-
Run the development server:
npm run dev # or yarn dev # or pnpm dev
-
Open your browser:
http://localhost:3000
Matrices are entered as text with rows separated by semicolons:
1 2 3; 4 5 6; 7 8 9
This represents:
[ 1 2 3 ]
[ 4 5 6 ]
[ 7 8 9 ]
Vectors are space-separated values:
1 2 3 4 5
- Addition: Add two matrices of same dimensions
- Multiplication: Multiply compatible matrices
- Transpose: Flip rows and columns
- Determinant: Calculate determinant of square matrices
- Inverse: Find inverse of non-singular matrices
- Rank: Determine matrix rank
- Eigenvalues & Eigenvectors: Compute with complex number support
- System Solver: Solve linear systems Ax = b
- Dot Product: Scalar product of vectors
- Cross Product: Vector product (3D only)
- LU Decomposition: Lower-Upper factorization
- QR Decomposition: Orthogonal-triangular factorization
Linear-Algebra-Calculator/
βββ app/
β βββ api/ # Next.js API routes
β β βββ matrix/ # Matrix operations endpoints
β β βββ vector/ # Vector operations endpoints
β β βββ system/ # System solver endpoint
β βββ layout.tsx # Root layout
β βββ page.tsx # Main page
β βββ globals.css # Global styles with glassmorphism
βββ components/
β βββ ui/ # shadcn/ui components
β βββ MatrixOperation.tsx
β βββ VectorOperation.tsx
β βββ EigenCalculator.tsx
β βββ SystemSolver.tsx
β βββ DecompositionCalculator.tsx
βββ lib/
β βββ matrix-utils.ts # Matrix calculation utilities
β βββ vector-utils.ts # Vector calculation utilities
β βββ utils.ts # Helper functions
βββ public/ # Static assets
- Push your code to GitHub
- Import project in Vercel
- Deploy automatically
npm run build
npm startEdit app/globals.css to customize the glass effects:
.glass {
background: rgba(255, 255, 255, 0.05);
backdrop-filter: blur(16px) saturate(180%);
border: 1px solid rgba(255, 255, 255, 0.125);
}Edit tailwind.config.ts to customize colors and theme. Current theme uses black to gray gradients for a modern, elegant look.
Build and run with Docker:
docker build -f Dockerfile.nextjs -t linear-algebra-calc .
docker run -p 3000:3000 linear-algebra-calcContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the MIT License.
- shadcn/ui for the beautiful component library
- mathjs for mathematical operations
- Next.js for the amazing framework
- Tailwind CSS for utility-first styling
Project Link: https://github.com/sakethksg/Linear-Algebra-Calculator
Built with β€οΈ using Next.js, TypeScript, and shadcn/ui