# 5.4.1.1. eqcorrscan.utils.clustering.svd

`eqcorrscan.utils.clustering.``svd`(stream_list, full=False)

  Compute the SVD of a number of templates.

  Returns the singular vectors and singular values of the templates.

  Parameters: | stream_list (List of :class: obspy.Stream) List of the templates to be analysed full (bool) Whether to compute the full input vector matrix or not.
  Returns: | SValues(list) for each channel, SVectors(list of ndarray), UVectors(list of ndarray) for each channel, stachans, List of String (station.channel)

  Note

  We recommend that you align the data before computing the SVD, e.g., the P-arrival on all templates for the same channel should appear at the same time in the trace. See the stacking.align_traces function for a way to do this.

  Note

  Uses the numpy.linalg.svd function, their U, s and V are mapped to UVectors, SValues and SVectors respectively. Their V (and ours) corresponds to V.H.