There is some preliminary support for solving eigenvalue problems by Wielandt’s iteration. For example, the first eigenvalue of the Laplace operator on a unit square can be approximated with
(let ((problem (cdr-model-problem 2 :evp (list :lambda (box 20.0) :mu (box 1.0))))) (defparameter *result* (solve (blackboard :problem problem :success-if '(or (>= :time 5) (>= :nr-levels 5)) :output 1)))) (slot-value (getbb *result* :problem) 'lambda) (plot (getbb *result* :solution))
Note that the multigrid algorithm has not yet been adapted for eigenvalue problems. Therefore, a sparse decomposition is used for solving the linear systems which does not work for large problems.