diff +time/MagnusMP.m @ 513:bc39bb984d88 feature/quantumTriangles

Added arnoldi krylov subspace approximation
author Ylva Rydin <ylva.rydin@telia.com>
date Mon, 26 Jun 2017 20:15:54 +0200
parents 49bc2929dfb1
children
line wrap: on
line diff
--- a/+time/MagnusMP.m	Mon Jun 26 19:23:19 2017 +0200
+++ b/+time/MagnusMP.m	Mon Jun 26 20:15:54 2017 +0200
@@ -8,17 +8,23 @@
         v
         m
         n
+        matrixexp
+        tol
     end
 
 
     methods
-        function obj = MagnusMP(D, k, t0, v0)
+        function obj = MagnusMP(D, k ,t0,v0, matrixexp,tol)
+            default_arg('matrixexp','expm')
+            default_arg('tol',1e-6)
             obj.D = D;
             obj.k = k;
             obj.t = t0;
             obj.v = v0;
             obj.m = length(v0);
             obj.n = 0;
+            obj.matrixexp = matrixexp;
+            obj.tol = tol;
         end
 
         function [v,t] = getV(obj)
@@ -27,7 +33,7 @@
         end
 
         function obj = step(obj)
-            obj.v = time.expint.Magnus_mp(obj.v,obj.D, obj.t, obj.k);
+            obj.v = time.expint.Magnus_mp(obj.v,obj.D, obj.t, obj.k,obj.matrixexp,obj.tol);
             obj.t = obj.t + obj.k;
             obj.n = obj.n + 1;
         end