-
Notifications
You must be signed in to change notification settings - Fork 20.7k
feat: Add Chebyshev Iteration algorithm #6963
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add Chebyshev Iteration algorithm #6963
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #6963 +/- ##
============================================
+ Coverage 78.28% 78.33% +0.04%
- Complexity 6581 6602 +21
============================================
Files 744 745 +1
Lines 21910 21980 +70
Branches 4293 4310 +17
============================================
+ Hits 17153 17217 +64
- Misses 4074 4077 +3
- Partials 683 686 +3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
alxkm
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Thank you for the contribution.
Description
This pull request adds an implementation of the Chebyshev Iteration algorithm.
This is an iterative numerical method used to solve systems of linear equations of the form$Ax = b$ . It is particularly effective when the matrix $A$ is symmetric positive definite and provides faster convergence than methods like Jacobi or Gauss-Seidel by using Chebyshev polynomials.
This contribution includes:
src/main/java/com/thealgorithms/maths/ChebyshevIteration.java: The core algorithm implementation with helper methods for vector/matrix operations.src/test/java/com/thealgorithms/maths/ChebyshevIterationTest.java: A corresponding set of JUnit 5 tests to validate the implementation, including simple systems, edge cases (e.g., already converged), and invalid input handling.clang-format -i --style=file path/to/your/file.java