cis3296f24 / Section3ProjectPresentation

cis3296f24-classroom-project-presentation-ProjectsFeedbackBoard-template created by GitHub Classroom
0 stars 0 forks source link

Multi-Threaded Matrix Calculator #16

Open rten19 opened 3 days ago

rten19 commented 3 days ago

Project Abstract This document proposes a matrix calculator web application that supports a wide variety of matrices and matrix operations (multiplication, Gaussian elimination, inversion, decomposition, etc.). The application will employ machine learning and multi-threaded calculations, allowing users to do matrix operations quickly. In addition, it will also provide a user-friendly GUI that visualizes matrix operations step-by-step with explanations and creates graph representations of matrices. There will also be a “benchmarking” feature that will compare the performances of various algorithms used in operations.

Conceptual Design The program will run mainly on Java and work on any operating system. NumPy is needed for machine learning in various decomposition techniques, and HTML, CSS and/or Javascript will be used for the GUI on the web application.

Proof of Concept GitHub repository: https://github.com/rten19/multi-threaded-matrix-calc

Steps to compile and run:

  1. Make sure Java is installed on your computer.
  2. Click on “Code” (in green) and click “Download ZIP.”
  3. Extract the .zip folder into a destination of your choice.
  4. Open Git Bash and cd into the destination.
  5. Run the command “javac Matrix.java” to compile the code.
  6. Run “java Matrix” to run the program.

Background Other web applications provide the ability to perform basic matrix operations, and some show some visualizations of matrix operations. This one will provide a more expansive set of functionalities and more complex operations, from visual benchmarks comparing algorithms to graph representations to operations powered by machine learning and multiple threads.

Required Resources For hardware resources, any machine (laptop/desktop) will be able to use the web application as long as it can run Java.

For software resources, Java is required as well as an IDE to support coding in Java (e.g., Intellij). NumPy will be needed for machine learning used in some matrix decomposition algorithms. HTML, CSS, and/or Javascript is needed for the GUI.

Some knowledge on AI/machine learning is needed, as well as knowledge on web development.

Presentation:

ProjectProposalPresentation_pic