LinearCombinationUtilities(F, UP)

intpar.spad line 130 [edit on github]

This package implements frequently used operations on linear combinations.

dehomogenize : List(Record(ratpart : F, coeffs : Vector(F))) -> Record(particular : Union(Record(ratpart : F, coeffs : Vector(F)), "failed"), basis : List(Record(ratpart : F, coeffs : Vector(F))))

dehomogenize(ls) converts list of solutions (a, [c0, c1, ..., cn]) to homogeneous equation L(a) + c0 f + c1 g1 + ... + cn gn = 0 into list of solutions of inhomogeneous equation L(a) + f + c1 g1 + ... + cn gn = 0. This transformation works the same for all equations, so we only need list of solutions as argument

lin_comb : (Vector(F), List(F)) -> F

lin_comb(v, [f1, ..., fn]) computes linear combination v(1) f1 + ... v(n) fn. Vector v and list [f1, ..., fn] must be of equal length.

lin_comb : (Vector(Fraction(Integer)), List(F)) -> F

lin_comb(v, [f1, ..., fn]) computes linear combination v(1) f1 + ... v(n) fn. Vector v and list [f1, ..., fn] must be of equal length.

lin_comb : (Vector(F), List(UP)) -> UP

lin_comb(v, [f1, ..., fn]) computes linear combination v(1) f1 + ... v(n) fn. Vector v and list [f1, ..., fn] must be of equal length.

lin_comb : (Vector(F), List(Fraction(UP))) -> Fraction(UP)

lin_comb(v, [f1, ..., fn]) computes linear combination v(1) f1 + ... v(n) fn. Vector v and list [f1, ..., fn] must be of equal length.

lin_comb : (Vector(Fraction(Integer)), List(Fraction(UP))) -> Fraction(UP)

lin_comb(v, [f1, ..., fn]) computes linear combination v(1) f1 + ... v(n) fn. Vector v and list [f1, ..., fn] must be of equal length.

lin_comb : (Vector(F), List(LaurentPolynomial(F, UP))) -> LaurentPolynomial(F, UP)

lin_comb(v, [f1, ..., fn]) computes linear combination v(1) f1 + ... v(n) fn. Vector v and list [f1, ..., fn] must be of equal length.

lin_comb : (Vector(F), List(Vector(F))) -> Vector(F)

lin_comb(v, [f1, ..., fn]) computes linear combination v(1) f1 + ... v(n) fn. Vector v and list [f1, ..., fn] must be of equal positive length.

lin_comb! : (Vector(F), Vector(F), List(Vector(F))) -> Vector(F)

lin_comb!(v, w, [f1, ..., fn]) computes linear combination w + v(1) f1 + ... v(n) fn by modifying w in place. Vector v and list [f1, ..., fn] must be of equal length.