Numerical and symbolic commands

Eudox can handle six numerical commands and two symbolic commands.

Numerical  
Sum Calculate the sum of a function over a number of values
Product Calculate the product of a function over a number of values
Root Finds a zero to a function
Intersection Finds the intersection between two functions
Integrate Calculate a numerical approximation to the integral that you specify
Numerical and symbolic  
Derivative Calculate the derivative to a function (this is both a symbolic and a numerical function)
Symbolic  
Simplify Simplify an expression

Sum

Syntax: Sum[f, x, xstart, xstop, step]

Calculate the sum of f from xstart to xstop. You can use step to specify the step from one x value and the next. This calculates the sum of 0+1+2+3+4+...+10.

Product

Syntax: Product[f, x, xstart, xstop, step]

This function works very similar to Sum. Product calculates the product of f from xstart to xstop. You can use step to specify the step from one x value and the next.
This calculates the product of 1*2*3*4*...*10.

Root

Syntax: Root[f, x, xstart, xstop]

Root[] finds a zero to the function f between xstart and xstop.

This finds the x value where sin(x) crosses the x-axis. We tell Eudox to search for the root between x value 3 and x value 4.

Root[] uses two algorithms to find the root.
Root[] will first try Newton's method which usually obtain a high accuracy in a short time. However, it is not very uncommon that Newton's method fail, and Root[] will then try the bisection method. Bisection is slower, but doesn't fail as often as Newton's method.

In the following example notice that after the two errors, the function return a value. The errors don't mean that the returned value is false, just that Newton's method couldn't find any root. Root obtained the answer using the bisection method instead.

Although the answer is correct in the above example, you may want to get rid of the errors. To do this you should always plot the function.

We notice that the interval was unnecessarily large and therefore we narrow it down a bit, and at the same time decide which root we really want. Assume that we wanted the root between 6 and 8,then this command will solve the problem.

The general way of eliminating errors in Root[] can be described as follow:
1. Plot the function.
2. If there is no root in the interval then extend or change the interval until it contain a root.
3. If there is a root try reducing the interval around it.

Intersection

Syntax: Intersection[f0, f1, x, xstart, xstop]

Intersection[] works very much as Root[]. The difference is that Intersection[] finds a intersection between two functions instead of one function and the x-axis.

This finds the intersection between the function x^3-x and x^2 between x value -1 and x value 0.

Because Intersection[f0, f1, x, xstart, xstop] is almost identical to Root[f0-f1, x, xstart, xstop], the errors for Intersection[] is identical to the errors for Root[]. Look at the description of Root above to learn about the errors, and how to avoid them.

Integrate

Syntax: Integrate[f, x, xstart, xstop, Options]

Integrate[] can only approximate the integral from xstart to xstop. Integrate can't find the indefinite integral of a function.

This calculates the area restricted by the function and the x-axis from zero to Pi.

Here is the same integral but from zero to 2*Pi this time.

Note the result zero. That is because the area from Pi to 2*Pi is below the x-axis and therefore has the value -2, and 2+ (-2) is zero so the result will be zero.

This specifies the number of sample points to use when calculating Integrate[]. You can use this to determine how exact you want your result to be.

The result is far from exact but it was much faster calculated. The standard value for SamplePoints is 10000. You can choose a higher value for SamplePoints then 10000 to get a more exact result. SamplePoints is an option for Integrate. You will learn more about options and how they work under the chapter Advanced Plotting.

Derivative

Eudox has a very powerful derivative function. It can find the derivative for all elementary functions!

Syntax: Derivative[f, x] (for exact derivatives)
Syntax: Derivative[f, x, xvalue] (for the numerical rate at the xvalue)

This calculate the derivative for y=x^2

Here are some derivatives.

If you specify "xvalue" Eudox will use a numerical method to find the rate at a specific x value. This find the rate at which the f increase/decrease a x=4

Simplify

Syntax: Simplify[expression]

Here are some simplified expressions.

Simplify[] is not that powerful, it can't calculate for example addition. We hope that in later versions of Eudox this will be fixed.

Next: Basic plotting

Table of contents