@book{liesen2013krylov,
  title={Krylov subspace methods: principles and analysis},
  author={Liesen, J{\"o}rg and Strakos, Zdenek},
  year={2013},
  publisher={Numerical Mathematics and Scie}
}

@inproceedings{higuchi2019clpy,
  title={ClPy: a NumPy-compatible library accelerated with OpenCL},
  author={Higuchi, Tomokazu and Yoshifuji, Naoki and Sakai, Tomoya and Kitta, Yoriyuki and Takano, Ryousei and Ikegami, Tsutomu and Taura, Kenjiro},
  booktitle={2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)},
  pages={933--940},
  year={2019},
  organization={IEEE}
}

@article{shewchuk1994introduction,
  title={An introduction to the conjugate gradient method without the agonizing pain. School of Computer Science},
  author={Shewchuk, Jonathan Richard},
  journal={Carnegie Mellon University, Pittsburgh, PA},
  volume={15213},
  pages={10},
  year={1994}
}

@article{saad1993flexible,
  title={A flexible inner-outer preconditioned GMRES algorithm},
  author={Saad, Youcef},
  journal={SIAM Journal on Scientific Computing},
  volume={14},
  number={2},
  pages={461--469},
  year={1993},
  publisher={SIAM}
}

@article{dryja1989additive,
  title={An additive Schwarz algorithm for two-and three-dimensional finite element elliptic problems},
  author={Dryja, Maksymilian},
  journal={Domain decomposition methods},
  pages={168--172},
  year={1989},
  publisher={SIAM Philadelphia}
}

@article{graham2017domain,
  title={Domain decomposition preconditioning for high-frequency Helmholtz problems with absorption},
  author={Graham, Ivan and Spence, Euan and Vainikko, Eero},
  journal={Mathematics of Computation},
  volume={86},
  number={307},
  pages={2089--2127},
  year={2017}
}

@inproceedings{fang2011comprehensive,
  title={A comprehensive performance comparison of CUDA and OpenCL},
  author={Fang, Jianbin and Varbanescu, Ana Lucia and Sips, Henk},
  booktitle={2011 International Conference on Parallel Processing},
  pages={216--225},
  year={2011},
  organization={IEEE}
}

@article{du2012cuda,
  title={From CUDA to OpenCL: Towards a performance-portable solution for multi-platform GPU programming},
  author={Du, Peng and Weber, Rick and Luszczek, Piotr and Tomov, Stanimire and Peterson, Gregory and Dongarra, Jack},
  journal={Parallel Computing},
  volume={38},
  number={8},
  pages={391--407},
  year={2012},
  publisher={Elsevier}
}

@article{juraev2023applications,
  title={Applications of the Helmholtz equation},
  author={Juraev, Davron Aslonqulovich and Agarwal, Praveen and Elsayed, Ebrahim Eldesoky and Targyn, Nauryz},
  journal={Advanced Engineering Days (AED)},
  volume={8},
  pages={28--30},
  year={2023}
}

@misc{pyopencl-docs,
    author = {{PyOpenCL}},
    title = {PyOpenCL Documentation},
    url = {https://documen.tician.de/pyopencl/},
    urldate = {2024-04-08},
}

@inproceedings{komatsu2010evaluating,
  title={Evaluating performance and portability of OpenCL programs},
  author={Komatsu, Kazuhiko and Sato, Katsuto and Arai, Yusuke and Koyama, Kentaro and Takizawa, Hiroyuki and Kobayashi, Hiroaki},
  booktitle={The fifth international workshop on automatic performance tuning},
  volume={66},
  pages={1},
  year={2010}
}

@article{tompson2012introduction,
  title={An introduction to the opencl programming model},
  author={Tompson, Jonathan and Schlachter, Kristofer},
  journal={Person Education},
  volume={49},
  pages={31},
  year={2012}
}

@article{fletcher1964function,
  title={Function minimization by conjugate gradients},
  author={Fletcher, Reeves and Reeves, Colin M},
  journal={The computer journal},
  volume={7},
  number={2},
  pages={149--154},
  year={1964},
  publisher={Oxford University Press}
}

@article{lanczos1952solution,
  title={Solution of systems of linear equations by minimized iterations},
  author={Lanczos, Cornelius},
  journal={J. Res. Nat. Bur. Standards},
  volume={49},
  number={1},
  pages={33--53},
  year={1952}
}

@article{bramble1993new,
  title={New estimates for multilevel algorithms including the ��-cycle},
  author={Bramble, James H and Pasciak, Joseph E},
  journal={Mathematics of computation},
  volume={60},
  number={202},
  pages={447--471},
  year={1993}
}

@article{chan1994domain,
  title={Domain decomposition algorithms},
  author={Chan, Tony F and Mathew, Tarek P},
  journal={Acta numerica},
  volume={3},
  pages={61--143},
  year={1994},
  publisher={Cambridge University Press}
}

@article{stone2010opencl,
  title={OpenCL: A parallel programming standard for heterogeneous computing systems},
  author={Stone, John E and Gohara, David and Shi, Guochun},
  journal={Computing in science \& engineering},
  volume={12},
  number={3},
  pages={66},
  year={2010},
  publisher={NIH Public Access}
}

@book{kaeli2015heterogeneous,
  title={Heterogeneous computing with OpenCL 2.0},
  author={Kaeli, David R and Mistry, Perhaad and Schaa, Dana and Zhang, Dong Ping},
  year={2015},
  publisher={Morgan Kaufmann}
}

@book{saad2003iterative,
  title={Iterative methods for sparse linear systems},
  author={Saad, Yousef},
  year={2003},
  publisher={SIAM}
}

@article{walker1994simpler,
  title={A simpler gmres},
  author={Walker, Homer F and Zhou, Lu},
  journal={Numerical Linear Algebra with Applications},
  volume={1},
  number={6},
  pages={571--581},
  year={1994},
  publisher={Wiley Online Library}
}

@misc{chatgpt,
  author = {{OpenAI}},
  title = {ChatGPT},
  howpublished = {Software available from OpenAI},
  year = 2023,
  note = {Accessed: [insert date here]}
}

@article{balabanov2022randomized,
  title={Randomized Gram--Schmidt process with application to GMRES},
  author={Balabanov, Oleg and Grigori, Laura},
  journal={SIAM Journal on Scientific Computing},
  volume={44},
  number={3},
  pages={A1450--A1474},
  year={2022},
  publisher={SIAM}
}

@article{morikuni2014fgmres,
  title={FGMRES for linear discrete ill-posed problems},
  author={Morikuni, Keiichi and Reichel, Lothar and Hayami, Ken},
  journal={Applied Numerical Mathematics},
  volume={75},
  pages={175--187},
  year={2014},
  publisher={Elsevier}
}

@article{raju2009domain,
  title={Domain decomposition based high performance parallel computing},
  author={Raju, Mandhapati P and Khaitan, Siddhartha},
  journal={arXiv preprint arXiv:0911.0910},
  year={2009}
}

@book{toselli2004domain,
  title={Domain decomposition methods-algorithms and theory},
  author={Toselli, Andrea and Widlund, Olof},
  volume={34},
  year={2004},
  publisher={Springer Science \& Business Media}
}

@incollection{cai2003overlapping,
  title={Overlapping domain decomposition methods},
  author={Cai, X},
  booktitle={Advanced Topics in Computational Partial Differential Equations: Numerical Methods and Diffpack Programming},
  pages={57--95},
  year={2003},
  publisher={Springer}
}

@article{st2007optimized,
  title={Optimized multiplicative, additive, and restricted additive Schwarz preconditioning},
  author={St-Cyr, Amik and Gander, Martin J and Thomas, Stephen J},
  journal={SIAM Journal on Scientific Computing},
  volume={29},
  number={6},
  pages={2402--2425},
  year={2007},
  publisher={SIAM}
}

@misc{ https://doi.org/10.23673/ph6n-0144,
doi = {10.23673/PH6N-0144},
uri = {https://share.neic.no/#/marketplace-public-offering/c8107e145e0d41f7a016b72825072287/},
author = {{University of Tartu}},
title = {UT Rocket},
publisher = {share.neic.no},
year = {2018}
}

@incollection{graham2017recent,
  title={Recent results on domain decomposition preconditioning for the high-frequency Helmholtz equation using absorption},
  author={Graham, Ivan G and Spence, Euan A and Vainikko, Eero},
  booktitle={Modern solvers for Helmholtz problems},
  pages={3--26},
  year={2017},
  publisher={Springer}
}

@article{bootland2021comparison,
  title={A comparison of coarse spaces for Helmholtz problems in the high frequency regime},
  author={Bootland, Niall and Dolean, Victorita and Jolivet, Pierre and Tournier, Pierre-Henri},
  journal={Computers \& Mathematics with Applications},
  volume={98},
  pages={239--253},
  year={2021},
  publisher={Elsevier}
}

@article{efstathiou2003restricted,
  title={Why restricted additive Schwarz converges faster than additive Schwarz},
  author={Efstathiou, Evridiki and Gander, Martin J},
  journal={BIT Numerical Mathematics},
  volume={43},
  number={5},
  pages={945--959},
  year={2003},
  publisher={Springer}
}

@article{ernst2011difficult,
  title={Why it is difficult to solve Helmholtz problems with classical iterative methods},
  author={Ernst, Oliver G and Gander, Martin J},
  journal={Numerical analysis of multiscale problems},
  pages={325--363},
  year={2011},
  publisher={Springer}
}