Skip to content

Implement Solver Pattern abstraction #12

Description

@Hugo-W

Implement Solver Pattern abstraction

Description

After solver consolidation, refactor solvers into a proper abstraction hierarchy to improve maintainability and extensibility.

Tasks

  • Create abstract Solver base class in pyeeg/solvers.py
  • Refactor existing regression methods as concrete Solver subclasses:
    • SVDSolver
    • LSTQSolver
    • ConjugateGradientSolver
    • Others as appropriate
  • Update TRFEstimator to accept a solver instance via dependency injection
  • Ensure all solvers implement consistent interface

Acceptance Criteria

  • Abstract Solver base class with clear interface
  • All existing solvers are concrete implementations
  • TRFEstimator can use any solver via composition
  • Easy to add new solver types
  • All solvers produce consistent results

Priority

Medium

Dependencies

Epic

Refactoring for Modularity

Related

Builds on solver architecture work from NEXT_STEPS.md Step 3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions