# Efficient Solution of Fokker-Planck Equations in Two Dimensions
## 3 Model Reduction
### Eigenproblems in the Coefficient Matrices  
The simplest eigenvalue problem we will consider is  
\[\mathbf{M}\boldsymbol{\phi}=\lambda\boldsymbol{\phi}. \tag{12}\]  
The \(n\times n\) matrix \(\mathbf{M}\) is real, symmetric, and positive definite, with eigenvalues \(\lambda_{i}\), \(i=1,\dots,n\), where \(n\) is on the order of \(10^{4}\) in the problems considered herein. Consequently, the eigenvectors \(\boldsymbol{\phi}_{i}\) are orthogonal, both simply and with respect to \(\mathbf{M}\), and can be normalized so that  
\[\boldsymbol{\phi}_{i}^{\mathrm{T}}\mathbf{M}\boldsymbol{\phi}_{j}=\delta_{ij}. \tag{13}\]  
If we define a transformation matrix using a subset of the eigenvectors,  
\[\mathbf{S}=\big{[}\cdots\quad\boldsymbol{\phi}_{i}\quad\cdots\big{]}, \tag{14}\]  
and let  
\[\mathbf{f}=\mathbf{S}\boldsymbol{\eta}, \tag{15}\]we obtain  
\[\dot{\mathbf{\eta}}+\hat{\mathbf{K}}\mathbf{\eta}=\mathbf{0}, \tag{16}\]  
where  
\[\hat{\mathbf{K}}=\mathbf{S}^{\mathrm{T}}\mathbf{K}\mathbf{S}. \tag{17}\]  
If we have used \(m<n\) eigenvectors in defining the transformation, the matrix \(\mathbf{S}\) is not square, but \(n\times m\); as a result, \(\mathbf{\eta}\) is of length \(m\), and \(\hat{\mathbf{K}}\) is \(m\times m\). The dimension of the problem has been reduced from \(n\) to \(m\). The situation is somewhat different if we instead choose to solve  
\[\mathbf{K}\mathbf{\phi}=\lambda\mathbf{\phi}. \tag{18}\]  
Because \(\mathbf{K}\) is real but not symmetric, its eigenvalues may not all be real. We do again expect an eigenvalue of 0 and its (real) eigenvector giving the stationary pdf. (Computationally, it is usually necessary to accept the eigenvalue that is smallest in modulus as \"zero\", but we have encountered no cases in which this was problematic.) The other eigenvectors may be complex, so we need to use the Hermitian (conjugate) transpose; otherwise, the foregoing calculations are essentially unchanged. In general, the eigenvectors of \(\mathbf{K}\) are not orthogonal. Because neither of the transformed coefficient matrices \(\hat{\mathbf{M}}\) and \(\hat{\mathbf{K}}\) can be expected to be diagonal while they both will likely be complex, it is not clear that this offers any advantage over the original DE with real coefficient matrices. By defining the transformation of coordinates using a matrix \(\mathbf{S}\) containing a subset of the eigenvectors of \(\mathbf{K}\), it is again possible to obtain a reduced problem. However, the real-valued reduced problem of the previous subsection, constructed using eigenvectors of \(\mathbf{M}\), seems preferable. The solution of the generalized eigenproblem  
\[\mathbf{K}\mathbf{\phi}=\lambda\mathbf{M}\mathbf{\phi} \tag{19}\]  
will produce \(n\) eigenvalues and eigenvectors, generally complex-valued. We once again expect an eigenvalue of zero, with its eigenvector giving the stationary solution. The eigenvectors have properties similar to those of \(\mathbf{K}\) above, and are not orthogonal with respect to either matrix. The reduced coefficient matrices, while they may be structurally simpler than \(\mathbf{M}\) and \(\mathbf{K}\), are again both complex. Subsets of vectors from any of the three problems will work in practice. Because neither of the transformed coefficient matrices is diagonal, and because many standard differential equation solvers require that the resulting complex-valued problem be recast as a real-valued problem of double the dimension, there is little attraction to using eigenvectors of \(\mathbf{K}\). The same observations can be made about the use of vectors from the generalized eigenproblem, although there it might be hoped that these drawbacks would be offset by the greater effectiveness of a smaller basis. However, experience has shown that neither set of complex eigenvectors offers any significant advantage over the real eigenvectors obtained from the regular eigenproblem in \(\mathbf{M}\), particularly regarding the size of the basis required to achieve a given accuracy.