Primitive vectors in integer modules #
A vector in an integer module is primitive when an integer-valued linear functional takes the
value one on it. This basis-free condition says that the cyclic submodule generated by the vector
splits off a copy of ℤ. It is invariant under linear equivalence and under changing the sign of
the vector.
For a free integer module, every nonzero vector is a positive integer multiple of a primitive vector. This is the coordinate-free form of dividing a nonzero integer vector by the greatest common divisor of its coordinates. It supplies primitive representatives whenever a rational ray is initially described by arbitrary nonzero lattice vectors.
Main declarations #
TauCeti.IsPrimitive: some integer-valued linear functional takes the value one on the vector.TauCeti.IsPrimitive.eq_one_of_eq_nsmul: a natural multiplier of a primitive vector is one.LinearEquiv.isPrimitive_iff: primitivity is invariant under integer-linear equivalences.TauCeti.exists_eq_zsmul_isPrimitive: a nonzero vector in a free integer module is a positive integer multiple of a primitive vector.Module.Basis.isPrimitive: a vector of an integral basis is primitive.TauCeti.IsPrimitive.exists_basis: conversely, a primitive vector of a finite free integer module belongs to some integral basis of it.
A vector v in an integer module is primitive when some integer-valued linear functional
sends it to 1. Equivalently, the cyclic submodule generated by v splits off a copy of ℤ.
Instances For
A vector is primitive exactly when an integer-valued linear functional takes the value one
on it. This is the introduction and elimination interface for IsPrimitive.
A primitive vector is nonzero.
A primitive vector cannot be a nontrivial natural multiple of another vector.
The zero vector is not primitive.
Primitivity is unchanged by the sign action v ↦ -v.
Primitivity is invariant under negation.
A vector of an integral basis is primitive.
Primitivity transports along an integer-linear equivalence.
Every nonzero vector in a free integer module is a positive integer multiple of a primitive vector. The multiplier is the greatest common divisor of the coordinates in any integral basis.
A primitive vector of a finite free integer module belongs to an integral basis of it.