08-Jan-2022 10:06:54 svd_basis_test(): MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 Test svd_basis(). 08-Jan-2022 10:06:55 SVD_BASIS MATLAB/Octave version 9.8.0.1380330 (R2020a) Update 2 Given a PDE for which: C is the number of components of the solution at any single point, P is the number of points where a solution is given, N is the number of solution vectors, L is the number of modes to be extracted. Then we let M = C*P be the abstract spatial dimension. If requested, we compute the average solution, subtract it from each solution, and save that as mode #0. Set up A, the M by N matrix of solution vectors, Get A = U * S * V', the singular value decomposition. The first L columns of U are our dominant modes. L = 4 1: "data01.txt" According to the first base file, The number of solution components C = 3 The number of solution points P = 4 The "size" of each solution M = (C*P) = 12 The number of data files N = 5 The data is stored in an M by N matrix A. The "spatial" dimension M is 12 The number of data points N is 5 The data has been read into the matrix A. SVD_BASIS: Averaging of data is optional. The program can average the data vectors, subtract it from each data vector, and write out the data average vector as an extra "mode 0" vector. The user has requested the average vector. SINGULAR_VECTORS For an MxN matrix A in general storage, The LAPACK routine DGESVD computes the singular value decomposition: A = U * S * V' The leading singular values: 1 16.516733 2 10.527458 3 5.004092 4 2.632339 SVD_BASIS: Ready to write the left singular vectors to files. Writing average file "svd_000.txt". Writing first file "svd_001.txt". Writing last file "svd_004.txt" SVD_BASIS Normal end of execution. 08-Jan-2022 10:06:55 svd_basis_test(): Normal end of execution. 08-Jan-2022 10:06:55