Matrix Multiplier is a sophisticated Python application providing both a web (Flask) and desktop (Tkinter) interface for creating, manipulating, and computing operations on numeric and symbolic matrices using Sympy. Results are rendered in a clean LaTeX-style format for superior clarity.
- Dynamic Matrix Creation: Effortlessly add or remove matrices.
- Customizable Dimensions: Adjust matrix size via intuitive dropdown menus.
- Symbolic & Numeric Computation: Seamlessly mix symbolic algebra with numerical precision.
- Multiple Operations: Multiply, add, subtract, transpose, or conjugate matrices.
- Aesthetic Rendering: Enjoy visually appealing LaTeX-style outputs.
- User-Friendly Interfaces: Both a web-based interface with Flask and a desktop GUI using Tkinter.
- Improved Copy Functionality: The "Copy Result" feature now extracts only matrix data in the proper dimensions.
- Special Matrices: Quickly insert matrices such as Pauli X, Pauli Y, Pauli Z, Hadamard, and CNOT.
- Web App Enhancements:
- Updated the copy function in the web interface so that it extracts and formats only the matrix values, avoiding extraneous output.
- Grids automatically adjust to the correct dimensions when the result is copied.
- Desktop GUI Enhancements:
- Improved “Copy Result” logic to fill new matrix entries with the previously computed result.
- Enhanced error handling and layout improvements in the Tkinter interface.
- General Improvements:
- Consistent styling across both interfaces.
- Enhanced documentation and user guidance through real-time expression updates.
- Python 3.x
- Flask
- Tkinter
- Sympy
- Pillow (PIL)
- Matplotlib
Install the necessary packages using the requirements file:
pip install -r requirements.txt- Run the Flask app:
python app.py
- Open your browser and navigate to
http://127.0.0.1:5000/. - Create or modify matrices, then select an operation and click Compute.
- Use the Copy Result button to extract the computed matrix into a new input panel.
- Run the Tkinter application:
python matrix_multiplier.py
- Enter or modify matrix values in the provided grids.
- Select an operation from the dropdown and see the rendered result.
- Use Copy Result to duplicate the result into a new matrix entry.
- Special matrices can be inserted via the dropdown menu.
This project is licensed under the MIT License.

