Magnetic Space group (MSG)


A magnetic space group \(\mathcal{M}\) is a subgroup of direct product of space group \(\mathcal{G}\) and \(\mathbb{Z}_{2} \simeq \{1, 1' \}\).

A family space group (FSG) \(\mathcal{F}(\mathcal{M})\) is a non-magnetic space group obtained by ignoring primes in operations,

\[\mathcal{F}(\mathcal{M}) = \left\{ (\mathbf{R}, \mathbf{v}) \mid (\mathbf{R}, \mathbf{v}) \in \mathcal{M} \vee (\mathbf{R}, \mathbf{v})1' \in \mathcal{M} \right\}.\]

A maximal space subgroup (XSG) \(\mathcal{D}(\mathcal{M})\) is a space group obtained by removing primed operations,

\[\mathcal{D}(\mathcal{M}) = \left\{ (\mathbf{R}, \mathbf{v}) \mid (\mathbf{R}, \mathbf{v}) \in \mathcal{M} \right\}.\]

Magnetic space groups are classified to the following four types:

  • (type-I) \(\mathcal{M} \simeq \mathcal{F}(\mathcal{M}) \simeq \mathcal{D}(\mathcal{M})\).

  • (type-II) \(\mathcal{M} \simeq \mathcal{F}(\mathcal{M}) \times \{1, 1'\}, \mathcal{F}(\mathcal{M}) \simeq \mathcal{D}(\mathcal{M})\).

  • (type-III) \(\mathcal{D}(\mathcal{M})\) is a translationengleiche subgroup of index two of \(\mathcal{F}(\mathcal{M})\).

    \[\mathcal{M} \simeq \mathcal{D}(\mathcal{M}) \sqcup (\mathcal{F}(\mathcal{M}) \backslash \mathcal{D}(\mathcal{M})) 1'\]
  • (type-IV) \(\mathcal{D}(\mathcal{M})\) is a klessengleichesubgroup of index two of \(\mathcal{F}(\mathcal{M})\).

    \[\mathcal{M} \simeq \mathcal{D}(\mathcal{M}) \sqcup (\mathcal{F}(\mathcal{M}) \backslash \mathcal{D}(\mathcal{M})) 1'\]
Number of (3-dimensional) magnetic space groups











For type-I, II, III MSG, both OG and BNS symbols use a setting of \(\mathcal{F}(\mathcal{M})\). For type-IV MSG, OG symbols use a setting of \(\mathcal{F}(\mathcal{M})\) and BNS symbols use that of \(\mathcal{D}(\mathcal{M})\).

Action of MSG operations

In general, we can arbitrarily choose how MSG operation acts on objects as long as it satisfies the definition of left actions. Here are the examples of objects and actions on them:

  • Collinear magnetic moment \(m_{z}\) without spin-orbit coupling

\[\begin{split}(\mathbf{R}, \mathbf{v}) \circ m_{z} &= m_{z} \\ 1' \circ m_{z} &= -m_{z}\end{split}\]
  • Magnetic moment \(\mathbf{m}\)

\[\begin{split}(\mathbf{R}, \mathbf{v}) \circ \mathbf{m} &= (\mathrm{det} \mathbf{R}) \mathbf{R} \mathbf{m} \\ 1' \circ \mathbf{m} &= -\mathbf{m}\end{split}\]
  • Grain boundary made of “black” and “white” crystals

\[\begin{split}(\mathbf{R}, \mathbf{v}) \circ (\mathbf{r}, \mathrm{black}) &= ( \mathbf{R}\mathbf{r} + \mathbf{v}, \mathrm{black} ) \\ (\mathbf{R}, \mathbf{v}) \circ (\mathbf{r}, \mathrm{white}) &= ( \mathbf{R}\mathbf{r} + \mathbf{v}, \mathrm{white} ) \\ 1' \circ (\mathbf{r}, \mathrm{black}) &= (\mathbf{r}, \mathrm{white}) \\ 1' \circ (\mathbf{r}, \mathrm{white}) &= (\mathbf{r}, \mathrm{black}) \\\end{split}\]

MSG detection for crystal structure

Formally, cell consists of

  • column-wise lattice matrix \(\mathbf{A}\)

  • fractional coordinates \(\mathbf{X}\)

  • atomic types \(\mathbf{T}\)

  • magmoms \(\mathbf{M}\)

SG corresponds to the following equivalence relation (implemented in cel_is_overlap_with_same_type) as \(\mathcal{S} := \mathrm{Stab}_{\mathrm{E}(3)} \, (\mathbf{X}, \mathbf{T}) / \sim_{\mathcal{S}}\),

\[(X_{i}, T_{i}) \sim_{\mathcal{S}} (X_{j}, T_{j}) \overset{\mathrm{def}}{\iff} \exists g \in \mathrm{E}(3) \, s.t. \, g \circ X_{i} = X_{j} \,\mathrm{and}\, T_{i} = T_{j}.\]

XSG corresponds to the following equivalence relation as \(\mathcal{D} := \mathrm{Stab}_{ \mathcal{S} } \, (\mathbf{X}, \mathbf{T}, \mathbf{M}) / \sim_{\mathcal{D}}\),

\[(X_{i}, T_{i}, M_{i}) \sim_{\mathcal{D}} (X_{j}, T_{j}, M_{j}) \overset{\mathrm{def}}{\iff} \exists g \in \mathcal{S} \, s.t. \, g \circ M_{i} = M_{j}.\]

MSG corresponds to the following equivalence relation as \(\mathcal{M} = \mathrm{Stab}_{ \mathcal{S} \times \{ 1, 1' \} } \, (\mathbf{X}, \mathbf{T}, \mathbf{M}) / \sim_{\mathcal{M}}\)

\[(X_{i}, T_{i}, M_{i}) \sim_{\mathcal{M}} (X_{j}, T_{j}, M_{j}) \overset{\mathrm{def}}{\iff} \exists g\theta \in \mathcal{S} \times \{ 1, 1' \} \, s.t. \, g \theta \circ M_{i} = M_{j}\]

\(\mathcal{S}\) may not be index-two supergroup of \(\mathcal{D}\) because the former ignores magmom configurations. Thus, we compute FSG via MSG as \(\mathcal{F} := \mathcal{M} / \{ 1, 1' \}\).

Procedure to detect MSG operations

In actual implementation in spn_get_operations_with_site_tensors, the following steps two, three, and four are performed at the same time.

  1. Compute SG \(\mathcal{S}\) by just ignoring magmoms.

  2. Compute XSG \(\mathcal{D}\) by checking \(g \circ M_{i} = M_{g \circ i}\) one by one for \(g \in \mathcal{S}\).

  3. Compute MSG \(\mathcal{M}\) by checking \(g \theta \circ M_{i} = M_{g \circ i}\) one by one for \(g \theta \in \mathcal{S} \times \{ 1, 1' \}\).

  4. Compute FSG \(\mathcal{F}\) by ignoring primes in \(\mathcal{M}\)

In spgat_get_symmetry_with_site_tensors, sym_nonspin corresponds to \(\mathcal{S}\). Then, spn_get_operations_with_site_tensors computes \(\mathcal{M}\) under the following actions:

  • tensor_rank=0
    • is_magnetic=true: \(1' \circ m = -m, (\mathbf{R}, \mathbf{v}) \circ m = m\)

    • is_magnetic=false: \(1' \circ m_{z} = m_{z}, (\mathbf{R}, \mathbf{v}) \circ m = m\)

  • tensor_rank=1 (currently only support axial vector)
    • is_magnetic=true: \(1' \circ \mathbf{m} = -\mathbf{m}, (\mathbf{R}, \mathbf{v}) \circ \mathbf{m} = (\mathrm{det} \mathbf{R}) \mathbf{R} \mathbf{m}\)

    • is_magnetic=false: \(1' \circ \mathbf{m} = \mathbf{m}, (\mathbf{R}, \mathbf{v}) \circ \mathbf{m} = (\mathrm{det} \mathbf{R}) \mathbf{R} \mathbf{m}\)

Procedure to standardize MSG setting


  1. Determine type of MSG
    • When \([\mathcal{F}:\mathcal{D}] = 1\)
      • \([\mathcal{M}:\mathcal{F}] = 1\) -> Type-I

      • \([\mathcal{M}:\mathcal{F}] = 2\) -> Type-II

    • When \([\mathcal{F}:\mathcal{D}] = 2\)
      • Find a coset decomposition \(\mathcal{M} = \mathcal{D} \sqcup g \mathcal{D}\)

      • \(g\) is not translation -> Type-III

      • \(g\) is translation -> Type-IV

  2. Choose reference setting
    • Type-I, II, III -> Hall symbol of \(\mathcal{F}\)

    • Type-IV -> Hall symbol of \(\mathcal{D}\)

  3. Compare \(\mathcal{M}\) with MSGs in database after applying a transformation to the Hall symbol’s setting

  4. Standardize cell

Transformation of space group \(\mathcal{G}\)

We denote a primitive lattice as \(L_{\mathrm{prim}}\) and a conventional lattice as \(L_{\mathrm{conv}}\). Here the centering vectors correspond to \(L_{\mathrm{conv}} / L_{\mathrm{prim}}\). For example, trigonal space groups with hexagonal cell (obverse) give

\[L_{\mathrm{conv}} / L_{\mathrm{prim}} = \left\{ (0, 0, 0), (2/3, 1/3, 1/3), (1/3, 2/3, 2/3) \right\}.\]

We write translation group formed by \(L_{\mathrm{prim}}\) as \(\mathcal{T}_{\mathrm{prim}}\), and translation group formed by \(L_{\mathrm{conv}}\) as \(\mathcal{T}_{\mathrm{conv}}\). Space group \(\mathcal{G}\) can be written by finite factor group \(\mathcal{G} / \mathcal{T}_{\mathrm{conv}}\) and the centerings:

\[\mathcal{G} / \mathcal{T}_{\mathrm{prim}} = \left\{ (\mathbf{I}, \mathbf{c}) (\mathbf{W}, \mathbf{w}) \mid (\mathbf{W}, \mathbf{w}) \in \mathcal{G} / \mathcal{T}_{\mathrm{conv}}, \mathbf{c} \in L_{\mathrm{conv}} / L_{\mathrm{prim}} \right\}\]

Consider a transformation matrix \(\mathbf{P}\) (corresponds to Spacegroup.bravais_lattice) and origin shift \(\mathbf{p}\) (corresponds to Spacegroup.origin_shift). This transformation convert the factor group \(\mathcal{G} / \mathcal{T}_{\mathrm{conv}}\) to

\[\left\{ (\mathbf{P}, \mathbf{p}) (\mathbf{W}, \mathbf{w}) (\mathbf{P}, \mathbf{p})^{-1} \mid (\mathbf{W}, \mathbf{w}) \in \mathcal{G} / \mathcal{T}_{\mathrm{conv}} \right\}\]

If the conventional lattice is properly chosen, each operation in \(\mathcal{G} / \mathcal{T}_{\mathrm{conv}}\) has a unique linear part. Then, the above transformed factor group has the same order as \(\mathcal{G} / \mathcal{T}_{\mathrm{conv}}\).

The centering vectors are transformed as

\[\left\{ \mathbf{P} (\mathbf{c} + \mathbf{n}) \, \mathrm{mod}\, 1 \mid \mathbf{c} \in L_{\mathrm{conv}} / L_{\mathrm{prim}}, \mathbf{n} \in \mathbb{Z}^{3} \right\}.\]

When \(|\det \mathbf{P}| = 1\), the transformed centering vectors give the same conventional lattice. When \(|\det \mathbf{P}| > 1\), some centering vectors become duplicated. When \(|\det \mathbf{P}| < 1\), we need to additionally find lattice points. We can confirm the range of \(\mathbf{n}\) to \([0, d)^{3}\), where \(d\) is maximum denominator of \(\mathbf{P}\).

Transformation of magnetic space group \(\mathcal{M}\)

We need care for anti-translation.

\[\begin{split}\mathcal{M} &= \mathcal{D} \sqcup g \mathcal{D} \\ \mathcal{M} / \mathcal{T}_{\mathrm{prim}}(\mathcal{M}) &= \langle g \rangle \cdot ( \mathcal{T}_{\mathrm{conv}}(\mathcal{M}) / \mathcal{T}_{\mathrm{prim}}(\mathcal{M}) ) \cdot ( \mathcal{M} / \langle g \rangle / \mathcal{T}_{\mathrm{conv}}(\mathcal{M}) ) \\ &= \langle g \rangle \cdot ( \mathcal{T}_{\mathrm{conv}}(\mathcal{M}) / \mathcal{T}_{\mathrm{prim}}(\mathcal{M}) ) \cdot ( \mathcal{D} / \mathcal{T}_{\mathrm{conv}}(\mathcal{M}) ) \\\end{split}\]

Each element in factor group \(\mathcal{D} / \mathcal{T}_{\mathrm{conv}}(\mathcal{D})\) has a unique linear part.


[Lit14] D. B. Litvin, Magnetic Group Tables 1-, 2- and 3-Dimensional Magnetic Subperiodic Groups and Magnetic Space Groups (IUCr, 2014).

[SC22] Harold T. Stokes and Branton J. Campbell, [ISO-MAG Table of Magnetic Space Groups](

[GPKRC21] J. González-Platas, N. A. Katcho and J. Rodríguez-Carvajal, J. Appl. Crystallogr. 54, 1, 338-342 (2021).