Primitive lattice vector (source code)

= Primitive lattice vector
{title2=$\gcd(u_1,\ldots,u_n)=1$}

A primitive lattice vector is a nonzero element $u$ of a finite-rank <free abelian group> $N$ that cannot be written $u=kv$ with $v\in N$ and an integer $|k|>1$. In an integral <basis>, this is equivalent to the greatest common divisor of its coordinates being one. The property is independent of the chosen lattice basis.

For example, $(2,3)$ is primitive although neither coordinate is one: the integer functional $\ell(x,y)=-x+y$ satisfies $\ell(2,3)=1$. Hence $N=\mathbb Zu\oplus\ker\ell$, showing that $u$ extends to a lattice basis. In contrast, $(2,4)=2(1,2)$ is not primitive.

Every rational <ray of a fan> contains a unique primitive generator pointing along it. This generator gives the integral normalization used in <toric divisors> and <cocharacters>; replacing it by a larger positive multiple leaves the geometric ray unchanged but changes its lattice data.