Extrema of Graph¶
- extrema_points(equation_type, coefficients, precision=4)¶
Calculates the extrema of a specific function
- Parameters
equation_type (str) – Name of the type of function for which extrema must be determined (e.g., ‘linear’, ‘quadratic’)
coefficients (list of int or float) – Coefficients to use to generate the equation to investigate
precision (int, default=4) – Maximum number of digits that can appear after the decimal place of the results
- Raises
ValueError – First argument must be either ‘linear’, ‘quadratic’, ‘cubic’, ‘hyperbolic’, ‘exponential’, ‘logarithmic’, ‘logistic’, or ‘sinusoidal’
TypeError – Second argument must be a 1-dimensional list containing elements that are integers or floats
ValueError – Last argument must be a positive integer
- Returns
points[‘maxima’] (list of float or str) – Values of the x-coordinates at which the original function has a relative maximum; if the function is sinusoidal, then only two or three results within a two-period interval will be listed, but a general form will also be included; if the function has no maxima, then it will return a list of None
points[‘minima’] (list of float or str) – Values of the x-coordinates at which the original function has a relative minimum; if the function is sinusoidal, then only two or three results within a two-period interval will be listed, but a general form will also be included; if the function has no minima, then it will return a list of None
See also
Roots for key functions:
linear_roots(),quadratic_roots(),cubic_roots(),hyperbolic_roots(),exponential_roots(),logarithmic_roots(),logistic_roots(),sinusoidal_roots()Graphical analysis:
critical_points(),sign_chart(),maxima_points(),minima_points(),key_coordinates()
Notes
Critical points for the derivative of a function: \(c_i = \{ c_1, c_2, c_3, \cdots, c_{n-1}, c_n \}\)
X-coordinates of the extrema of the function: \(x_{ext} = \{ x \mid x \in c_i, \left( f'(\frac{c_{j-1} + c_j}{2}) < 0 \cap f'(\frac{c_j + c_{j+1}}{2}) > 0 \right) \\ \cup \left( f'(\frac{c_{j-1} + c_j}{2}) > 0 \cap f'(\frac{c_j + c_{j+1}}{2}) < 0 \right) \}\)
Examples
- Import extrema_points function from regressions library
>>> from regressions.analyses.extrema import extrema_points
- Calulate the extrema of a cubic function with coefficients 1, -15, 63, and -7
>>> points_cubic = extrema_points('cubic', [1, -15, 63, -7]) >>> print(points_cubic['maxima']) [3.0] >>> print(points_cubic['minima']) [7.0]
- Calulate the extrema of a sinusoidal function with coefficients 2, 3, 5, and 7
>>> points_sinusoidal = extrema_points('sinusoidal', [2, 3, 5, 7]) >>> print(points_sinusoidal['maxima']) [5.5236, 7.618, 9.7124, '5.5236 + 2.0944k'] >>> print(points_sinusoidal['minima']) [6.5708, 8.6652, '6.5708 + 2.0944k']