Een veelterm $$V(x)$$ kunnen we via een woordenboek voorstellen, waarbij de sleutels de machten van $$x$$ voorstellen en de waarden de bijhorende coëfficiënten aangeven. Zo stelt het woordenboek {1:2, 3:4, 0:5} de veelterm $$4x^3 + 2x + 5$$ voor.
Schrijf volgende functies:

De functies som() en product() hebben een derde naamargument, namelijk tol met defaultwaarde $$1E-10$$. De argument is de minimale absolute waarde van een veeltermcoëfficiënt opdat de term in het resultaat behouden zou blijven. Termen in de veelterm met een coëfficiënt dicht bij 0.0 worden op die manier uit het resultaat verwijderd, wat het resultaat uniek maakt (anders zouden verschillende woordenboekvoorstellingen voor dezelfde veelterm mogelijk zijn).

Ter herinnering: nemen we de veeltermen $$a(x)$$ en $$b(x)$$ als
$$a(x)=\sum_{i=0}^{N}a_ix^i$$
$$b(x)=\sum_{i=0}^{M}b_ix^i$$
(dus respectievelijk van de graad $$N$$ en $$M$$, dan wordt hun product
$$ c(x)=a(x)b(x) $$
gegeven door
$$ c(x)=\sum_{k=0}^{M+N}\big(\sum_{l=0}^{k}a_l b_{k-l} \big) x^k $$
De coëfficiënten van de veelterm
$$c(x)=\sum_{i=0}^{M+N}c_ix^i$$
van de graad $$M+N$$ worden dus gegeven door
$$ c_i=\sum_{l=0}^{i}a_l b_{i-l} $$

LET OP: om de voorstelling als woordenboek ondubbelzinnig te maken, zijn alle coëfficiënten reële getallen !

Voorbeeld

v = {3:4.0, 1:-2.0, 10:3.5, 0:1.0}
w = {0:2.0, 7:3.0, 1:2.0, 12:9.0}
lijst(v) = 
	[1.0, -2.0, 0.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.5]
lijst(w) = 
	[2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 9.0]
som(v, w) = 
	{0: 3.0, 10: 3.5, 3: 4.0, 12: 9.0, 7: 3.0}
product(v, w) = 
	{0: 2.0, 1: -2.0, 2: -4.0, 3: 8.0, 4: 8.0, 7: 3.0, 8: -6.0, 10: 19.0, 11: 7.0, 
	12: 9.0, 13: -18.0, 15: 36.0, 17: 10.5, 22: 31.5}