├── 5.png ├── .DS_Store ├── __pycache__ ├── functions.cpython-310.pyc ├── functions.cpython-311.pyc ├── trajectory_generator.cpython-310.pyc └── trajectory_generator.cpython-311.pyc ├── README.md ├── LICENSE ├── functions.py ├── trajectory_generator.py ├── Algorithm1.ipynb └── Algorithm2.ipynb /5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1sa014kawa/JetEDMD/HEAD/5.png -------------------------------------------------------------------------------- /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1sa014kawa/JetEDMD/HEAD/.DS_Store -------------------------------------------------------------------------------- /__pycache__/functions.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1sa014kawa/JetEDMD/HEAD/__pycache__/functions.cpython-310.pyc -------------------------------------------------------------------------------- /__pycache__/functions.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1sa014kawa/JetEDMD/HEAD/__pycache__/functions.cpython-311.pyc -------------------------------------------------------------------------------- /__pycache__/trajectory_generator.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1sa014kawa/JetEDMD/HEAD/__pycache__/trajectory_generator.cpython-310.pyc -------------------------------------------------------------------------------- /__pycache__/trajectory_generator.cpython-311.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/1sa014kawa/JetEDMD/HEAD/__pycache__/trajectory_generator.cpython-311.pyc -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Jet Dynamic Mode Decomposition (JetDMD) 2 | 3 | Estimation of the Koopmnan operators on reproducing kernel Hilbert spaces via intrinsically constructed observables with teporally sampled data on trajectories with rigorous theoretical guarantee, accompanying with solid mathematical backgroud. 4 | 5 | ## Reference 6 | Each code here corresponds to the algorithm described in Section 7 in thie following paper [[arxiv]](https://arxiv.org/abs/2403.02524). 7 | Theory and methematical background are also provided there. 8 | ``` 9 | @misc{ishikawa2024koopman, 10 | title={Koopman operators with intrinsic observables in rigged reproducing kernel Hilbert spaces}, 11 | author={Isao Ishikawa and Yuka Hashimoto and Masahiro Ikeda and Yoshinobu Kawahara}, 12 | year={2024}, 13 | eprint={2403.02524}, 14 | archivePrefix={arXiv}, 15 | primaryClass={math.DS} 16 | } 17 | ``` 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 1sa014kawa 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /functions.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from scipy.special import comb 3 | from scipy import integrate 4 | from scipy import special 5 | from itertools import combinations_with_replacement 6 | from collections import Counter 7 | 8 | def make_combinatorial_products(x): 9 | """ 10 | Generate combinatorial products based on the input array x, useful for constructing polynomial feature spaces. 11 | 12 | Parameters 13 | ---------- 14 | x : np.ndarray 15 | Input array of shape (n+1, d) + x.shape[2:], where n is the polynomial degree and d is the dimension. 16 | 17 | Returns 18 | ------- 19 | np.ndarray 20 | Array of combinatorial products with shape (comb(n+d, d),) + x.shape[2:]. 21 | """ 22 | 23 | d=x.shape[1] 24 | n=x.shape[0]-1 25 | output=np.ones((comb(n+d,d, exact = True),) + x.shape[2:], dtype=x.dtype) 26 | for i,ell in enumerate(combinations_with_replacement(list(range(d+1)),n)): 27 | temp=Counter(ell) 28 | for j in range(1,d+1): 29 | output[i]=output[i]*x[temp[j],j-1] 30 | return output 31 | 32 | def constV_exp(X, p, n, sigma, b=None): 33 | """ 34 | Construct V^n_X using the exponential kernel for given data points, a center point, and a bandwidth. 35 | 36 | Parameters 37 | ---------- 38 | X : np.ndarray 39 | Data points of shape (d, n1, ..., nr). 40 | p, b : np.ndarray 41 | Center point of shape (d, 1). If b is None, b is set to p. 42 | n : int 43 | Degree of the polynomial space. 44 | sigma : float 45 | Bandwidth of the exponential kernel. 46 | 47 | Returns 48 | ------- 49 | np.ndarray 50 | Constructed V^n_X array with shape (comb(n+d, d),) + X.shape[1:]. 51 | """ 52 | 53 | d=X.shape[0] 54 | if b is None: #if b is omitted, we set b = p 55 | b=p 56 | V_nonflat=np.ones((n+1,) + X.shape) 57 | factor=((X.T-p.T)/sigma).T #shape=X.shape, transposes are just for broadcasting 58 | for i in range(n): 59 | V_nonflat[i+1]=V_nonflat[i]*factor 60 | V_nonflat*=np.exp((2*X.T - p.T - b.T)*(p-b).T/(2*sigma**2)).T 61 | return make_combinatorial_products(V_nonflat) #shape = (comb(n+d,d),) + X.shape[1:] 62 | 63 | def constW_exp(X, Y, p, n, sigma, b=None): 64 | """ 65 | Construct W^n_{X,Y} using the exponential kernel for given data points, output points, a center point, degree, and bandwidth. 66 | 67 | Parameters 68 | ---------- 69 | X, Y : np.ndarray 70 | Data points and output points of shape (d, n1, ..., nr). 71 | p : np.ndarray 72 | Center point of shape (d, 1). 73 | n : int 74 | Degree of the polynomial space. 75 | sigma : float 76 | Bandwidth of the exponential kernel. 77 | b : np.ndarray, optional 78 | Base point for the kernel, defaults to p if None. 79 | 80 | Returns 81 | ------- 82 | np.ndarray 83 | Constructed W^n_{X,Y} array. 84 | """ 85 | d=X.shape[0] 86 | if b is None: #if b is omitted, we set b = p 87 | b=p 88 | V_nonflat=np.ones((n+1,) + X.shape) 89 | dV_nonflat=np.zeros((n+1,) + X.shape) 90 | factor=((X.T-p.T)/sigma).T 91 | for i in range(n): 92 | V_nonflat[i+1]=V_nonflat[i]*factor 93 | V_nonflat*=np.exp((2*X.T - p.T - b.T)*(p-b).T/(2*sigma**2)).T 94 | #compute the derivative of v's 95 | dV_nonflat+=(V_nonflat.T*((p-b)/sigma)).T 96 | dV_nonflat[1:]+=(V_nonflat[:n].T*np.arange(1,n+1)).T 97 | dV_nonflat /= sigma 98 | temp=np.copy(V_nonflat[:n+1]) 99 | # 100 | W=np.zeros((comb(n+d,d, exact=True),) + X.shape[1:]) 101 | for j in range(d): 102 | temp[:,j] = np.copy(dV_nonflat[:,j]) 103 | W += make_combinatorial_products(temp)*Y[j] 104 | temp[:,j] = np.copy(V_nonflat[:,j]) 105 | return W 106 | 107 | def constDV_exp(X, p, n, sigma, b=None): 108 | """ 109 | Construct the derivative of V^n_X using the exponential kernel. 110 | 111 | Parameters 112 | ---------- 113 | X : np.ndarray 114 | Data points of shape (d, n1, ..., nr). 115 | p : np.ndarray 116 | Center point of shape (d, 1). 117 | n : int 118 | Degree of the polynomial space. 119 | sigma : float 120 | Bandwidth of the exponential kernel. 121 | b : np.ndarray, optional 122 | Base point for the kernel, defaults to p if None. 123 | 124 | Returns 125 | ------- 126 | np.ndarray 127 | Derivative of V^n_X array. 128 | """ 129 | 130 | d=X.shape[0] 131 | if b is None: #if b is omitted, we set b = p 132 | b=p 133 | V_nonflat=np.ones((n+1,) + X.shape) 134 | dV_nonflat=np.zeros((n+1,) + X.shape) 135 | factor=((X.T-p.T)/sigma).T 136 | for i in range(n): 137 | V_nonflat[i+1]=V_nonflat[i]*factor 138 | V_nonflat*=np.exp((2*X.T - p.T - b.T)*(p-b).T/(2*sigma**2)).T 139 | #compute the derivative of v's 140 | dV_nonflat+=(V_nonflat.T*((p-b)/sigma)).T 141 | dV_nonflat[1:]+=(V_nonflat[:n].T*np.arange(1,n+1)).T 142 | dV_nonflat /= sigma 143 | temp=np.copy(V_nonflat[:n+1]) 144 | # 145 | dV=np.zeros((d, comb(n+d,d, exact=True),) + X.shape[1:]) 146 | for j in range(d): 147 | temp[:,j] = np.copy(dV_nonflat[:,j]) 148 | dV[j] = make_combinatorial_products(temp) 149 | temp[:,j] = np.copy(V_nonflat[:,j]) 150 | return dV 151 | 152 | def constV_gauss(X, p, n, sigma, *arg): 153 | """ 154 | Construct V^n_X using the Gaussian kernel. 155 | 156 | Parameters 157 | ---------- 158 | X : np.ndarray 159 | Data points of shape (d, n1, ..., nr). 160 | p : np.ndarray 161 | Center point of shape (dim,). 162 | n : int 163 | Degree of the polynomial space. 164 | sigma : float 165 | Bandwidth of the Gaussian kernel. 166 | 167 | Returns 168 | ------- 169 | np.ndarray 170 | Constructed V^n_X array. 171 | """ 172 | 173 | d=X.shape[0] 174 | V_nonflat=np.ones((n+1,) + X.shape) 175 | factor=((X.T-p.T)/sigma).T 176 | for i in range(n): 177 | V_nonflat[i+1]=V_nonflat[i]*factor 178 | V_nonflat*=np.exp((-factor**2).T/2).T 179 | return make_combinatorial_products(V_nonflat) 180 | 181 | def constW_gauss(X, Y, p, n, sigma, *arg): 182 | """ 183 | Construct W^n_{X,Y} using the Gaussian kernel. 184 | 185 | Parameters 186 | ---------- 187 | X, Y : np.ndarray 188 | Data points and output points. 189 | p : np.ndarray 190 | Center point. 191 | n : int 192 | Degree of the polynomial space. 193 | sigma : float 194 | Bandwidth of the Gaussian kernel. 195 | 196 | Returns 197 | ------- 198 | np.ndarray 199 | Constructed W^n_{X,Y} array. 200 | """ 201 | 202 | d=X.shape[0] 203 | V_nonflat=np.ones((n+2,) + X.shape) 204 | dV_nonflat=np.zeros((n+1,) + X.shape) 205 | factor=((X.T-p.T)/sigma).T 206 | for i in range(n+1): 207 | V_nonflat[i+1]=V_nonflat[i]*factor 208 | V_nonflat*=np.exp((-factor**2).T/2).T 209 | dV_nonflat[1:]+=(V_nonflat[:n].T*np.arange(1,n+1)).T 210 | dV_nonflat -= V_nonflat[1:] 211 | dV_nonflat /= sigma 212 | temp=np.copy(V_nonflat[:n+1]) 213 | W=np.zeros((comb(n+d,d, exact=True),) + X.shape[1:]) 214 | for j in range(d): 215 | temp[:,j] = np.copy(dV_nonflat[:,j]) 216 | W += make_combinatorial_products(temp)*Y[j] 217 | temp[:,j] = np.copy(V_nonflat[:n+1,j]) 218 | return W 219 | 220 | def constDV_gauss(X, p, n, sigma, *arg): 221 | """ 222 | Construct the derivative of V^n_X using the Gaussian kernel. 223 | 224 | Parameters 225 | ---------- 226 | X : np.ndarray 227 | Data points. 228 | p : np.ndarray 229 | Center point. 230 | n : int 231 | Degree of the polynomial space. 232 | sigma : float 233 | Bandwidth of the Gaussian kernel. 234 | 235 | Returns 236 | ------- 237 | np.ndarray 238 | Derivative of V^n_X array. 239 | """ 240 | 241 | d=X.shape[0] 242 | V_nonflat=np.ones((n+2,) + X.shape) 243 | dV_nonflat=np.zeros((n+1,) + X.shape) 244 | factor=((X.T-p.T)/sigma).T 245 | for i in range(n+1): 246 | V_nonflat[i+1]=V_nonflat[i]*factor 247 | V_nonflat*=np.exp((-factor**2).T/2).T 248 | dV_nonflat[1:]+=(V_nonflat[:n].T*np.arange(1,n+1)).T 249 | dV_nonflat -= V_nonflat[1:] 250 | dV_nonflat /= sigma 251 | temp=np.copy(V_nonflat[:n+1]) 252 | dV=np.zeros((d, comb(n+d,d,exact=True),) + X.shape[1:]) 253 | for j in range(d): 254 | temp[:,j] = np.copy(dV_nonflat[:,j]) 255 | dV[j] = make_combinatorial_products(temp) 256 | temp[:,j] = np.copy(V_nonflat[:n+1,j]) 257 | return dV 258 | 259 | def make_Gs(n, ps, sigma, b=None, deg=20): 260 | """ 261 | Compute G_{ij} matrices using Hermite-Gaussian quadrature. 262 | 263 | Parameters 264 | ---------- 265 | n : int 266 | Degree of the polynomial space. 267 | ps : np.ndarray 268 | Points at which G matrices are computed. 269 | sigma : float 270 | Bandwidth parameter. 271 | b : np.ndarray, optional 272 | Base point for the kernel, defaults to zeros if None. 273 | deg : int, optional 274 | Degree of the Hermite-Gaussian quadrature. 275 | 276 | Returns 277 | ------- 278 | np.ndarray 279 | Computed G_{ij} matrices. 280 | """ 281 | 282 | d=ps.shape[0] 283 | r=ps.shape[1] 284 | if b==None: 285 | b=np.zeros((d,1)) 286 | ps=ps-b 287 | rn = comb(n+d,d, exact=True) 288 | output = np.ones((r,rn,r,rn)) 289 | x,w = special.roots_hermite(deg) 290 | z=x.reshape(1,1,deg,1) + x.reshape(1,1,1,deg)*1j 291 | for k in range(d): 292 | temp = np.zeros((r,rn,r,rn,deg,deg),dtype='complex128') 293 | for i1,ell1 in enumerate(combinations_with_replacement(list(range(d+1)),n)): 294 | alpha=Counter(ell1) 295 | for i2,ell2 in enumerate(combinations_with_replacement(list(range(d+1)),n)): 296 | beta=Counter(ell2) 297 | temp[:,i1,:,i2]=((z - ps[k].reshape(r,1,1,1)/sigma)**alpha[k+1])*((z.conjugate() - ps[k].reshape(1,r,1,1)/sigma)**beta[k+1]) 298 | temp[:,i1,:,i2]*=np.exp(z*ps[k].reshape(r,1,1,1)/sigma + z.conjugate()*ps[k].reshape(1,r,1,1)/sigma) 299 | temp[:,i1,:,i2]*=np.exp((-ps[k].reshape(r,1,1,1)**2 - ps[k].reshape(1,r,1,1)**2)/(2*sigma**2)) 300 | output *= ((temp.dot(w)).dot(w)).real/np.pi 301 | return output 302 | 303 | def jacmat(x, f, epsilon=1e-7): 304 | """ 305 | Compute the Jacobian matrix of a function f at points x. 306 | 307 | Parameters 308 | ---------- 309 | x : np.ndarray 310 | Points at which to compute the Jacobian, shape (d, N). 311 | f : function 312 | Function for which the Jacobian is computed. 313 | epsilon : float, optional 314 | Perturbation for finite differences. 315 | 316 | Returns 317 | ------- 318 | np.ndarray 319 | Jacobian matrix of f at x, shape (N, d, d). 320 | """ 321 | 322 | d=x.shape[0] 323 | N=x.shape[1] 324 | output = np.zeros((d,d,N)) 325 | e=np.zeros((d,1)) 326 | fd_coef = np.array([1, -8, 0, 8, -1], dtype=float) 327 | for i in range(d): 328 | e[i,0] = 1.0 329 | output[:,i] = np.sum(np.array([c*f(x + (i-2)*epsilon*e) for i,c in enumerate(fd_coef)]), axis=0)/(12*epsilon) 330 | e[i,0] = 0.0 331 | return output.transpose(2,0,1) #shape of output is (N,d,d) 332 | 333 | import sys 334 | 335 | def data_projection(X,Y,n=1): 336 | if X.shape[0] - n >= Y.shape[0]: 337 | _, _, V = np.linalg.svd(X[-n:], full_matrices=False) 338 | P = V.T@V 339 | return X[:-n] - X[:-n]@P, Y - Y@P 340 | # return X, Y 341 | -------------------------------------------------------------------------------- /trajectory_generator.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | class TrajectoryGenerator(): 4 | def __init__(self, reverse=False): 5 | """ 6 | Initialize the TrajectoryGenerator. 7 | 8 | Parameters 9 | ---------- 10 | reverse : bool, optional 11 | If Tr 12 | ue, the trajectory is generated in reverse. Default is False. 13 | """ 14 | self.reverse= reverse 15 | 16 | def _step_forward(self, x, vf, h, sign, **kwargs): 17 | """ 18 | Perform a single step forward using the fourth-order Runge-Kutta method. 19 | 20 | Parameters 21 | ---------- 22 | x : np.ndarray 23 | Current state from which the step is taken. 24 | vf : function 25 | Vector field function that defines the system dynamics. 26 | h : float 27 | Step size. 28 | sign : int 29 | Determines the direction of the step based on time direction (forward or backward). 30 | **kwargs : dict 31 | Additional arguments, specifically for storing intermediate Runge-Kutta values. 32 | 33 | Returns 34 | ------- 35 | np.ndarray 36 | The state of the system after taking a step forward. 37 | """ 38 | kwargs['k'][0]=sign*vf(x) 39 | kwargs['y']=x + kwargs['k'][0]*h/2 40 | kwargs['k'][1]=sign*vf(kwargs['y']) 41 | kwargs['y']=x + kwargs['k'][1]*h/2 42 | kwargs['k'][2]=sign*vf(kwargs['y']) 43 | kwargs['y']=x + kwargs['k'][2]*h 44 | kwargs['k'][3]=sign*vf(kwargs['y']) 45 | return x + (kwargs['k'][0] + 2*kwargs['k'][1] + 2*kwargs['k'][2] + kwargs['k'][3])*h/6.0 46 | def generate_trajectory(self, x0, t, h): 47 | """ 48 | Generates a trajectory for a system defined by a specific vector field, starting from an initial state 49 | and progressing over a specified time interval. The trajectory is constructed using the fourth-order 50 | Runge-Kutta method for numerical integration, allowing for both forward and reverse time integration 51 | based on the sign of the time parameter `t` and the object's `reverse` attribute. 52 | 53 | Parameters 54 | ---------- 55 | x0 : np.ndarray 56 | The initial state of the system from which to start the trajectory. This array should be shaped 57 | according to the dimensions of the system's state space (e.g., (dimensions,)). 58 | t : float 59 | The total time over which to generate the trajectory. The trajectory can be generated in the forward 60 | direction (positive `t`) or in reverse (negative `t`), with the actual direction also considering the 61 | object's `reverse` attribute. 62 | h : float 63 | The time step size to use for each integration step along the trajectory. This value determines the 64 | resolution of the trajectory and should be chosen based on the dynamics of the system and the desired 65 | accuracy of the trajectory. 66 | 67 | Returns 68 | ------- 69 | Z : np.ndarray 70 | An array containing the sequence of states along the generated trajectory. The shape of this array will 71 | be (N,)+x0.shape, where N is the number of steps determined by the total time `t` and the step size `h`. 72 | Each entry in the array represents the state of the system at a consecutive time step. 73 | 74 | Notes 75 | ----- 76 | The direction of time integration (forward or backward) is determined by both the sign of `t` and the 77 | `reverse` attribute of the class instance. The integration method employed (fourth-order Runge-Kutta) 78 | provides a balance between computational efficiency and the accuracy of the trajectory for a wide range 79 | of dynamical systems. 80 | """ 81 | sign = 1-2*((t<0)^(self.reverse)) 82 | if abs(t) < h: 83 | return x0[np.newaxis,...] 84 | N = int(abs(t)/h) 85 | Z = np.zeros((N,)+x0.shape) 86 | y = np.zeros_like(x0) 87 | k = np.zeros((4,)+x0.shape) 88 | Z[0] = x0 89 | for i in range(N-1): 90 | Z[i+1] = self._step_forward(Z[i], self.vector_field, h, sign, y=y, k=k) 91 | return Z 92 | 93 | 94 | def jacmat(self, p, epsilon=1e-7): 95 | """ 96 | Calculate the Jacobian matrix of the vector field at point p using finite differences. 97 | 98 | Parameters 99 | ---------- 100 | p : np.ndarray 101 | Point at which to calculate the Jacobian matrix, with shape (d, N). 102 | epsilon : float, optional 103 | Small perturbation used for finite difference calculation. Default is 1e-7. 104 | 105 | Returns 106 | ------- 107 | output : np.ndarray 108 | The Jacobian matrix of the vector field at point p. 109 | """ 110 | fd_coef = [1.0, -8.0, 0.0, 8.0, -1.0] 111 | assert p.ndim==2, "p.shape should be (d,N)" 112 | d = p.shape[0] 113 | N = p.shape[1] 114 | output = np.zeros((d,d,N)) 115 | e = np.zeros((d,1)) 116 | for i in range(d): 117 | e[i] = 1.0 118 | output[:,i] = np.sum(np.array([c*self.vector_field(p + epsilon*(i-2)*e) for i,c in enumerate(fd_coef)]), axis=0)/(12*epsilon) 119 | e[i] = 0 120 | return output.transpose(2,0,1) 121 | 122 | def evaluate(self, x, t, h=1e-4): 123 | """ 124 | Evaluate the final state of the system after evolving for a specified time from an initial state. 125 | 126 | This method calculates the system's state after progressing for time `t` starting from the initial state `x`. 127 | It uses the fourth-order Runge-Kutta method to integrate the system's dynamics defined by `vector_field`. 128 | The integration can proceed in the forward or backward direction in time depending on the sign of `t` and 129 | the `reverse` attribute of the class. For `t` smaller than the step size `h`, it directly returns the initial state. 130 | 131 | Parameters 132 | ---------- 133 | x : np.ndarray 134 | Initial state of the system. This array should match the expected dimensions for the system's state vector. 135 | t : float 136 | Total time over which to evolve the system. Positive values of `t` evolve the system forward in time, 137 | while negative values evolve it backward. The actual direction of evolution also depends on the `reverse` 138 | attribute of the class. 139 | h : float, optional 140 | Time step size to be used in the Runge-Kutta integration. Default value is 1e-4. 141 | 142 | Returns 143 | ------- 144 | np.ndarray 145 | The state of the system after evolving for time `t` from the initial state `x`. 146 | 147 | """ 148 | sign = 1-2*((t<0)^(self.reverse)) 149 | if abs(t) < h: 150 | return x[np.newaxis,...] 151 | N = int(abs(t)/h) 152 | y = np.zeros_like(x) 153 | k = np.zeros((4,) + x.shape) 154 | for _ in range(N): 155 | x = self._step_forward(x, self.vector_field, h, sign, y=y, k=k) 156 | return x 157 | 158 | class model_user_defined(TrajectoryGenerator): 159 | def __init__(self, func): 160 | super().__init__() 161 | self.func=func 162 | def vector_field(self, x): 163 | return self.func(x) 164 | 165 | class VanderPol(TrajectoryGenerator): #Van der Pol osscilator 166 | ''' 167 | x' = y 168 | y' = μ(1-x^2)y - x 169 | ''' 170 | def __init__(self,mu): 171 | super().__init__() 172 | self.mu=mu 173 | def vector_field(self, x): #(2,*) --> (2,*) 174 | return np.array([x[1], self.mu*(1-x[0]**2)*x[1] - x[0]]) 175 | 176 | 177 | class Duffing(TrajectoryGenerator): #Van del Pol osscilator 178 | ''' 179 | x' = y 180 | y' = -δy-αx-βx^3 (+ γcos(ωt)) 181 | ''' 182 | def __init__(self, alpha,beta,delta): 183 | super().__init__() 184 | self.alpha=alpha 185 | self.beta=beta 186 | self.delta=delta 187 | def vector_field(self, x): #(2,*) --> (2,*) 188 | return np.array([x[1], -self.delta*x[1] - self.alpha*x[0] - self.beta*x[0]**3]) 189 | 190 | class StuartLandau(TrajectoryGenerator): #Stuart_Landau equation 191 | ''' 192 | x' = ax - ωy - (x - by)(x^2 + y^2) 193 | y' = ay + ωx - (y + bx)(x^2 + y^2) 194 | ''' 195 | def __init__(self,a,b,omega): 196 | super().__init__() 197 | self.a=a 198 | self.b=b 199 | self.omega=omega 200 | def vector_field(self, x): #(2,*) --> (2,*) 201 | return np.array([self.a*x[0] - self.omega*x[1]- (x[0] - self.b*x[1])*(x[0]**2 + x[1]**2 ), \ 202 | self.a*x[1] + self.omega*x[0]- (x[1] + self.b*x[0])*(x[0]**2 + x[1]**2)]) 203 | 204 | class FitzHughNagumo(TrajectoryGenerator): #FitzHugh-Nagumo equation 205 | def __init__(self, a, b, tau, R, I): 206 | super().__init__() 207 | self.a=a 208 | self.b=b 209 | self.tau=tau 210 | self.R=R 211 | self.I=I 212 | def vector_field(self, x): #(2,*) --> (2,*) 213 | return np.array([x[0] - x[0]**3/3 - x[1] + self.R*self.I, \ 214 | (x[0] + self.a - self.b*x[1])/self.tau]) 215 | 216 | class Lorenz(TrajectoryGenerator): #Lorenz attractor 217 | ''' 218 | x = σ(y - x) 219 | y = x(ρ - z) - y 220 | z = xy - βz 221 | ''' 222 | def __init__(self, sigma=10.0, rho=28.0, beta=8/3): 223 | super().__init__() 224 | self.sigma=sigma 225 | self.rho=rho 226 | self.beta=beta 227 | def vector_field(self, x): 228 | return np.array([self.sigma*(x[1]-x[0]), x[0]*(self.rho - x[2]) - x[1], x[0]*x[1] - self.beta*x[2]]) 229 | 230 | class BogdanovTakens(TrajectoryGenerator): 231 | ''' 232 | x' = y 233 | y' = β_1 + β_2x + x^2 + sign xy 234 | ''' 235 | def __init__(self, beta1, beta2, sign): 236 | super().__init__() 237 | self.beta1=beta1 238 | self.beta2=beta2 239 | self.sign=sign 240 | def vector_field(self, x): #(2,*) --> (2,*) 241 | return np.array([x[1], self.beta1 + self.beta2*x[0] + x[0]**2 + self.sign*x[0]*x[1]]) 242 | 243 | class Rossler(TrajectoryGenerator): #Lorenz attractor 244 | ''' 245 | x' = - y - z 246 | y' = x + ay 247 | z' = b + z(x-c) 248 | ''' 249 | def __init__(self, a,b,c): 250 | super().__init__() 251 | self.a=a 252 | self.b=b 253 | self.c=c 254 | def vector_field(self, x): 255 | return np.array([-x[1]-x[2], x[0] + self.a*x[1], self.b + x[2]*(x[0] - self.c)]) 256 | 257 | class Aizawa(TrajectoryGenerator): #Lorenz attractor 258 | ''' 259 | x' = (z-b)x - dy 260 | y' = dx + (z-b)y 261 | z' = c + az - z^3/3 - x^2 + fzx^3 262 | ''' 263 | def __init__(self, a,b,c,d,e,f): 264 | super().__init__() 265 | self.a=a 266 | self.b=b 267 | self.c=c 268 | self.d=d 269 | self.e=e 270 | self.f=f 271 | def vector_field(self, x): 272 | return np.array([(x[2]- self.b)*x[0] - self.d*x[1], self.d*x[0] + (x[2] - self.b)*x[1],\ 273 | self.c + self.a*x[2] - x[2]**3/3 - x[0]**2 + self.f*x[2]*x[0]]) 274 | 275 | class Linear(TrajectoryGenerator): #linear 276 | def __init__(self, A): 277 | super().__init__() 278 | self.A=A 279 | def vector_field(self, x): 280 | return (x.T@(self.A.T)).T 281 | 282 | class Lorenz96(TrajectoryGenerator): 283 | def __init__(self, F=8): 284 | super().__init__() 285 | self.F = F 286 | def vector_field(self, x): 287 | return (np.roll(x,-1,axis=0) - np.roll(x,2,axis=0))*np.roll(x,1,axis=0) - x + self.F 288 | 289 | class Cusp_catastrophe(TrajectoryGenerator): 290 | def __init__(self, a,b): 291 | super().__init__() 292 | self.a = a 293 | self.b = b 294 | def vector_felds(self, x): 295 | return np.array([x**4 + self.a*x**2 + self.b* x]) 296 | 297 | class DiscreteBurgers(TrajectoryGenerator): #周期境界の離散Burgers方程式 298 | def __init__(self, nu=0.02, w=0.1): 299 | super().__init__() 300 | self.nu = nu 301 | self.w = w 302 | def vector_field(self, x): 303 | return -(np.roll(x,-1,axis=0) - np.roll(x,1,axis=0)) * x/(2 * self.w) + self.nu * (np.roll(x,-1,axis=0) + np.roll(x,1,axis=0) - 2*x)/self.w**2 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | -------------------------------------------------------------------------------- /Algorithm1.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "0cc33b71-d241-4015-9e9b-282af2ff5116", 6 | "metadata": {}, 7 | "source": [ 8 | "# Algorithm 1" 9 | ] 10 | }, 11 | { 12 | "cell_type": "code", 13 | "execution_count": 2, 14 | "id": "cb862fe9-879b-4c47-8caa-ad4c1f070736", 15 | "metadata": {}, 16 | "outputs": [], 17 | "source": [ 18 | "import numpy as np\n", 19 | "import matplotlib.pyplot as plt\n", 20 | "from cmap import Colormap\n", 21 | "from scipy.special import comb\n", 22 | "from itertools import combinations_with_replacement\n", 23 | "from collections import Counter\n", 24 | "from functions import *" 25 | ] 26 | }, 27 | { 28 | "cell_type": "markdown", 29 | "id": "c4cf8216-524a-47b6-8b7d-d1ecc337a5c7", 30 | "metadata": {}, 31 | "source": [ 32 | "## Computation of eigenvalues with the expoenential kernel" 33 | ] 34 | }, 35 | { 36 | "cell_type": "code", 37 | "execution_count": 4, 38 | "id": "30b30502-93e3-4edf-b6d6-c923c2042d8f", 39 | "metadata": {}, 40 | "outputs": [ 41 | { 42 | "data": { 43 | "image/png": "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rmfN9d8jR46U6dOni4/7nQltyQZysoGcbGgOLCeKcwAAOhFdYx6dMY/OoGc7D7plr7322gEt98Ybb0iutZ0+7dBDD816ueha+agre3Qf/dzX/QYAhCc/7h3A24XUNSNk5OQ/MrLB55w6GvxNRT/T+5C7t7c9G3H11VfLxz/+8azyGjBggOTaU089lX48evTorJfTruv/9V//JRs3bpQf/OAH6cHkctGlvaWlRf70pz+lz5pXVFQE25bwFnKygZxsSAaWE8W5h0LqmhEycvIfGdnga06djcquj/tCgd52sLKCggI3srqvB0IPPvjgft3Vs3X00Ue7qeD0OvlLL73U/WzatGmuW3tv023qAHpK9+Fgf7e+tiXsj5xsICcbmgPLiW7tHoqu3YPfyMl/ZGSDjzl1NV1aV/Ogh0Kvxy4rK3OPH3300QNeT2/nq9fF33XXXemz9h/60Ie6tXx0llynT2v779524403ph/rgHshtiW8HTnZQE42JALLieLcQ6G9yUJFTv4jIxt8yynbecz7QoGuZ3I//OEPp89MP/fccwe0nn79+qUf67ziPd01/Mwzz0xf5/65z32u29dun3766VJSUuKmTdP7aIq13rRs2bL0lHODBw92ryG0toSOkZMN5GRDIrCcKM49pAcaeoPfyMl/ZGSDTzllW5j3pQL9iiuucEW6ZqRF7LZt2zrtXvizn/3sbc/R7vGFhYXu8QsvvNBj+7ZlyxY5+eST5X//93/dv9/97nfL1772tW6vR4v5uro6d+Zc73tzYLa9e/fKwoUL02fn9Xd7xx139Mh86j61JWRGTjaQkw0tgeXENeceeLHmRVn89GJ5+G8Py3M7n5P6vfXuTZbMS8rAwoHynsPeIzOOmiHzx8+X4eXD495d/FNeHt9t+Y6MbPApp7vvzr4wb1+gR0W9ruP88yUYOnf5t7/9bbnwwgvl2Wefdded69npD3zgA3LEEUe4gvall15y10/rmeCXX35Z/vznP8vQoUPT69Ap2CZPniyrV6+WRYsWyYQJE2T8+PHuOnalxXBHBfE//vEP2bBhQ/rfe/bscT/T/fjjH//o5mDft29fehC4e++9N90NP05t91m/sNB93r59e/p3FE01pwX5D3/4QznllFMOaDv7WvbJnqY98oO1P5BV21fJjrodsrd5r/Qr6CcVAytk4uCJMnHIRJleOV3K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", 44 | "text/plain": [ 45 | "
" 46 | ] 47 | }, 48 | "metadata": {}, 49 | "output_type": "display_data" 50 | } 51 | ], 52 | "source": [ 53 | "d = 2 # dimension\n", 54 | "m = 5\n", 55 | "n = 15\n", 56 | "rm = comb(m+d,d, exact = True) # dimension of V_{p,m}\n", 57 | "rn = comb(n+d,d, exact = True) # dimension of V_{p,n}\n", 58 | "N = 5*rn # number of sample\n", 59 | "\n", 60 | "# Uniformly random sapmling from [-1,1]^2\n", 61 | "X = 2*np.random.rand(d,N) - 1 \n", 62 | "\n", 63 | "# Image of X under f(x,y) = (x^2 - y^2 + x - y, 2xy + x + y)\n", 64 | "def f_intro(x):\n", 65 | " return np.array([x[0]**2 - x[1]**2 + x[0] - x[1],2*x[0]*x[1] + x[0] + x[1]])\n", 66 | "Y = f_intro(X)\n", 67 | "\n", 68 | "sigma_kernel = 1.0 #sigma of the exponential kernel\n", 69 | "\n", 70 | "# Construction of V_m^Y and V_n^X\n", 71 | "p = np.zeros((d,1)) #fixed point of the dynamical system\n", 72 | "b = p #shift parameter of the exponential kernel \n", 73 | "V_mY = constV_exp(Y, p, m, sigma_kernel, b) #V_m^Y \n", 74 | "V_nX = constV_exp(X, p, n, sigma_kernel, b) #V_n^X\n", 75 | "\n", 76 | "\n", 77 | "# Computation of the estimated Perron-Frobenius operator (output of Algorithm 1)\n", 78 | "C_JetDMD = (V_mY@(np.linalg.pinv(V_nX)))[:,:rm]\n", 79 | "\n", 80 | "# Computation of eigenvalues of the objective matrices\n", 81 | "evals_estimated_JetDMD, _ = np.linalg.eig(C_JetDMD)\n", 82 | "\n", 83 | "# Computation of the objective matrix and its eigenvalues in EDMD\n", 84 | "V_nY = constV_exp(Y, p, n, sigma_kernel, b)\n", 85 | "C_EDMD = (V_nY@(np.linalg.pinv(V_nX))) \n", 86 | "evals_estimated_EDMD, _ = np.linalg.eig(C_EDMD)\n", 87 | "\n", 88 | "# Jacobian matrix of the dynamical system at 0\n", 89 | "dfp=jacmat(p,f_intro)\n", 90 | "\n", 91 | "# eigenvalues of the Jacobian matrix of the dynamical system at 0\n", 92 | "eval_dfp=np.linalg.eig(dfp)[0][0] \n", 93 | "\n", 94 | "# make the array of multiplications of eigenvalues\n", 95 | "evals_true =np.array([np.prod(ell, axis=0) for ell in combinations_with_replacement([1 + 0j] + list(eval_dfp),m)]) \n", 96 | "\n", 97 | "# Figure 1 in Introduction\n", 98 | "plt.rc('axes', titlesize=20) \n", 99 | "plt.rc('legend', fontsize=20) \n", 100 | "ax=plt.figure(figsize=(12,8)).add_subplot()\n", 101 | "ax.grid(True, linestyle='--', color='k', linewidth=0.1)\n", 102 | "ax.plot(evals_estimated_JetDMD.real, evals_estimated_JetDMD.imag, 'x', c='blue', markersize=12, markeredgewidth=1.5, label='JetDMD')\n", 103 | "# ax.plot(evals_estimated_EDMD.real, evals_estimated_EDMD.imag, '+', c='red', markersize=12, markeredgewidth=1.5, label='EDMD')\n", 104 | "ax.plot(evals_true.real, evals_true.imag, 'go', alpha=1, markerfacecolor='none', markersize=22, markeredgewidth=1.5, label='true')\n", 105 | "# ax.set_xlim(-16,16)\n", 106 | "# ax.set_ylim(-10,10)\n", 107 | "ax.set_xlabel('Re')\n", 108 | "ax.set_ylabel('Im')\n", 109 | "ax.legend()\n", 110 | "plt.show()" 111 | ] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "execution_count": null, 116 | "id": "bfec21aa-24f3-4acc-a5d5-0fdcf4ecc17f", 117 | "metadata": {}, 118 | "outputs": [], 119 | "source": [] 120 | } 121 | ], 122 | "metadata": { 123 | "kernelspec": { 124 | "display_name": "Python 3", 125 | "language": "python", 126 | "name": "python3" 127 | }, 128 | "language_info": { 129 | "codemirror_mode": { 130 | "name": "ipython", 131 | "version": 3 132 | }, 133 | "file_extension": ".py", 134 | "mimetype": "text/x-python", 135 | "name": "python", 136 | "nbconvert_exporter": "python", 137 | "pygments_lexer": "ipython3", 138 | "version": "3.11.11" 139 | } 140 | }, 141 | "nbformat": 4, 142 | "nbformat_minor": 5 143 | } 144 | -------------------------------------------------------------------------------- /Algorithm2.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "456ea6cf-0497-4c1d-b2fd-4d58e45b751b", 6 | "metadata": {}, 7 | "source": [ 8 | "# Algorithm 2" 9 | ] 10 | }, 11 | { 12 | "cell_type": "code", 13 | "execution_count": 1, 14 | "id": "f725d20c-6dbc-4780-9214-aab1890d1698", 15 | "metadata": {}, 16 | "outputs": [], 17 | "source": [ 18 | "from trajectory_generator import *\n", 19 | "from functions import *\n", 20 | "import numpy as np\n", 21 | "import matplotlib.pyplot as plt\n", 22 | "from cmap import Colormap\n", 23 | "from scipy.special import comb\n", 24 | "from itertools import combinations_with_replacement\n", 25 | "from collections import Counter" 26 | ] 27 | }, 28 | { 29 | "cell_type": "markdown", 30 | "id": "23c17d79-6455-45b5-b46b-0a9b9672eec6", 31 | "metadata": {}, 32 | "source": [ 33 | "## Figure of trajectories" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": 2, 39 | "id": "7abe2d14-cf5f-4759-a7c0-bcc035d63af9", 40 | "metadata": {}, 41 | "outputs": [ 42 | { 43 | "data": { 44 | "image/png": "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", 45 | "text/plain": [ 46 | "
" 47 | ] 48 | }, 49 | "metadata": {}, 50 | "output_type": "display_data" 51 | } 52 | ], 53 | "source": [ 54 | "#change font size in figures\n", 55 | "plt.rc('axes', titlesize=15) \n", 56 | "plt.rc('legend', fontsize=15) \n", 57 | "\n", 58 | "mu=1; model = VanderPol(mu); d=2 # Van der Pol oscillator\n", 59 | "# alpha=-1; beta=1; delta=0.5; model=Duffing(alpha,beta,delta); d=2 # Duffing oscillator\n", 60 | "\n", 61 | "# Trajectries of the dynamical system\n", 62 | "ax=plt.figure().add_subplot()\n", 63 | "x0 = np.array([[0.1,0],[-2,2],[0,-0.8]]).T #initial values of (0.1, 0), (-1,1), and (0,-1)\n", 64 | "traj = model.generate_trajectory(x0, t=10, h=1e-3)\n", 65 | "ax.set_title(\"Trajectries\")\n", 66 | "ax.grid(True, linestyle='--', color='k', linewidth=0.1)\n", 67 | "ax.plot(traj[:,0,:], traj[:,1,:])\n", 68 | "ax.axis(\"equal\")\n", 69 | "plt.show()" 70 | ] 71 | }, 72 | { 73 | "cell_type": "markdown", 74 | "id": "cfd45d06-bdb0-4834-8663-8edc3f0ce93c", 75 | "metadata": {}, 76 | "source": [ 77 | "## Computation of eigenvalues of estimated Perron-Frobenius operators" 78 | ] 79 | }, 80 | { 81 | "cell_type": "code", 82 | "execution_count": 3, 83 | "id": "8611e8fc-d01b-431a-b1e0-e729ef3dedc9", 84 | "metadata": {}, 85 | "outputs": [ 86 | { 87 | "data": { 88 | "image/png": "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", 89 | "text/plain": [ 90 | "
" 91 | ] 92 | }, 93 | "metadata": {}, 94 | "output_type": "display_data" 95 | } 96 | ], 97 | "source": [ 98 | "m = 5\n", 99 | "n = 10\n", 100 | "rm = comb(m+d,d, exact = True) # dimension of V_{p,m}\n", 101 | "rn = comb(n+d,d, exact = True) # dimension of V_{p,n}\n", 102 | "N = 100 # number of sample\n", 103 | "kernel_name = 'exp' #'exp' or 'gauss'\n", 104 | "assert kernel_name == 'exp' or kernel_name =='gauss', 'kernel_name should be exp or gauss'\n", 105 | "\n", 106 | "# Data\n", 107 | "## Uniformly random sapmling from [-1,1]^2\n", 108 | "X = 2*np.random.rand(d,N) - 1 \n", 109 | "\n", 110 | "## exact velocities at X\n", 111 | "Y = model.vector_field(X)\n", 112 | "\n", 113 | "\n", 114 | "# Computation of V_n^X and W_m^{X,Y}\n", 115 | "# Computation of V_n^X and W_m^{X,Y}\n", 116 | "if kernel_name=='exp':\n", 117 | " constV = constV_exp #V_n^X with exponential kernel\n", 118 | " constW = constW_exp #W_m^{X,Y} with exponential kernel\n", 119 | " sigma_kernel = 1.0 #sigma\n", 120 | "elif kernel_name == 'gauss':\n", 121 | " constV = constV_gauss #V_n^X with Gaussian kernel \n", 122 | " constW = constW_gauss #W_m^{X,Y} with Gaussian kernel \n", 123 | " sigma_kernel = 1.0 #sigma\n", 124 | "p = np.array([[0,0]]).T #fixed point of the dynamical system\n", 125 | "b = p #shift parameter of the exponential kernel \n", 126 | "V = constV(X, p, n, sigma_kernel, b) # V_n^X\n", 127 | "W = constW(X, Y, p, m, sigma_kernel, b) # W_m^{X,Y}\n", 128 | "\n", 129 | "\n", 130 | "#Computation of A-hat\n", 131 | "A = (W@(np.linalg.pinv(V)))[:,:rm]\n", 132 | "\n", 133 | "# Computation of eigenvalues of the objective matrices\n", 134 | "evals_estimated, _ = np.linalg.eig(A)\n", 135 | "\n", 136 | "# Jacobian matrix of the dynamical system at 0\n", 137 | "dFp=model.jacmat(p)\n", 138 | "\n", 139 | "# eigenvalues of the Jacobian matrix of the vector field at 0\n", 140 | "eval_dFp=np.linalg.eig(dFp)[0][0] \n", 141 | "\n", 142 | "# make the array of multiplications of eigenvalues\n", 143 | "evals_true =np.array([np.sum(ell, axis=0) for ell in combinations_with_replacement([0 + 0j] + list(eval_dFp),m)]) \n", 144 | "\n", 145 | "ax=plt.figure().add_subplot()\n", 146 | "ax.set_title(f'$m$={m}, $n$={n}, $N$={N}, $\\sigma$={sigma_kernel}, $p$={p[:,0]}')\n", 147 | "ax.grid(True, linestyle='--', color='k', linewidth=0.1)\n", 148 | "ax.plot(evals_estimated.real, evals_estimated.imag, 'x', c='blue', markersize=12, markeredgewidth=1.5, label='estimated')\n", 149 | "ax.plot(evals_true.real, evals_true.imag, 'go', alpha=1, markerfacecolor='none', markersize=22, markeredgewidth=1.5, label='true')\n", 150 | "ax.set_xlabel('Re')\n", 151 | "ax.set_ylabel('Im')\n", 152 | "ax.legend()\n", 153 | "plt.show()" 154 | ] 155 | }, 156 | { 157 | "cell_type": "code", 158 | "execution_count": null, 159 | "id": "f4a6742a-96fc-42d6-9b4f-ce2bcfd0db7d", 160 | "metadata": {}, 161 | "outputs": [], 162 | "source": [] 163 | } 164 | ], 165 | "metadata": { 166 | "kernelspec": { 167 | "display_name": "Python 3 (ipykernel)", 168 | "language": "python", 169 | "name": "python3" 170 | }, 171 | "language_info": { 172 | "codemirror_mode": { 173 | "name": "ipython", 174 | "version": 3 175 | }, 176 | "file_extension": ".py", 177 | "mimetype": "text/x-python", 178 | "name": "python", 179 | "nbconvert_exporter": "python", 180 | "pygments_lexer": "ipython3", 181 | "version": "3.11.6" 182 | } 183 | }, 184 | "nbformat": 4, 185 | "nbformat_minor": 5 186 | } 187 | --------------------------------------------------------------------------------