Python oneliner to differentiate polynomial list: Difference between revisions
From wikiluntti
(→Theory) |
(→Theory) |
||
Line 5: | Line 5: | ||
== Theory == | == Theory == | ||
Let the polynomial be described in ascending order, thus <math>P(x) = 2 + 3x + 5x^2 + x^3</math> is written as a list <pre>[2, 3, 5, 1]</pre>. The derivative is <math>P'(x) = 3 + 10 x + 3x^2</math> equals a list <pre> [3, 10, 3</pre> | |||
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
poly = [2, 3, 5, 1] # Degrees starting from zero | poly = [2, 3, 5, 1] # Degrees starting from zero | ||
print( [(i+1)*j for i,j in enumerate( poly[1:] )] ) | print( [(i+1)*j for i,j in enumerate( poly[1:] )] ) | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 11:41, 5 August 2021
Introduction
Oneliners are powerful and often beautiful solutions to programming challenges (see Acklamization).
Theory
Let the polynomial be described in ascending order, thus is written as a list
[2, 3, 5, 1]
. The derivative is equals a list
[3, 10, 3
poly = [2, 3, 5, 1] # Degrees starting from zero
print( [(i+1)*j for i,j in enumerate( poly[1:] )] )