# LinearCombinationUtilities(F, UP)ΒΆ

- F: Field
- UP: UnivariatePolynomialCategory F

undocumented

- 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, 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.

- 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 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 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 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 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.