# Appendix A. Function List

## Algebra

Find Linear Function

linearfunction(x1, y1, x2, y2)

Finds the linear function for the straight line between two distinct points.

Arguments.

• x1: a free value

• y1: a free value

• x2: a free value

• y2: a free value

Product of a sequence

product(Factor expression, Lower limit (i), Upper limit (n)[, Index variable])

Π

Corresponds to the product symbol. Multiplies factors for each x ranging from the lower to the upper limit.

Example: product(x^2, 1, 5) = 1^2 * 2^2 * 3^2 * 4^2 * 5^2 = 1440

Arguments.

• Factor expression: a free value

• Lower limit (i): an integer

• Upper limit (n): an integer

• Index variable: an unknown variable/symbol (optional, default: undefined)

Requirement.  "Upper limit (n)" >= "Lower limit (i)"

Solve differential equation

dsolve(Equation[, Initial condition: function value (y)][, Initial condition: argument value (x)])

Solves a differential equation and returns the value of y(x). The derivative in the equation should be in the format diff(y, x). Only first-order differential equations are currently supported.

Example: dsolve(2 * diff(y, x) - y = 4x, 5, 2) = 21e^(x/2) / e - 4x - 8

Arguments.

• Equation: a free value

• Initial condition: function value (y): a free value (optional, default: undefined)

• Initial condition: argument value (x): a free value (optional, default: 0)

Solve equation

solve(Equation[, With respect to])

Arguments.

• Equation: a free value

• With respect to: an unknown variable/symbol (optional, default: undefined)

Solve for multiple variables

multisolve(Equation vector, Variable vector)

Arguments.

• Equation vector: a vector

• Variable vector: a vector with an unknown variable/symbol, ...

Requirement.  dimension("Equation vector") = dimension("Variable vector")

Solve for two variables

solve2(Equation 1, Equation 2[, Variable 1][, Variable 2])

Solves two equations with two unknown variables. Returns the value of the first variable.

Arguments.

• Equation 1: a free value

• Equation 2: a free value

• Variable 1: an unknown variable/symbol (optional, default: x)

• Variable 2: an unknown variable/symbol (optional, default: y)

Summation

sum(Term expression, Lower limit (i), Upper limit (n)[, Index variable])

Σ

Corresponds to the summation symbol. Adds terms for each x ranging from the lower to the upper limit.

Example: sum(x^2, 1, 5) = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55

Arguments.

• Term expression: a free value

• Lower limit (i): an integer

• Upper limit (n): an integer

• Index variable: an unknown variable/symbol (optional, default: undefined)

Requirement.  "Upper limit (n)" >= "Lower limit (i)"

## Calculus

Differentiate

diff(Function[, With respect to][, Order][, Variable value])

derivative

Arguments.

• Function: a free value

• With respect to: an unknown variable/symbol (optional, default: undefined)

• Order: an integer >= 1 and <= 2147483647 (optional, default: 1)

• Variable value: a free value (optional, default: undefined)

Extreme Values

extremum(Function[, With respect to])

Arguments.

• Function: a free value

• With respect to: an unknown variable/symbol (optional, default: x)

Integrate

integrate(Function[, Lower limit][, Upper limit][, Variable of integration][, Force numerical integration])

integral

Arguments.

• Function: a free value

• Lower limit: a free value (optional, default: undefined)

• Upper limit: a free value (optional, default: undefined)

• Variable of integration: an unknown variable/symbol (optional, default: undefined)

• Force numerical integration: a boolean (0 or 1) (optional, default: 0)

Limit

limit(Function, Value to approach[, Variable][, Direction])

Returns the two-sided limit of the function if direction is zero, limit from left (below) if direction is -1, or limit from right (above) if direction is +1.

Arguments.

• Function: a free value

• Value to approach: a real number

• Variable: an unknown variable/symbol (optional, default: x)

• Direction: an integer >= -1 and <= 1 (optional, default: 0)

Romberg Integration

romberg(Function, Lower limit, Upper limit[, Max iterations][, Variable of integration][, argument 6])

Arguments.

• Function: a free value

• Lower limit: a real number

• Upper limit: a real number

• Max iterations: an integer >= 2 and <= 9223372036854775807 (optional, default: 6)

• Variable of integration: an integer >= -9223372036854775808 and <= 9223372036854775807 (optional, default: 20)

• 6: an unknown variable/symbol (optional, default: undefined)

Requirement.  "Upper limit" > "Lower limit"

### Named Integrals

Cosine Integral

Ci(argument 1)

cosint

The integral of cos(x)/x.

Arguments.

• 1: a number

Exponential Integral

Ei(argument 1)

expint

The integral of e^x/x.

Arguments.

• 1: a number

Fresnel Integral C

fresnelc(argument 1)

The integral of cos(pi*x^2/2).

Arguments.

• 1: a number >= -6 and <= 6

Fresnel Integral S

fresnels(argument 1)

The integral of sin(pi*x^2/2).

Arguments.

• 1: a number >= -6 and <= 6

Hyperbolic Cosine Integral

Chi(argument 1)

coshint

The integral of cosh(x)/x.

Arguments.

• 1: a number

Hyperbolic Sine Integral

Shi(argument 1)

sinhint

The integral of sinh(x)/x.

Arguments.

• 1: a number

Logarithmic Integral

li(argument 1)

The integral of 1/ln(x).

Arguments.

• 1: a number

Lower Incomplete Gamma Function

gammainc(argument 1, argument 2)

Arguments.

• 1: a free value

• 2: a free value

Sine Integral

Si(argument 1)

sinint

The integral of sin(x)/x.

Arguments.

• 1: a number

Upper Incomplete Gamma Function

igamma(argument 1, argument 2)

Arguments.

• 1: a number

• 2: a number

## Combinatorics

Binomial Coefficient

binomial(n, k)

Arguments.

• n: an integer

• k: an integer >= 0 and <= 18446744073709551615

Combinations

comb(Objects, Size)

Returns the number of possible arrangements of an unordered list with a number of objects to choose from and a list size. If there are three objects (1, 2 and 3) that is put in a list with place for two, the alternatives are [1, 2], [1, 3], and [2, 3], and thus the number of combinations is 3.

Arguments.

• Objects: a free value

• Size: a free value

Derangements

derangements(Number of elements)

Returns the number of possible rearrangements of an ordered list, of a certain size, where none of the objects are on their original position. If the original list is [1, 2, 3], the possible derangements are [2, 3, 1] and [3, 1, 2], and thus the number of derangements is 2.

Arguments.

• Number of elements: an integer >= 1

Double Factorial

factorial2(Value)

Calculates the double factorial of an integer. Multiplies the argument with every second lesser positive integer (n(n-2)(n-4)...). Can also be entered as a number followed by two exclamation marks.

Example: factorial2(5) = 5!! = 5 * 3 * 1 = 15

Arguments.

• Value: an integer >= -1 and <= 9223372036854775807

Factorial

factorial(Value)

Calculates the factorial of an integer. Multiplies the argument with every lesser positive integer (n(n-1)(n-2)...2*1). Can also be entered as a number followed by one exclamation mark.

Example: factorial(5) = 5! = 5 * 4 * 3 * 2 * 1 = 120

Arguments.

• Value: an integer >= 0 and <= 9223372036854775807

Hyperfactorial

hyperfactorial(Value)

Calculates the hyperfactorial of an integer. Multiplies the argument raised by itself with every lesser positive integer raised by themselves (1^1 * 2^2 ... n^n).

Example: hyperfactorial(3) = (3^3) * (2^2) * (1^1) = 108

Arguments.

• Value: an integer >= 1

Multifactorial

multifactorial(Value, Factorial)

Calculates the multifactorial of an integer. Multiplies the argument with every x lesser positive integer (n(n-x)(n-2x)...). Can also be entered as a number followed by three or more exclamation marks.

Example: multifactorial(18, 4) = 18!!!! = 18 * 14 * 10 * 6 * 2 = 30 240

Arguments.

• Value: an integer >= 0 and <= 9223372036854775807

• Factorial: an integer >= 1 and <= 9223372036854775807

Permutations (Variations)

perm(Objects, Size)

variations

Returns the number of possible arrangements of an ordered list with a number of objects to choose from and a list size. If there are three objects (1, 2 and 3) that is put in a list with two positions, the alternatives are [1, 2], [2, 1], [1, 3], [3, 1], [2, 3] and [3, 2], and thus the number of permutations is 6.

Arguments.

• Objects: a free value

• Size: a free value

Superfactorial

superfactorial(Value)

Calculates the superfactorial of an integer. Multiplies the factorial of the argument with the factorial of every lesser positive integer (1! * 2! ... n!).

Example: superfactorial(5) = 5! * 4! * 3! * 2! * 1! = 34 560

Arguments.

• Value: an integer >= 0

## Complex Numbers

Complex Conjugate

conj(Complex number)

Arguments.

• Complex number: a number

Imaginary Part

im(Complex number)

Arguments.

• Complex number: a number

Principal Argument

arg(Complex number)

Arguments.

• Complex number: a number

Real Part

re(Complex number)

Arguments.

• Complex number: a number

## Data Sets

Elements

atom(Element[, Property])

Retrieves data from the Elements data set for a given object and property. If "info" is typed as property, all properties of the object will be listed.

This data uses material from the Wikipedia, under the Creative Commons Attribution-ShareAlike License

Arguments.

• Element: an object from "Elements" (use symbol, number, or name)

• Property: name of a data property (symbol, number, name, class, weight, boiling, melting, or density) (optional, default: info)

Properties.

• Symbol: symbol (key)

• Number: number (key)

• Name: name (key)

• Classification: class

A number representing an element group:

1 Alkali Metal

2 Alkaline-Earth Metal

3 Lanthanide

4 Actinide

5 Transition Metal

6 Metal

7 Metalloid

8 Polyatomic Non-Metal

9 Diatomic Non-Metal

10 Noble Gas

11 Unknown chemical properties

• Weight: weight, mass

• Boiling Point: boiling

• Melting Point: melting

• Density: density

Density at STP (gases) or near room temperature

Planets

planet(Planet[, Property])

Retrieves data from the Planets data set for a given object and property. If "info" is typed as property, all properties of the object will be listed.

This data uses material from the Wikipedia articles

"Earth" (http://www.wikipedia.org/wiki/Earth),

"Jupiter" (http://www.wikipedia.org/wiki/Jupiter),

"Mars" (http://www.wikipedia.org/wiki/Mars),

"Mercury (planet)" (http://www.wikipedia.org/wiki/Mercury_(planet)),

"Neptune" (http://www.wikipedia.org/wiki/Neptune),

"Pluto" (http://www.wikipedia.org/wiki/Pluto),

"Saturn" (http://www.wikipedia.org/wiki/Saturn),

"Uranus" (http://www.wikipedia.org/wiki/Uranus), and

Arguments.

• Planet: an object from "Planets" (use name)

• Property: name of a data property (name, year, speed, eccentricity, inclination, satellites, mass, density, area, gravity, or temperature) (optional, default: info)

Properties.

• Name: name (key)

• Orbital Period (Year): year

• Average Orbital Speed: speed

• Eccentricity: eccentricity

• Inclination (to ecliptic): inclination

• Number of Satellites: satellites

• Mass: mass

• Mean Density: density

• Surface Area: area

• Equatorial Gravity: gravity

• Mean Surface Temperature: temperature

## Date & Time

Arguments.

• Date: a date (Y-M-D)

• Days: a number

Arguments.

• Date: a date (Y-M-D)

• Months: a number

Adds a time value to a date. The value can be positive or negative, but must use a unit based on seconds (such as day and year). Fractions of days are truncated.

Arguments.

• Date: a date (Y-M-D)

• Time: a free value that fulfills the condition: "isNumber(Time/s)"

Arguments.

• Date: a date (Y-M-D)

• Years: a number

Construct Date

date(Year[, Month][, Day][, Calendar])

Returns a date. Available calendars gregorian (1), hebrew (2), islamic (3), persian (4), indian (5), chinese (6), julian (7), milankovic (8), coptic (9), ethiopian (10), egyptian (11). The Chinese year uses an epoch of 2697 BEC and chinese leap months are indicated by adding 12 to the month number (e.g. leap month 4 = 16).

Arguments.

• Year: an integer >= -9223372036854775808 and <= 9223372036854775807

• Month: an integer >= 1 and <= 24 (optional, default: 1)

• Day: an integer >= 1 and <= 31 (optional, default: 1)

• Calendar: a text string (optional, default: gregorian)

Construct Date and Time

datetime(Year[, Month][, Day][, Hour][, Minute][, Second])

Arguments.

• Year: an integer >= -9223372036854775808 and <= 9223372036854775807

• Month: an integer >= 1 and <= 12 (optional, default: 1)

• Day: an integer >= 1 and <= 31 (optional, default: 1)

• Hour: an integer >= 0 and <= 23 (optional, default: 0)

• Minute: an integer >= 0 and <= 59 (optional, default: 0)

• Second: a number >= 0 and < 61 (optional, default: 0)

Current Time

time()

Date to Unix Timestamp

timestamp([Date])

Arguments.

• Date: a date (Y-M-D) (optional, default: now)

Day of Month

day([Date])

Arguments.

• Date: a date (Y-M-D) (optional, default: today)

Day of Week

weekday([Date][, Week begins on Sunday])

Arguments.

• Date: a date (Y-M-D) (optional, default: today)

• Week begins on Sunday: a boolean (0 or 1) (optional, default: 0)

Day of Year

yearday([Date])

Arguments.

• Date: a date (Y-M-D) (optional, default: today)

Days between two dates

days(First date, Second date[, Day counting basis][, Financial function mode])

Returns the number of days between two dates.

Basis is the type of day counting you want to use: 0: US 30/360, 1: real days (default), 2: real days/360, 3: real days/365 or 4: European 30/360.

Arguments.

• First date: a date (Y-M-D)

• Second date: a date (Y-M-D)

• Day counting basis: an integer >= 0 and <= 4 (optional, default: 1)

• Financial function mode: a boolean (0 or 1) (optional, default: 0)

Find Lunar Phase

nextlunarphase(Lunar Phase[, Start Date])

Returns the date when the specified lunar phase occurs. The function searches forward beginning at the specified date. The lunar phase are specified as a number between 0 and 1, where 0 represents new moon, 0.5 full moon, and 0.25 and 0.75 quarter moons.

Arguments.

• Lunar Phase: a number >= 0 and < 1

• Start Date: a date (Y-M-D) (optional, default: now)

Lunar Phase

lunarphase([Date])

Returns the lunar phase, as a number between 0 and 1, for the specified date. 0 represents new moon, 0.5 full moon, and 0.25 and 0.75 quarter moons.

Arguments.

• Date: a date (Y-M-D) (optional, default: now)

Month

month([Date])

Arguments.

• Date: a date (Y-M-D) (optional, default: today)

Time Value

timevalue([Date])

Returns the time part, in fractional hours, of a date and time value.

Arguments.

• Date: a date (Y-M-D) (optional, default: now)

Unix Timestamp to Date

stamptodate(Timestamp)

unix2date

Returns the local date and time represented by the specified Unix timestamp (seconds, excluding leap seconds, since 1970-01-01). Supports time units.

Arguments.

• Timestamp: a free value

Week of Year

week([Date][, Week begins on Sunday])

Arguments.

• Date: a date (Y-M-D) (optional, default: today)

• Week begins on Sunday: a boolean (0 or 1) (optional, default: 0)

Year

year([Date])

Arguments.

• Date: a date (Y-M-D) (optional, default: today)

Years between two dates

yearfrac(First date, Second date[, Day counting basis][, Financial function mode])

Returns the number of years (fractional) between two dates.

Basis is the type of day counting you want to use: 0: US 30/360, 1: real days (default), 2: real days/360, 3: real days/365 or 4: European 30/360.

Arguments.

• First date: a date (Y-M-D)

• Second date: a date (Y-M-D)

• Day counting basis: an integer >= 0 and <= 4 (optional, default: 1)

• Financial function mode: a boolean (0 or 1) (optional, default: 0)

## Economics

Accrued interest of security paying at maturity

accrintm(Issue date, Settlement date, Annual rate of security[, Par value][, Day counting basis])

Returns the accrued interest for a security which pays interest at maturity date.

Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.

Arguments.

• Issue date: a date (Y-M-D)

• Settlement date: a date (Y-M-D)

• Annual rate of security: a free value

• Par value: a free value (optional, default: 1000)

• Day counting basis: an integer >= 0 and <= 4 (optional, default: 0)

Accrued interest of security with periodic interest payments

accrint(Issue date, First interest, Settlement date, Annual rate of security, Par value, Frequency[, Day counting basis])

Returns accrued interest for a security which pays periodic interest.

Allowed frequencies are 1 - annual, 2 - semi-annual or 4 - quarterly. Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.

Arguments.

• Issue date: a date (Y-M-D)

• First interest: a date (Y-M-D)

• Settlement date: a date (Y-M-D)

• Annual rate of security: a free value

• Par value: a free value

• Frequency: an integer >= 1 and <= 4

• Day counting basis: an integer >= 0 and <= 4 (optional, default: 0)

Amount received at maturity for a security bond

received(Settlement date, Maturity date, Investment, Discount rate[, Day counting basis])

Returns the amount received at the maturity date for an invested security.

Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360. The settlement date must be before maturity date.

Arguments.

• Settlement date: a date (Y-M-D)

• Maturity date: a date (Y-M-D)

• Investment: a free value

• Discount rate: a free value

• Day counting basis: an integer >= 0 and <= 4 (optional, default: 0)

Compound

compound(Principal, Nominal interest rate, Periods per year, Years)

Returns the value of an investment, given the principal, nominal interest rate, compounding frequency and time.

Arguments.

• Principal: a free value

• Nominal interest rate: a free value

• Periods per year: a free value

• Years: a free value

Discount rate for a security

disc(Settlement date, Maturity date, Price per \$100 face value, Redemption[, Day counting basis])

Returns the discount rate for a security.

Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.

Arguments.

• Settlement date: a date (Y-M-D)

• Maturity date: a date (Y-M-D)

• Price per \$100 face value: a free value

• Redemption: a free value

• Day counting basis: an integer >= 0 and <= 4 (optional, default: 0)

Dollar Decimal

dollarde(Fractional dollar, Denominator of fraction)

Converts a dollar price expressed as a fraction into a dollar price expressed as a decimal number.

Arguments.

• Fractional dollar: a free value

• Denominator of fraction: an integer >= 1

Dollar Fraction

dollarfr(Decimal dollar, Denominator of fraction)

Converts a decimal dollar price into a dollar price expressed as a fraction.

Arguments.

• Decimal dollar: a free value

• Denominator of fraction: an integer >= 1

Effective Interest Rate

effect(Nominal interest rate, Periods)

Calculates the effective interest for a given nominal rate.

Arguments.

• Nominal interest rate: a free value

• Periods: a free value

Future Value

fv(Interest rate, Number of periods, Payment made each period[, Present value][, Type])

Computes the future value of an investment. This is based on periodic, constant payments and a constant interest rate.

If type = 1 then the payment is made at the beginning of the period, If type = 0 (or omitted) it is made at the end of each period.

Arguments.

• Interest rate: a free value

• Number of periods: a free value

• Payment made each period: a free value

• Present value: a free value (optional, default: 0)

• Type: a boolean (0 or 1) (optional, default: 0)

Interest paid on a given period of an investment (ISPMT)

ispmt(Periodic interest rate, Amortizement period, Number of periods, Present value)

Calculates the interest paid on a given period of an investment.

Arguments.

• Periodic interest rate: a free value

• Amortizement period: an integer >= 1

• Number of periods: an integer >= 1

• Present value: a free value

Interest rate for a fully invested security

intrate(Settlement date, Maturity date, Investment, Redemption[, Day counting basis])

Returns the interest rate for a fully invested security.

Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.

Arguments.

• Settlement date: a date (Y-M-D)

• Maturity date: a date (Y-M-D)

• Investment: a free value

• Redemption: a free value

• Day counting basis: an integer >= 0 and <= 4 (optional, default: 0)

Level-Coupon Bond

level_coupon(Face value, Coupon rate, Coupons per year, Years, Market interest rate)

Calculates the value of a level-coupon bond.

Arguments.

• Face value: a free value

• Coupon rate: a free value

• Coupons per year: a free value

• Years: a free value

• Market interest rate: a free value

Nominal Interest Rate

nominal(Effective interest rate, Periods)

Calculates the nominal interest rate from a given effective interest rate compounded at given intervals.

Arguments.

• Effective interest rate: a free value

• Periods: a free value

Number of coupons to be paid

coupnum(Settlement date, Maturity date, Frequency[, Day counting basis])

Returns the number of coupons to be paid between the settlement and the maturity.

Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.

Arguments.

• Settlement date: a date (Y-M-D)

• Maturity date: a date (Y-M-D)

• Frequency: an integer >= 1 and <= 12

• Day counting basis: an integer >= 0 and <= 4 (optional, default: 0)

Payment for a loan

pmt(Rate, Number of periods, Present value[, Future value][, Type])

Returns the amount of payment (negative) each period for a loan based on a constant interest rate and constant payments (each payment is equal amount).

If type = 1 then the payment is made at the beginning of the period, If type = 0 (or omitted) it is made at the end of each period.

Note that the interest rate here refers to the rate for each period and if you calculate with an annual rate, each period will be interpreted as a whole year. To get monthly payments divide the annual interest rate by 12 and enter the total number of months (12 times number of year) in the periods field.

Example: pmt(2%/12, 10*12, 100000€) = -€920

Arguments.

• Rate: a free value

• Number of periods: a free value

• Present value: a free value

• Future value: a free value (optional, default: 0)

• Type: a boolean (0 or 1) (optional, default: 0)

Payment of an annuity going towards interest (IPMT)

ipmt(Periodic interest rate, Period, Number of periods, Present value[, Future value][, Type])

Calculates the amount of a payment of an annuity going towards interest.

Type defines the due date. 1 for payment at the beginning of a period and 0 (default) for payment at the end of a period.

Arguments.

• Periodic interest rate: a free value

• Period: an integer >= 1

• Number of periods: an integer >= 1

• Present value: a free value

• Future value: a free value (optional, default: 0)

• Type: a boolean (0 or 1) (optional, default: 0)

Payment of an annuity going towards principal (PPMT)

ppmt(Periodic interest rate, Amortizement period, Number of periods, Present value[, Desired future value][, Type])

Calculates the amount of a payment of an annuity going towards principal.

Type defines the due date. 1 for payment at the beginning of a period and 0 (default) for payment at the end of a period.

Arguments.

• Periodic interest rate: a free value

• Amortizement period: an integer >= 1

• Number of periods: an integer >= 1

• Present value: a free value

• Desired future value: a free value (optional, default: 0)

• Type: a boolean (0 or 1) (optional, default: 0)

Periods for investment to attain desired value

g_duration(Rate, Present value, Future value)

Returns the number of periods needed for an investment to attain a desired value.

Arguments.

• Rate: a free value

• Present value: a free value

• Future value: a free value

Periods of an investment

nper(Interest rate, Payment made each period, Present value[, Future value][, Type])

Calculates number of periods of an investment based on periodic constant payments and a constant interest rate.

Type defines the due date. 1 for payment at the beginning of a period and 0 (default) for payment at the end of a period.

Arguments.

• Interest rate: a free value

• Payment made each period: a free value

• Present value: a free value

• Future value: a free value (optional, default: 0)

• Type: a free value (optional, default: 0)

Present Value

pv(Interest rate, Number of periods, Payment made each period[, Future value][, Type])

Returns the present value of an investment.

If type = 1 then the payment is made at the beginning of the period, If type = 0 (or omitted) it is made at the end of each period.

Arguments.

• Interest rate: a free value

• Number of periods: a free value

• Payment made each period: a free value

• Future value: a free value (optional, default: 0)

• Type: a boolean (0 or 1) (optional, default: 0)

Price per \$100 face value of a discounted security

pricedisc(Settlement date, Maturity date, Discount, Redemption[, Day counting basis])

Calculates and returns the price per \$100 face value of a discounted security. The security does not pay interest at maturity.

Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.

Arguments.

• Settlement date: a date (Y-M-D)

• Maturity date: a date (Y-M-D)

• Discount: a free value

• Redemption: a free value

• Day counting basis: an integer >= 0 and <= 4 (optional, default: 0)

Price per \$100 face value of a security

pricemat(Settlement date, Maturity date, Issue date, Discount rate, Annual yield[, Day counting basis])

Calculates and returns the price per \$100 face value of a security. The security pays interest at maturity.

Basis is the type of day counting you want to use: 0: US 30/360 (default), 1: real days, 2: real days/360, 3: real days/365 or 4: European 30/360.

Arguments.

• Settlement date: a date (Y-M-D)

• Maturity date: a date (Y-M-D)

• Issue date: a date (Y-M-D)

• Discount rate: a free value

• Annual yield: a free value

• Day counting basis: an integer >= 0 and <= 4 (optional, default: 0)

Return on continuously compounded interest

continuous(Principal, Interest rate, Years)

Calculates the return on continuously compounded interest, given the principal, nominal rate and time in years.

Arguments.

• Principal: a free value

• Interest rate: a free value

• Years: a free value

Straight Line Depreciation

sln(Cost, Salvage value, Life)

Determines the straight line depreciation of an asset for a single period.

Cost is the amount you paid for the asset. Salvage is the value of the asset at the end of the period. Life is the number of periods over which the asset is depreciated. SLN divides the cost evenly over the life of an asset.

Arguments.

• Cost: a free value

• Salvage value: a free value

• Life: a free value

Sum-of-Years Digits Depreciation

syd(Cost, Salvage value, Life, Period)

Calculates the sum-of-years digits depreciation for an asset based on its cost, salvage value, anticipated life, and a particular period. This method accelerates the rate of the depreciation, so that more depreciation expense occurs in earlier periods than in later ones. The depreciable cost is the actual cost minus the salvage value. The useful life is the number of periods (typically years) over which the asset is depreciated.

Arguments.

• Cost: a free value

• Salvage value: a free value

• Life: a free value

• Period: a free value

Treasury Bill Equivalent

tbilleq(Settlement date, Maturity date, Discount rate)

Returns the bond equivalent for a treasury bill.

Arguments.

• Settlement date: a date (Y-M-D)

• Maturity date: a date (Y-M-D)

• Discount rate: a free value

Treasury Bill Price

tbillprice(Settlement date, Maturity date, Discount rate)

Returns the price per \$100 value for a treasury bill.

Arguments.

• Settlement date: a date (Y-M-D)

• Maturity date: a date (Y-M-D)

• Discount rate: a free value

Treasury Bill Yield

tbillyield(Settlement date, Maturity date, Price per \$100 face value)

Returns the yield for a treasury bill.

Arguments.

• Settlement date: a date (Y-M-D)

• Maturity date: a date (Y-M-D)

• Price per \$100 face value: a free value

Zero Coupon

zero_coupon(Face value, Interest rate, Years)

Calculates the value of a zero-coupon (pure discount) bond.

Arguments.

• Face value: a free value

• Interest rate: a free value

• Years: a free value

### Microeconomics

Elasticity

elasticity(Demand function, Price[, Price variable])

Calculates the demand elasticity. Also works for supply elasticity, income elasticity, cross-price elasticity, etc. Just replace demand with supply, or price with income...

eg. elasticity(100-x^2, 3) calculates the demand elasticity when the price is 3 for the function "Q = 100 - x^2" where x is the default price variable.

Arguments.

• Demand function: a free value

• Price: a free value

• Price variable: an unknown variable/symbol (optional, default: x)

## Exponents & Logarithms

10 raised to the power X

exp10(Exponent)

Arguments.

• Exponent: a free value

2 raised to the power X

exp2(Exponent)

Arguments.

• Exponent: a free value

Base-10 Logarithm

log10(Value)

Returns the base n logarithm.

Arguments.

• Value: a number >= 0

Base-2 Logarithm

log2(Value)

Returns the base n logarithm.

Arguments.

• Value: a number >= 0

Base-N Logarithm

log(Value[, Base])

Arguments.

• Value: a number that is nonzero

• Base: a number that is nonzero (optional, default: e)

Complex Exponential (Cis)

cis(Exponent)

Arguments.

• Exponent: a number

Cube Root

cbrt(Value)

Returns the third real root.

Arguments.

• Value: a free value

Exponential (e^x)

exp(Exponent)

Arguments.

• Exponent: a free value

Lambert W Function (Omega Function, Product Log)

lambertw(Value[, Branch])

productlog

Returns the inverse function for mx*e^x as ln() does for e^x. Only the principal branch and real valued results are currently supported.

Arguments.

• Value: a real number

• Branch: an integer (optional, default: 0)

Natural Logarithm

ln(Value)

Arguments.

• Value: a number that is nonzero

Nth root

root(Value, Degree)

Returns the real root. For negative values the degree must be odd. Complex values are not allowed.

Arguments.

• Value: a real number

• Degree: a rational number

Square

sq(Value)

Arguments.

• Value: a free value

Square Root

sqrt(Value)

Returns the principal square root (for positive values the positive root is returned).

Arguments.

• Value: a free value

Square root (x * pi)

sqrtpi(Non-negative value)

Returns the non-negative square root of x * pi

Arguments.

• Non-negative value: a number >= 0

X raised to the power Y

pow(Base, Exponent)

Arguments.

• Base: a free value

• Exponent: a free value

## Geometry

### Circle

Circle Area

Calculates the area of a circle using the radius

Arguments.

Circle Circumference

Calculates the area of a circle using the radius

Arguments.

### Cone

Cone Volume

Arguments.

• Height: a free value

Surface Area of Cone

Arguments.

• Height: a free value

### Cube

Cube Volume

cube(Length of side)

Arguments.

• Length of side: a free value

Surface Area of Cube

cube_sa(Length of side)

Arguments.

• Length of side: a free value

### Cylinder

Cylinder Volume

Arguments.

• Height: a free value

Surface Area of Cylinder

Arguments.

• Height: a free value

### Parallelogram

Parallelogram Area

parallelogram(Base, Height)

Calculates the area of a four-sided figure whose opposite sides are both parallel and equal in length.

Arguments.

• Base: a free value

• Height: a free value

Parallelogram Perimeter

parallelogram_perimeter(Side A, Side B)

Calculates the perimeter of a four-sided figure whose opposite sides are both parallel and equal in length.

Arguments.

• Side A: a free value

• Side B: a free value

### Prism

Surface Area of Rectangular Prism

rectprism_sa(Length, Width, Height)

Calculates the surface area of a prism with rectangular base.

Arguments.

• Length: a free value

• Width: a free value

• Height: a free value

Volume of Rectangular Prism

rectprism(Length, Width, Height)

Calculates the volume of a prism with rectangular base.

Arguments.

• Length: a free value

• Width: a free value

• Height: a free value

Volume of Triangular Prism

triangleprism(Length, Width, Height)

Calculates the volume of a prism with triangular base.

Arguments.

• Length: a free value

• Width: a free value

• Height: a free value

### Pyramid

Height of Regular Tetrahedron

tetrahedron_height(Length of side)

Arguments.

• Length of side: a free value

Height of Square Pyramid

sqpyramid_height(Length of side)

Arguments.

• Length of side: a free value

Pyramid Volume

pyramid(Length of base, Width of base, Height)

Calculates the volume of a 3-dimensional shape standing on a rectangular base and terminating in a point at the top.

Arguments.

• Length of base: a free value

• Width of base: a free value

• Height: a free value

Surface Area of Regular Tetrahedron

tetrahedron_sa(Length of side)

Arguments.

• Length of side: a free value

Surface Area of Square Pyramid

sqpyramid_sa(Length of side)

Arguments.

• Length of side: a free value

Volume of Regular Tetrahedron

tetrahedron(Length of side)

Arguments.

• Length of side: a free value

Volume of Square Pyramid

sqpyramid(Length of side)

Arguments.

• Length of side: a free value

### Rectangle

Rectangle Area

rect(Length, Width)

Arguments.

• Length: a free value

• Width: a free value

Rectangle Perimeter

rect_perimeter(Length, Width)

Arguments.

• Length: a free value

• Width: a free value

### Sphere

Sphere Volume

Arguments.

Surface Area of Sphere

Arguments.

### Square

Square Area

square(Length of side)

Arguments.

• Length of side: a free value

Square Perimeter

square_perimeter(Length of side)

Arguments.

• Length of side: a free value

### Trapezoid

Trapezoid Area

trapezoid(Side A, Side B, Height)

Calculates the area of a four-sided figure with two parallel sides.

Arguments.

• Side A: a free value

• Side B: a free value

• Height: a free value

### Triangle

Hypotenuse

hypot(Side A, Side B)

Arguments.

• Side A: a free value

• Side B: a free value

Triangle Area

triangle(Base, Height)

Arguments.

• Base: a free value

• Height: a free value

Triangle Perimeter

triangle_perimeter(Side A, Side B, Side C)

Arguments.

• Side A: a free value

• Side B: a free value

• Side C: a free value

## Logical

Bit Rotation

bitrot(Number, Steps[, Bit Width][, Signed Integer])

Applies circular bitwise shift to an integer of specified bit width and signedness (use 1 for signed and 0 for unsigned). The second argument specifies the number of steps that each binary bit is shifted to the left (use negative values for right shift). If bit width is zero, the smallest necessary number of bits (of 8, 16, 32, 64, 128, ...) will be used.

Arguments.

• Number: an integer

• Steps: an integer

• Bit Width: an integer >= 0 and <= 4294967295 (optional, default: 0)

• Signed Integer: a boolean (0 or 1) (optional, default: 1)

Bitwise Complement (Not)

bitcmp(Number[, Bit Width][, Signed Integer])

Applies bitwise NOT to an integer of specified bit width and signedness (use 1 for signed and 0 for unsigned). If bit width is zero, the smallest necessary number of bits (of 8, 16, 32, 64, 128, ...) will be used.

Arguments.

• Number: an integer

• Bit Width: an integer >= 0 and <= 4294967295 (optional, default: 0)

• Signed Integer: a boolean (0 or 1) (optional, default: 0)

Bitwise Exclusive OR

xor(Value 1, Value 2)

Arguments.

• Value 1: an integer or a vector

• Value 2: an integer or a vector

Bitwise Shift

shift(Number, Steps[, Arithmetic shift using two's complement])

Applies logical or arithmetic bitwise shift to an integer. The second argument specifies the number of steps that each binary bit is shifted to the left (use negative values for right shift).

Arguments.

• Number: an integer

• Steps: an integer >= -9223372036854775808 and <= 9223372036854775807

• Arithmetic shift using two's complement: a boolean (0 or 1) (optional, default: 1)

For...Do

for(Initial value of counter, Counter variable, For condition, Counter update function, Initial value, Do function, Value variable)

Example: for(1, x, x < 10, x + 1, 2, y * x, y) = 72 576

Arguments.

• Initial value of counter: a free value

• Counter variable: an unknown variable/symbol

• For condition: a free value

• Counter update function: a free value

• Initial value: a free value

• Do function: a free value

• Value variable: an unknown variable/symbol

If...Then...Else

if(Condition, Expression if condition is met, Expression if condition is NOT met[, Assume false if not true])

Tests a condition and returns a value depending on the result. Vectors can be used for argument 1 and 2, instead of nested functions.

Arguments.

• Condition: a free value

• Expression if condition is met: a free value

• Expression if condition is NOT met: a free value

• Assume false if not true: a boolean (0 or 1) (optional, default: 0)

Logical Exclusive OR

lxor(Value 1, Value 2)

Arguments.

• Value 1: a free value

• Value 2: a free value

## Matrices & Vectors

Arguments.

• Matrix: a square matrix

Cofactor

cofactor(Matrix, Row, Column)

Calculates the cofactor of the element at specified position.

Arguments.

• Matrix: a matrix

• Row: an integer >= 1 and <= 4294967295

• Column: an integer >= 1 and <= 4294967295

Columns

columns(Matrix)

Returns the number of columns in a matrix.

Arguments.

• Matrix: a vector

Construct Matrix

matrix(Rows, Columns, Elements)

Returns a matrix with specified dimensions and listed elements. Omitted elements are set to zero.

Arguments.

• Rows: an integer >= 1 and <= 4294967295

• Columns: an integer >= 1 and <= 4294967295

• Elements: a vector

Construct Vector

vector([argument 1], ...)

Returns a vector with listed elements.

Arguments.

• 1: a free value (optional)

Convert Matrix to Vector

matrix2vector(Matrix)

Puts each element of a matrix in vertical order in a vector.

Arguments.

• Matrix: a matrix

Cross Product

cross(Vector 1, Vector 2)

Calculates the cross product of two 3-dimensional vectors.

Arguments.

• Vector 1: a vector that fulfills the condition: "dimension(Vector 1)==3"

• Vector 2: a vector that fulfills the condition: "dimension(Vector 2)==3"

Determinant

det(Matrix)

Calculates the determinant of a matrix.

Arguments.

• Matrix: a square matrix

Dimension

dimension(Vector)

Returns the number of elements in a vector.

Arguments.

• Vector: a vector

Element

element(Matrix/vector, Row/index[, Column])

Returns the element at specified position in a matrix (row and column) or vector (index).

Arguments.

• Matrix/vector: a vector

• Row/index: an integer >= 1 and <= 4294967295

• Column: an integer >= 0 and <= 4294967295 (optional, default: 0)

Elements

elements(Matrix or vector)

Returns the number of elements in a matrix or vector.

Arguments.

• Matrix or vector: a vector

Entrywise Function

entrywise(Function, Matrices/vectors and variables)

Calculates a new matrix or vector using each separate element in matrix/vector 1 and the corresponding (in the same row and column) elements in matrix/vector 2. An unlimited number of matrices/vectors can be specified, with each matrix/vector argument followed by the corresponding variable used in the function argument.

Example: entrywise(x / y, [4, 10, 12], x, [2, 2, 4], y) = [2, 5, 3]

Arguments.

• Function: a free value

• Matrices/vectors and variables: a vector with a vector, an unknown variable/symbol, ...

Export To CSV File

export(Matrix/vector, Filename[, Separator])

Exports a matrix to a CSV data file.

Arguments.

• Matrix/vector: a vector

• Filename: a valid file name

• Separator: a text string (optional, default: ,)

Extract Column as Vector

column(Matrix, Column)

Returns a column in a matrix as a vector.

Arguments.

• Matrix: a matrix

• Column: an integer >= 1 and <= 4294967295

Extract row as vector

row(Matrix, Row)

Returns a row in a matrix as a vector.

Arguments.

• Matrix: a matrix

• Row: an integer >= 1 and <= 4294967295

Generate Vector

genvector(Function, Min, Max, Dimension / Step size[, Variable][, Use step size])

Returns a vector generated from a function with a variable (default x) running from min to max. The fourth argument is either the requested number of elements if the sixth argument is false (default) or the step between each value of the variable.

Arguments.

• Function: a free value

• Min: a free value

• Max: a free value

• Dimension / Step size: a free value

• Variable: an unknown variable/symbol (optional, default: undefined)

• Use step size: a boolean (0 or 1) (optional, default: 0)

Mulitplies each separate element in matrix 1 with the corresponding element in matrix 2.

Arguments.

• Matrix 1: a vector

• Matrix 2: a vector (optional)

Identity

identity(Matrix or rows/columns)

Returns the identity matrix of a matrix or with specified number of rows/columns.

Arguments.

• Matrix or rows/columns: an integer >= 1 and <= 4294967295 or a square matrix

Returns a matrix imported from a CSV data file.

Arguments.

• Filename: a valid file name

• First data row: an integer >= 1 and <= 2147483647 (optional, default: 1)

• Separator: a text string (optional, default: ,)

Magnitude

magnitude(Value)

Calculates the magnitude of a value. This function returns the same value as abs() for all values except vectors.

Arguments.

• Value: a free value

Matrix Area

area(Matrix, Start row, Start column, End row, End column)

Returns a part of a matrix.

Arguments.

• Matrix: a matrix

• Start row: an integer >= 1 and <= 4294967295

• Start column: an integer >= 1 and <= 4294967295

• End row: an integer >= 1 and <= 4294967295

• End column: an integer >= 1 and <= 4294967295

Matrix Inverse

inverse(Matrix)

Calculates the inverse of a matrix. The inverse is the matrix that multiplied by the original matrix equals the identity matrix (AB = BA = I).

Arguments.

• Matrix: a square matrix

Merge Vectors

mergevectors(Vector 1[, Vector 2], ...)

Returns a vector with the elements from two vectors.

Arguments.

• Vector 1: a vector

• Vector 2: a vector (optional)

Norm (length)

norm(Vector)

Calculates the norm/length of a vector.

Arguments.

• Vector: a vector

Permanent

permanent(Matrix)

Calculates the permanent of a matrix. The permanent differs from a determinant in that all signs in the expansion by minors are taken as positive.

Arguments.

• Matrix: a square matrix

Rank

rank(Vector[, Ascending])

Returns a vector with values of elements replaced with their mutual ranks.

Example: rank([6, 1, 4]) = [3, 1, 2]

Arguments.

• Vector: a vector

• Ascending: a boolean (0 or 1) (optional, default: 1)

Rows

rows(Matrix)

Returns the number of rows in a matrix.

Arguments.

• Matrix: a vector

Sort

sort(Vector[, Ascending])

Returns a sorted vector.

Example: sort([6, 1, 4]) = [1, 4, 6]

Arguments.

• Vector: a vector

• Ascending: a boolean (0 or 1) (optional, default: 1)

Transpose

transpose(Matrix)

Returns the transpose of a matrix.

Arguments.

• Matrix: a matrix

Vector Limits

limits(Vector, Lower limit, Upper limit)

Returns a part of a vector between two positions.

Arguments.

• Vector: a vector

• Lower limit: an integer >= -2147483648 and <= 2147483647

• Upper limit: an integer >= -2147483648 and <= 2147483647

## Miscellaneous

American Wire Gauge Cross-Section Area

awg(AWG)

For gauges larger than 0000 (4/0), please use negative values (00=-1, 000=-2, 0000=-3, 00000=-4, etc). For conversion to AWG, use an equation (e.g. awg(x) = 20 mm^2).

Arguments.

• AWG: a text string

American Wire Gauge Diameter

awgd(AWG)

For gauges larger than 0000 (4/0), please use negative values (00=-1, 000=-2, 0000=-3, 00000=-4, etc). For conversion to AWG, use an equation (e.g. awgd(x) = 5 mm).

Arguments.

• AWG: a text string

Body Mass Index (BMI)

bmi(Weight, Length)

Calculates the Body Mass Index. The resulting BMI-value is sometimes interpreted as follows (although varies with age, sex, etc.):

Underweight < 18.5

Normal weight 18.5-25

Overweight 25-30

Obesity > 30

Note that you must use units for weight (ex. 59kg) and length (ex. 174cm).

Example: bmi(127 lb, 5ft + 4in) = 21.80

Arguments.

• Weight: a free value

• Length: a free value

Depth of Field

dof(Focal Length, F-stop (aperture), Distance[, Circle of confusion or sensor size])

Returns the estimated distance between the nearest and the farthest objects that are in acceptably sharp focus in a photo. Enter focal length (e.g. 50 mm) and distance (e.g. 5 m) with units, and f-stop without unit (2.8, 4.0, 5.6, etc.). Specify either a cicle of confusion diameter limit (e.g. 0.05 mm) or the sensor size of the camera - 0="35mm", 1="APS-H", 2="APS-CN" (Nikon, Pentax, Sony), 3="APS-C" (Canon), 4="4/3" (Fourt Thirds System), or 5='1"' (Nikon 1, Sony RX10, Sony RX100) - for a diameter based on d/1500.

Example: dof(50 mm, 2.8, 2 m, "APS-C") ≈ 161 mm

Arguments.

• Focal Length: a free value

• F-stop (aperture): a number >= 0

• Distance: a free value

• Circle of confusion or sensor size: a free value (optional, default: 0)

RAID Space

raid(RAID level, Capacity of each disk, Number of disks[, Stripes])

Calculates RAID array disk capacity usable for data storage. If the combination of number of disks and RAID level is invalid, zero is returned. Supported RAID levels are 0, 1, 2, 3, 4, 5, 6, 1+0/10, 0+1, 5+0/50, 6+0/60, and 1+6. Stripes are optional and only used for nested RAID levels (except 1+0).

Example: raid(4, 12, 5) = 12

Arguments.

• RAID level: a text string

• Capacity of each disk: a free value

• Number of disks: an integer >= 1

• Stripes: an integer >= 2 (optional, default: 2)

Roman Number

roman(Roman number)

Returns the value of a roman number.

Arguments.

• Roman number: a text string

## Number Theory

Absolute Value

abs(Value)

Arguments.

• Value: a number

Bernoulli Number/Polynomial

bernoulli(Index (n)[, Variable])

Returns the nth Bernoulli number or polynomial (if the second argument is non-zero).

Arguments.

• Index (n): an integer >= 0

• Variable: a free value (optional, default: 0)

Fibonacci Number

fibonacci(Index (n))

Returns the n-th term of the Fibonacci sequence.

Arguments.

• Index (n): an integer >= 0

Greatest Common Divisor

gcd(1st value, 2nd value)

Arguments.

• 1st value: a free value that is rational (polynomial)

• 2nd value: a free value that is rational (polynomial)

Least Common Multiple

lcm(1st value, 2nd value)

Arguments.

• 1st value: a free value that is rational (polynomial)

• 2nd value: a free value that is rational (polynomial)

### Arithmetic

Arguments.

• Terms: a vector

Denominator

denominator(Number)

Arguments.

• Number: a rational number

Divide

divide(Numerator, Denominator)

Arguments.

• Numerator: a free value

• Denominator: a free value

Integer Division

div(Numerator, Denominator)

Arguments.

• Numerator: a free value

• Denominator: a free value

Modulus

mod(Numerator, Denominator)

Arguments.

• Numerator: a real number

• Denominator: a real number that is nonzero

Multiply

multiply(Factors)

Arguments.

• Factors: a vector

Negate

neg(Value)

Arguments.

• Value: a free value

Numerator

numerator(Number)

Arguments.

• Number: a rational number

Raise

raise(Base, Exponent)

Arguments.

• Base: a free value

• Exponent: a free value

Reciprocal

inv(Value)

Arguments.

• Value: a free value

Remainder

rem(Numerator, Denominator)

Arguments.

• Numerator: a real number

• Denominator: a real number that is nonzero

Signum

sgn(Number[, Value for zero])

Arguments.

• Number: a number

• Value for zero: a free value (optional, default: 0)

Subtract

subtract(Terms)

Arguments.

• Terms: a vector

### Integers

Even

even(Number)

Arguments.

• Number: an integer

Odd

odd(Number)

Arguments.

• Number: an integer

### Number Bases

Bijective base-26

bijective(Bijective base-26 number)

Returns a value from an expression in bijective base-26. Conversion in the opposite direction is also supported.

Arguments.

• Bijective base-26 number: a text string

Binary

bin(Binary number[, Two's complement])

Returns a value from a binary expression. If two's complement is true, numbers beginning with '1' is interpreted as negative binary numbers using two's complement.

Arguments.

• Binary number: a text string

• Two's complement: a boolean (0 or 1) (optional, default: 0)

Decimal

dec(Decimal number)

Returns a value from a decimal expression.

Arguments.

• Decimal number: a text string

Returns a value from a hexadecimal expression. If two's complement is true, numbers beginning with 8 or higher is interpreted as negative hexadecimal numbers using two's complement.

Arguments.

• Hexadecimal number: a text string

• Two's complement: a boolean (0 or 1) (optional, default: 0)

Number Base

base(Number, Base[, Set of digits])

Returns a value from an expression using the specified number base (radix). For bases between -62 and 62 full mathematical expressions (including operators and functions) are supported, while for other bases the specified expression is converted to a single number.

Bases ≤ 36 uses digits 0-9 and A-Z (case insensitive).

Bases between 37 and 62 uses case sensitive letters (0-9, A-Z, a-z) as digits ('z' equals 61).

Bases over 62 use Unicode characters as digits, with the character code as value (e.g. '0' equals 48). Escaped characters are in this case supported (e.g. '\0' = 0, '\523' = 523, '\x7f' = 127).

Negative bases use the same digits as the corresponding positive bases and the digits used for non-integer bases are determined by rounding the base away from zero. Bases that are not real numbers by default uses digits 0-9 and A-Z.

The set of digits used can be selected using the third argument (defaults to 0 for automatic selection). Set it to 1 for digits 0-9 and A-Z, 2 for 0-9, A-Z and a-z, and 3 for Unicode digits, or enter a text string with all digits placed in ascending order (e.g. "0123456789"). When the set of digits is manually selected, the specified expression is always converted to a single number.

Arguments.

• Number: a text string

• Base: a free value

• Set of digits: a text string (optional, default: 0)

Octal

oct(Octal number)

Returns a value from an octal expression.

Arguments.

• Octal number: a text string

### Polynomials

Coefficient

coeff(Polynomial, Number[, Variable])

Arguments.

• Polynomial: a free value that is rational (polynomial)

• Number: an integer >= 0

• Variable: an unknown variable/symbol (optional, default: undefined)

Content Part

pcontent(Polynomial[, Variable])

Arguments.

• Polynomial: a free value that is rational (polynomial)

• Variable: an unknown variable/symbol (optional, default: undefined)

lcoeff(Polynomial[, Variable])

Arguments.

• Polynomial: a free value that is rational (polynomial)

• Variable: an unknown variable/symbol (optional, default: undefined)

Lowest Degree (Valuation)

ldegree(Polynomial[, Variable])

Arguments.

• Polynomial: a free value that is rational (polynomial)

• Variable: an unknown variable/symbol (optional, default: undefined)

Polynomial Degree

degree(Polynomial[, Variable])

Arguments.

• Polynomial: a free value that is rational (polynomial)

• Variable: an unknown variable/symbol (optional, default: undefined)

Primitive Part

primpart(Polynomial[, Variable])

Arguments.

• Polynomial: a free value that is rational (polynomial)

• Variable: an unknown variable/symbol (optional, default: undefined)

Trailing Coefficient

tcoeff(Polynomial[, Variable])

Arguments.

• Polynomial: a free value that is rational (polynomial)

• Variable: an unknown variable/symbol (optional, default: undefined)

Unit Part

punit(Polynomial[, Variable])

Arguments.

• Polynomial: a free value that is rational (polynomial)

• Variable: an unknown variable/symbol (optional, default: undefined)

### Rounding

Fractional Part

frac(Value)

Arguments.

• Value: a real number

Integer Part

int(Value)

Arguments.

• Value: a real number

Round

round(Value)

Arguments.

• Value: a real number

Round Downwards

floor(Value)

Arguments.

• Value: a real number

Round Towards Zero

trunc(Value)

Arguments.

• Value: a real number

Round Upwards

ceil(Value)

Arguments.

• Value: a real number

## Special Functions

Airy Function

airy(argument 1)

Arguments.

• 1: a number >= -500 and <= 500

Bessel Function of the First Kind

besselj(Order, Argument)

Arguments.

• Order: an integer >= -9223372036854775808 and <= 9223372036854775807

• Argument: a real number

Bessel Function of the Second Kind

bessely(Order, Argument)

Arguments.

• Order: an integer >= -9223372036854775808 and <= 1000

• Argument: a real number

Beta Function

beta(argument 1, argument 2)

Arguments.

• 1: a number

• 2: a number

Complementary Error Function

erfc(argument 1)

Arguments.

• 1: a number

Digamma Function

digamma(argument 1)

psi

Arguments.

• 1: a real number

Error Function

erf(argument 1)

Arguments.

• 1: a number

Gamma Function

gamma(argument 1)

Arguments.

• 1: a real number

Imaginary Error Function

erfi(argument 1)

Arguments.

• 1: a number

Kronecker Delta

kronecker(Value 1 (i)[, Value 2 (j)])

Returns 0 if i != j and 1 if i = j.

Arguments.

• Value 1 (i): a real number

• Value 2 (j): a real number (optional, default: 0)

Logit Transformation

logit(Value)

Arguments.

• Value: a number

Polylogarithm

Li(Order, Argument)

polylog

Arguments.

• Order: a number

• Argument: a number

Riemann Zeta

zeta(Integral point[, Hurwitz zeta argument])

Calculates Hurwitz zeta function if the second argument is not 1.

Arguments.

• Integral point: a number

• Hurwitz zeta argument: a number (optional, default: 1)

Sigmoid Function

sigmoid(Value)

Arguments.

• Value: a number

### Step Functions

Dirac Delta Function

dirac(argument 1)

δ

Returns 0 if x is non-zero, and infinity if x is zero.

Arguments.

• 1: a real number

Heaviside Step Function

heaviside(argument 1)

θ

Discontinuous function also known as "unit step function". Returns 0 if x < 0, 1 if x > 0, and 1/2 if x = 0.

Arguments.

• 1: a real number

Ramp Function

ramp(Value)

Arguments.

• Value: a real number

Rectangular Function

rectangular(Value)

Arguments.

• Value: a real number

Triangular Function

triangular(Value)

Arguments.

• Value: a real number

## Statistics

### Descriptive Statistics

Decile

decile(Data, Decile[, Quantile Algorithm (as in R)])

Arguments.

• Data: a vector

• Decile: an integer >= 0 and <= 10

• Quantile Algorithm (as in R): an integer >= 1 and <= 9 (optional, default: 8)

Interquartile Range

iqr(Data[, Quantile Algorithm (as in R)])

Calculates the difference between the first and third quartile.

Arguments.

• Data: a vector

• Quantile Algorithm (as in R): an integer >= 1 and <= 9 (optional, default: 8)

Max

max(Vector)

Returns the highest value.

Arguments.

• Vector: a vector

Median

median(Data)

Arguments.

• Data: a vector

Min

min(Vector)

Returns the lowest value.

Arguments.

• Vector: a vector

Mode

mode(Vector)

Returns the most frequently occurring value.

Arguments.

• Vector: a vector

Number of Samples

number(Data)

Returns the number of samples.

Arguments.

• Data: a vector

Percentile

percentile(Vector, Percentile (%)[, Quantile algorithm (as in R)])

Arguments.

• Vector: a vector

• Percentile (%): a number >= 0 and <= 100

• Quantile algorithm (as in R): an integer >= 1 and <= 9 (optional, default: 8)

Quartile

quartile(Data, Quartile[, Quantile Algorithm (as in R)])

Arguments.

• Data: a vector

• Quartile: an integer >= 0 and <= 4

• Quantile Algorithm (as in R): an integer >= 1 and <= 9 (optional, default: 8)

Range

range(Data)

Calculates the difference between the min and max value.

Arguments.

• Data: a vector

Sum (total)

total(Data)

Arguments.

• Data: a vector

### Distribution

Binomial Distribution

binomdist(Number of successes, Number of trials, Probability[, Cumulative])

Returns the probability mass or cumulative distribution function of the binomial distribution.

Arguments.

• Number of successes: an integer >= 0

• Number of trials: an integer >= 0

• Probability: a number >= 0 and <= 1

• Cumulative: a boolean (0 or 1) (optional, default: 0)

Exponential Distribution

expondist(Value, Rate parameter[, argument 3])

Returns the probability density or cumulative distribution function of the exponential distribution.

Arguments.

• Value: a number >= 0

• Rate parameter: a number >= 0

• 3: a free value (optional, default: 0)

Logistic Distribution

logistic(X, Scale)

Returns the probability density p(x) at x for a logistic distribution with scale parameter. (from Gnumeric)

Arguments.

• X: a free value

• Scale: a number >= 0

Normal Distribution

normdist(Value[, Mean][, Standard deviation][, Cumulative])

Returns the probability density or cumulative distribution function of a normal distribution.

Arguments.

• Value: a free value

• Mean: a free value (optional, default: 0)

• Standard deviation: a free value (optional, default: 1)

• Cumulative: a boolean (0 or 1) (optional, default: 0)

Pareto Distribution

pareto(X, Exponent, Scale)

Returns the probability density p(x) at x for a Pareto distribution with exponent and scale. (from Gnumeric)

Arguments.

• X: a free value

• Exponent: a number >= 0

• Scale: a number >= 0

Poisson Distribution

poisson(Number of events (x), Mean[, Cumulative])

Returns the probability mass or cumulative distribution of the Poisson distribution.

Arguments.

• Number of events (x): a free value

• Mean: a free value

• Cumulative: a boolean (0 or 1) (optional, default: 0)

Rayleigh Distribution

rayleigh(X, Sigma[, argument 3])

Returns the probability density p(x) at x for a Rayleigh distribution with scale parameter sigma. (from Gnumeric)

Arguments.

• X: a number >= 0

• Sigma: a number >= 0

• 3: a free value (optional, default: 0)

Rayleigh Tail Distribution

rayleightail(X, Lower limit, Sigma)

Returns the probability density p(x) at x for a Rayleigh tail distribution with scale parameter sigma and a lower limit. (from Gnumeric)

Arguments.

• X: a free value

• Lower limit: a free value

• Sigma: a number >= 0

### Means

Geometric Mean

geomean(Data)

Arguments.

• Data: a vector

Harmonic Mean

harmmean(Data)

Arguments.

• Data: a vector

Mean

mean(Data)

average

Arguments.

• Data: a vector

rms(Data)

Arguments.

• Data: a vector

Trimmed Mean

trimmean(Data, Trimmed percentage (at each end))

Arguments.

• Data: a vector

• Trimmed percentage (at each end): a free value

Weighted Mean

weighmean(Data, Weights)

Arguments.

• Data: a vector

• Weights: a vector

Winsorized Mean

winsormean(Data, Winsorized percentage (at each end))

Arguments.

• Data: a vector

• Winsorized percentage (at each end): a free value

### Moments

Covariance

cov(Data 1, Data 2)

covar

Arguments.

• Data 1: a vector

• Data 2: a vector

Mean Deviation

meandev(Data)

Arguments.

• Data: a vector

Pooled Variance

poolvar(Data 1, Data 2)

Arguments.

• Data 1: a vector

• Data 2: a vector

Standard Deviation (entire population)

stdevp(Data)

Arguments.

• Data: a vector

Standard Deviation (random sampling)

stdev(Data)

Arguments.

• Data: a vector

Standard Error

stderr(Data)

Arguments.

• Data: a vector

Variance (entire population)

varp(Data)

Arguments.

• Data: a vector

Variance (random sampling)

var(Data)

Arguments.

• Data: a vector

### Random Numbers

Exponential Random Number

randexp(Rate parameter[, Number of values])

Arguments.

• Rate parameter: a number >= 0

• Number of values: an integer >= 1 (optional, default: 1)

Normally Distributed Random Number

randnorm([Mean][, Standard deviation][, Number of values])

Arguments.

• Mean: a free value (optional, default: 0)

• Standard deviation: a free value (optional, default: 1)

• Number of values: an integer >= 1 and <= 4294967295 (optional, default: 1)

Poisson Distributed Random Number

randpoisson(Mean[, Number of values])

Arguments.

• Mean: an integer >= 0

• Number of values: an integer >= 1 and <= 4294967295 (optional, default: 1)

Random Number

rand([Ceil][, Number of values])

Generates a pseudo-random number. Returns a real number between 0 and 1, if ceil is zero (default), or an integer between 1 and (including) ceil.

Arguments.

• Ceil: an integer (optional, default: 0)

• Number of values: an integer >= 1 and <= 4294967295 (optional, default: 1)

Random Number Between Limits

randbetween(Bottom, Top[, Number of values])

Returns an integer between (including) bottom and top.

Arguments.

• Bottom: an integer

• Top: an integer

• Number of values: an integer >= 1 (optional, default: 1)

Requirement.  "Bottom"<="Top"

Rayleigh Distributed Random Number

randrayleigh(Sigma[, Number of values])

Arguments.

• Sigma: a number >= 0

• Number of values: an integer >= 1 (optional, default: 1)

Uniformly Distributed Random Number

randuniform(Lower limit, Upper limit[, Number of values])

Arguments.

• Lower limit: a real number

• Upper limit: a real number

• Number of values: an integer >= 1 (optional, default: 1)

Requirement.  "Lower limit"<="Upper limit"

### Regression

Pearson's Correlation Coefficient

pearson(Data 1, Data 2)

correl

Arguments.

• Data 1: a vector

• Data 2: a vector

Requirement.  dimension("Data 1")=dimension("Data 2")

Spearman's Rho

spearman(Data 1, Data 2)

Arguments.

• Data 1: a vector

• Data 2: a vector

Requirement.  dimension("Data 1")=dimension("Data 2")

Statistical Correlation

cor(Data 1, Data 2)

Arguments.

• Data 1: a vector

• Data 2: a vector

### Statistical Tests

Paired T-Test

pttest(Data 1, Data 2)

Arguments.

• Data 1: a vector

• Data 2: a vector

Unpaired T-Test

ttest(Data 1, Data 2)

Arguments.

• Data 1: a vector

• Data 2: a vector

## Trigonometry

Cardinal Sine (Sinc Function)

sinc(argument 1)

Arguments.

• 1: a number

Cosecant

csc(Angle)

Arguments.

• Angle: an angle or a number (using the default angle unit)

Cosine

cos(Angle)

Arguments.

• Angle: an angle or a number (using the default angle unit)

Cotangent

cot(Angle)

Arguments.

• Angle: an angle or a number (using the default angle unit)

atan2(Y, X)

Computes the principal value of the argument function applied to the complex number x+iy.

Arguments.

• Y: a real number

• X: a real number

Hyperbolic Cosecant

csch(argument 1)

Arguments.

• 1: a number

Hyperbolic Cosine

cosh(argument 1)

Arguments.

• 1: a number

Hyperbolic Cotangent

coth(argument 1)

Arguments.

• 1: a number

Hyperbolic Secant

sech(argument 1)

Arguments.

• 1: a number

Hyperbolic Sine

sinh(argument 1)

Arguments.

• 1: a number

Hyperbolic Tangent

tanh(argument 1)

Arguments.

• 1: a number

Inverse Cosecant

acsc(argument 1)

Arguments.

• 1: a number

Inverse Cosine

acos(argument 1)

Arguments.

• 1: a number

Inverse Cotangent

acot(argument 1)

Arguments.

• 1: a number

Inverse Hyperbolic Cosecant

acsch(argument 1)

Arguments.

• 1: a number

Inverse Hyperbolic Cosine

acosh(argument 1)

Arguments.

• 1: a number

Inverse Hyperbolic Cotangent

acoth(argument 1)

Arguments.

• 1: a number

Inverse Hyperbolic Secant

asech(argument 1)

Arguments.

• 1: a number

Inverse Hyperbolic Sine

asinh(argument 1)

Arguments.

• 1: a number

Inverse Hyperbolic Tangent

atanh(argument 1)

Arguments.

• 1: a number

Inverse Secant

asec(argument 1)

Arguments.

• 1: a number

Inverse Sine

asin(argument 1)

Arguments.

• 1: a number

Inverse Tangent

atan(argument 1)

Arguments.

• 1: a number

Arguments.

Secant

sec(Angle)

Arguments.

• Angle: an angle or a number (using the default angle unit)

Sine

sin(Angle)

Arguments.

• Angle: an angle or a number (using the default angle unit)

Tangent

tan(Angle)

Arguments.

• Angle: an angle or a number (using the default angle unit)

## Utilities

Concatenate Strings

concatenate(Text string 1[, Text string 2], ...)

Arguments.

• Text string 1: a text string

• Text string 2: a text string (optional)

Custom Sum of Elements

csum(First element, Last element, Initial value, Function, Value variable, Element variable, Vector[, Index variable][, Vector variable])

Arguments.

• First element: an integer >= 1 and <= 2147483647

• Last element: an integer >= -2147483648 and <= 2147483647

• Initial value: a free value

• Function: a free value

• Value variable: an unknown variable/symbol

• Element variable: an unknown variable/symbol

• Vector: a vector

• Index variable: an unknown variable/symbol (optional, default: "")

• Vector variable: an unknown variable/symbol (optional, default: "")

Display Error

error(Message)

Arguments.

• Message: a text string

Display Message

message(Message)

Arguments.

• Message: a text string

Display Warning

warning(Message)

Arguments.

• Message: a text string

Function

function(Expression, Arguments)

Arguments.

• Expression: a text string

• Arguments: a vector

Interval

interval(Lower endpoint, Upper endpoint)

Arguments.

• Lower endpoint: a number

• Upper endpoint: a number

Is Integer

isInteger(Value)

Arguments.

• Value: a free value

Is Number

isNumber(Value)

Arguments.

• Value: a free value

Is Rational

isRational(Value)

Arguments.

• Value: a free value

Is Real

isReal(Value)

Arguments.

• Value: a free value

Length of string

len(Text)

Arguments.

• Text: a text string

Plot Functions and Vectors

plot(Expression or vector[, Minimum x value][, Maximum x value][, Number of samples / Step size][, X variable][, Use step size])

Plots one or more expressions or vectors. Use a vector for the first argument to plot multiple series. Only the first argument is used for vector series. It is also possible to plot a matrix where each row is a pair of x and y values.

Example: plot([x^2, 2x, [0,1,4,8,16]], 0, 4).

Arguments.

• Expression or vector: a free value

• Minimum x value: a real number (optional, default: 0)

• Maximum x value: a real number (optional, default: 10)

• Number of samples / Step size: a free value (optional, default: 1001)

• X variable: an unknown variable/symbol (optional, default: x)

• Use step size: a boolean (0 or 1) (optional, default: 0)

Requirement.  "Minimum x value" < "Maximum x value"

Process Matrix Elements

processm(Function, Element variable, Matrix[, Row variable][, Column variable][, Matrix variable])

Arguments.

• Function: a free value

• Element variable: an unknown variable/symbol

• Matrix: a matrix

• Row variable: an unknown variable/symbol (optional, default: "")

• Column variable: an unknown variable/symbol (optional, default: "")

• Matrix variable: an unknown variable/symbol (optional, default: "")

Process Vector Elements

process(Function, Element variable, Vector[, Index variable][, Vector variable])

Arguments.

• Function: a free value

• Element variable: an unknown variable/symbol

• Vector: a vector

• Index variable: an unknown variable/symbol (optional, default: "")

• Vector variable: an unknown variable/symbol (optional, default: "")

RPN Stack Register

register(Index)

Returns the value of a RPN stack register.

Arguments.

• Index: an integer >= 1 and <= 4294967295

RPN Stack Vector

stack()

Returns the RPN stack as a vector.

Replace

replace(Expression, Original value, New value[, Precalculate expression])

Replaces a certain value in an expression with a new value. The expression is calculated before the replacement if the fourth argument is true.

Arguments.

• Expression: a free value

• Original value: a free value

• New value: a free value

• Precalculate expression: a boolean (0 or 1) (optional, default: 0)

Represents Integer

representsInteger(Value)

Arguments.

• Value: a free value

Represents Number

representsNumber(Value)

Arguments.

• Value: a free value

Represents Rational

representsRational(Value)

Arguments.

• Value: a free value

Represents Real

representsReal(Value)

Arguments.

• Value: a free value

Save as Variable

save(Value, Name[, Category][, Title])

Arguments.

• Value: a free value

• Name: a text string

• Category: a text string (optional, default: Temporary)

• Title: a text string (optional)

Select Vector Elements

select(Vector, Condition[, Element variable][, Select first match])

Arguments.

• Vector: a free value

• Condition: a free value

• Element variable: an unknown variable/symbol (optional, default: undefined)

• Select first match: a boolean (0 or 1) (optional, default: 0)

Strip Units

nounit(Expression)

strip_units

Removes all units from an expression. The expression is calculated before the removal.

Arguments.

• Expression: a free value

Title

title(Name)

Arguments.

• Name: a valid function, unit or variable name

Uncertainty

uncertainty(Value, Uncertainty[, Uncertainty is relative])

Arguments.

• Value: a number

• Uncertainty: a number

• Uncertainty is relative: a boolean (0 or 1) (optional, default: 1)

Unicode Character

char(Value)

Arguments.

• Value: an integer >= 32 and <= 1114111

Unicode Value

code(Character)

Arguments.

• Character: a text string