Python oneliner to differentiate polynomial list: Difference between revisions

From wikiluntti
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 <syntaxhighlight >[2, 3, 5, 1]</syntaxhighlight >. The derivative is <math>P'(x) = 3 + 10 x + 3x^2</math> equals a list <pre> [3, 10, 3]</pre>
Let the polynomial be described in ascending order, thus <math>P(x) = 2 + 3x + 5x^2 + x^3</math> is written as a list <syntaxhighlight lang="Python" enclose="none">[2, 3, 5, 1]</syntaxhighlight >. The derivative is <math>P'(x) = 3 + 10 x + 3x^2</math> equals a list <syntaxhighlight lang="Python" enclose="none"> [3, 10, 3]</syntaxhighlight>


<syntaxhighlight lang="Python">
<syntaxhighlight lang="Python">

Revision as of 11:44, 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:] )] )