Euclid    
     

Euclid supports integers, rational numbers, and simple algebraic numbers. Euclid does not yet support complicated algebraic numbers or complex numbers.

Integers

Integers are the numbers ..., -2, -1, 0, 1, 2, ... You can enter hexadecimal numbers using the standard "0x" format: 0x10 is equivalent to 16 (base 10). You can also enter a number of any base by using the format: < number > : < base > . For example, 1001:2 is a binary number with decimal value 9.

Rational Numbers

Rational numbers are numbers which can be expressed as the ratio of two integers. For example, 1.25 is rational and can be expressed as 5 / 4. You can enter rational numbers as scientific notation if desired. For example, instead of 1025.7, you can enter 1.0257E3. The same number can also be represented as 1.0257 E 3, 1.0257e 3, or simply 1025.7.

Simple Algebraic Numbers

Euclid supports simple algebraic numbers of the form M * N ^ (1 / R), where M is rational and N and R are integers. It also supports numbers which are the sum of such simple algebraic numbers. Thus, it supports such numbers sqrt(2), 5^(1/3) + 7^(1/5), and 10.2 * sqrt(2). You can safely add, subtract, or multiply such numbers together. You can only divide by numbers of the form A + B, where A is rational and B is a simple algebraic number. Thus, Euclid supports dividing by (1 - sqrt(2)), but not (1 + 2^(1/3)). Also, Euclid does not yet support raising a simple algebraic number to any non-integer exponent. Thus, you can do things like (1 + sqrt(2)) / (1 - sqrt(2)) and (1 + sqrt(2))^10, but not (1 + sqrt(2))^(3/2).

Sets

You can define sets using the following format:

s = {1, 2, 3}

Sets cannot contain the same number more than once (multi-sets are not yet supported). Basic operations with + and - are supported, both for single values and for other sets:

s = {1, 2, 3} - {2, 3} would return the set {1}

s = {1, 2, 3} - 2 would return the set {1, 3}

Matrices

You can define matrices using the following format:

M = [1, 2; 3, 4] (comma separates values; semicolon separates rows)

+ and - operators can be used on two matrices. The * operator can be used either on two matrices, or a scalar and a matrix:

[1, 2; 3, 4] * 3 would return [3, 6; 9, 12]

[1, 2; 3, 4] * [2, 0; 5, 3] would return [12, 6; 26, 12]


 Euclid    
Copyright © 2003-2006 Kevin L. Gong