Skip to content

Repository files navigation

Matrix Calculator Pro

A robust, offline-first linear algebra toolkit built with Flutter. Designed for students and engineers who need precise matrix computations without relying on internet connectivity.

Flutter Dart License

Features

🧮 Core Matrix Operations

  • Basic Arithmetic: Addition (A+B), Subtraction (A-B), Multiplication (AxB).
  • Unary Operations: Transpose, Inverse (Square matrices), Rank, Determinant.
  • Scalar Operations: Scalar multiplication (k*A) and Matrix Power (A^n).
  • Precision: Uses the fraction package to handle calculations with exact rational numbers, eliminating floating-point errors.

📐 System Solvers

Solve systems of linear equations (Ax = B) using multiple methods:

  • Gaussian Elimination: Row reduction to finding solutions.
  • Gauss-Jordan: Reduces to Reduced Row Echelon Form (RREF).
  • Cramer's Rule: Determinant-based solution for square systems.
  • Inverse Matrix Method: Solves X = A⁻¹B.
  • Least Squares: Finds approximate solutions for overdetermined systems.

📊 Advanced Analysis

  • Eigenvalues & Eigenvectors: Computes characteristic polynomials and vectors.
  • Diagonalization: Decomposes matrices into PDP⁻¹.
  • Step-by-Step Explanations: Provides detailed logic for Determinants and Eigenvalue calculations (optimized for 2x2 and 3x3 matrices).

💾 Productivity

  • Persistent History: Automatically saves calculations locally.
  • Data Reusability: Quickly load past results into input fields (To Ops A, To Ops B).
  • Offline Capable: Fully functional without network access.

Tech Stack

  • Framework: Flutter (Dart)
  • State Management: setState with localized logic controllers.
  • Math Engine:
    • fraction: For high-precision arithmetic.
    • math_expressions: For variable parsing and symbolic logic.
  • Persistence: shared_preferences.

Installation

  1. Clone the repository

    git clone https://github.com/B0-KA/matrix-calc-offline.git
    cd matrix-calc-offline
  2. Install dependencies

    flutter pub get
  3. Run the app

    flutter run

Releases

The latest APK can be downloaded from the Releases page.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages