In practice, functions are used to model sets of data gathered from experiments. Analyzing a function's behavior gives a mathematician the ability to make decisions about the function, thereby making decisions about the data it represents, and to predict what the function will do in the future. These predictions take the mathematician beyond the limits of the small finite data set. Using the following characteristics to determine the behavior of the data provide insight and give mathematicians confidence to make these predictions. For example, as analysts watch the US economy, they can predict whether the investor should put their money into stocks, bonds, or simple bank investments. Here is a list of the characteristics that will be examined:
The following definitions will be useful in the development of methods to determine the characteristics of the function.
It should be obvious that checking every real number for each characteristic of a function would be impossible. Being the case, the first thing to be determined is the limits of the working domain. These limits should provide a manageable size. Note that the smaller the domain, the faster the characteristics

Finding the intervals of increase and decrease: The first derivative is used here. Since the first derivative of a function is the slope of the function at any point; if the first derivative is positive, then the function is increasing. If the first derivative is negative, the function is decreasing. It should be obvious that the end points of an increasing or decreasing interval will have a zero slope. It is very possible to have multiple intervals in your domain where the function is increasing or decreasing, the sine function is an example.
Finding the maxima and minima: This is closely related to the intervals of increasing/decreasing values. The end points to these intervals are the critical values. A critical point is a point where there exists a maximum or minimum. This should make sense. If an interval is increasing on (a,b) and decreasing on (b,c) then b should be a relative maximum. The operative word here is relative. There may be many relative maxima and minima in a domain. The absolute maximum and minimum on the domain are located at the points of the domain that have the greatest and least function values, respectively. These will be located at either a relative extrema(maximum or minimum) or at the end points. At any critical value, (max/min) the value of the first derivative is zero.
Finding the intervals of concavity: Concavity is a second derivative issue. The second derivative means a number of different things in different problems, but graphically it represents concavity. For example, a function from the Newtonian motion equations on an interval of downward concavity implies particle is decelerating. To find these intervals, we need to test the second derivative. If the second derivative is positive, the function is concave up on that interval; if negative, then it is concave down.
Finding inflection points: Again, a second derivative issue. This is allot like the critical values from the first derivative. An inflection point is a point where the second derivative is zero. This means that there is no concavity or that the function is between concavities. Taking the second derivative of a linear function f(x) = mx + b, we find that there is no concavity anywhere on the function's domain. In this case, the entire domain is not an inflection point; the function has no concavity, thus the function also has no inflection points.
Finding the Roots: This piece on the analysis tends to carry the greatest importance. There is an entire section called, solutions to equations, dedicated to this topic. Here you are finding the domain values(x) that map to zero. (ie f(x)=0)
When a computer is used, there are some interesting problems inherent to this process. In determining a number of these characteristics, it is necessary to compare the first or second derivative to zero, checking for equality. Since this is being done numerically, the chances of either of these derivative values being
exactly zero is not good. It is very possible that 4.0/2.0 - 2.0 may equal 1.6E-11 (depending on the computer). Essentially, this value is zero but if computer
were asked if that were zero, it would
respond with a false conclusion. For this reason, a tolerance value, call it
(epsilon - the orthodox variable used to
represent small numbers), needs to be established. This epsilon will be used to buffer zero so a check can be made to see if the value is within this tolerance.

This epsilon value is needed so that the zero values can be found, but the using the epsilon buffer creates a small problem of its own. If we set epsilon equal to .001 then we are assuming that anything less than .001 is equivalent to zero. When we check for a critical value, it is possible that a number of critical values will show up around the actual point. This isn't a problem if you are aware that it is going to occur. It is perfectly fine to leave this problem alone and simply choose one of the domain values listed. Remember that all the listed domain values have function values less than epsilon and therefore are essentially zero. In essense, by setting an epsilon value, an error tolerance was defined. This implies that all the listed zero values are "close enough". Since the extra values should spread themselves evenly around the actual point, then averaging these values will also yield an accurate value.
Another problem that may be encountered is discontinuity. A point of discontinuity is a point in the working domain that either has no function value (the value may be infinity) or two different values are encountered depending on the direction from which the point is engaged. If an attempt is made to calculate the function value of such a point, an error will result. Examples of this might be dividing by zero, trying to take the square root of a negative number, or taking the logarithm of a number less than or equal to zero. These problems are disastrous to an algorithm and need to be trapped before they are allowed to occur. Allowing the numbers to approach a point of discontinuity, however, can be quite useful and enlightening. One method for trapping the error of a function value from being infinity (eg. f(x) = 1/x at x=0), yet allow the domain values to approach the discontinuity, is to define a value that will be used to represent infinity (ie. a false ceiling) and if the function exceeds that value, stop execution or jump that discontinuity. This will also need to be done to account for values tending to negative infinity. To be sure that the square root of a negative number is not taken, first determine the value under any radical. If it is non-negative, take the root. If it is negative, print an error message and proceed without taking the root.
The Domain of this function has been limited to the interval [a, f]. The domain of this cubic function is actually the set of all real numbers, but was limited to the section where the activity exists. If the graph were allowed to extend either direction, no other important information would be gained. The only information that would change would be the absolute maximum and minimum and would extend with the endpoints of the domain.