Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matrix Solver

This project aims to implement various numerical methods for solving linear systems of equations. The initial focus is on the Jacobi method, with plans to extend to other methods such as Gauss-Seidel and Successive Over-Relaxation (SOR). The project will also explore parallelization using the Rayon library for improved performance.

The project is intended for educational purposes and to provide a foundation for further exploration of numerical methods in Rust. It is not intended for production use.

This project is developed by myself, Amartya Yadav, as part of a personal exploration into numerical methods and Rust programming. The project is open for contributions and feedback. Feel free to reach out for collaboration or suggestions.

Project Status

Current Version: Initial implementation in progress

Implemented Features:

  • Jacobi method (sequential version)
  • Diagonally dominant matrix generator
  • L2 norm-based convergence checking
  • Modular project structure with solver and utils modules

Not Yet Implemented:

  • Parallelized Jacobi method (Rayon-based)
  • Additional solvers (Gauss-Seidel, SOR)
  • CLI argument parsing
  • Benchmarking tools
  • File-based input/output

Future Plans

The following features are planned to expand the project into a full-fledged numerical solver with parallel capabilities:

Short-Term Goals

  • Add Rayon-based parallel Jacobi implementation
  • Add CLI interface using clap to configure matrix size, tolerance, and iterations
  • Refactor matrix storage into a flat Vec for performance

Medium-Term Goals

  • Implement Gauss-Seidel and SOR methods
  • Benchmark different methods and visualize convergence performance
  • Add support for matrix and vector file input/output (e.g., CSV, JSON) ⸻

License

This project is licensed under the MIT License. See the LICENSE file for details.

Author

Amartya Yadav MSc High Performance Computing EPCC, University of Edinburgh

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages