# [Tips for Engineer] How to Use a Scientific Calculator? (Casio)

## Standard tricks

### Solving polynomials and linear systems

To solve a quadratic or cubic polynomial equation:

1. Go to EQN mode and scroll over to the Degree? section (`MODE MODE MODE 1 ?`)
2. Enter the degree (`2` or `3`)
3. Enter the 3 or 4 (real) polynomial coefficients, from highest degree downward.
4. Scroll through the solution set (which may have complex values).

To solve a system of linear equations of 2 or 3 variables:

1. Go to EQN mode and stay at the Unknowns? section (`MODE MODE MODE 1`)
2. Enter the number of variables, which is also the number of equations (`2` or `3`)
3. Enter the 6 or 12 coefficients.
4. Scroll through the solution vector.

Polynomials equations and linear systems come up quite often on tests and contests in mathematics, physics, and chemistry, which makes this feature quite useful.

### Solving arbitrary equations

To solve an arbitrary equations of one variable:

1. Enter the equation on the formula line. (e.g., `3X?8=5`)
2. Press `SOLVE` (`SHIFT CALC`).
3. Give an initial guess for the variable and press the equals button. Try to give a value near a solution, or else solving will be slow or will fail. However, this step is generally not necessary for linear equations due to the nature of Newton’s method.
4. Press `SOLVE` again (`SHIFT CALC`).
5. Read the result. (e.g., `X=4.333333333`)

As mentioned in the manual, the calculator internally uses Newton’s method (but with numerical differentiation) to solve equations. The algorithm can easily hang, fail, or give a wrong answer, so beware – it is not the solution to all your problems.

Although linear equations are simple to solve in theory, letting the calculator solve it for you can still save some algebraic manipulation. Here’s an example problem: The 3 angles in a triangle are A, B, and C. B is twice of A. C is triple of B. Find the value of B. The solution: Solve the equation `B÷2+B+3B=180`.

### Tabling functions

It is possible to evaluate an arbitrary function (of one or more variables) at different arguments without re-entering the function’s definition every single time. Procedure:

1. Enter the expression defining the function. (e.g. `X2`)
2. Press `CALC`.
3. For each variable in the expression, give it a value.
4. Read the value of the evaluated expression.
5. Go to step 2 (not step 1) to evaluate the function at another argument.

This is a tremendous aid when applying the rational root theorem to factor or solve polynomials.

### Random number generation

The `Ran#` variable (`SHIFT .`) gives a uniformly distributed random number in the range [0, 1) with a step size of 0.001. It takes on a random value for each instance in a formula and for each evaluation of a formula. (e.g. `Ran#+Ran#` has a different distribution than `2Ran#`.)

If you want an integer in the range [0, N), evaluate `N×Ran#` and mentally discard the fractional part of the result. This can help with pesky questionnaires and surveys that have too many or too personal questions, although you may end up answering some basic facts wrong (e.g. gender, age).

For a finer step size, use `Ran#+0.001Ran#` (step size 1×10?6) or `Ran#+0.001Ran#+0.000001Ran#` (step size 1×10?9).

### Degree-minute-second calculations

Except for certain of division calculations, decimal fractions are far easier to work with than the sexagesimal (base-60) system we’ve inherited from the Babylonians. But for those times where you need to work in sexagesimal or convert between it and decimal, this calculator supports degree-minute-second input and conversion to and from decimal format. See the manual for details, or just play around with the `°??` button.

This feature is obviously useful for dealing with angles expressed in DMS notation, but I think it’s not well known that it helps time calculations as well. Don’t you remember that there are 60 minutes in an hour and 60 seconds in a minute? This has the same subdivisions as the DMS scheme. Example applications:

• You arrived at work at 08:42:44 and left at 17:24:59. How long were you there?Answer: `17°24°59° ? 08°42°44°`, which yields `8°42°15`. This means 8 hours, 42 minutes, and 15 seconds. Pressing the `°??` button swiftly converts this to about 8.70 hours.
• You start downloading a 507 193 KiB file at 21:38:46 and the transfer goes at 160 KiB/s. At what time will the download finish?Answer: `21°38°46° + 507193÷160÷3600`, which yields 22:31:36 after conversion. Note that `÷3600` is necessary because `21°38°46°` is in hours while `507193÷160` is in seconds, and we want the result to be in hours so that we can use the DMS display.

### Numerical differentiation

The numerical differentiation operation (`SHIFT ?dx`) takes 2 or 3 arguments:

1. The function of X to differentiate
2. The point where the derivative is evaluated at
3. The change in X (optional)

For example: `d/dx(X^X,0.5)` = 0.216976666. (The actual value is about 0.216977710.)

### Numerical integration

The numerical integration operation (`?dx`) takes 3 or 4 arguments:

1. The function of X to integrate
2. The lower bound
3. The upper bound
4. The amount of partitioning (optional)

If the amount of partitioning is n, then the number of partitions is 2n. See User’s Guide 2 for more details.

Example of usage and amount of partitioning:

• `?(X?1,1,2,1)` = 0.7
• `?(X?1,1,2,2)` = 0.69
• `?(X?1,1,2,3)` = 0.6932
• `?(X?1,1,2,4)` = 0.69315
• `?(X?1,1,2,5)` = 0.693147
• `?(X?1,1,2,6)` = 0.6931472
• `?(X?1,1,2,7)` = 0.69314718
• `?(X?1,1,2,8)` = 0.693147181
• `?(X?1,1,2,9)` = 0.69314718

The actual value is ln 2, or approximately 0.693147181.

Note: Most functions take much longer to integrate and yield much more pathological results than this example. On this calculator, it’s dangerous to rely on numerical integration.

### Display and key test

Press and hold `SHIFT` and `7`, then `ON` to get the display and key test. Pressing `ON` at any time exits the test. (Pressing `7` is not necessary on some older models; activating this test by accident happens sometimes.)

In the display test, press `SHIFT` to step through the sequence:

1. All segments on
2. All segments off
3. Half of segments on
4. The other half of segments on
5. Lots of copies of a single digit, from 0 to 9

The last display test shows `999999999999`; pressing `SHIFT` starts the key test. From left to right, top to bottom, press every key in sequence. If the number displayed increments, you’ve pressed the right key; otherwise, try another key. Do not press `ON` unless you intend to quit!

## Iterating formulas

A major difference between this calculator and classic scientific calculators is that it does not evaluate the expression while you input it; it evaluates it all at once when you are done.

The most recent expression evaluated can be re-evaluated by pressing the equals key (`=`). The result of each evaluation is always saved in the answer variable (`Ans`). For single-statement iterations, it is most convenient to use Ans as the iterated variable. For example, `Ans+1` is functionally equivalent but easier to type than `X=X+1`.

Multi-statement iterations are possible: use colon (`ALPHA ?dx`) to separate the statements. Press the equals key once per statement, which evaluates them in sequence. When all the statements in the line have been evaluated, pressing the equals key will go back to evaluating the first statement. For example, `A=A+2:B=B?3` is a multi-statement line.

Remember to give initial values to the variables used in the iterations. Also remember that for most formulas, you iterate them as many times as you need until you’re bored or satisfied.

### Simple iterations

Arithmetic progression
For example, starting at 0 and counting up by 1:

1. Initialize: Evaluate `0` (sets Ans to 0).
2. Iterate: Evaluate `Ans+1`.
Geometric progression
For example, starting at 1 and doubling:

1. Initialize: Evaluate `1` (sets Ans to 1).
2. Iterate `2Ans`.
Iterated squaring
For example, starting at 1.000000001 and squaring:

1. Initialize: Evaluate `1.000000001` (sets Ans to 1.000000001).
2. Iterate `Ans2`.

(It’ll take 38 iterations to overflow.)

Logistic map
For example, the chaos at r = 4:

1. Initialize: Evaluate `0.2` (sets Ans to 0.2).
2. Iterate `4Ans(1?Ans)` and watch the randomness.

### Newton’s method iteration

To solve an equation of the form f(x) = 0:

1. Set Ans to an initial value close to a root (solution).
2. Iterate the expression Ans ? f(Ans)/f?(Ans), where f? is the derivative of f.

For example, to solve x2?3 = 0:

1. Initialize: Evaluate `1000(Ran#?0.5)`.
2. Iterate `Ans?(Ans2?3)/(2Ans)`.

After a number of iterations, the result should converge to 1.732050808 or ?1.732050808, depending on the initial value.

### Fixed point iteration

It is possible to solve equations of the form f(x) = x by simply iterating x? = f(x), where x? means the next value of x.

Examples:

• Iterating `cos Ans`, the answer converges to 0.739085133 for radians mode and 0.999847741 for degrees mode.
• Iterating `e?Ans` (i.e., e?Ans), the answer converges to 0.567143290.

Fixed point iteration is generally not as fast or as reliable as Newton’s method, though.

### Taylor series iteration

Examples:

Exponential function
1. Initialize `X` with an argument of your choice.
2. Initialize: `Y=1`, `A=0`, `C=0`
3. Iterate: `A=A+Y : Y=YX÷(C+1) : C=C+1`
Cosine function
1. Initialize `X` with an argument of your choice.
2. Initialize: `Y=1`, `A=0`, `C=0`
3. Iterate: `A=A+Y×(?1)^(C÷2) : Y=YX2÷(C+1)÷(C+2) : C=C+2`
Sine function
1. Initialize `X` with an argument of your choice.
2. Initialize: `Y=X`, `A=0`, `C=1`
3. Iterate: `A=A+Y×(?1)^((C?1)÷2) : Y=YX2÷(C+1)÷(C+2) : C=C+2`

### Fibonacci sequence iteration

Procedure:

1. Initialize: Evaluate `A=0` and `B=1`.
2. Iterate `C=A+B : A=B : B=C`.

### Greatest common divisor iteration

This is based on the original Euclidean algorithm, which uses repeated subtraction rather than the modulus (remainder). The procedure:

1. Set the mode to complex numbers (`MODE 2`).
2. Initialize: Set A and B to be the natural numbers whose GCD will be computed.
3. Iterate: `A = A ? B (tanh(20A?20B) + Abs tanh(20A?20B))÷2 : B = B ? A (tanh(20B?20A) + Abs tanh(20B?20A))÷2` (Quite a mouthful, isn’t it?)
4. When A and B converge to the same number, that is the GCD answer.
Note that the function f(x) = (tanh(20x) ? |tanh(20x)|) / 2 hackily emulates a step function, with f(x) = 0 for x ? 0 and f(x) = 1 for x ? 1. Also, on this calculator, the absolute value function is only available in the complex numbers mode.

Thanks to Bojan Petrovic for suggesting this trick!

## Questionable tricks

### Storing 80 numbers

In the SD mode, you can store a sequence of up to 80 numbers, which persist even after a power cycle. Enter a number by entering its literal or expression and then pressing `DT` (`M+`). Scroll through the sequence of stored numbers by pressing up and down (`?`, `?`).

Any information can be stored as numbers, and digital computers is living proof of this fact. If you want to store text on the calculator, for example, just come up with a coding scheme to convert between letters and numbers. (Note that each number can hold up to about 40.7 bits of information.)

### l33tsp34k

The calculator contains a palette of symbols, which can be used to spell out words and phrases. The complete (Latin) alphabet cannot be spelled out, though.  