## 2 Materials and Methods  
### Singular Value Decomposition  
Consider seismic data stored in a matrix \(\mathbf{M}\in\mathbb{R}^{n_{t},n_{t}}\), where \(n_{t}\) is the number of the receivers recording the data and \(n_{t}\) is the number of time samples. An element of the matrix \(M_{ij}\) describes the ground motion at the \(j^{th}\) receiver, and at the \(i^{th}\) time step. Singular value decomposition method is a common matrix decomposition method that can be used to express the matrix \(\mathbf{M}\) of rank  
right singular vector in this work, we can express is as just a sum of outer products of left singular vectors and right singular vectors:  
\[\mathbf{M}=\sum_{k=1}^{r}\mathbf{u}^{\mathbf{k}}\mathbf{v}^{\mathbf{k}}{}^{T}. \tag{2}\]  
While Equation (2) may be less common, regarding SVD as sum of outer products is helpful for understanding the processes of SMD. In this work, we refer to any column from \(\mathbf{U}\) as a column vector, and any column from \(\mathbf{V}\) as a row vector. This is because in the outer product \(\mathbf{u}^{\mathbf{k}}\mathbf{v}^{\mathbf{k}}{}^{T}\) all columns are multiples of the column vector \(\mathbf{u}^{\mathbf{k}}\), and all rows are multiples of the row vector \(\mathbf{v}^{\mathbf{k}}{}^{T}\). Singular value decomposition can also be used as a data compression method. We assume singular values in \(\mathbf{D}_{\mathbf{r}}\) decrease from first to last row. When applying SVD to seismic data, the initial singular values are much greater than the average singular value in \(\mathbf{D}_{\mathbf{r}}\), and describe most of the signal. By neglecting the small singular values, the singular value decomposition can be used to approximate matrix \(\mathbf{M}\) as  
\[\mathbf{M}\approx\sum_{k=1}^{r_{s}}\mathbf{u}^{\mathbf{k}}\mathbf{v}^{ \mathbf{k}}{}^{T}, \tag{3}\]  
where \((r_{s}<<r)\). By using only the first few singular vectors to describe the the matrix \(\mathbf{M}\) we can significantly decrease the memory requirement of the seismic data. In some cases, a few pairs of singular vectors can very accurately describe the data stored in \(\mathbf{M}\). For example, if a wave packet arrives at all receivers at the same time, all columns in \(\mathbf{M}\) will contain the same pattern, and in that case, we can represent \(\mathbf{M}\) using a single outer product (see Figure 1). However, if the wave packet arrives at the receivers at different times, as in Figure 2, we can no longer represent the matrix \(\mathbf{M}\) using a single outer product. Figure 2 shows an example of the errors that will occur if reconstruction of the data from a single outer product is attempted. Though in practice this would never be done, the example does show that greater data compression can be achieved in this framework if signals in data are aligned prior to a decomposition. If there is significant variation in signal time position for different receivers, a large number of singular vectors is needed to properly represent the signal. This negatively affects the compression as well as denoising, since using more singular vectors would also include representing more of the noise. Any methods utilizing SVD, such as PCA [22], will be subject to the same challenges. We note that PCA and SVD have been used interchangeably in terms of data compression. A mathematical relation between them is demonstrated in [23]. Figure 1: (**a**) A matrix showing a single wave arriving to all receivers at the same time. (**b**) A pair of singular vectors obtained by applying SVD to the matrix. (**c**) The outer product of the two singular vectors which matches the original matrix. The issues encountered with regular SVD (or PCA) were first addressed with the development of a local SVD by [PERSON] and [PERSON] [16], and later improvements led to the development of SOSVD by [PERSON] et al. [17]. In both of these methods SVD is applied to a window \(\mathbf{M_{w}}\) from matrix \(\mathbf{M}\) with columns shifted in such a way to maximize the correlation between columns.