Version 1.0, last update 20.10.2015


Václav Vavryčuk (

Short description

MT_DECOMPOSITION is a Matlab software package for the moment tensor (MT) decomposition of a set of moment tensors into the double-couple (DC) and non-double-couple (non-DC) components and their visualization. Details about the MT decomposition are published in Vavryčuk (2015a).

Primary reference

Vavryčuk, V., 2015a. Moment tensor decompositions revisited, Journal of Seismology, 19(1), 231-252, doi: 10.1007/s10950-014-9463-y.

Other references

Vavryčuk, V., 2015b. Inversion for the composite moment tensor, Bulletin of the Seismological Society of America, 105(6), doi: 10.1785/0120150163.


Please fill in the following form. After submitting needed information you will be redirected to download.


5 + 1 =

User guide

The software is structured in the following directories: Data, Figures, Output, Programs.

Run the code

The decomposition is run by a script called MT_decomposition.m stored in the Programs directory.

Input data

Input moment tensors should be stored in the Data directory. The standard name of the input file is /Data/moments.dat.

The input data are formed by six columns containing the components of moment tensors. Each line consists of values of one moment tensor:

  • M(1,1), M(2,2), M(3,3), M(2,3), M(1,3), M(1,2).


The output file is stored in the Output directory. The standard name of the output file is /Output/results.mat.

The output includes:

  • strike1, dip1, rake1 (angles defining the orientation of the DC part of the moment tensor – the first conjugate solution),
  • strike2, dip2, rake2 (angles defining the orientation of the DC part of the moment tensor – the second conjugate solution)
  • dc, clvd and iso (percentages of the double-couple, compensated linear vector dipole and isotropic components).


Figures are stored in the Figures directory. The code generates the following figures:

  • P_T_axes.png (focal sphere with the P and T axes),
  • nodal_lines.png (nodal lines in the equal-area, lower-hemisphere projection),
  • diamond_plot.png (CLVD-ISO diamond plot).


As an example, we provide the input file called ‘moments.dat‘ with moment tensors of 20 micro-earthquakes from the West Bohemia swarm area (for the analysis of these data, see Vavryčuk 2015b). The output file is called ‘results.mat‘.

To run the code just call MT_decomposition.m.


The code can be freely used for research purposes only. In the case of publishing the results obtained by this code, please, refer to the paper of Vavryčuk (2015a). If you intend to use the code for commercial purposes, you should contact the author for providing with the commercial licence. The use of the software for commercial purposes with no commercial licence is prohibited.