# IntegerLinearDependence R¶

Test for linear dependence over the integers.

linearDependenceOverZ: Vector R -> Union(Vector Integer, failed)

linearlyDependenceOverZ([v1, ..., vn]) returns [c1, ..., cn] if c1*v1 + ... + cn*vn = 0 and not all the ci's are 0, “failed” if the vi's are linearly independent over the integers.

linearlyDependentOverZ?: Vector R -> Boolean

linearlyDependentOverZ?([v1, ..., vn]) returns true if the vi's are linearly dependent over the integers, false otherwise.

particularSolutionOverQ: (Matrix R, Vector R) -> Union(Vector Fraction Integer, failed)

solveLinearlyOverQ([v1, ..., vn], u) returns [c1, ..., cn] such that c1*v1 + ... + cn*vn = u, “failed” if no such rational numbers ci's exist.

particularSolutionOverQ: (Vector R, R) -> Union(Vector Fraction Integer, failed)

particularSolutionOverQ([v1, ..., vn], u) returns [c1, ..., cn] such that c1*v1 + ... + cn*vn = u, “failed” if no such rational numbers ci's exist.

solveLinearlyOverQ: (Matrix R, Vector R) -> Record(particular: Union(Vector Fraction Integer, failed), basis: List Vector Fraction Integer)

solveLinearlyOverQ([v1, ..., vn], u) returns solution of the system c1*v1 + ... + cn*vn = u and and a basis of the associated homogeneous system c1*v1 + ... + cn*vn = 0

solveLinearlyOverQ: (Vector R, R) -> Record(particular: Union(Vector Fraction Integer, failed), basis: List Vector Fraction Integer)

solveLinearlyOverQ([v1, ..., vn], u) returns solution of the system c1*v1 + ... + cn*vn = u and and a basis of the associated homogeneous system c1*v1 + ... + cn*vn = 0