Improve GMRES memory allocation
Issue/feature addressed
The original GMRES implementation pre-allocate all Krylov sub-space vector. As the default maximum size of the Krylov sub-space is 100, this memory pre-allocation could cause some overhead.
Proposed solution
The proposed solution is to allocate the required memory within the GMRES iteration loop.
Implementation
Tests
Suggested reviewers
Please suggest any people who would be appropriate to review your code.
Notes
Please add any other information that could be useful for reviewers.
Checklist
-
Functions and classes, or changes to them, are documented. [ ] User guide/documentation is updated.-
Changelog is updated. [ ] Suitable tests added for new functionality.-
Contributed code is correctly formatted. (See the contributing guidelines). [ ] License added to any new files.-
No extraneous files have been added (e.g. compiler output or test data files).