Maxima of Graph

maxima_points(equation_type, coefficients, precision=4)

Calculates the maxima of a specific function

Parameters
  • equation_type (str) – Name of the type of function for which the maxima 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 – 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; if the function has no maxima, then it will return a list of None

Return type

list of float

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 maxima of the function: \(x_{max} = \{ x \mid x \in c_i, f'(\frac{c_{j-1} + c_j}{2}) > 0, f'(\frac{c_j + c_{j+1}}{2}) < 0 \}\)

  • Maximum Values

Examples

Import maxima_points function from regressions library
>>> from regressions.analyses.maxima import maxima_points
Calculate the maxima of a cubic function with coefficients 1, -15, 63, and -7
>>> points_cubic = maxima_points('cubic', [1, -15, 63, -7])
>>> print(points_cubic)
[3.0]
Calculate the maxima of a sinusoidal function with coefficients 2, 3, 5, and 7
>>> points_sinusoidal = maxima_points('sinusoidal', [2, 3, 5, 7])
>>> print(points_sinusoidal)
[5.5236, 7.618, 9.7124]