Skip to content

Add iterative solver methods to sparse solver module #48

@krystophny

Description

@krystophny

Summary

Add iterative solver options (BiCGSTAB, GMRES, IDR(s)) to the sparse solver module as alternatives to direct methods for solving Ax=b systems.

Background

Currently the sparse solver only supports direct methods (UMFPACK/SuperLU). Iterative methods can be more efficient for certain problem types and sizes.

Dependencies

Tasks

  • Add BiCGSTAB implementation for sparse linear systems
  • Add GMRES implementation for sparse linear systems
  • Add IDR(s) implementation for sparse linear systems
  • Add ILU(0) and ILU(k) preconditioning
  • Create solver selection interface
  • Add convergence monitoring
  • Comprehensive testing of each method
  • Performance benchmarking vs direct methods

Implementation Strategy

  1. Build on top of Refactor sparse solver modules for better modularity and testability #44 (modular sparse solver structure)
  2. Add iterative methods one at a time with full test coverage
  3. Each method should be drop-in replacement for direct solver
  4. Use same sparse matrix format and interface
  5. Add solver selection parameter

Benefits

Testing Requirements

  • Unit tests for each iterative method
  • Convergence tests with different matrix types
  • Accuracy comparison with direct methods
  • Performance benchmarks
  • Code coverage > 90%

Related Work

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions