Harmen Stoppels http://stoppels.blog GSOC 2017 summaryAs GSOC 2017 is coming to an end, I'd like to use this blog post to give a summary of the things I have been working on.Fri, 18 Aug 2017 00:00:00 +0200 http://stoppels.blog/posts/gsoc-2017-summary http://stoppels.blog/posts/gsoc-2017-summaryOrthogonalization performanceMethods like GMRES and Jacobi-Davidson construct an orthogonal basis for their search subspace. It is well-known that classical Gram-Schmidt (CGS) is vulnerable for loss of orthogonality due to rounding errors. Modified Gram-Schmidt (MGS) is usually the fix for this, yet it is not free of rounding errors and is memory-bound when it comes to performance. In this post we'll look into iterative or refined orthogonalization methods and their performance.Sun, 18 Jun 2017 00:00:00 +0200 http://stoppels.blog/posts/orthogonalization-performance http://stoppels.blog/posts/orthogonalization-performanceJacobi-Davidson exampleLet's take a look how the Jacobi-Davidson algorithm targets interior eigenvalues of a Poisson matrix.Sun, 11 Jun 2017 00:00:00 +0200 http://stoppels.blog/posts/jacobi-davidson-example http://stoppels.blog/posts/jacobi-davidson-exampleHarmonic Ritz values visualizedA hopefully insightful visualizion of harmonic Ritz values versus ordinary Ritz values.Wed, 07 Jun 2017 00:00:00 +0200 http://stoppels.blog/posts/harmonic-ritz-values-visualized http://stoppels.blog/posts/harmonic-ritz-values-visualizedInterior eigenvalues in Jacobi-DavidsonFrom the Arnoldi method we know that Ritz values tend to converge to exterior eigenvalues; similar behaviour is observed in Jacobi-Davidson. This is an issue when restarting the method: a Ritz value close to a specified interior target is not necessarily a good approximation of an eigenvalue in that neighbourhood; the Ritz value might as well be on its way to an exterior eigenvalue, and in that case we would not want the Ritz vector to be retained at restart. An alternative is to use harmonic Ritz pairs.Tue, 06 Jun 2017 00:00:00 +0200 http://stoppels.blog/posts/interior-eigenvalues http://stoppels.blog/posts/interior-eigenvaluesTowards the next eigenpair in Jacobi-DavidsonAfter removing a converged Ritz vector from the search space, we must ensure that new expansions do not bring it back. In practice this means updating the correction equation so that these directions are deflated.Sat, 03 Jun 2017 00:00:00 +0200 http://stoppels.blog/posts/towards-the-next-eigenpair http://stoppels.blog/posts/towards-the-next-eigenpairNon-Hermetian eigenproblems in Jacobi-DavidsonNon-Hermetian matrices do not necessarily have orthogonal eigenvectors for distinct eigenvalues. So far we have relied upon this property when shrinking the search subspace. Fortunately we can work with the Schur decomposition to tackle this problem.Sat, 03 Jun 2017 00:00:00 +0200 http://stoppels.blog/posts/non-hermetian-eigenproblems http://stoppels.blog/posts/non-hermetian-eigenproblemsShrinking the search subspace in Jacobi-DavidsonOnce an approximate eigenvector has converged, we must remove it from the search space, so that other eigenpairs can be found. Also, when a search subspace becomes too large, a restart is necessary. This also requires removing vectors from the search space. Fortunately, shrinking the search subspace is easier in comparison to IRAM.Fri, 02 Jun 2017 00:00:00 +0200 http://stoppels.blog/posts/shrinking-the-search-subspace http://stoppels.blog/posts/shrinking-the-search-subspaceOptions in Jacobi-DavidsonIn my previous post I showed the defining property for Jacobi-Davidson, but it turns out that there is a lot of freedom in the remaining parts of the algorithm. For instance in how to initialize it; this post will be about exactly that.Fri, 02 Jun 2017 00:00:00 +0200 http://stoppels.blog/posts/options-in-jacobi-davidson http://stoppels.blog/posts/options-in-jacobi-davidsonJacobi-DavidsonAs part of Google Summer of Code I'm implementing several iterative methods for linear systems of equations and eigenvalue problems in Julia. Up to now I have studied Jacobi-Davidson and have a poor man's version working. The first post is about my notes on the method.Thu, 01 Jun 2017 00:00:00 +0200 http://stoppels.blog/posts/jacobi-davidson http://stoppels.blog/posts/jacobi-davidson