Reducing Vectors Relative to a Subspace

ReduceVector(W, v) : ModTupRng, ModTupRngElt -> ModTupRngElt
(Function.) Given a vector v from a tuple module V and a submodule W of V, return the reduction of v with respect to W (that is, the canonical representative of the coset v + W).

Note that the reduction is done with respect to the standard inner product.

ReduceVector(W, ~v) : ModTupRng, ModTupRngElt ->
(Procedure.) Given a vector v from a tuple module V and a submodule W of V, replace v with its reduction of with respect to W (that is, the canonical representative of the coset v + W).

Note that the reduction is done with respect to the standard inner product.

DecomposeVector(U, v) : ModTupRng, ModTupRngElt -> ModTupRngElt, ModTupRngElt
Given a vector v from a tuple module V and a submodule U of V, return the unique u in U and w in the complement to U in U + <v> such that v = u + w.

Note that the reduction is done with respect to the standard inner product, and the complement noted above need not be orthogonal.

V2.28, 13 July 2023