Solving Crank-Nicolson type nonlinear vector equation

54 Views Asked by At

Given is the following (Crank-Nicolson discretized) equation, \begin{equation} \mathbf{v}_{n+1}+\alpha\Big[\mathbf{A}_{n+1}\,\mathbf{v}_{n+1}-\mathbf{v}_{n+1}\left(\mathbf{v}_{n+1}^*\,\mathbf{A}_{n+1}\,\mathbf{v}_{n+1}\right)\Big] = \mathbf{v}_n - \alpha\Big[\mathbf{A}_n\,\mathbf{v}_n-\mathbf{v}_n\left(\mathbf{v}_n^*\,\mathbf{A}_n\,\mathbf{v}_n\right)\Big], \end{equation} where $\mathbf{v}$ is a complex vector, $\mathbf{A}$ is a complex hermitian matrix and $\alpha$ is a complex number.

The implicit nature of this problem requires that it is solved self-consistently to get $\mathbf{v}_{n+1}$. Without the non-linear term in the brackets, I see that this can be done e.g. with a predictor-corrector scheme since $\mathbf{A}_n = \mathbf{A}(\mathbf{v}_n)$.

In the publication where this equation is presented, it is stated that it can be solved via the preconditioned Anderson mixing scheme. However, I fail to see how above problem can be re-written analog to the problem class discussed in the paper by Anderson, $$ \mathbf{z}_{n+1} = \mathbf{G}\,\mathbf{z}_n $$ to which a solving procedure is presented.

Besides this, I wonder whether said equation can also be solved self-consistently via a predictor-corrector approach, .e.g like

  1. Predictor: Solve $$ \mathbf{v}_{n+1}^{(+)} + \alpha\Big[\mathbf{A}_{n+1}^{(0)}-\mathbf{v}_{n+1}^{(0)}\left(\mathbf{v}_{n+1}^{(0)*}\,\mathbf{A}_{n+1}^{(0)}\right)\Big]\mathbf{v}_{n+1}^{(+)} \equiv \mathbf{B}_n $$ with $\mathbf{A}_{n+1}^{(0)}=\mathbf{A}_n$, $\mathbf{v}_{n+1}^{(0)}=\mathbf{v}_n$, for $\mathbf{v}_{n+1}^{(+)}$
  2. Corrector: Set $\mathbf{v}_{n+1}^{(1)}:=\frac{1}{2}\left(\mathbf{v}_n+\mathbf{v}_{n+1}^{(+)}\right)$ and $\mathbf{A}_{n+1}^{(1)}:=\frac{1}{2}\left(\mathbf{A}_n+\mathbf{A}\left(\mathbf{v}_{n+1}^{(1)}\right)\right)$ and solve $$ \mathbf{v}_{n+1}^{} + \alpha\Big[\mathbf{A}_{n+1}^{(1)}-\mathbf{v}_{n+1}^{(1)}\left(\mathbf{v}_{n+1}^{(1)*}\,\mathbf{A}_{n+1}^{(1)}\right)\Big]\mathbf{v}_{n+1}^{} \equiv \mathbf{B}_n $$ for $\mathbf{v}_{n+1}$ (possibly with more corrector steps).

I am unsure if this is a valid approach when two instead of one quanitites are extrapolated.

So, overall, my problems are

  1. how the Anderson mixing comes in here
  2. whether a predictor-corrector scheme as above stated can be applied
  3. how to approach this equation in general

Many thanks!