0
0
NumPydata~20 mins

Polynomial operations with np.poly in NumPy - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Polynomial Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of polynomial addition using np.polyadd
What is the output of this code that adds two polynomials using np.polyadd?
NumPy
import numpy as np
p1 = np.array([1, -3, 2])  # x^2 - 3x + 2
p2 = np.array([0, 4, -1])  # 4x - 1
result = np.polyadd(p1, p2)
print(result)
A[ 1 -3 6 1]
B[ 1 1 1]
C]1 1 1 [
D 1 1 1]
Attempts:
2 left
💡 Hint
Remember that np.polyadd adds coefficients of the same degree terms.
data_output
intermediate
2:00remaining
Degree of polynomial from roots using np.poly
Given roots [-1, 0, 2], what is the degree and coefficients of the polynomial generated by np.poly?
NumPy
import numpy as np
roots = [-1, 0, 2]
coeffs = np.poly(roots)
degree = len(coeffs) - 1
print(degree)
print(coeffs)
A
3
[ 1. -1.  2.  0.]
B
].0  .2- .1- .1 [
3
C
3
[ 1. -1. -2.  0.]
D
].0  .2  .1- .1 [
3
Attempts:
2 left
💡 Hint
np.poly returns coefficients of polynomial with given roots, highest degree first.
visualization
advanced
3:00remaining
Plot polynomial and its derivative
Which option correctly plots the polynomial p(x) = 2x^3 - 3x^2 + x - 5 and its derivative using np.polyder?
NumPy
import numpy as np
import matplotlib.pyplot as plt
p = np.array([2, -3, 1, -5])
p_der = np.polyder(p)
x = np.linspace(-2, 3, 100)
y = np.polyval(p, x)
y_der = np.polyval(p_der, x)
plt.plot(x, y, label='Polynomial')
plt.plot(x, y_der, label='Derivative')
plt.legend()
plt.show()
APlots polynomial and derivative curves correctly with labels.
BPlots only polynomial curve, derivative missing.
CPlots derivative curve only, polynomial missing.
DRaises error due to wrong np.polyder usage.
Attempts:
2 left
💡 Hint
np.polyder returns coefficients of the derivative polynomial.
🔧 Debug
advanced
2:00remaining
Identify error in polynomial multiplication code
What error does this code raise when multiplying two polynomials using np.polymul incorrectly?
NumPy
import numpy as np
p1 = [1, 2]
p2 = (3, 4)
result = np.polymul(p1, p2)
print(result)
ATypeError: polymul() missing 1 required positional argument
BSyntaxError: invalid syntax
CNo error, outputs [3, 10, 8]
DTypeError: polymul() argument 2 must be array-like, not tuple
Attempts:
2 left
💡 Hint
Check the data types of the polynomial coefficient inputs.
🚀 Application
expert
3:00remaining
Find roots of polynomial from coefficients
Given polynomial coefficients [1, -6, 11, -6], which option correctly finds all roots using np.roots?
NumPy
import numpy as np
coeffs = [1, -6, 11, -6]
roots = np.roots(coeffs)
print(sorted(roots))
A[1.0, 2.0, 3.0]
B[-3.0, 1.0, 2.0]
C[3.0, 2.0, 1.0]
DRaises ValueError due to invalid coefficients
Attempts:
2 left
💡 Hint
np.roots returns roots in any order; sorting helps compare.