# Module lattice_qcd_rs::lattice

source · ## Expand description

Defines lattices and lattice component.

`LatticeCyclic`

is the structure that encode the lattice information like
the lattice spacing, the number of point and the dimension.
It is used to do operation on `LatticePoint`

, `LatticeLink`

and
`LatticeLinkCanonical`

.
Or to get an iterator over these elements.

`LatticePoint`

, `LatticeLink`

and `LatticeLinkCanonical`

are elements on the lattice.
They encode where a field element is situated.

## Structs

- Represent a cardinal direction
- Iterator over
`Direction`

with the same sign. - Iterator over
`LatticeLinkCanonical`

associated to a particular`LatticeCyclic`

. - Iterator over
`LatticePoint`

- A Cyclic lattice in space. Does not store point and links but is used to generate them.
- A lattice link, contrary to
`LatticeLinkCanonical`

the direction can be negative. - A canonical link of a lattice. It contain a position and a direction.
- Represents point on a (any) lattice.

## Enums

- Error return by
`TryFrom`

for Directions. - Represent a cardinal direction
- Enum for internal use of iterator. It store the previous element returned by
`next`

## Traits

- List all possible direction
- Trait to convert an element on a lattice to an
`usize`

.