Dear Reviewer ZRtj,
Thank you for your work in reviewing our manuscript. Let us answer the questions from your review.
> Citations
Thank you for sending us relevant papers, we have mentioned them in the "Related work" section in lines 98-101 in the revised manuscript. Although we have limited the number of papers, we would like to clarify the comparison with these papers here.
Both approaches use convolutional neural networks (CNNs). In preconditioner design, CNNs can suffer from the curse of dimensionality, as convolutions scale poorly with matrix growth, since sparse matrices must be materialized as dense ones. Furthermore, message-passing GNNs can be seen as a generalization of convolutional neural networks, which can operate not only on a rectangular grid with a fixed number of neighbours, but also on an arbitrary grid. Moreover, both works are essentially quite different from our approach: these papers propose hybrid preconditioners with neural networks that also perform inference at each step of the iterative solvers. This is very different from the PreCorrector, which is not a preconditioner itself, but is used to create a classical preconditioner from the matrix.
> The novelty of this work appears to be limited, as it closely resembles existing methods.
Although we have not invented the use of GNNs on sparse linear systems, the PreCorrector is, to our knowledge, the first to achieve a better effect on the spectrum than classical preconditioners of the ILU family. Moreover, in our experiments, different realizations of the message passing architecture, node/edge updates, etc. did not change the convergence or the resulting preconditioner quality. We observe that the crucial part of a good neural preconditioner is initialization and stable learning, which is achieved by the PreCorrector architecture.
The GNNs from [Li et al.] have major limitations that limit the quality of the resulting preconditioner: (i) convergence to local minima and (ii) unstable learning. Both are addressed by PreCorrector.
> Could the authors provide more specific details on how the computation time was measured, including the tools or setup used for timing
and any relevant conditions that might affect the results?
Please see lines 312-316 for details of the comparison setup. Note that while the GPU was used for preconditioner construction with PreCorrector and GNN from [Li et al.], the CPU was used for the classical IC algorithm. Classical IC algorithm is fully sequential and cannot significantly benefit from data parallelization. The $\texttt{ilupp}$ library is a Python API for C++ code, and our implementations of PreCorrector and GNN from [Li et al.] are coded in $\texttt{jax}$, which is JIT-compiled for time computation. For CG, the $\texttt{scipy.sparse.linalg.cg}$ implementation and the $\texttt{scipy.sparse.linalg.LinearOperator}$ class from it are used for time-to-solution measurements.
> Could you provide a more detailed explanation of why their approach might have failed, considering differences in the architecture, loss function, and training method?
The main limitations of the previous work by [Li et al.] are summarised in lines 194-198. Let us discuss them here in greater details. While GNN of [Li et al.] indeed converges and provides a neural IC that can reduce the number of iterations in CG for certain problems, it has a worse effect on the spectrum than classical IC from linear algebra. First, we believe that this is due to convergence to suboptimal local minima, which can be overcome by the starting point in training. In PreCorrector we get such a good initial guess with a classical IC decomposition. Second, the training GNN of [Li et al.] is unstable, since at the very beginning of training one has to compute the loss (5) with a random matrix L. We observed a loss overflow as the matrix size grows. Finally, we observe that we cannot predict the resulting quality of the GNN from [Li et al.]. In our experiments, we were able to compute the condition number for small linear systems: decreasing the loss did not correspond to decreasing the condition number of $P(\theta)^{-1}A$. Thus, the stopping criteria of GNN from [Li et al.] training has to rely on the condition number of the preconditioned system, which is extremely costly. The learning of the PreCorrector starts with the gradient of the pure classical IC (since $\alpha$ is initialized with 0), which ensures stable learning.
Thus, the limitations of GNN from [Li et al.] are (i) convergence to local minima and (ii) unstable learning. Both are fixed by PreCorrector.