quadratic¶
This is an example on how to document Python modules using doc strings and the sphinx tool. The doc strings can make use of the reStructuredText format, see http://docutils.sourceforge.net/docs/user/rst/quickstart.html. It is recommended to document Python modules according to the rules of the numpy package. See also A Guide to NumPy/SciPy Documentation.
- quadratic.roots(a, b, c, verbose=False)[source]¶
Return the two roots in the quadratic equation:
a*x**2 + b*x + c = 0
or written with math typesetting
\[ax^2 + bx + c = 0\]The returned roots are real or complex numbers, depending on the values of the arguments a, b, and c.
Parameters : a: int, real, complex :
coefficient of the quadratic term
b: int, real, complex :
coefficient of the linear term
c: int, real, complex :
coefficient of the constant term
verbose: bool, optional :
prints the quantity b**2 - 4*a*c and if the roots are real or complex
Returns : root1, root2: real, complex :
the roots of the quadratic polynomial.
Raises : ValueError: :
when a is zero
See also
- Quadratic
- which is a class for quadratic polynomials that also has a Quadratic.roots() method for computing the roots of a quadratic polynomial. There is also a class linear.Linear in the module linear.
Notes
The algorithm is a straightforward implementation of a very well known formula [R1].
References
[R1] (1, 2) Any textbook on mathematics or Wikipedia. Examples
>>> roots(-1, 2, 10) (-5.3166247903553998, 1.3166247903553998) >>> roots(-1, 2, -10) ((-2-3j), (-2+3j))
Alternatively, we can in a doc string list the arguments and return values in a table
Parameter Type Description a float/complex coefficient for quadratic term b float/complex coefficient for linear term c float/complex coefficient for constant term r1, r2 float/complex return: the two roots of the quadratic polynomial
- class quadratic.Quadratic(a, b, c)[source]¶
Representation of a quadratic polynomial:
\[ax^2 + bx + c\]Example:
>>> q = Quadratic(a=2, b=4, c=-16) >>> print q 2*x**2 + 4*x - 16 >>> r1, r2 = q.roots() >>> r1 2.0 >>> r2 -4.0 >>> q(r1), q(r2) # check (0.0, 0.0) >>> repr(q) 'Quadratic(a=2, b=4, c=-16)'
Methods
__call__(x) roots() Return the two roots of the quadratic polynomial. value(x) Return the value of the quadratic polynomial for x. - __init__(a, b, c)[source]¶
The arguments a, b, and c are coefficients in the quadratic polynomial:
a*x**2 + b*x + c
or
\[ax^2 + bx + c\]Argument Type Description a float/complex coefficient for quadratic term b float/complex coefficient for linear term c float/complex coefficient for constant term Raises : ValueError: :
When a is too close to zero.
- __module__ = 'quadratic'¶
- roots()[source]¶
Return the two roots of the quadratic polynomial. The roots are real or complex, depending on the coefficients in the polynomial.
Let us define a quadratic polynomial:
>>> q = Quadratic(a=2, b=4, c=-16) >>> print q 2*x**2 + 4*x - 16
The roots are then found by
>>> r1, r2 = q.roots() >>> r1 2.0 >>> r2 -4.0