in which \kk can be replaced by \kk + \GG where \GG is any reciprocal space lattice vector, we can
choose the wavefunctions at \kk and \kk + \GG
to be equal, or to make a linear combination of wavefunctions with the same energy.
This is a choice of gauge that does not affect the value of physical observables.
In what follows we prefer to work with the gauge

\psi_{\kk + \GG}(\rr) = \psi_\kk(\rr)

to keep the notation as simple as possible,

The time-reversal symmetry (non-magnetic case) of the Hamiltonian gives the following relation:

\psi_{n{\bf k}}({\bf r}) = \psi^{*}_{n-\bf k}({\bf r}) \,.

For the {\bf k} wavevectors that are half a reciprocal lattice vector
(2{\bf k}={\bf G}_{0}), there is a special relationship between
the Fourier coefficients of the wavefunction:

That is, coefficients at \GG and -{\bf G}-{\bf G}_{0} are related.
This will allow to decrease by a factor of 2 the storage space for these
specific {\bf k} points and accelerate CPU-intensive parts such as the
application of the non-local part and the Fourier transform.

In the first class, one finds usual non-spin-polarized, non-spin-orbit
Hamiltonians, in which case the spin up-spin up and spin down-spin down parts of the Hamiltonian
are equal, as well as spin-polarized
Hamiltonian when the magnetic field varies in strength but not in direction.
In the second class, one finds Hamiltonians that include the
spin-orbit splitting as well as non-collinear spin systems.

In the first class, the wavefunctions can be made entirely of either spin-up components or spin-down
components, and treated independently of those made of opposite spin.
This corresponds to nsppol = 2.
In the second class, one must stay with spinor wavefunctions.
This corresponds to nspinor = 2.

These two classes are mutually exclusive. The possibilities are thus:

nsppol

nspinor

wavefunction type

1

1

scalar wavefunctions

2

1

spin-polarized wavefunctions

1

2

spinor wavefunctions

The inclusion of spin-orbit coupling in the Hamiltonian requires nspinor = 2.

In order to avoid dealing with an infinite number of plane waves to represent Bloch wavefunctions,
one selects those with a kinetic energy lower than some cutoff energy E_{\rm cut}.
The set of allowed {\bf G} vectors will be denoted by \mcS_{\kk}(E_{\rm cut}) such that

The kinetic energy cutoff is computed from the input variables ecut and dilatmx
to give the effective value

{\text{ecut_eff}} = {\text ecut} * ({\text dilatmx})^2

For special \kk-points satisfying the condition 2 \kk = \GG_0, not all coefficients must be stored.
A specific storage mode, governed by the input variable istwfk has been
introduced for the following \kk points:

For these points, the number of \GG vectors to be taken into account, is decreased by about a factor of 2.
For the \GG‘s that are not treated, the coefficients
u_{n{\bf k}}({\bf G}) can be recovered from those that are treated, thanks to

u_{n{\bf k}}({\bf G}) = u^{*}_{n{\bf k}}(-{\bf G}-{\bf G}_0)

The value of istwfk is automatically computed by the code
on the basis of the k-point coordinates and the treatment of time-reversal symmetry as specified by kptopt.
One can disable the time-reversal trick in the input file by setting explicitly the value of istwfk
with the syntax:

istwfk *1

The maximum number of \GG-vectors over all k-points is called %mpw inside the code.

For the generation of the density from wavefunctions, as well as for
the application of the local part of the potential, one needs to be
able to compute u_{n\kk}(\rr)
for a 3D-mesh of \rr-points, extremely fast, from the values u_{n\kk}(\GG).

Note

spin up and spin down parts can be treated separately in this
operation, so they do not need to be specified otherwise in this section.

The FFT algorithm has a computational cost that scales as N\log(N) where N is the
total number of points in the mesh.
Note, however, that we cannot obtain u_\kk(\rr)everywhere but only
on the discrete set of FFT points given in the above equations.
The choice of N_{1},N_{2},N_{3} is not discussed here.

wzxhzdk:1
where the first index refer to the real or imaginary part and the
three others to the integer values $l_{1}+1,l_{2}+1,l_{3}+1$
Let us map the $c_{\bf k}({\bf G})$ coefficients on a similar segment
wzxhzdk:2
with a similar meaning of {\tt wf\_reciprocal}$(1:2,j_{1}+1,j_{2}+1,j_{3}+1)$:
\begin{eqnarray*}
j_{1}&=&{\tt mod}({\bf G}^{red}_{1},N_{1}) [\Rightarrow j_{1}\in[0,N_{1}-1]]\\
j_{2}&=&{\tt mod}({\bf G}^{red}_{2},N_{2}) \\
j_{3}&=&{\tt mod}({\bf G}^{red}_{3},N_{3})
\end{eqnarray*}
Then:
\begin{eqnarray*}
\lefteqn{
{\tt wf\_real}(\cdot ,l_{1}+1,l_{2}+1,l_{3}+1)} \\
&=& \sum^{N_{1}-1}_{j_{1}=0}
\sum^{N_{2}-1}_{j_{2}=0} \sum^{N_{3}-1}_{j_{3}=0} {\tt wf\_reciprocal}
(\cdot ,j_{1}+1,j_{2}+1,j_{3}+1) \times
e^{i2\pi(\frac{j_{1}l_{1}}{N_{1}}+\frac{j_{2}l_{2}}{N_{2}}+\frac{j_{3}l_{3}}{N_{3}})}
\end{eqnarray*}
This is, up to the array indexing convention, precisely the operation done by the FFT algorithm.
-->

For FFT efficiency (minimisation of cache conflicts), the arrays
are not dimensioned with (N_1, N_2, N_3) but with (N_4, N_5, N_6) where:

Effect of space group symmetries on electron energies and wavefunctions¶

All the symmetry operations which leave the crystal unchanged constitute a space group.
Besides the translation symmetry operations, a space group contains proper or
improper rotations followed by an appropriate fractional displacement.
There are 230 in total [Bassani1975].

A generic element of the space group will be denoted in the following with \hat\mcR_\tt
where \mcR is a real orthonormal matrix associated to
a proper or improper rotation while \tt is the corresponding fractional translation.
If all the fractional translations are zero the space group is said to be symmorphic.
In Abinit, the rotations in real space are called symrel, while the corresponding
fractional translation are stored in the tnons array.
Note that both symrel and tnons are given in reduced coordinates.

The application of a symmetry operation \hat\mcR_\tt to a vector \Atm_i
defining the position of an atom in the unit cell gives:

where \Atm_j indicates an atom in the same unit cell of the same type as
\Atm_i which may be coincident with \Atm_i, and \RR is a suitable lattice translation (possibly zero).
The application of the symmetry operation \hat \mcR_\tt on a generic function F(\rr)
of the three spatial coordinates is conventionally defined by:

Since \omcR_\tt commutes with the Hamiltonian \HH of the crystal, it readily
follows that, given \Psi_{n\kk}(\rr) being eigenstate of \HH,
\omcR_\tt\, \Psi_{n\kk}(\rr) is also eigenstate of the Schrödinger problem with the same eigenvalue:

Although \omcR_\tt\,\Psi_{n\kk}(\rr) has the same eigenenergy as \Psi_{n\kk}(\rr), its
crystalline momentum is different.
The operation \hat\mcR_\tt of the space group transforms a Bloch function with vector \kk
into a new Bloch wave function of crystalline momentum \mcR \kk.
This important property can be seen as follows:

where \RR is an arbitrary vector of the direct Bravais lattice and the invariance of the periodic part of
the Bloch wave function has been exploited.

Note

The last equality in follows from the orthogonality
of the \mcR matrix when referred to in a Cartesian frame of reference.
The orthogonality of the rotation matrix does not hold anymore if, as usually done in the ABINIT code,
the symmetry operations are expressed in reduced coordinates.
In this case, the correct matrix to use for operations in reciprocal space is given by the transpose of \Ri.
(called symrec in the Fortran code)

The above equation can be used to reduce the number of \kk-points and
matrix elements that have to be evaluated and stored since the information in
the full Brillouin zone can be reconstructed by symmetry from an appropriate irreducible wedge.
The set of equations below summarizes the most useful relationships commonly employed:

It is important to stress that the set of equations in \ref{eq:space_group_symmetry}
hold only in case of nondegenerate states.
In the presence of degeneracy, the application of a symmetry operation on a Bloch
wave function with momentum \kk belonging to the set of degenerate states \mcC_{\nk},
produces a new eigenstate with same energy and crystalline momentum \mcR \kk.
The new eigenstate is given by an appropriate linear combination of the degenerate states with wave vector \mcR\kk.
More explicitly:

where D_{\aa\bb}(\mcR) is the unitary transformation associated with \mcR[Bassani1975].
Equation \ref{eq:symmetry_for_degenerate_states} reduces to \ref{eq:rotation_wfn}
if the state \Psi_\nk(\rr) is nondegenerate since, in this particular case, D_{\aa\bb}(\mcR) = \delta_{\aa\bb}.

An extension of the concept of symmetry is needed in order to explain the magnetic properties
of crystals [Landau1984].
In addition to the spatial arrangement of atoms, the orientation of the atomic magnetic moment
also becomes important in such systems.
It may turn out that the usual spatial operation, while leaving the crystal unchanged in
regard to its geometrical structure, will reverse the orientation of spins.

Let the symbol \mcJ indicate the operation of reversing all spins, and
let \mcE denote the identity operator.
A combined operation consisting of an ordinary symmetry operation followed by \mcJ
is a new type of symmetry operation called a complementary operation.
The rules for operator composition in the standard nonmagnetic group can be easily extended to include \mcJ:

Magnetic groups are obtained by replacing some of the symmetry elements of the initial non-magnetic
space group by their complementary operations so that the resulting ensemble forms a group
with respect to the new algebra.
Magnetic space groups are sometimes referred to as Shubnikov groups, and can be
classified according to three different categories [Bhagavantam1964].

Shubnikov type IV

Groups which include \mcJ explicitly, so-called grey groups or Shubnikov type IV (230 in number).
Each group can be obtained by taking the direct product of each of the conventional space
groups with the group (\mcE,\mcJ)

Shubnikov type III

Groups which do not include \mcJ explicitly, but which contain complementary symmetry
operations. Also called mixed groups or Shubnikov type III. There are 1191 in total.

Colorless

Groups which do not include \mcJ either explicitly or in conjunction with a conventional
symmetry operation, also named colorless groups. There are 230 and they are indistinguishable from
the conventional space groups

Henceforth, in order to keep the notation as simple as possible, a symmetry operation containing \mcJ
will be denoted with an underlined symbol \AFMomcR_\tt, and will be said to have anti-ferromagnetic character.
On the contrary, symmetry operations which preserve the orientation of the spin projection will be denoted using the
standard notation \omcR_\tt, and will be said to have ferromagnetic character.
The action of a magnetic symmetry on a nondegenerate Bloch state has to be generalized according to:

from which it follows that the total charge and, consequently, the Hartree potential are invariant
under the application of any operation of the magnetic group.
Similar symmetry relationships hold for the two components of the exchange-correlation potential.

The magnetic character of the symmetry operation is stored in the symafm array.