Module « numpy.matlib »
Classe « poly1d »
Informations générales
Héritage
builtins.object
poly1d
Définition
class poly1d(builtins.object):
Description [extrait de poly1d.__doc__]
A one-dimensional polynomial class.
.. note::
This forms part of the old polynomial API. Since version 1.4, the
new polynomial API defined in `numpy.polynomial` is preferred.
A summary of the differences can be found in the
:doc:`transition guide </reference/routines.polynomials>`.
A convenience class, used to encapsulate "natural" operations on
polynomials so that said operations may take on their customary
form in code (see Examples).
Parameters
----------
c_or_r : array_like
The polynomial's coefficients, in decreasing powers, or if
the value of the second parameter is True, the polynomial's
roots (values where the polynomial evaluates to 0). For example,
``poly1d([1, 2, 3])`` returns an object that represents
:math:`x^2 + 2x + 3`, whereas ``poly1d([1, 2, 3], True)`` returns
one that represents :math:`(x-1)(x-2)(x-3) = x^3 - 6x^2 + 11x -6`.
r : bool, optional
If True, `c_or_r` specifies the polynomial's roots; the default
is False.
variable : str, optional
Changes the variable used when printing `p` from `x` to `variable`
(see Examples).
Examples
--------
Construct the polynomial :math:`x^2 + 2x + 3`:
>>> p = np.poly1d([1, 2, 3])
>>> print(np.poly1d(p))
2
1 x + 2 x + 3
Evaluate the polynomial at :math:`x = 0.5`:
>>> p(0.5)
4.25
Find the roots:
>>> p.r
array([-1.+1.41421356j, -1.-1.41421356j])
>>> p(p.r)
array([ -4.44089210e-16+0.j, -4.44089210e-16+0.j]) # may vary
These numbers in the previous line represent (0, 0) to machine precision
Show the coefficients:
>>> p.c
array([1, 2, 3])
Display the order (the leading zero-coefficients are removed):
>>> p.order
2
Show the coefficient of the k-th power in the polynomial
(which is equivalent to ``p.c[-(i+1)]``):
>>> p[1]
2
Polynomials can be added, subtracted, multiplied, and divided
(returns quotient and remainder):
>>> p * p
poly1d([ 1, 4, 10, 12, 9])
>>> (p**3 + 4) / p
(poly1d([ 1., 4., 10., 12., 9.]), poly1d([4.]))
``asarray(p)`` gives the coefficient array, so polynomials can be
used in all functions that accept arrays:
>>> p**2 # square of polynomial
poly1d([ 1, 4, 10, 12, 9])
>>> np.square(p) # square of individual coefficients
array([1, 4, 9])
The variable used in the string representation of `p` can be modified,
using the `variable` parameter:
>>> p = np.poly1d([1,2,3], variable='z')
>>> print(p)
2
1 z + 2 z + 3
Construct a polynomial from its roots:
>>> np.poly1d([1, 2], True)
poly1d([ 1., -3., 2.])
This is the same polynomial as obtained by:
>>> np.poly1d([1, -1]) * np.poly1d([1, -2])
poly1d([ 1, -3, 2])
Constructeur(s)
Liste des propriétés
c | The polynomial coefficients [extrait de __doc__] |
coef | The polynomial coefficients [extrait de __doc__] |
coefficients | The polynomial coefficients [extrait de __doc__] |
coeffs | The polynomial coefficients [extrait de __doc__] |
o | The order or degree of the polynomial [extrait de __doc__] |
order | The order or degree of the polynomial [extrait de __doc__] |
r | The roots of the polynomial, where self(x) == 0 [extrait de __doc__] |
roots | The roots of the polynomial, where self(x) == 0 [extrait de __doc__] |
variable | The name of the polynomial variable [extrait de __doc__] |
Liste des opérateurs
__add__(self, other) |
|
__eq__(self, other) |
|
__getitem__(self, val) |
|
__mul__(self, other) |
|
__ne__(self, other) |
|
__neg__(self) |
|
__pos__(self) |
|
__pow__(self, val) |
|
__radd__(self, other) |
|
__rmul__(self, other) |
|
__rsub__(self, other) |
|
__rtruediv__(self, other) |
|
__setitem__(self, key, val) |
|
__sub__(self, other) |
|
__truediv__(self, other) |
|
Opérateurs hérités de la classe object
__ge__,
__gt__,
__le__,
__lt__
Liste des méthodes
Toutes les méthodes
Méthodes d'instance
Méthodes statiques
Méthodes dépréciées
Méthodes héritées de la classe object
__delattr__,
__dir__,
__format__,
__getattribute__,
__hash__,
__init_subclass__,
__reduce__,
__reduce_ex__,
__setattr__,
__sizeof__,
__subclasshook__
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :