# Online Calculator

### Introduction

eCalc is a free online calculator that supports many advanced features including unit conversion, equation solving, and even complex-number math.  The calculator is designed to work directly in your browser and requires no special plug-ins.

### Input Mode (Algebraic vs. RPN)

The online calculator operates in either algebraic input (default mode) or RPN input.  The calculator mode is set by clicking on the "ALG/RPN" symbol in the status bar or by changing the mode inside the menu dialog box.

#### Algebraic Mode

Algebraic input mode is commonly referred to as "infix notation" and is widely used by most handheld calculators.  Expressions entered in algebraic input mode are done in a manner that closely resembles the natural form of the expression and the order of the operations is determined by operator precedence and parenthesis.

#### RPN Mode

RPN, which stands for Reverse Polish notation, is a stack-based notation where operators are designed to follow their operands.  For example, to evaluate the expression "1 + 2" in RPN, the user is required to enter "1 2 +" and the expression is evaluated immediately after the operator.  Expressions that contain parenthesis, such as "(1+2)*3", are evaluated by noting the precedence order and entering the form as "1 2 + 3 *".

### Graphical Button and Keyboard Support

The online calculator supports data entry through either a graphical button or through the use of traditional computer keyboard keys.  The user is given the option to use either input method and both are equally valid; however, there are some trigonometric function (as noted below) that are limited to computer keyboard entry only since there is a limited amount of space available for graphical button placements.

### Stack

The stack is a feature of the calculator that provides a way to view a history of results. The stack displays only 4 items at once, but one can scroll up and down the stack by clicking on the up and down arrow above the stack. Values in the stack can also be "popped" down into the input field of the calculator by clicking on the down arrows to the left of the line in the stack.

### Pallet Intro

The calculator is divided into two sections the scientific calculator interface on the left and the calculator pallet on the right. The pallet provides a display area for special features. Some of these features include: Unit Converter, Constants Library, Equation solver, Polynomial Solver, Base Conversion, and Decimal to Fraction Conversion.

## Basic Functions

The addition (sum function) is used by clicking on the "+" button or using the keyboard. The function results in a+b.

### Subtraction

The subtraction (minus function) is used by clicking on the "-" button or using the keyboard. The function results in a-b.

### Multiplication

The multiplication (times function) is used by clicking on the "x" button or using the keyboard "*" key. The function results in a*b.

### Division

The division (divide function) is used by clicking on the "/" button or using the keyboard "/" key. The function results in a/b.

### Sign

The sign key (negative key) is used by clicking on the "(-)" button. The function results in -1*x.

### Square

The square function is used by clicking on the "x^2" button or type "^2". The function results in x*x.

### Square Root

The square root function is used by clicking on the "x" button or type "sqrt()". This function represents x^.5 where the result squared is equal to x.

### Raise to the Power

The raise to the power (y raised to the x function) is used by clicking on the "y^x" button or type "^".

### Natural Exponential

The natural exponential (e raised to the x) is used by clicking on the "e^x" button or type "exp()". The result is e (2.71828...) raised to x.

### Logarithm

The logarithm (LOG) is used by clicking on the "LOG" button or type "LOG()".

### Natural Logarithm

The Natural logarithm (LN) is used by clicking on the "LN" button or type "LN()".

### Inverse

Multiplicative inverse (reciprocal function) is used by pressing the "1/x" button or typing "inv()". This function is the same as x^-1 or dividing 1 by the number.

### Exponent

Numbers with exponents of 10 are displayed with an "e", for example 4.5e+100 or 4.5e-100. This function represents 10^x. Numbers are automatically displayed in the format when the number is too large or too small for the display. To enter a number in this format use the exponent key "EEX". To do this enter the mantissa (the non exponent part) then press "EEX" or type"e" and then enter the exponent.

### Factorial

The Factorial function is used by clicking the "!" button or type "!".

### PI

PI is a mathematical constant of the ratio of a circle's circumference to its diameter.

## Online Trigonometric Functions

### Sine

The Sine (SIN) function is used by clicking on the "SIN" button or type "SIN()". The result is the ratio of the length of the opposite side to the length of the hypotenuse of a right triangle.

### Inverse Sine

The Inverse Sine (ASIN or ARCSIN) function is used by clicking on the "ASIN" button or type "ASIN()". The result is valid only from -pi/2 to pi/2.

### Cosine

The Cosine (COS) function is used by clicking on the "COS" button or type "COS()". The result is the ratio of the length of the adjacent side to the length of the hypotenuse of a right triangle.

### Inverse Cosine

The inverse cosine (ACOS or ARCCOS) function is used by clicking on the "ACOS" button or type "ACOS()". The result is valid only from 0 to pi.

### Tangent

The Tangent (TAN) function is used by clicking on the "TAN" button or type "TAN()". The result is the ratio of the length of the opposite side to the length of the adjacent side of a right triangle.

### Inverse Tangent

The inverse tangent (ATAN or ARCTAN) function is used by clicking on the "ATAN" button or type "ATAN()". The result is valid only from -pi/2 to pi/2.

### Cosecant

The cosecant (CSC) function is used by typing "CSC()". The cosecant is the multiplicative inverse of the sine function.

### Inverse Cosecant

The inverse cosecant (ACSC) function is used by typing "ACSC()". The result is only valid from -pi/2 to pi/2 excluding 0.

### Secant

The secant (SEC) function is used by typing "SEC()". The secant is the multiplicative inverse of the cosine function.

### Inverse Secant

The inverse secant (ASEC) function is used by typing "ASEC()". The result is only valid from 0 to pi excluding pi/2.

### Cotangent

The cotangent (COT) function is used by typing "COT()". The cotangent is the multiplicative inverse of the tangent function.

### Inverse Cotangent

The Inverse Cotangent (ACOT) function is used by typing "ACOT()". The result is only valid from 0 to pi.

## Online Hyperbolic Trigonometric Functions

### Hyperbolic Sine

The hyperbolic sine (SINH) function is used by typing "SINH()".

### Hyperbolic Cosine

The hyperbolic cosine (COSH) function is used by typing "COSH()".

### Hyperbolic Tangent

The hyperbolic tangent (TANH) function is used by typing "TANH()".

### Hyperbolic Cosecant

The hyperbolic cosecant (CSCH) function is used by typing "CSCH()".

### Hyperbolic Secant

The hyperbolic secant (SECH) function is used by typing "SECH()".

### Hyperbolic Cotangent

The hyperbolic cotangent (COTH) function is used by typing "COTH()".

### Inverse Hyperbolic Sine

The inverse hyperbolic sine (ASINH) function is used by typing "ASINH()".

### Inverse Hyperbolic Cosine

The inverse hyperbolic cosine (ACOSH) function is used by typing "ACOSH()".

### Inverse Hyperbolic Tangent

The inverse hyperbolic tangent (ATANH) function Is used by typing "ATANH()".

### Inverse Hyperbolic Cosecant

The inverse hyperbolic cosecant (ACSCH) function is used by typing "ACSCH()".

### Inverse Hyperbolic Secant

The inverse hyperbolic secant (ASECH) function is used by typing "ASECH()".

### Inverse Hyperbolic Cotangent

The inverse hyperbolic cotangent (ACOTH) function is used by typing "ACOTH()".

### Format

There are 4 types of number formats available and the format can be changed by clicking on the "Menu" button. The number types available are standard, fixed, scientific, and engineering. In engineering one can select the number of digits to display in the input box on the format line. The number format in use can be seen above the stack and is the third menu status from the left. This location can be clicked on to change number format.

### Angle

There are 3 types of angle representation available and these angle types can be changed by clicking on the "Menu" button. The angle formats are radians, degrees, and gradients. The angle format can be seen above the stack and is the first menu status. This location can be clicked on to change the angle format.

### Coordinate System

There are two coordinate systems available to represent complex numbers. The coordinate systems are rectangular and polar. The coordinate system can be selected by clicking on the "Menu" button. The selected coordinate system can be seen above the stack and is the second menu status. To enter a number in rectangular format it must be entered in this format "(3,4)". To enter a number in polar format it must be entered in this format "(3@75)". In place of the "@" symbol the calculator keyboard angle symbol can be used.

### Online Calculator Modes

There are two online calculator modes Algebraic and RPN. The mode is selected by clicking on the "Menu" button.  The calculator mode is seen in the fourth menu status indicator, by clicking on this location the mode changes. The bottom green "return" or "=" button changes depending on the mode.

## Decimal To Fraction

The decimal to fraction feature of this calculator allows a decimal number to be represented in fractional estimates as well as the exact fraction equivalent. The decimal to fraction feature is enabled by clicking on the "d>f" (decimal to fraction) button on the calculator keyboard. A display in the side pallet will open with an input box in the top. A decimal value can be typed directly in the input box, or by clicking on the input arrow the value from the calculator entry field will be input.

## Complex Numbers

The online calculator fully supports complex numbers.  Complex numbers are an extension of the real number system and include a second number that is imaginary creating a complex number plane. The number format for complex numbers is "a + bi", where a is the real number and b is the imaginary number. These numbers can also be represented as magnitude and angle when the calculator coordinate system is in polar mode.

## Online Unit Converter

The online unit converter is displayed in the pallet and can be selected by clicking on the "Units" button. The unit converter has 11 categories: Mass, Speed, Time, Power, Volume, Area, Length, Energy, Temp, Force, and Pressure.

There are two colored boxes at the top of the unit converter display. The blue box is the input box and a number can be entered into this box by directly typing the value into this box or by clicking the arrow next to the box to input the last value stored on the stack. The green box is the result of the unit conversion and this result can be sent to the calculator for calculations by clicking on the arrow next to the green box.

To select the units to be used in the calculation first select the categories, then hover over the unit you want. The unit may be highlighted with either blue or green. Blue represents the input unit and the green will represent the result unit. Once both units have been selected, if you choose to modify one unit click on the one you want changed and then selecting the new unit.

## Constants Library

The constants library is a pallet feature than can be accessed by clicking on the "CONST" button. To push a constant to the calculator input field just click on the constant. This library contains many of the popular constants that are used regularly. The Constants Library includes the following: Speed of Light, Coulomb constant, Acceleration of Gravity, Gravitational Constant, Planck's Constant, Boltzmann's Constant, Faraday Constant, Electron Rest Mass, Neutron Rest Mass, Proton Rest Mass, Avogadro's Number, Electron Charge, Bohr Radius, Molar Gas Constant, Rydberg constant, Molar Volume, Permittivity of a Vacuum, Stefan-Boltzmann Constant, Magnetic Flux Quantum, Permeability of a Vacuum, Bohr Magneton, Josephson Constant, Impedance of Vacuum, and Conductance Quantum.

## Online Solver

The online calculator has two commonly used solvers. These solvers are accessed by clicking on the pallet button "SOLVE". The solvers available are Linear Solver and Root Solver.

### Linear Solver

The Linear Solver is selected by choosing one of the 4 choices. This solver allows one to solve for variables when there are an equal number of equations that are unique for each unknown variable. The solver requires that the coefficients of the equations are entered. When entering the variable numbers make sure that each entry within a column is used for the same variable. Complex number coefficients can be entered, once all values are entered in click on the "Solve" button. The results are labeled x1 ... xn. X1 corresponds to the variable used in column 1 and x2 column 2 and so on.

### Polynomial Solver

The polynomial solver (root solver) is selected by clicking the appropriate order of equation. The coefficients are entered in the input boxes below. Then click on solve and the results are the roots of the equation.

## Base Converter

The base converter is a feature that is included in the pallet and can be accessed by clicking on the "BASE" button. This pallet feature provides different number base equivalents to be viewed at the same time. The bases that are supported are binary, octal, decimal, and hexadecimal. A number can be entered into any of the number bases and the others will change automatically. By clicking on the input arrow next to the decimal input box the decimal number in the calculator input field will be evaluated. The binary display can be modified by clicking on a "1" or "0" and it will toggle states.