Sei sulla pagina 1di 574

# MANUAL

WIRIS 2.2

www.wiris.com

1 minute ...............................................................................................................................................4
Mathematical Objects .........................................................................................................................7
Numbers............................................................................................................................................................................................. 7
Variables.............................................................................................................................................................................................8
Assigning and defining of values to variables ................................................................................................................................ 8
Other objects..................................................................................................................................................................................... 9

WIRIS ++ ............................................................................................................................................ 14
Programming language.................................................................................................................................................................. 14
Data structures................................................................................................................................................................................15

Arithmetic .......................................................................................................................................... 20
Symbols............................................................................................................................................................................................20
Parentheses..................................................................................................................................................................................... 21
Divisibility.........................................................................................................................................................................................22

## Linear algebra ................................................................................................................................... 25

Operations........................................................................................................................................................................................25
Functions......................................................................................................................................................................................... 27

## Equations and systems of equations ............................................................................................ 30

Solving equations and systems of equations............................................................................................................................. 30
Equation .........................................................................................................................................................................................30
System of Equations ..................................................................................................................................................................... 31
Linear systems in matrix form...................................................................................................................................................... 31
Numerical methods.........................................................................................................................................................................32
Using solutions............................................................................................................................................................................... 32
Ordinary differential equations..................................................................................................................................................... 33
Solving equations and systems of inequalities.......................................................................................................................... 33

Analysis ............................................................................................................................................. 35
Differentiation.................................................................................................................................................................................. 35
Integration........................................................................................................................................................................................ 36
Integral calculus .............................................................................................................................................................................36
Definite integral ..............................................................................................................................................................................37
Calculus of limits............................................................................................................................................................................ 38
Limit ............................................................................................................................................................................................... 38
Horizontal limit ............................................................................................................................................................................... 39
Taylor Series....................................................................................................................................................................................39
Series................................................................................................................................................................................................40
Differential equations..................................................................................................................................................................... 41

Functions ...........................................................................................................................................43
Defining functions...........................................................................................................................................................................43
Real functions................................................................................................................................................................................. 45

Progressions ..................................................................................................................................... 49
Functions......................................................................................................................................................................................... 49

Geometry ........................................................................................................................................... 51
Geometric objects...........................................................................................................................................................................51
Functions......................................................................................................................................................................................... 56
Geometric study ............................................................................................................................................................................ 56

Transformations ............................................................................................................................................................................. 63

2D Graphics ...................................................................................................................................... 66
Draw command............................................................................................................................................................................... 66
Region drawing............................................................................................................................................................................... 71
Display command........................................................................................................................................................................... 72
Commands for writing text............................................................................................................................................................ 73
Plotter............................................................................................................................................................................................... 74
Interactive geometry....................................................................................................................................................................... 77

3D Graphics ...................................................................................................................................... 79
Draw command............................................................................................................................................................................... 79
Commands for writing text............................................................................................................................................................ 84
Plotter............................................................................................................................................................................................... 85
Interactive geometry....................................................................................................................................................................... 87

Statistics ............................................................................................................................................ 88
Functions......................................................................................................................................................................................... 89
Two variable functions...................................................................................................................................................................91

Combinatorics ...................................................................................................................................94
Functions......................................................................................................................................................................................... 94

## Units of measurement ..................................................................................................................... 98

Notation ..........................................................................................................................................................................................99
Arithmetic ....................................................................................................................................................................................... 99
Functions ....................................................................................................................................................................................... 99
Tables............................................................................................................................................................................................. 100
Basic units of the SI ....................................................................................................................................................................100
Units derived from SI .................................................................................................................................................................. 101
Units from other systems ............................................................................................................................................................ 102
Prefixes for the SI System of Units ............................................................................................................................................ 102

Toolbar tabs...................................................................................................................................................................................104
Plotter............................................................................................................................................................................................. 114

Toolbar

..........................................................................................................................................117

## Who can configure the toolbar?................................................................................................................................................. 117

Why configure the toolbar?.........................................................................................................................................................117
How do you configure the toolbar?........................................................................................................................................... 117
Example..........................................................................................................................................................................................117

Primary

..........................................................................................................................................119

What is it?......................................................................................................................................................................................119
Where is it?................................................................................................................................................................................... 119
1 minute......................................................................................................................................................................................... 119

Desktop........................................................................................................................................................... 122

## User interface ..................................................................................................................................122

User interface................................................................................................................................................................................ 122

Appendix...........................................................................................................................................................................126
Index..................................................................................................................................................................................567

## wiris, help materials

1 minute
In a work session with the WIRIS calculator various calculations grouped in blocks can be carried out. The calculation
process steps are as follow:
1. An expression for calculation is built using the keyboard or using the icons associated with the various commands.
2. In each block as many expressions as desired can be entered. To add a new expression, following the expression
where the cursor is located, use the key Enter (Carriage return).
3. Evaluate an expression or block of expressions by clicking on the icon
or the key Ctrl + Enter(Ctrl + (Carriage
return).).
4. The result is shown to the right of the original expression and separated by the arrow
To create more elaborate calculations, bear in mind the following points regarding page layout in WIRIS
A block can be added to the session with the icon
Whenever we evaluate (click on the icon

or Ctrl + Enter), all expressions in the active block are calculated. The

results are shown and a new empty block, which becomes the active block, is created below. The cursor appears
in the active block.
The variables and calculations in one block are independent of the variables and calculations in all the other blocks.
To start a new work session, use the icon
.
To save the current sesson, click on the icon

## Return to WIRIS to try it out or see the following examples:

-4-

1 minute

NOTE 1

Lower case and upper case letters are understood as different characters. Tan is not the same as tan.

-5-

NOTE 2

## Parentheses only group, (1,2,3) is the same as 1,2,3.

-6-

Mathematical Objects

Mathematical Objects
Mathematical expressions are primarily based on numbers, variables, mathematical operations and functions. The first two
are explained in this chapter: numbers and variables. It also addresses other objects that are more sophisticated,
which can be created with WIRIS, such as polynomials and equations. Some other mathematical objects are explained in
the following chapters: Geometry and Wiris ++.
>>fast
Numbers
Variables
Other objects

integers
rational numbers
decimals
complex numbers
Assigning and defining of values to variables
polynomials
equations and
inequalities
vectors and matrices
mathematical
expressions

irrationals

lists

Numbers
The types of numbers we can construct are:

integers: an integer is created entering its digits in base 10. If we want a negative number we place the symbol - in
64
front. Integers can have as many digits as the user wishes. To get an idea, calculate 2
on Integer.

rational numbers: Rational numbers are created as a fraction from two integers, with the icon
or with the symbol /.
There are two functions associated with rational numbers numerator and denominator. If q is a rational number,
then numerator(q) and denominator(q) give us, respectively, the numerator and the denominator of the

irrationals: Irrational numbers that can be manipulated by WIRIS are: #, e, radicals such as the square root of 2, and
on Irrational.

-7-

## wiris, help materials

decimals: a decimal number is created separating the whole number part and the decimal with a point. More information
on Float.

complex numbers: a complex number can be created by performing mathematical operations with the imaginary number

## i (which can be created using the icon

or with the identifier i_) and with the real numbers. It is also possible to use the
polar function to create them. Some functions related to complex numbers are real_part, imaginary_part,

Variables
In mathematics, and in the WIRIS interface, variables are names, with or without a value. A name is a string of alphanumeric
characters which begins with a letter, such as x, y, x1, x2, HAL or alpha. On the other hand 2x or 3ab are not names,
because they begin with a digit.
WIRIS differentiates between lower and upper case letters. Thus x and X are different variables, as are f1 and F1.

## Assigning and defining of values to variables

To give a variable a value use the operators = and :=.
If = is used, the variable takes the value of the expression to the right of the equals at that moment.
On the other hand, if :=is used, the variable takes the instantaneous value of the expression to the right of the
Therefore, if the value to the right of the expression changes, the value of the variable will also change.
If the := sign is used, it can be said that the value of the variable has been defined, and if the
said that a value is assigned to the variable.

## = sign is used, it can be

If a value has been assigned or defined for a variable and the user wishes to clear the variable, the
can be used.
-8-

:=.

clear command

Mathematical Objects

Other objects

polynomials: A polynomial is created using certain mathematical operations (addition, subtraction and multiplication)
between numbers and variables. To evaluate a polynomial for a given value use the function evaluate. Two
more important commands are: roots and factor which, as their names suggest, allow the user to find roots of a

equations and inequalities: The symbols required to define and work with equations and inequalities are set out in the
following table. WIRIS has icons that are used to write these expressions (this produces the best typographical quality),
but they can also be entered using the keyboard or with a keystroke combination.
type
equation

NOTE 1

Symbol

Icon

Keyboard

equation

==

Ctrl

+=

Not equal to

!=

Ctrl

+!

inequality

>
>=

Ctrl

+ Shift + >

<
<=

Ctrl

+<

An equation (inequality) is created by separating two expressions with the equals (not equal to) symbol. The expressions
to the left and right of an equals sign (or an inequality symbol) are called the left and right terms, respectively.

-9-

NOTE 2

## If the user enters the sign ?

to the right of an equation or inequality WIRIS will respond letting the user know
whether the equality or inequality is true or false.
NOTE 1

To enter an equation it is normally sufficient to use the symbol =. Where there is any possible confusion over the
assignation you must use the symbol ==.
NOTE 2

The sign ? must be preceded by a blank space since ? is a valid character for creating identifiers.

lists: A list is a sequence within curly brackets. The curly brackets can be entered using the keys

## { and } or the icon

. If the curly brackets are created using the icon, they will be of variable size, the size adapting to the content. The
keystroke combinations Ctrl + { and Ctrl + } also create variable size curly brackets.
There are two commands that support working with lists:

## length, determines the number of elements in a list.

sort, sorts a list made up of objects that can be ordered.

Vertical lists

- 10 -

Mathematical Objects
Lists can also be displayed vertically, and in that case will be referred to as vertical lists. These lists have the same
properties as horizontal lists but their elements are shown one above the other. Thus, no commas are needed to separate
them. Use the icon

to create vertical lists and the keystroke combination Shift + Enter to create a new row.

Hereafter, the manual will discuss how to manipulate lists in a simple way and how they are used to solve

vectors and matrices: a vector is a sequence enclosed in square brackets, which we can create with the keys

[, ],

## with the icon

, separating its elements with commas, or using the icon
. If the square brackets are created with
the icons, the size of the square brackets will adjust to the size of the contents. The same result can be obtained with
keystroke combinations Ctrl + [ and Ctrl + ]
A matrix is a vector formed from vectors of the same size. Each of these vectors corresponds to a row of the matrix.
The icons
matrices.

and

explained in detail in the chapter Menus, icons,..., enable easy creation of vectors and

## Subscripts are created using the icon

and they are the principal tool for manipulating vectors and matrices; in
particular, to extract and change their elements.
Given a list or a vector v and a whole number i, vi is the ith component of v, as long as 1<=i<=length(v).
As every matrix is a vector of vectors, if

A is a matrix, then Ai is its ith row and Ai,j( or Aij) thejth element in the

## ith row (assuming that it exists).

An alternative but equivalent notation is to use the period, such that the expression An is the same as
is the same as A.i.j. Along the same lines, if v is a vector, v.i is the ith component of v.

- 11 -

## wiris, help materials

To change the value of a component in a list, vector or matrix, the syntax explained in the previous subsection can be
used, and it can be assigned a new value with the operator = .

mathematical expressions: Mathematical objects which are not of any of the types above will be considered mathematical
expressions of type Expression.
Some examples of this type of object are

## sin(x), sin(x)2+cos(x)2 or f(x)

The command simplify calculates an expression equivalent to the one given but simplified as far as possible.

- 12 -

Mathematical Objects

- 13 -

## wiris, help materials

WIRIS ++
This chapter considers a set of features which significantly increase the potential of WIRIS. We recommend most users
study them in order to help them or their students get started in the world of programming. Readers of this chapter are
expected to have prior knowledge of programming. Note that the language that we use here may be a little more technical
than users are familiar with.
The following sections are included in this chapter:
>>fast
Programming
if...
language
Data structures
ranges
divisors

while...

for...

repeat...

boolean numbers

domains

rules and
substitutios

relations

Programming language
Information about boolean numbers and logical operators The following boolean numbers, which have a
fundamental role in programming, are discussed below.

if...: Icon

or

, sentence

if B then A end
if B then A else A2 end
if B then A else_if B2 then A2 else A3 end
Carry out the instructions in A if the following condition is met B. If the condition is not met and there is an elsestatement,
then the instructions below are carried out A2. It is also possible to have multiple conditions and various groups of
instructions by inserting conditional else_if statements from the programming tab menu.

- 14 -

WIRIS ++

while...: Icon

, sentence

while B do A end
Carry out the instructions in A if the following condition is met B.

for...: Icon

, sentence

for R do A end
Carry out the instructions in A over the range R.

repeat...: Icon

, sentence

repeat A until B
Carry out the instructions in A until the following condition is met B.

Data structures
Let's complete the description of data structures in the chapter Mathematical Objects.

ranges: These are objects of form a..b or a..b..d where a, b and d are real numbers (a..b equivalent to
a..b..1). If d is a number other than 0, the range a..b..d represents the list formed from the elements of the
arithmetic progression a, a+d, a+2d, ..., not exceeding b. If d is zero the range represents an empty list.

- 15 -

For example,
{6,3}.

## 1..6 represents {1,2,3,4,5,6}, 1..6..2 represents {1,3,5} and 6..1..-3 represents

The function list list applied to a range returns the list which it represents.

boolean numbers: These are the logical constants true or false, which correspond to the values true and false,
respectively. Principally, these can be obtained by applying the operator ? to equations and inequalities.

The logical operators, fundamental to the definition of conditions in control statements, are
Logical operator

Symbol

conjunction - and
disjunction - or
negation - no

not

## Let's see some examples of how they behave:

- 16 -

WIRIS ++

domains: Mathematical objects in WIRIS can be classified in mathematical sets. We call these sets, domains. Some
examples of domains are Integer, Rational, Irrational, Real and Polynomial.
Using the command is?, it is possible to find out whether an object is in a domain.
To work with domains, WIRIS offers the following operators (equivalent to logical operators): & , | , not, which work
like the intersection, union and complement operators with sets. Accordingly, the following relationship exists between
operators, which allows us to work in a similar way in different mathematical structures.
Logical operator

Set orperator

Symbol

conjunction - and:

intersection:

&

disjunction - or:

union:

negation - no

complement

not

Finally, is should be mentioned that the function imply? allows us to find out whether one domain is contained within
another or not, and get_domain returns the domain that an object belongs to.
It is especially interesting to use domains in function definitions. This permits the user to define discontinuous functions,
according to the domain, and to restrict the values over which a function is defined.

rules and substitutios: From the syntactic point of view, a rule is a list of objects of type x=>y or x:=>y. The variable
or template is called x depending on whether it is a variable or not, respectively. The image is called y and a pair is
of the form x=>y or x:=>y. A substitution is a rule defined for variables exclusively. If the user chooses =>, it uses

- 17 -

## wiris, help materials

the value of y to define the rule. On the other hand, if the user chooses
of defining the rule.
The symbols => and :=> can be created with the icons

and

## :=>, it considers y as a variable for purposes

, respectively.

When applying a rule to an expression, all occurrences of each template (or variable) in the expression are replaced by
the image of its template (or variable). The terms that do not match the template (or variable) do not change.

divisors: From the syntactic point of view, a divisor is a vector of objects of type x->y. It can be said that x is an index,
y is its associated value and x->y is a pair within the divisor. To retrieve the value associated with an index, apply the
object to the divisor. If there is no index associated, the result is 0.
The symbol -> can be created using the icon

Divisors are particularly relevant in several contexts. For example, the structure returned by the function factor is a
Divisor, which has as indices the prime divisors of the factored object (such as a whole number or a polynomial for
example) and its values are the exponents of the these prime divisors.
Another important quality of divisors is that they can be added, and that the sum is defined such that the values of each
index remain summed. For example, when a product is factored this returns the sum of the divisors obtained by factoring
the factors.

- 18 -

WIRIS ++

relations: From the syntactic point of view, a relation is a list of objects of type x->y. It can be said that x is an index, y
is its associated value and x->y is a pair within the relation. The most important aspect of relations is that they permit
the user to retrieve the value (or sequence of values) associated with an index. This is achieved by applying the object to
the relation. If an object does not have an index associated with a relation, the result of applying it to the relation is null.
The symbol -> can be created using the icon

- 19 -

## wiris, help materials

Arithmetic
All arithmetic operations are expressed in WIRIS using the common symbols. The symbols can be applied to the different
types of mathematical objects with which WIRIS operates: from whole numbers to matrices.
>>fast
Symbols
Parentheses
Divisibility

fraction

subtraction
exponentiation

multiplication
factorial

## quotient and remainder

factor
prime?

quotient
remainder
greatest common divisor least common multiple

Symbols
Mathematical operations in WIRIS are represented by a symbol associated with a key on the keyboard. The one exception
is integer division, which is carried out with a command or icon.
Some entries, such as fractions, can be represented in mathematical notation using the appropriate icons. For example,
the

## icon allows an expression to be raised to a certain power, represented on screen as a superscript.

Finally, to facilitate entry of complex formulae, some icons are associated with keystroke combinations so they can be
entered without using the mouse. In line with the previous example, it is also possible to enter an exponent by using the
following keystroke combination: Ctrl + Up arrow .
The table below shows the arithmetic operations, their corresponding symbols and, where applicable, corresponding icons
and keystroke combinations. It also gives and example of each operation.
Operation

Symbol

Icon

Keyboard

+

subtraction:

* or
multiplication:

Ctrl

+/

fraction:
Ctrl + Up
arrow or Ctrl
+ Shift + ^

^
exponentiation:

!
factorial:
The symbol * always appears as in accordance with typographical convention.

- 20 -

Arithmetic

Parentheses
The parentheses, which can be created with the (and) keys or the
icon, are used in line with common mathematical
conventions. They allow grouping of terms and the carrying out of operations on them. Where there are no parentheses,
calculation progresses in accordance with the standard hierarchy of operations: multiplication, division, addition and
subtraction, respectively. To assure operations are carried out correctly, we recommend the use of parentheses where there
is any doubt about the order of operations.
If parenthesis are created with the
icon, then the size of the parentheses will vary depending on the contents. The
keystroke combinations Ctrl + ( and Ctrl + ) also create variable size parentheses. If the parentheses are entered by
simply keying in (and), parentheses will not be of variable size. Note, however, that the functionality of both types of
parentheses is exactly the same. The examples below were created using variable size parentheses.
3

Example: ((2-3/5)5) ; first, the following is calculated: 2-3/5; then, the result is multiplied by
the power of 3.

## 5 and this result is raised to

The two expressions 2/4+3*2 and (2/4)+(3*2) are equivalent. This demonstrates how the WIRIS icons can be
used to build mathematical expressions, while avoiding ambiguities and without the need to use parentheses.

We also use parentheses to denote function arguments, although sometimes we can leave the parentheses out. Where
functions have several arguments, these are separated by commas.

- 21 -

## wiris, help materials

Divisibility
Below, some of the most important mathematical operations and functions are discussed. Unless otherwise indicated, they
can be applied equally to whole numbers and polynomials.

## , command quotient_and_remainder or quo_rem

Calculates the quotient and remainder of the integer division of the first argument by the second.

## quotient: command quo or quotient

Calculates the quotient of the integer division of the first argument by the second.

- 22 -

Arithmetic
remainder: command rem or remainder
Calculates the remainder of the integer division of the first argument by the second.

## factor: command factor

Factors the whole number and returns it as the product of prime numbers. It also factors polynomials with real coefficients.

## greatest common divisor: command gcd or greatest_common_divisor

Calculates the greatest common divisor of two or more whole numbers or polynomials.

## least common multiple: command lcm or least_common_multiple

Calculates the least common multiple of two or more whole numbers or polynomials.

- 23 -

## wiris, help materials

prime?: command prime?
Given a whole number returns
polynomials.

true if it is prime number and false if it is not. This function does not work with

- 24 -

Linear algebra

Linear algebra
The fundamental tools of linear algebra are vectors and matrices, which are addressed in the chapter, Mathematical
Objects. This chapter deals with the operations that can be carried out on vectors and matrices and other functions that
take them as arguments.
>>fast
Operations

Functions

plus
multiplication by scalars
inverse
length
linear independence
minor

subtraction
scalar product
exponentiation
dimensions
rank

times
vectorial product
transpose
determinant

Operations
Arithmetic operations with vectors and matrices (addition, subtraction and multiplication) are denoted by the usual symbols
of WIRIS.

plus: command +
Vector or matrix addition. Operands must be of the same type and have the same dimensions.

## subtraction: command Vector or matrix addition.

Operands must be of the same type and have the same dimensions.

times: command * or
Product of matrices or scalar product of vectors.
The number of columns in the first operand must be the same as the number of rows in the second. In WIRIS, all vectors
are row vectors, but this is not a restriction. In order to multiply a matrix by a row vector, the vector is considered as a
column vector as long as this permits multiplying.
The symbol * always appears as in accordance with typographical convention.

- 25 -

## multiplication by scalars: command * or

Product of a vector or matrix by a scalar.
The symbol, * , always appears as in accordance with typographical convention.

, command * or

## Scalar product of two vectors of the same length.

The symbol * always appears as in accordance with typographical convention.

## vectorial product: Icon

, command vectorial_product

## Cross product of two vectors.

The cross product is defined for two vectors of length 3.

- 26 -

Linear algebra

inverse: Icon

, command inverse

Inverse matrix.
If the matrix can be inverted, its inverse is returned.. If the matrix cannot be inverted, an error is returned.

exponentiation: Icon

, command ^

A square matrix can be raised to a whole number power. If we raise it to a negative power and the matrix can be inverted,
the inverse of the matrix is raised to the absolute value of the exponent. If the matrix cannot be inverted, an error is
returned.

Functions

- 27 -

## wiris, help materials

length: command length
If applied to a vector, the number of components is obtained; if applied to a matrix, the number of rows is obtained.

## dimensions: command dimensions

WIRIS returns the sequence formed by the number of rows and the number of columns in a matrix, respectively.

transpose: Icon

## linear independence: command linearly_independents?

Given two or more vectors of the same length, the following is obtained:
false if they are not.

- 28 -

## true if they are linearly independent and

Linear algebra
rank: command rank
Calculates the rank of a matrix.

determinant: Icon

or

, command determinant

## minor: command minor

Given a square matrix, A and two integers i and j, this calculates the minor corresponding to the position Aij of the
matrix. This minor is the determinant of the matrix obtained by eliminating, from A the row i and the column j.

- 29 -

## Equations and systems of equations

WIRIS uses the most advanced techniques available to solve linear and non-linear equations and systems of equations. It
can also use some numerical methods to approximate solutions to equations and systems. Additionally, WIRIS can solve
inequalities and ordinary differential equations.
>>fast
Solving equations and systems of equations Equation
System of Equations
Linear systems in matrix form
Numerical methods
Using solutions
Ordinary differential equations
Solving equations and systems of inequalities
Solving equations and systems of equations

solve is the command used to solve equations and systems of equations. The section, Mathematical Objects
explains how to build equations.
WIRIS first attempts to find all solutions to the equation or system of equations using exact procedures. If it is not successful
in finding an exact solution, it can always attempt to find the numerical solution using the command numerical_solve.
WIRIS returns the solutions found in list format. If it cannot find a solution by exact means or by numerical procedures,
WIRIS returns an empty list.

Equation
To solve an equation, enter it as the first argument in the solve command, followed by the variable to be isolated. If
this variable is not specified, WIRIS assumes that the user wishes to use all the variables that appear in the equation and
isolate one as a function of the others. Use the

## icon to help with this.

Whether or not the variable to be isolated is specified or not, it is possible to add the argument at the end in order to search
for solutions among the complex numbers. In that case, the equations and systems of equations must be polynomials.

- 30 -

## Equations and systems of equations

System of Equations
A system of equations is a list of equations. The simplest way to build a system of equations is to use vertical lists,
which can be created using the icon

As with the solving of equations, if the variables to be isolated are not specified, WIRISconsiders all the system variables,
and if necessary, it returns a parametric solution. To specify the variables to be isolated, enter these as the second argument
of the solve command within a list.

## Linear systems in matrix form

T T
Given a linear system in matrix form Ax =b , where A is the matrix for the system, x is the vector of unknowns and b
is the vector of independent terms, the system can be solved using the command solve(A,b). The elements of matrix
A and vector b can be any mathematical expression.
The results from this command vary according to the type of system:
If the system is determinate compatible, the result is a vector solution.

- 31 -

## wiris, help materials

If it is indeterminate compatible, WIRIS returns a list made up of a matrix and a particular solution. The matrix has the
T
property that its columns form the basis of a vector space of solutions of the homogeneous system Ax =0.
If the system is not compatible, WIRIS returns null.

Numerical methods
WIRIS uses different numerical methods to solve equations. In each case it chooses the most appropriate and tries to find
a solution starting from an initial point or interval.
The command to solve equations using these methods is numerical_solve. WIRIS chooses the most appropriate
method for each case, so it is not necessary for the user to understand the different methods available and the advantages
of each one. Note that the act of searching for a unique solution to the equation means that the results obtained are different
in nature from those obtained by the command solve.

The numerical_solve command can also be applied to a system of equations, but keep in mind that this only returns
one solution to the system.

Using solutions
The solution of an equation or system of equations is a list of lists. The outermost list is necessary when the equation has
more than one solution. The inside list is comprised of pairs x=a where x is a variable of the equation or system and a
is its value for the given solution.
To work with the solutions, we can obtain the values for these solutions in a number of ways:
- 32 -

## Equations and systems of equations

Using the properties of a list of pairs x=a.

## Ordinary differential equations

WIRIS has a way to solve ordinary differential equations. Notice that when entering the derived function, the
icon can
be used.It is necessary to indicate the independent variable that the function depends on, or the dependent variable, by
writing it in parentheses after the function:y'(x), y(x).

- 33 -

## wiris, help materials

WIRIS is also capable of solving inequalities and systems of inequalities, with a single variable, using exact methods or
numerical procedures to obtain an approximate solution.
In a similar way to the previous cases, the solve_inequation command can be called without specifying the variable
to be isolated, or the variable can be specified as a second parameter after the equation or system.

Notice that if the inequality or system does not have a solution or alternatively if it is true for all variable values WIRIS returns
false or true, respectively. This particular behaviour is due to the common use of inequalities for control of flow in

- 34 -

Analysis

Analysis
Analysis is the area of mathematics devoted to the study of functions.
>>fast
Differentiation
Integration
Integral calculus
Definite integral
Calculus of
Limit
limits
Horizontal limit
Taylor Series
Series
Differential
vector fields
equations

integral curves

integral curve

Differentiation
To differentiate use the

## icon, the differentiate command or the 'sign, corresponding to the apostrophe.

Clicking on the
icon brings up the common expression for differentiation with respect to a variable, including two empty
green boxes. In the upper box, enter the expression to differentiate, and in the lower box the variable with respect to which
we wish to differentiate.
The differentiate command takes 2 arguments; the first corresponds to the expression to be differentiated and
the second to the variable with respect to which we wish to differentiate. In the case of a function of a single variable, the
second argument may be omitted.

The ' sign can be used after the expression to be derived, in accordance with normal mathematical notation. Note that here
there is no need to state the variable with respect to which we are differentiating, because WIRIS will identify it automatically.
If this operator is applied to an expression with more than one variable, an error is returned.

- 35 -

## wiris, help materials

The ' sign can also be used to differentiate functions. In fact, if f=f(t) is a function of a single variable f' is the derivative
of f with respect to t). Therefore, the derivative of f at point a is f'(a) in accordance with normal analysis notation.
Let's look at some examples.

Integration

Integral calculus

To obtain the antiderivative or indefinite integral of a given function, we use the Icon
integrate.

or

## icons or the command

Clicking on the
icon brings up the common expression for the indefinite integral with respect to a variable, including
two empty green boxes. In the first box, enter in the expression to be integrated, and in the second enter the variable of
integration. If f is the integrand, F is the indefinite integral and x is the variable of integration, it can be said that F is a
primitive (or primitive function) of f and it can be verified that the derivative of F with respect to x is f.
Alternatively the integrate command can be used with two arguments, the first corresponding to the expression and
the second to the variable.

If there is no doubt about the variable of integration, the indefinite integral of the function can also be obtained using the
icon,

. On clicking this icon, a symbol appears with an empty green box in which to enter the function to be integrated.

If the expression to be integrated has no variables, WIRIS will integrate it with respect to a made up variable. If there is
only one variable, it will be integrated with respect to it, and if there is more than one, an error will be returned. In all cases,
the result is a primitive function of the argument.
Alternatively, the integrate command can be used, with a single argument, instead of the
works exactly as described for the icon.

- 36 -

## icon; the command

Analysis

Definite integral

## To calculate the definite integral between two limits, use the

or
icons or the command integrate. WIRIS
attempts to calculate the integral of the function and apply Barrow's rule, which only requires evaluating the integral obtained
at the limits of integration and then subtracting. If it cannot find the integral, it carries out the calculation using numerical
methods and returns a warning message.
Upon clicking the
, the standard definite integral symbol will appear with four green, empty boxes. Those which appear
at the upper and lower extremes of the integral sign correspond to the upper and lower limits of integration, respectively. In
the other two boxes, enter the expression to be integrated in the first and the variable of integration in the second.
Alternatively the integrate command can be used with four arguments. The first corresponds to the expression, the
second to the variable and the third and fourth correspond to the lower and upper limits of integration, respectively.

Where there is no doubt about the variable of integration, the definite integrals of functions can be obtained using the icon
. Upon clicking the icon, the standard definite integral symbol will appear with three empty boxes. Those which appear
at the upper and lower extremes of the integral sign correspond to the upper and lower limits of integration, respectively.
Enter the function or expression to be integrated in the third box. If the expression to be integrated has no variables, it will
be integrated with respect to a made up variable. If there is only one variable, it will be integrated with respect to it, and if
there is more than one, an error will be returned.

- 37 -

## wiris, help materials

Alternatively the integrate command can be used with three arguments. The first corresponds to the function or
expression to be integrated and the second and third correspond to the upper and lower limits of integration, respectively.

Calculus of limits
To calculate function limits, use the

or

Limit

## Upon clicking the

icon, the standard limit symbol will appear along with three green, empty boxes. In the upper box, to
the right of lim enter the expression for which the limit should be calculated. In the lower boxes, enter the variable in the
first box and the limit we wish the variable to approach in the second. If the limit command is used instead of the icon,
the limit of function f when x approaches a can be entered using one of the following methods:

limit(f,x->a)
limit(f,x,a)
Notice that the

## icon), or unsigned infinity (the

icon).

- 38 -

Analysis

Horizontal limit

The

and

icons allow us to calculate the left and right limits, respectively. The parameters to be entered in the empty

## boxes are the same as for the icon

To calculate right and left limits, use the command limit. To calculate the limit of function f when x approaches a from
the right (or from the left), either of the two following expressions can be used:
limit(f,x->a,1) (from the left, limit(f,x->a,-1) )
limit(f,x,a,1) (from the left, limit(f,x,a,-1) )

Taylor Series

- 39 -

## wiris, help materials

WIRIS supports calculation of the Taylor Series of a real function at a given point.
To calculate the Taylor Series of a function at a given point, use the taylor_series command with three arguments.
The first argument corresponds to the function, the second to the variable and the third corresponds to the value for which
the Taylor Series should be calculated (remember that the Taylor Series permits us to approximate the value of any function
at a given point). If you would like to view a specific number of terms of the series, which is infinite, specify this number
in the fourth argument.

In order to obtain the Taylor polynomial of a given order for a particular function, use the taylor command, followed by
the four arguments just described. Note, the fourth argument is necessary for this purpose.

Series
WIRIS allows us to determine whether a series is convergent, as well as calculating the sum of a convergent series.
Use standard mathematical notation to express the series, as shown in the following examples. The response will give the
value for the sum of the series if it is convergent (or if it is divergent, but WIRIS knows how to calculate the relevant infinite
value), and the series itself in other cases.
To ask WIRIS about whether a series is convergent or divergent, use the convergent? command, and enter the series
as the only argument.

- 40 -

Analysis

Differential equations
See the solve command to find the exact solutions of a differential equation.

## vector fields: command vector_field

Vector fields in the plane can be used to analyze first degree differential equations. We can plot such a vector field by
using the vector_field command.

- 41 -

## wiris, help materials

integral curves: command integral_curves
It draws a sample of solutions of a differential equation, which can be plotted over its vector field.

## integral curve: command integral_curve

Calculates a particular solution of a differential equation.

- 42 -

Functions

Functions
One of the most valuable capabilities of WIRIS is that it allows us to define new functions in such a way that these functions
are treated the same way as those already built into WIRIS. The arguments to these functions can be any mathematical
object.
In this section we will learn how functions are defined and how they are used. We will also study the various functions of
real variables which are of fundamental importance in mathematics, and which WIRIS already has built in.
>>fast
Defining functions
Real functions
square root
exponential
sign

root
logarithm
maximum

trigonometry
absolute value
minimum

Defining functions
To define functions, use the symbol :=, created using the keyboard or the icon
. To the left of this symbol we enter
the name of the function followed by the list of function arguments in parentheses. To the right we enter the body of the
function. That is, we enter the operations that need to be carried out on the arguments.
A function can have as many arguments as we like, or none. The body of the function can use other functions previously
defined. To use the function with specific arguments, enter the function name followed by the arguments in parentheses,
separated by commas. (This structure is referred to as a Sequence).
If you attempt to use a function that has not been defined, no calculation is carried out.

The function f in the example above takes one argument. However, as we have already stated, the number of arguments
can be any non-negative number. Furthermore, the same function can have different definitions depending on the number
of arguments passed to it.

A function can also have more than one definition depending on the domain of its arguments. In the definition of a function,
to specify the domain of one of its arguments, enter the argument followed by the character : and the name of the domain.

- 43 -

## wiris, help materials

It is also possible to define a function for a specific object. The following examples illustrate all these options. Note that the
command definition applied to a function, gives us the definitions of that function.

A useful command to define a function, which is evaluated one way with certain elements in its domain of application but
in another way for a different subset of the domain is the command check. Write it between the function arguments
and the symbol := in the form check <condicin>, where <condicin> is a boolean expression (that is, it
is an expression that can always be evaluated as true or false) constructed from function arguments. In this way it
is possible to define discontinuous functions that cannot be converted into analytical elements (they can be evaluated but
limits, derivatives and integrals cannot be calculated).

The names we can give to functions are of the same form as those that can be used with variables.
Functions, like any object in WIRIS are entities independent of the names given to them. For example, the function that
returns the square of a number and then adds 1 can be understood as a function in its own right. Nonetheless, it is
helpful to give it a name for convenience. A function, which does not have a name assigned to it, is called an anonymous
function. Anonymous functions are defined using the icon
, which is equivalent to --> entering their arguments between
parentheses to the left of the symbol --> and the body of the function to the right of this symbol. Note that the command
definition, as seen in previous examples, returns a list of anonymous functions.

If a function has been defined, and we wish to delete it, apply the command clear

- 44 -

Functions
Real functions
Here, we will discuss some of the predefined real functions in WIRIS that correspond to basic mathematical functions.

## , command sqrt or square_root

Calculates the square root of the argument. Another way to calculate the square root of a number is to raise it to the 1/2.
The command sqrts or square_roots command calculates all the square roots of a real number.

root: Icon

, command root

Calculates the nth root of x, where x is the first argument (the one in the main box if the icon was used) and n is the
second (the one in the upper box). As in the previous case, the calculation of the nth root is equivalent to raising x to
1/n. The command roots calculates all the complex (or real) roots of a real number.

trigonometry:
The trigonometric functions are as follow:

- 45 -

## wiris, help materials

sin
cosec

cos
sec

tan
cotan

These correspond respectively to the sine, cosine, tangent, cosecant, secant and cotangent. The argument for these
functions is assumed to be expressed in radians. To use degrees, apply the symbol , which is located in the tab Units.
The inverse trigonometric functions included in WIRIS are:

asin

acos

atan

These correspond respectively to arcsine, arccosine and arctangent. The argument of these functions is a real number.
-1

The result of all these is the main result of the function, expressed in radians (the same given by the keys sin , cos
and tan

-1

-1

commonly found on a pocket calculator). If the answer is required in degrees, use the function convert.

## exponential: command exp, Icon

or

Calculates the result of applying the exponential function to its single argument (that is, the number that results from
raising the number e to the argument). The icon

can be used to obtain exact values (i.e. without evaluating) and the

icon can be used to obtain approximations. WIRIS also incorporates complex exponentials.

## logarithm: command ln or log

If the commands above are given a single argument, they calculate the natural (Naperian) and decimal logarithms,
respectively. If log takes two arguments a and b, it calculates the logarithm of a in base b.

- 46 -

Functions

logb(a) calculates the logarithm of a in base b. It is equivalent to log(a,b). Remember that to create a subscript
use the icon

## absolute value: Icon

, command absolute

## sign: command sign

Obtains the sign of a real number. Returns 1 if the number is positive, -1 if it is negative and 0 if it is neither positive
nor negative.

## maximum: command maximum or max

Calculates the maximum values of the functions arguments. If the argument is a
maximum of its elements.

- 47 -

## wiris, help materials

minimum: command minimum or min
Calculates the minimum of the arguments entered in the function. If the argument is a
the maximum of its elements.

- 48 -

Progressions

Progressions
>>fast
Functions

step

ratio

## sum of the terms in a

progression

WIRIS detects if a sequence of numbers, given its first few terms, follows a constant, arithmetic, geometric or polynomial
progression. This allows the general term of a sequence to be determined or its terms to be summed using the familiar
formulae. The command progression allows us to determine which type of progression a sequence of numbers follows.
WIRIS classifies progressions in accordance with the order in which we have just listed them. So, if a progression is
constant, it classifies it as constant, even though it is also arithmetic and geometric. Equally, an arithmetic progression,
which corresponds to a first degree polynomial, is categorised as arithmetic.
For every finite sequence of n numbers, there is a single polynomial of degree no higher than n-1, such that the first n
terms in the corresponding polynomial sequence coincide with those of the sequence. WIRIS always forms the polynomial
sequence corresponding to the polynomial of the lowest degree that meets this condition.
Once the progression is defined, we can save it in a variable. If p is a variable, then the expression p(i) returns its ith term
for any number i, and if n is a variable, the expression p(n) returns the formula for the general term of the progression.

Functions
The functions associated with progressions are:

## step: command step

Given an arithmetic progression, it obtains a step (that is, the difference between two terms). If working with a constant
progression, the function returns the value 0.

- 49 -

## wiris, help materials

ratio: command ratio
Given a geometric progression, its ratio is calculated. If working with a constant progression, the function returns the
value 1.

## sum of the terms in a progression: command progression_sigma

Given a progression, the sum of its terms is obtained. Note that the result does not always have the appearance usually
associated with a sum, due to the generality of the methods used. Nonetheless, the value of the expression obtained will
logically be the same as for the conventional expression.
This command has three arguments: the progression (the first) and the upper and lower summation limits (second and
third, respectively). The summation limits can be whole numbers (including negative numbers) or polynomials with whole
number coefficients.

If the user wishes to sum an infinite series, i.e. the sum from a coefficient n to infinity, different functionality must be
used in WIRIS: limits, which are explained in the chapter Analysis. The following example demonstrates how these
functionalities can be combined.

- 50 -

Geometry

Geometry
WIRIS allows us to work with geometric elements in the plane and in space (Euclidean geometry in the plane and in space)
and, in particular, to display them graphically.
The first section is dedicated to the different types of geometric objects available. The second section focuses on the
functions that permit the user to act on these objects. The graphical display of geometrical elements is discussed in the
Graphics chapter (for plane geometry) and in the 3D Graphics chapter (for geometry in 3D space).
>>fast
Geometric
objects

points
circumferences

lines
conic sections

segments
triangles

planes
polygons (or
polygonals)

Functions

polyhedras
Geometric study
distance

midpoint

bisector

median line
intersect

perpendicular
bisector
area
parallel

translation

rotation

height
angle
Transformations
symmetry

perimeter
perpendicular

Geometric objects
This section explains the geometrical figures that can be constructed.

## points: command point, Icon

or

Constructs a point from coordinates a and b, for which function arguments are real numbers. Note that upon writing the
expression (a,b) without the word point, we only have the sequence a and b. We have not defined a point.
Some functions related to points are midpoint or colinear?.

For points in 3D space, the command point(a,b,c) constructs a point from coordinates a, b and c, just as for a point
on the plane.

- 51 -

## lines: command line, Icon

Allows us to create a line. The different arguments it can take are:
two points on the line (we can use the icon

),

## a point and a direction vector,

an equation for the line, or
a point and a real number (the slope of the line).
If r is a line, then slope(r), point(r) and vector(r) return the slope of the line, a point on the line and a
direction vector of the line, respectively. To study other functions that can also be used to build a line, see parallel,
perpendicular and bisector.

## In the case of lines in 3D space, the following arguments are accepted:

two points on the line (we can use the icon

## a point and a direction vector,

two equations (of secant planes).

- 52 -

Geometry

## segments: command segment, Icon

Allows us to create a segment. The different arguments it can take are:
the segment endpoints (use the icon

),

## a point and a direction vector.

Some functions related to segments are length or midpoint.

## planes: command plane, Icon

This allows us to create a plane. The different arguments it can take are:
three points (use the icon

),

## a point and a direction vector (perpendicular to the plane),

a point and two vectors,
a linear equation.
Some functions related to planes are parallel, perpendicular or bisector.

## circumferences: command circumference or cfr, Icon

or

This allows us to create a circle. The different arguments it can take are:
a point (center point of the circumference) and a real number (its radius), using the icon
three unaligned points (representing points on the circumference), using the icon

- 53 -

## wiris, help materials

two points (the center point and a point on the circumference, respectively) using the icon

## the equation of the circumference.

If c is a circle, then center(c) and radius(c) return the centre and the radius of the circle, respectively.
If P is a point on the circumference c, then tangent_line(c,P) the tangent line to c through point P.

## conic sections: command conic, Icon

This allows us to create a conic. The different arguments it can take are:
five points (pertaining to the conic), using the icon

## the equation of the conic.

The commands ellipse, hyperbola and parabola allow us to construct conics from the fundamental elements
of a conic such as the focus, the vertex and the focal distance. For a detailed description of the many components used
to construct these elements, see the section Reference.
Some functions related to conics are center, vertex,
semiminor_axis or focal_semidistance.

## triangles: command triangle, Icon

This function is used to construct a triangle, using the vertices as arguments. It is also possible to use the icon
command equilateral_triangle allows us, as its name suggests, to create an equilateral triangle.

- 54 -

. The

Geometry

## polygons (or polygonals): command polygon or polygonal, Icon

or

Generates the polygon (or the polygonal), which results from joining the points that are entered as arguments. Remember
that a polygon is a closed plane, while polygonals are segments that join a set of points, and in general they are open
figures and not flat.

or

## Generates the regular polyhedron with n faces.

functions
related
to
the
polyhedra
are
tetrahedron,
cube,
octahedron,
dodecahedron, icosahedron, polyhedra_cylinder_with_lids, polyhedra_cylinder,
polyhedra_cone_with_lid, polyhedra_cone, polyhedra_sphere or polyhedra_thorus.
Some

- 55 -

## wiris, help materials

Functions
As arguments, the geometrical functions accept geometrical figures, which are generally constructed using the functions
described in the previous section, but they also directly accept the equation of the figure as an argument. The latter feature
is used repeatedly in this section.

Geometric study

## distance: command distance

Calculates the distance between two points, a point and a line or a point and a circumference.

In 3D space, it is also possible to calculate the distance between two non-secant planes, between a non-secant line and
plane or between a point and a plane.

## midpoint: command midpoint

Calculates the midpoint between two given points, on the segment formed by the two points. The command midpoint
accepts two points or a segment as an argument. For the latter, it calculates the midpoint of the segment's endpoints.

- 56 -

Geometry

## perpendicular bisector: command perpendicular_bisector

Calculates the perpendicular bisector of a segment, i.e. the line perpendicular to the segment that passes through its
midpoint. It can also be defined as the set of points which are equidistant to the endpoints of the segment.
This command accepts a segment or two points as an argument, and it calculates the perpendicular bisector of the
segment formed by those points. It is also possible to use a triangle and the number of the side for which the perpendicular
bisector is required.

- 57 -

## wiris, help materials

bisector: Icon

or

, command bisector

## We can calculate the bisector of the following objects:

two secant lines,
three unaligned points (thus, defining an angle).
and an angle of a triangle.

For the case of geometry in 3D space, it is possible to calculate the bisector of two intersecting planes.

- 58 -

Geometry
height: command height
Calculates the height corresponding to the ith vertex of the triangle, i.e. the line that passes through the vertex and that
is perpendicular to the opposite side. This command accepts, as arguments, a triangle and the vertex number for which
the user wishes to calculate the height.

## median line: command median_line

This calculates the line from the triangle vertex to the midpoint of the opposite side. This command accepts as arguments
a triangle and the vertex number for which the user wishes to calculate the median.

- 59 -

## area: command area

This calculates the area of a figure, received as an argument, on the basis that the figure is closed (triangle, polygon,
circumference or ellipse).

- 60 -

Geometry
perimeter: command perimeter
This calculates the perimeter of a closed figure (triangle, polygon or circumference), which is received as an argument.

## angle: command angle

This calculates the minor angle defined for two lines or two vectors (planes if working in 3D space). In the first case, it
returns a value between 0 and #/2 and in the second case between 0 and #.
If F is a Triangle, Polygon or
corresponding to its ith vertex.

## Polygonal then the command angle(F,i) calculates the angle

For work in 3D space, the function is named angle3d and it can also be applied to planes. It is also possible to use
the command geometry_status to learn how to simplify this command.

- 61 -

## wiris, help materials

intersect: Icon

, command intersect

This returns a list of the elements that form the intersection of two figures, received as arguments.

parallel: Icon

or

, command parallel

This function accepts a line or segment as the first argument and a point as the second argument. Accordingly, it finds
the line parallel to the first argument that passes through the point. More information on parallel?.

When working in 3D space, the function can be applied to a plane just as it is applied to a line or segment in two dimensional
space.

- 62 -

Geometry

perpendicular: Icon

or

, command perpendicular

This function accepts a line or segment as the first argument and a point as the second argument. Accordingly, it finds
the line perpendicular to the first argument that passes through the point. More information on perpendicular?.

When working in 3D space, the function can be applied to a plane just as when working in two dimensional space.

Transformations

- 63 -

## wiris, help materials

WIRIS allows us to calculate and display the transformation of a Figure by way of plane movement. Transformations
can also be applied to a list of figures and the result is the list that corresponds to applying the transformation to each of
the figures in the list.

## symmetry: command symmetry

Axial or radial symmetry can be calculated for a given figure. In the former case, the command symmetry takes as
arguments the line that acts as axis of symmetry and the figure. In the case of radial symmetry, the arguments are the
centre of symmetry and the figure.

- 64 -

Geometry
translation: command translation
Given a vector and a figure, the translation of the figure can be calculated with respect to the vector.

## rotation: command rotation

Given point P, real number a and figure F, this calculates the centre of rotation P and anglea of figure F. The real number
is interpreted as an angle in radians. To work with degrees, use the icon

- 65 -

## wiris, help materials

2D Graphics
WIRIS provides procedures for graphical display in two dimensions. The main application of these procedures is to display
2D geometrical figures and functions.
The graphical display is produced on a Plotter using the commands plot, if it you only wish to draw an object, or
represent, if we wish the system to draw certain characteristic elements of the object, such as asymptotes and critical
points in the case of functions. To add text to the drawing, use the command write.
You can also use the command geometry_status to learn how to simplify this command.
>>fast
Draw command

Region drawing
Display command
Commands for writing text
Plotter
Interactive geometry

draw an object
drawing an equation
options plot
region drawing
represent
write
options plotter
slider

draw a function
vector drawing
region
options represent
options write
closest point

Draw command

## draw an object: plot(d:Plotable2d)

This function is generally used to draw d on a "drawing board". Some objects that can be drawn include: Point, Line,
Circumference, Segment, Triangle, Polygonal, Function, Curve or Text_box. If the argument
is a List, then all its elements are drawn.

It is worth mentioning the case where parameter d is an identifier (variable). If its value is a drawable object then it is
drawn, otherwise no action is taken and a warning is returned. Later, if the value of d changes then the drawing is updated
to show the new object. You could say that the drawing board remembers the elements that are drawn on it and redraws
them if their value changes.
The example below demonstrates this behaviour. If P is defined as point (3,5,0) and we draw it (first block), it appears
drawn as point (3,5,0) on the drawing board. If then P takes as its value the point (2,-1), this is the point that appears on
the drawing board. Note that this happens without having to use the command plot with point P.

- 66 -

2D Graphics

## draw a function : command plot

We can specify how to draw a function in many ways. In most cases it is sufficient to specify the expression of the function
that we wish to draw and the system will take care of selecting the path and what variables act as x and y coordinates.

The following examples show how we can also indicate the variable and the path.

Parametric curves
To draw parametric curves we will always have to indicate the variable that acts as a parameter and its path.

- 67 -

## wiris, help materials

Implicit curves
In order to plot an implicit function, it is sufficient to provide its formula. Optionally, its variables and the ranges of its
variables can be provided.

## drawing an equation: plot(eq:Equation)

The command plot also accepts an equation as an argument. This command graphs the mathematical object
associated with this equation.
The equations accepted by the command are those corresponding to objects of type
Conic.

## vector drawing: plot(v:Vector,P:Point)

A vector is drawn by indicating the vector itself and a point. The options indicate the style of the arrow.

options plot: Optionally, the last argument to the plot command can be a List of options.

- 68 -

2D Graphics
Options give the user control over the figure appearance (colour, thickness, etc.). The functionality or quality of some
options depends on the version of Java (JVM) installed on your computer. If you have Java version 1.3 (Java 2) or

Enter the option values separated by commas in the following format 'option_name=option_value'. Example:
color=green.
The main options for the plot command are

color
Here, enter the colour to be used for drawing.
Possible values: lists of three integers between 0 and 255 in '{r,g,b}' form, where r,g,b correspond to the
amount of red, green and blue, which define the colour. For simplicity, some colours have been defined:
black, white, red, green, blue, cyan, magenta, yellow, brown, orange, pink, grey,
dark_grey, light_grey and the complete list of HTML colours.
Default value: black

border
This defines whether or not the border of closed figures is painted.
Possible values: true and false.
Default value: true

fill
In the case of a closed figure, the command determines whether the interior is filled.
Possible values: true and false.
Default value: false

fill_color
If working with a closed figure, and if the value defined for fill is true, this command indicates the colour
to be used to paint the inside of the figures.
Possible values: A Color and "automatic"; if the second option is chosen, the inside of the figure is
filled using the colour given by the colour option color.
Default value: "automatic"

visible
This command determines whether the element is visible or not.
Possible values: true and false.
Default value: true

mobile
If the object to plot has not been defined as static, the image is allowed to move, or not move, in the plane.
Possible values: true and false.
Default value: true

evaluate

- 69 -

## wiris, help materials

This command defines whether the element should be evaluated when drawing or not.
Possible values: true and false.
Default value: false

fixed_dimensions
This defines whether or not objects must be repositioned in the plane, when the drawing board dimensions
are changed. By default, they are repositioned.
Possible values: true and false.
Default value: false

point_size
This sets the size of points plotted on the drawing board.
Possible values: any positive Realnumber.
Default value: 5

line_width
This command is used to set the thickness of lines, segments or functions drawn on the drawing board.
Possible values: any positive Real number.
Default value: 1

show_label
This command defines whether or not a label is displayed for the figure.
Possible values: true and false.
Default value: false

label
This defines the label that should be displayed next to the figure.
Possible values: any object and "automatic". If we choose the second option, the label will be the name
of the figure.
Default value: "automatic"

label_font
This sets the type of font that should be used to write the labels on the drawing board.
Possible values: any object of type Font.
Default value: {bold=false,italic=false,name="SansSerif",size=12}

name
If the command plot does not know the name of the object to be drawn, enter it. This only has an effect
when working with a single element and not with a list.
Possible values: any object of type String.
Default value: null

seed_name
If the command plotdoes not know the name of the object to be drawn, the name of the figure is the value
of this option concatenated with a number.
Possible values: any object of type String.
Default value: null

- 70 -

2D Graphics

Region drawing

## region drawing: plot(e:Inequation)

We can draw the region delimited by some inequalities directly with the

## plot command, and using optionally the

region: region(...)
The region command can be used to draw a wider set of regions than is available with plot. For instance, you can
draw the area delimited by any set of curves, even if defined by implicit functions.

- 71 -

## wiris, help materials

Equalities in region are used to indicate that the desired region is the bounded one:

In order to draw the region delimitated by an explicit function, we will just do:

In order to draw the region between two explicit functions, we will write:

Display command

represent: represent(...)
The purpose of this function is to draw objects and show the relevant information for each one. For example, functions
are represented by plotting the graph and features of interest such as individual points, asymptotes and local maximum
values. It accepts the same arguments as the function plot.
It is defined for objects of type:
Function, Circumference and Conic ( Hyperbola, Ellipse and Parabola)
If the command is applied to an object that WIRIS does not regard as applicable or for which it does not know how to
calculate any particular element, the command works in the same way as plot.

- 72 -

2D Graphics

options represent:
The options for represent are the same as those for plot.

## Commands for writing text

write: write(d,P:Point)
This function allow us to write d at point P. Usually d will be of type String although it can be any object. In general,
you can think of the command write as a quick way of drawing objects of type Text_box.

options write: Optionally, the last argument to the write command can be a List of options.
Options that can be used with the command write include the command text_box commands such as plot (they
can be viewed here) since write(t,d,P,O) is the same as plot(t,text_box(d,P,O),O), where t is
a Drawing board, O is a List of options and d and P are as described in the previous paragraph.
The main options for the text_box command are

background
This indicates whether or not the background of the object being represented should be painted.
Possible values: true and false.
Default value: false

background_color
If the value for background is true, this indicates the colour to paint the background of the object being
represented.
Possible values: any Color, in {r,g,b} format, or by name if it has been defined.
Default value: {255,255,255} (white)

- 73 -

## wiris, help materials

border
This defines whether or not a border will be applied around the displayed object, and in the former case it
defines the border thickness.
Possible values: any non-negative Integerinteger.
Default value: 0

border_color
If the value for border is a positive Integer, the value defines the border colour.
Possible values: any Color, in {r,g,b} format, or by name if it has been defined.
Default value: {0,0,0} (black)

horizontal_position
This defines the horizontal position of the Text_box from the specified reference point.
Possible values: "left", "center" and "right".
Default value: "right"

vertical_position
This defines the vertical position of the Text_box from the specified reference point.
Possible values: "top", "center", "base_line" and "bottom".
Default value: "base_line"

max_width
This defines the maximum width of the Text_box. When the text exceeds this width, a line break will be
inserted.
Possible values: any positive Real number.
Default value: # (infinity).

font
This defines the font to be used when writing text on the drawing board.
Possible values: any object of type Font.
Default value: {bold=false,italic=false,name="SansSerif",size=12}

bold_font
This defines whether or not the text on the drawing board should be bold.
Possible values: true and false.
Default value: false

italic_font
This defines whether or not the text on the drawing board should be in italics.
Possible values: true and false.
Default value: false

font_name
This indicates the name of the font type used.
Possible values: "Serif", "SansSerif" and "Monospaced".
Default value: "SansSerif"

font_size
This indicates the size of the font type used.
Possible values: any positive Integer.
Default value: 12

Plotter
The commands plot, represent or write can optionally accept, as the first argument, the drawing board where
the graphic should be displayed. If the first argument is not a drawing board, WIRIS provides one with predefined features.
- 74 -

2D Graphics
Each set of calculations has a default drawing board. In practice, you can have as many as you wish. The commands to
create a drawing board are plotter() or plotter(P,x,y); the latter creates a drawing board centred on point
P, of width x and height y.

By default, when a drawing board is created the coordinate axes and an orange grid are shown. If the user does not want
these elements to appear, he or she should execute show_axis(false) and show_grid(false), respectively,
before creating the drawing board or drawing anything. If a drawing board has a visible grid, the points can only be moved
to the vertices of the grid. Once a drawing board has been generated, the axes and grid can be controlled with the icons
or

, respectively.

In the example below we create a drawing board where, unlike with the default, there are neither axes nor grid:

## , etc. ) are described in the section Menus,icons....

options plotter: The main options for the plotter command are

center
Sets the centre point of the drawing board.
Possible values: any Point.
Default value: point(0,0)

height
Sets the height of the drawing board.
Possible values: any positive Real number.
Default value: 21

width
Sets the width of the drawing board.
Possible values: any positive Real number.
Default value: 21

visible
This defines whether the drawing board is visible or not.
Possible values: true and false.
Default value: true

background_color
Sets the background colour of the drawing board.
Possible values: any Color, in {r,g,b} format, or by name if it has been defined.
Default value: {255,255,240}(cream)

aspect_ratio

- 75 -

## wiris, help materials

This defines the height to width ratio (aspect ratio) for the drawing board.
Possible values: any positive Real number.
Default value: 1

information
This defines the information that should be displayed when the mouse is scrolled over a figure. This information
can be changed, once the drawing is on the screen, using the icons
,
and
toolbar:
Possible values: "none", "name", "definition" and "value".
Default value: "name"

## on the drawing board

Window attributes

window_height
Sets the height of the drawing window, in pixels.
Possible values: any positive Integer.
Default value: 450

window_width
Sets the width of the drawing window, in pixels.
Possible values: any positive Integer.
Default value: 450

window_aspect_ratio
This attribute defines the ratio between the windows height and width (aspect ratio).
Possible values: any positive Real number.
Default value: 1
Coordinate axis attributes

show_axis
Determines whether or not the coordinate axes appear in the drawing.
Possible values: true and false.
Default value: true

axis_color
If the value for show_axis is true, this command indicates the colour of the axes.
Possible values: any Color, in {r,g,b} format, or by name if it has been defined.
Default value: {150,150,255} (light blue)

axis_style
This defines how the coordinate axes will be displayed: as two perpendicular lines or as a pair of arrows, one
perpendicular to the other. Additionally, in the second case, the abscissa axis can be identified by x or by X
and the ordinate axis can be defined by y or by Y.
Possible values: "none", "arrow", "arrow_xy" and "arrow_XY".
Default value: "none"

axis_font
This defines the font to be used when writing the text and values associated with the axes.
Possible values: any object of type Font.
Default value: {bold=false,italic=false,name="SansSerif",size=10}

axis_label
This defines the coordinate axis names. The first component in the list names the abscissa axis, and the
second names the ordinate axis.

- 76 -

2D Graphics
Possible values: any List of two components.
Default value: {,} (an Empty_list of two elements).
Grid attributes

show_grid
Determines whether or not the grid appears in the drawing. If the grid is displayed, the movement of drawn
points is limited to the points on the grid. If the grid is not displayed, the points can be moved freely around
the drawing board.
Possible values: true and false.
Default value: true

grid_color
Sets the grid colour.
Possible values: any Color, in {r,g,b} format, or by name if it has been defined.
Default value: {255,200,100} (light orange)

Interactive geometry
We can draw a series of objects using geometrical relations and see how these relations are maintained by moving some
of them. To do so, we need to declare what objects depend on others using the symbol :=.
After calculating the following example, try moving point P.

## slider: command slider

We will use the slider command and declare a variable with := for choosing real numbers interactively.
This command receives a path and optionally, an initial value as arguments.

- 77 -

## wiris, help materials

closest point: command closest_point
In interactive geometry we sometimes need to fix a point to stay over a figure. This command receives as a first argument
a geometrical object and as a second argument the value of the initial point.

- 78 -

3D Graphics

3D Graphics
WIRIS provides procedures for graphical display in three dimensions. The main application of these procedures is to display
geometrical figures and functions.
The graphical display is produced on a Plotter" using the command
command write3d.

## plot3d. To add text to the drawing, use the

You can also use the command geometry_status to learn how to simplify this command.
>>fast
Draw command

## Commands for writing text

Plotter
Interactive geometry

draw an object
drawing an equation
vector drawing
write3d
options plotter3d

Draw a function
level curves
options plot3d
options write3d

Draw command

## draw an object: plot3d(d:Plotable3d)

This function is generally used to plot an object d on a "drawing board". Some objects that can be drawn include:
Point, Line, Plane3d, Segment, Triangle, Polygonal, Polyhedra3d, Surface, Curve3d and
Text_box. If the argument is a List, then all its elements are drawn.

It is worth mentioning the case where parameter d is an identifier (variable). If its value is a drawable object then it is
drawn, otherwise no action is taken and a warning is returned. Later, if the value of d changes then the drawing is updated
to show the new object. You could say that the drawing board remembers the elements that are drawn on it and redraws
them if their value changes.
In the example below this behavior can be confirmed. If P is defined as point (3,5,0) and it is drawn (first block), it appears
drawn as point (3,5,0) on the drawing board. If, then, P takes as value the point (2,-1,0), this is the point that appears on
the drawing board. Note that this happens without having to use the command plot3d with point P.

- 79 -

## Draw a function : command plot3d

To draw both curves and surfaces, we use the command plot3d. In most cases, it is sufficient to indicate the expression
of the function that we wish to draw and the system will take care of selecting whether it is a curve or a surface, its path
and what variables play the part of x, y or z.
Lets look at a few examples of surfaces.

## We can also specify the variables and the path.

Parametric curves
To draw parametric curves we will always have to indicate the variable that acts as a parameter and its path.

- 80 -

3D Graphics

Parametric surfaces
We can draw parametric surfaces by specifying the two variables on which the surface depends and their respective paths.

## drawing an equation: plot3d(eq:Equation)

The command plot3d also accepts an equation as an argument. This command produces a graph of the
mathematical object associated with this equation.
The equations accepted by the command are those corresponding to objects of type Plane3d.

## level curves: command level_curves

level_curves command allows us to create and draw the level curves of a surface. The result of
level_curves can be plotted both in the plane or in 3D.
The

- 81 -

## wiris, help materials

vector drawing: plot(v:Vector,P:Point)
A vector is drawn by indicating the vector itself and a point. The options indicate the style of the arrow.

options plot3d: Optionally, the last argument to the plot3d command can be a List of options.
Options give the user control over the appearance of the figure (colour, thickness, etc.). The functionality or quality of
some options depends on the version of Java (JVM) installed on your computer. If you have Java version 1.3 (Java 2)

Enter the option values separated by commas in the following format 'option_name=option_value'. Example:
color=color=green.
The main options for the plot3d command are

color
Here, enter the colour that should be used for drawing.
Possible values: list of three integers between 0 and 255 in '{r,g,b}' form, where r,g,b corespond to the amount of
red, green and blue, which define the colour. For simplicity, some colours have been defined: black, white,
red, green, blue, cyan, magenta, yellow, brown, orange, pink, grey, dark_grey,
light_grey and the complete list of HTML colours.
Default value: black

border
This defines whether the border of closed figures is painted.
Possible values: true and false.
Default value: true

fill
In the case of a closed figure, the command determines whether the interior is filled.
Possible values: true, false and "automatic".

- 82 -

3D Graphics
Default value: "automatic"

fill_color
If working with a closed figure, and if the value defined for fill is true, this command indicates the colour
that should be used to paint the inside of the figures.
Possible values: A Color and "automatic"; if the second option is chosen, the inside of the figure is
filled using the colour given by the colour option color
Default value: "automatic"

visible
This command determines whether the element is visible or not.
Possible values: true and false.
Default value: true

transparency
This command determines the element's degree of transparency. Choosing 0 sets transparency to totally
opaque. Choosing 1 sets transparency to totally transparent.
Possible values: any Real number between 0 and 1.
Default value: 0.3

mobile
If the object to draw has not been defined as static, the image can move, or not move, in space.
Possible values: true and false.
Default value: true

wired
This option sets whether the image should be shown wire-framed or not.
Possible values: true, false and "automatic".
Default value: "automatic"

point_size
This sets the size of points drawn on the drawing board.
Possible values: any positive Real number.
Default value: 5

line_width
This command is used to set the thickness of lines, segments or functions drawn on the drawing board.
Possible values: any positive Real number.
Default value: 1

evaluate
This command defines whether the element should be evaluated when drawing or not.
Possible values: true and false.
Default value: false

show_label
This command defines whether or not a label is displayed for the figure.
Possible values: true and false.
Default value: false

label
This defines the label that should be displayed next to the figure.
Possible values: any object and "automatic". If we choose the second option, the label will be the name
of the figure.
Default value: "automatic"

label_font
This sets the type of font that should be used to write the labels on the drawing board.
Possible values: any object of type Font.
- 83 -

## wiris, help materials

Default value: {bold=false,italic=false,name="SansSerif",size=12}

name
If the command plot3d does not know the name of the object to be drawn, enter it. This only has an effect
when working with a single element and not with a list.
Possible values: any object of type String.
Default value: null

seed_name
If the command plot3ddoes not know the name of the object to be drawn, the name of the figure is the
value of this option concatenated with a number.
Possible values: any object of type String.
Default value: null

## Commands for writing text

write3d: write3d(d,P:Point)
This function allow us to write d at point P. Usually d will be of type String although it can be any object. In general,
you can think of the command write3d as a quick way of drawing objects of type Text_box.

- 84 -

3D Graphics
options write3d: Optionally, the last argument to the write3d command can be a List of options.
Options that can be used with the command write3d include the text_box commands such as plot(They can
be viewed here) since write3d(t,d,P,O) is the same as plot(t,text_box(d,P,O),O), where t is a
Plotter3d, O is a List of options and d and P are as described in the previous paragraph. To learn more about
the options for this command, see the relevant section in the chapter 2D Graphics.

Plotter
The commands plot3d or write3d can optionally accept, as the first argument, the drawing board where the graphic
should be displayed. If the first argument is not a drawing board, WIRIS provides one with predefined features.
Each set of calculations has a default drawing board. In practice, you can have as many as you wish. The command used
to create a drawing board is plotter3d() or plotter3d(P,x,y,z); the latter creates a drawing board centred
on point P, of width x, height y and depth z.

Once a drawing board has been created its attributes can be modified using the function attributes3d. In the example
below we create a drawing board where, unlike in the default case, neither the axes nor the cube are displayed:

## , etc.) are described in the section Menus,icons....

options plotter3d: The main options for the plotter3d command are

center
Sets the centre point of the drawing board.
Possible values: any Point.
Default value: point(0,0,0)

height
Sets the height of the drawing board.
Possible values: any positive Real number.
Default value: 21

width
Sets the width of the drawing board.
Possible values: any positive Real number.
Default value: 21

- 85 -

## wiris, help materials

depth
Sets the depth of the drawing board.
Possible values: any positive Real number.
Default value: 21

background_color
Sets the background colour of the drawing board.
Possible values: any Color, in {r,g,b} format, or by name if it has been defined.
Default value: {255,255,240} (cream)

information
This defines the information that should be displayed when the mouse is scrolled over a figure. This information
can be changed, once the drawing is on the screen, using the icons
,
toolbar.
Possible values: "none", "name", "definition" and "value".
Default value: "name"

or

## on the drawing board

visible
This defines whether the drawing board is visible or not.
Possible values: true and false
Default value: true

transform_matrix
This command indicates the position of the display cube within the drawing window. Every time the cube is
moved, we can find the new position using the icon
on the drawing board toolbar:
Possible values: any Matrix of Real numbers 3x3.
Default value: Window attributes

window_height
Sets the height of the drawing window, in pixels.
Possible values: any positive Integer.
Default value: 450

window_width
Sets the width of the drawing window, in pixels.
Possible values: any positive Integer.
Default value: 450
Coordinate axis attributes

show_axis
Determines whether or not the coordinate axes appear in the drawing.
Possible values: true and false.
Default value: true

axis_color
If the value for show_axis is true, this command indicates the colour of the axes.
Possible values: any Color, in {r,g,b} format, or by name if it has been defined.
Default value: {150,150,255} (light blue)
Cube attributes

- 86 -

3D Graphics

show_cube
Determines whether or not a cube appears in the drawing. Points can be moved freely around on the drawing
board.
Possible values: true and false.
Default value: true

cube_color
Sets the colour of the cube.
Possible values: any Color, in {r,g,b} format, or by name if it has been defined.
Default value: {150,150,255} (light blue)

Interactive geometry
Interactive geometry acts the same way in space as it would do in the plane. See Interactive geometry in the
plane.

- 87 -

## wiris, help materials

Statistics
>>fast
Functions
Two variable
functions

mean
geometric mean
standard deviation median
covariance
correlation

harmonic mean
quartile
regression line

variance
mode

Descriptive Statistics is the branch of statistics that concerns collecting data, analysing it and presenting the results
graphically or via the calculation of statistical parameters, numbers used to describe a set of data. However, it is often not
possible to obtain the value of a variable for every member in of population. In such a case data is collected from a sample,
or a portion of the population, and used to infer information about the characteristics of the population as a whole. This is
the situation to which the procedures described in this chapter are best suited.
On other occasions observations in Descriptive Statistics relate to the values observed when carrying out a random
experiment. In such a case the objective of the sample results is to try to establish a theoretical model which governs the
experiment.
In Statistics, WIRIS always works with decimal numbers, unlike other areas of knowledge. This is done in order to follow
the norms of practice in this area.
Take a look at how a sample consisting of 3 zeros and 4 ones can be represented.

In the first case a List, which contains the elements of a sample, was considered, and in the second case, a Divisor
was used to indicate how may times each value appears. Now let's look at some operations we can carry out with samples.

To finish the introduction, it should be noted that it is possible to group different samples of random variables using a
Divisor. A detailed explanation of this functionality can be found in the Multisample description in the alphabetical
index.
Before proceeding let's look at some examples to clarify what we mean:

- 88 -

Statistics

Functions
In this section we explain the functions that WIRIS can apply to a data set (observations from a statistical variable),
x={x1,x2,...,xn}.

## mean: command mean

where n=length(x).

## geometric mean: command geometric_mean

where n=length(x).

- 89 -

## wiris, help materials

harmonic mean: command harmonic_mean

where n=length(x).

## variance: command variance

Calculates the variance in accordance with the inferential definition. That is,

## where n=length(x), mx=mean(x).

- 90 -

Statistics
median: command median
If x1,x2,...,xn is an ordered sample, it is defined as

xk

if

n=2k-1

(xk+xk+1)/2

if

n=2k

where k is a whole number. If the sample is not ordered, it can simply be ordered and the definition above can then
be applied.

## quartile: command quartile

Calculate the various quartiles of a sample. See the complete definition of the command quartile in the alphabetical
index.

## mode: command mode

Calculates the most commonly occurring value in the sample. If there is more than one value occurring the maximum
number of times, a list is returned with the various mode values.

## Two variable functions

WIRIS has various functions that accept samples with bivariate data as the argument, i.e. a sample of the following form
(x1,y1),(x2,y2),...,(xn,yn). Notice from the examples below that, although data entry can be carried out independently for the
first and second variables, it has to be assumed that they represent bivariate data.

- 91 -

## wiris, help materials

All bivariate data commands accept a list of data points as an argument in place of two lists of numbers. In a perfectly
natural way, WIRIS takes the abscissae of the points as the values of the first variable and the ordinates as the values of
the second variable observed in the elements of the sample.

## correlation: command correlation

This calculates Pearson's correlation coefficient for a set of bivariate data taken from a sample. This parameter indicates
the degree of 'linear relationship' between one sample and another.

- 92 -

Statistics
regression line: command regression_line
Given a data sample (x1,y1),(x2,y2),...,(xn,yn), calculates the regression line determined using the least squares method,
taking x as a predictor variable and y as a response variable.

- 93 -

Combinatorics
>>fast
Functions

combinations
variations
permutations

## combinations with repetition

variations with repetition
permutations with repetition

All combinatorial commands (permutations, combinations and variations, with or without repetition) have an associated icon
and text command.
These commands are commonly used to calculate the number of components in a list of combinatorial selections, but they
can also return the selections themselves.
Except for the special case of permutations with repetition, explained below, when the first argument of these commands
is a list (shown with curly brackets) or a vector (shown in square brackets), the command returns the corresponding list of
combinatorial selections from the set.

In WIRIS the elements of a list or vector are distinct, even if there are repetitions. Thus, when combinations, variations or
permutations are calculated they are treated distinctly, rather than as indistinguishable, except in the case of permutations
with repetition.

Functions

combinations: Icon

or

, command combinations

The combinations command takes two arguments, m and n. If m and n are non-negative integers, it calculates the
number of combinations of m elements taken from n in n. If m is a List or Vector and n is a non-negative integer,
it returns the list of combinations of its elements taken from n in n.
Upon clicking the
icon, the standard combinations symbol will appear along with two green, empty boxes. Enter the
argument m in the first and the argument n in the second.
Upon clicking the

icon, two boxes will appear. Enter the argument m in the top box and the argument n in the lower box.

- 94 -

Combinatorics

## combinations with repetition: Icon

, command combinations_with_repetition

The combinations_with_repetition command takes two arguments, m and n. If m and n are non-negative
integers, it calculates the number of combinations with repetition of m elements taken from n in n. If m is a List or
Vector and n a non-negative integer, it returns the list of the combinations with repetition of its elements taken from
n in n.
Upon clicking the
icon, the standard symbol for combinations with repetition will appear along with two green, empty
boxes. Enter the argument m in the first and the argument n in the second.

variations: Icon

, command variations

The variations command takes two arguments, m and n. If m and n are non-negative integers, it calculates the
number of variations of m elements taken from n in n. If m is a List or Vector and n a non-negative integer, it returns
a list of the variations of its elements taken from n in n.
Upon clicking the
icon, the standard variations symbol will appear along with two green, empty boxes. Enter the
argument m in the first and the argument n in the second.

- 95 -

## variations with repetition: Icon

, command variations_with_repetition

The variations_with_repetition command takes two arguments, m and n. If m and n are non-negative
integers, it calculates the number of variations with repetition of m elements taken from n in n. If m is a List or Vector
and n a non-negative integer, it returns the list of the variations with repetition of its elements taken from ninn.
Upon clicking the
icon, the standard symbol for variations with repetition will appear along with two green, empty
boxes. Enter the argument m in the first and the argument n in the second.

permutations: Icon

, command permutations

The permutations command takes one argument, n. If n is a non-negative integer, it returns the number of
permutations of n elements, that is n!. If n is a List or Vector then it provides the list of all the permutations of
its elements.
Clicking the
icon will bring up the standard permutations symbol, containing an empty green box corresponding to
the argument n.

## permutations with repetition: Icon

, command permutations_with_repetition

## The permutations_with_repetition command has an initial argument, n, which must be a non-negative

whole number (otherwise the command has no effect) and a sequence of one or more additional arguments n1 , n2
,..., nr.
If the additional arguments are non-negative whole numbers such as n = n1+n2+...+nr, the command will obtain
the number of permutations for n elements taken from r different elements and such that the ith element repeats ni
times. If these conditions are not met, the command has no effect.
In place of the sequence of additional arguments it is possible to enter a List (or a Vector) L of nelements, comprised
of r different elements and such that the ith element repeats ni times. If n = n1+n2+...+nr, the command provides
the list of all the different distinct permutations of L otherwise it has no effect. To calculate the set, enter the list of the
elements to be combined as the second argument.
Clicking the
icon, the standard symbol for permutations with repetition will appear along with two green, empty boxes.
Enter the additional arguments (that is, the sequence ni, or the List or Vector) and the argument n in the second
box.

- 96 -

Combinatorics

- 97 -

## wiris, help materials

Units of measurement
>>fast
Notation
Arithmetic
Functions
convert
conversion factor
coefficient
unit
Basic units of the SI
Units derived from SI
Units from other systems
Prefixes for the SI System of Units

Tables

Units of measurement are the basic tools of physics and also some aspects of mathematics.
Units of measurement that WIRIS allows us to represent include all of those in the International System of units (SI) and
some others, such as the litre and the bar (atmospheric pressure), which have a practical relevance. It also allows users
to define their own units with the command unit.
In addition to the principal units, the SI system includes decimal multiples and submultiples, denoted using the prefixes
deka, hecto, kilo, deci, centi, milli... The complete list of units in the SI, along with their prefixes, names,
abbreviations and the corresponding conversion factors with respect to basic units, can be found in the tables at the end
of the chapter. The icons on the tab Units of measurement can be used to create units and measurements. For example,
to express the metre, use the icon
and then click on the icon

to express the decimetre, select the icon deci from the drop-down menu on the left,

Some of the more common units we can use, from the SI or other systems, are:

meter, gram, amper, kelvin, mol, liter, hour, minute, second, coulomb, henry,
newton, joule, volt, ohm, hertz, pascal, bar, radian, siemens, farad, tesla, watt,
weber
You will find the complete list of units included in WIRIS in the tables at the end of the chapter.
Units can be multiplied and divided together to define new units. If a unit of measurement is multiplied by a number we
obtain a quantity, which can represent the value of a measurement. Quantities corresponding to measurements of the same
magnitude can be summed, multiplied or divided together even if not expressed in the same units. The units in which they
are represented can be changed.
To express a complex quantity in a single unit, use the command convert with the quantity as the first argument and
the unit in which we wish the express the result as the second argument. Let's look at some examples:

- 98 -

Units of measurement

Notation
Physical quantities can be added, subtracted, multiplied and divided. In general, to add or subtract quantities we use the
notation we refer to as complex. That is, we separate the quantities (remember that a quantity is a number followed by a
unit) with spaces. WIRIS understands complex notation. Nonetheless, when in doubt it is advisable to use the usual symbols

Arithmetic
When adding and subtracting physical quantities, negative quantities can arise. When possible, WIRIS transforms these
into the positive equivalent. Lets look at some examples:

Functions
The functions to convert quantities to different units are:

## convert: command convert

The command convert can take one or two arguments. In the first case, we get the quantity that was entered,
expressed in SI basic units. In the second case, the second argument is the unit of measurement in which the specified
quantity should be expressed.

- 99 -

## wiris, help materials

This command can take one or two units of measurement as arguments. If it is given two arguments, it returns the factor
by which the quantities expressed should be multiplied in the first unit to obtain the equivalent in the second unit. If it
is given only one argument, which we assume is a unit of measurement, it calculates the factor to convert quantities
expressed in this unit into SI basic units.

## coefficient: command coefficient

Given one quantity this returns its coefficient if there is only one summand. If there is more than one summand, it returns
the coefficient of the quantity transformed into SI units.

## unit: command unit

Given one quantity this returns its unit of measurement if there is only one summand. If there are more summands it
returns the equivalent SI unit.

Tables

## Basic units of the SI

Besides these, other units are defined:

SI unit
Magnitude
Name

Symbol

length

meter

mass

kilogram

kg

- 100 -

Units of measurement

time

second

electric current

amper

thermodynamic temperature

kelvin

quantity of substance

mol

mol

luminous intensity

candela

cd

## Units derived from SI

Defined from the basic units:

SI unit

Expression
in other units

Magnitude

Expression
in basic units

Name

Symbol

plane angle

mm =1

solid angle

sr

m m =1

frequency

hertz

Hz

force

newton

kgms

pressure, strain

pascal

Pa

N/m

m kgs

joule

Nm

m kgs

watt

J/s

m kgs

## electric potential difference,

electromotive force

volt

W/A

m kgs A

capacitance

C/V

m kg s A

electrical resistance

ohm

V/A

m kgs A

electrical charge

coulomb

FV

As

electrical conductivity

siemens

A/V

m kg s A

magnetic flux

weber

Wb

Vs

m kgs A

tesla

Wb/m

- 101 -

-1

-2

-1
-2

-1

-2

-2

-3

-3

-1

-2

-1 4

-3

-2

-2

-1 3

-2

-2

kgs A

-1

-1

## wiris, help materials

-2

-2

inductance

henry

Wb/A

m kgs A

luminous flux

lumen

lm

cdsr

m m cd=cd

illuminance

lux

lx

lm/m

becquerel

Bq

absorbed dose

gray

Gy

J/kg

m s

equivalent dose

sievert

Sv

J/kg

m s

catalytic activity

katal

Kat

-2

-4

-2

m m cd=m cd
-1

2 -2
2 -2

-1

s mol

Unit
Magnitude
Name

Symbol

time

hour

time

minute

min

time

second

volume

liter

pressure, strain

bar

Prefix

Symbol

## Prefixes for the SI System of Units

Factor
10

deka

da

10

hecto

10

kilo

10

mega

- 102 -

Units of measurement

giga

10

12

tera

10

15

peta

10

18

exa

10

21

zetta

10

24

yotta

Prefix

Symbol

10

Factor
10

-1

deci

10

-2

centi

10

-3

milli

10

-6

micro

10

-9

nano

10

-12

pico

10

-15

femto

10

-18

atto

10

-21

zepto

10

-24

yocto

The nomenclature in this chapter is based on the standard of the European Standards Committee.

- 103 -

## wiris, help materials

>>fast
Toolbar tabs
General
Analysis
Geometry
Plotter

Edit
Matrices
Greek

Operations
Units
Programming

Symbols
Combinatorics
Format

In this chapter, we will discuss how to use the different menus and icons in WIRIS.
On opening the WIRIS page, a collection of tabs will appear. Examples include Edit, Operations or Analysis. At any time
the contents of only one tab are visible. To reveal the contents of a tab, click on the tab name.
Each tab has a set of icons and menus to facilitate building mathematical expressions.
To begin, we will review the content on the tab Operations.

## , and icons will appear that correspond to Matrices

Toolbar tabs
For each of the tabs on the toolbar, a table is presented below to describe the icons and the functions each icon performs,
and when applicable a link to a more detailed description is provided. The columns of these tables show us:
Action
A brief explanation of the icon's functionality.
Keyboard
The keystroke combination that can be used as an alternative to the icon in order to speed up the process of building
expressions. When such a combination exists, it is included in the icon explanation.
This column provides links that take the user to the quick reference guide section, where a detailed description of the icons
functionality is provided along with examples of how the icon can be used.
Code
This code is the text that should be entered when the user builds a custom toolbar. For more information, see the chapter
on the Toolbar.
- 104 -

Action

Keyboard

## Carries out all the calculations in the active block (set of

calculations where the cursor is located).
A floating arrow appears close to the active block. It can be used
to carry out the calculations, and it disappears when using the
keyboard (Ctrl + Enter) to calculate. To make the floating arrow
reappear, use the icon at the right of the toolbar.

Code

1 minute

compute

Ctrl +
Enter

stop

Action

Keyboard

More
info

Code
newsession

newblock

save

print

printPreview

Ctrl

+C

copy

Ctrl

+X

cut

Ctrl

+V

paste

Ctrl

+Z

undo

Ctrl

+Y

redo

## Takes the line of calculations where the cursor is located and

converts it into a comment.

Ctrl

+T

- 105 -

comment

## Creates an argument box. This is a green box which disappears

when something is entered into it and has no value set. These
boxes are used to create problem statements. By default they
take the value 'a'.

argument

removeresults

logoicon

Opens Help.

help

Action

Keyboard

Code

Creates
variable
parentheses

size

Ctrl
Ctrl

+(
+)

parenthesis

pparenthesis

Creates
variable
square brackets.

size

Ctrl
Ctrl

+[
+]

vector

bparenthesis

## Creates variable size curly

brackets (braces).

Ctrl
Ctrl

+{
+}

list

BBparenthesis

## Creates the absolute value

bars for a real number or for
the determinant of a matrix.

absolute value
determinant

vparenthesis

## Creates the variable size

bars that denote a normal
vector.

norm

VVparenthesis

division

frac

## quotient and remainder

eucdiv

Ctrl +
Up arrow
Ctrl +
Shift + ^

exponentiation

power

+
Down
arrow
Ctrl + .

extraction
logarithm

Creates a fraction.
Creates
associated
division.

the
with

Ctrl

+/

icon
integer

Creates an exponent.

Creates a subscript.

Ctrl

Ctrl

+Q

square root

sqrt

## Creates the nth root

Ctrl

+A

root

root

- 106 -

Creates a summation.

sigma

## Creates a summation over

a range.

sum
sumx

Creates a product.

product

## Creates a product over a

range.

prod
prodx

Creates
the
icon
associated with rounding
up to a whole number.

ceil

ceil

Creates
the
icon
associated with rounding
down to a whole number.

floor

floor

plot graphs

plot

plot 3D graphs

plot3d

Display graphs

represent

Solving equations

solveequation

Solving systems

solvesystem

Creates

the

command

the

command

the

command

plot
Creates

plot3d
Creates

represent

Creates

the

command

## solve, including space to

enter the equation.
Creates

the

command

## solve, including space

to enter a
equations.

system

of

of elements in a vertical list.
Creates a vertical list of n
elements in order to write a
system of n equations. By
default, n=3 .

Shift

+ Enter
a line)

vertical list

vertlist

Symbols: creates the symbols associated with certain operations, constants and mathematical concepts.

- 107 -

Action

Keyboard

## Creates a 'greater than' inequality. Check

whether it is true by entering ? after it.
Creates a 'greater than or equal to' inequality.
Check whether it is true by entering ? after it.

Ctrl

Code

equations and
inequalities

gt

+>

geq

## Creates a 'less than' inequality. Check whether

it is true by entering ? after it.
Creates a 'less than or equal to' inequality.
Check whether it is true by entering ? after it.

lt
Ctrl

+<

leq

or

and

## Creates an equation. Check whether it is true

by entering ? after it.

Ctrl

+=

Ctrl

+!

## Defines the value of a variable.

Rule and substitution builder.
Divisor and relation builder.

eq
neq
assign
defining
a function

define

define

assign

rules and
substitutions.

RRightarrow

divisors
relations

rightarrow

delayedruletuple

anonymous
functions

longmapsto

union

cup

intersect

cap

## Creates the symbol for intersection.

Used to build a boolean expression equivalent
to the command belongs?

in

## Used to build a boolean expression equivalent

to the command not_belongs?

notin

Ctrl

- 108 -

+P

irrationals

Opi

## Rounds the irrational number pi to the number

of decimal places to which we are working.
Creates the irrational number and.

Ctrl

+E

decimals

pifloat

irrationals

Oe

decimals

efloat

complex
numbers

Oi

limits

pinfty

## Rounds the irrational number e to the number

of decimal places to which we are working.
Creates the complex number i, the square root
of -1.

Ctrl

+I

## Creates plus infinity.

Creates minus infinity.

minfty

pminfty

natural numbers.

NN

integers.

integers

ZZ

## Creates the symbol which represents the set of

rational numbers.

rational
numbers

QQ

real numbers.

real numbers

RR

complex numbers.

complex
numbers

CC

Action

Keyboard

## Creates the symbol for integrating a function.

Creates the symbol for integrating a function with
respect to a variable.

Ctrl +
Shift + P

iintegral
integral

## Creates the symbol for the definite integral of a function

with respect to a variable.

Ctrl

+I

## Creates the symbol for differentiating a function with

respect to a variable.

Ctrl

+D

- 109 -

Code

antiderivative iintegralf

function.

## Creates the symbol for differentiating a single-variable

function.

integralf
integral

differentiate differentiate
differentiate derivate

## Creates the symbol for the limit of a function with

respect to a variable.

Ctrl

+L

limit

limit

## Creates the symbol for the right hand limit of a function

with respect to a variable.

right
side and
left side
limit

rightlimit

## Creates the symbol for the left hand limit of a function

with respect to a variable.

right
side and
left side
limit

leftlimit

Action

Keyboard

Code

## Creates a matrix of n rows and

m columns. By default, n=3 and
m=3.

matrix

pmatrix

## Creates the symbol for the

determinant of a square matrix
with n rows. By default, n=3 .

determinant

vmatrix

identity_matrix

identitymatrix

## Creates the identity matrix.

vectors and matrices.

Creates a vector of
By default, n=3 .

n elements.

vector

bvector

vector

bparenthesis

Creates
the
symbol
for
transposing a matrix or vector.

transpose

transpose

## Creates the symbol for inverting a

matrix.

inverse

inverse

Ctrl + Up
Ctrl +
Shift + ^

exponentiation

power

Ctrl + Down
Ctrl + .

extraction

determinant

vparenthesis

Creates variable
brackets.

size

square

Creates an exponent.

Creates a subscript.

Ctrl
Ctrl

matrix.

- 110 -

+[
+]

## Creates the variable size bars that

denote a normal vector.

norm

VVparenthesis

## Creates the symbol for the scalar

product of two vectors.

scalar product

scalarprod

## Creates the symbol for the cross

product of two vectors.

cross product

times

## Units: SI and other common units.

A unit of measurement is created with the icons we can see if we click on the Units tab. In the chapter Units of
measurement there are tables provided, relating symbols to units of measurement. If a prefix is selected in the left

hand menu, the relevant multiple is created for the selected unit of measurement.
In this folder, there are four groups of units. The first group is made up of the most common units (metre, gram, second
...); the second contains units relating to angles and time, for example:

Action

Keyboard

degree (angular)

Code

Units of measurement

degree

angle minute

angleminute

angle second

anglesecond

In the third group are units which are also part of the S.I. system but less commonly used (volt, watt, newton). Finally, in
the fourth are icons to create powers of 2 and 3 to facilitate expression building.

Action

Keyboard

Code

Squares an expression.

^2

Cubes an expression.

^3

Combinatorics: icons to for counting operations in combinatoric problems and setting out all the possible outcomes in
detail.

- 111 -

Action

Keyboard

Creates the
repetition.

symbol

for

combinations

with

## Creates the symbol for variations.

Creates the symbol for variations with repetition.

Creates the
repetition.

symbol

for

permutations

with

Code

combinations

combinations

combinations
with
repetition

combinationsr

variations

variations

variations
with
repetition

variationsr

permutations

permutations

permutations
with
repetition

permutationsr

combinations

combinationsfrac

Code

Action

Keyboard

Sets 2D mode.

mode2d

Sets 3D mode.

mode3d

point

point

point

point3d

line

line

segment

segment

triangle

triangle

plane

plane

polygonal

polygonal

polygon

polygon

## Creates a plane from three points.

Creates a polygonal figure from several points.
Creates a polygon from several points.

- 112 -

circumference

circumference

circumference.

circumference2

circumference3

## Creates a conic section from five points.

conic

conic

polyhedra

polyhedra

Accesses
a
which
allows
creation
of
polihedra:
tetrahedron,
cube, octahedron, icosahedron,
dodecahedron,
prism,
pyramid,
polyhedra_cylinder,
polyhedra_cone,
polyhedra_sphere
and
polyhedra_thorus.

polyhedra

## Creates a line parallel to a given line that passes

through a given point.

parallel

parallel

## Creates a plane, parallel to a given plane, which

passes through a given point.

parallel

parallel3d

## Creates a line perpendicular to a given line that

passes through a given point.

perpendicular

perpendicular

## Creates a plane, perpendicular to a given plane,

which passes through a given line.

perpendicular

perpendicular3d

bisector

bisector

bisector

bisector3d

intersect

intersection

## Greek: Greek alphabet

The icons in this folder permit Greek letters to be used in expression building. In particular the Greek letter pi, which is
different from the irrational number, can be created noting that it is shown in black whereas the irrational is blue.
NOTE: If you see no letters in this tab, this means your computer does not have the UNICODE font system installed. This
problem does not affect the functionality of the rest of the system.

- 113 -

Action

Keyboard

Code

if...

pr_if

## Carries out an instruction if a condition is met,

otherwise carries out a different instruction.

pr_ifelse

## Accesses a menu which allows insertion or deletion

of else and else_if in control statements
if... .

## Creates a group of expressions that can be used to

define a function, for example.

programming

pr_begin
pr_local

values.

for...

pr_for

while...

pr_while

repeat...

pr_repeat

library

library

## Creates a library. A library is a block of expressions

which is evaluated before each block which comes
after the library and before any other library.

Action

Code
font

on the toolbar.

iconszoom

fontsize

boldstyle

italicstyle

colors

Plotter

- 114 -

Action

Keyboard

Code
logoicon

save

show_axis

axis

space).

grid

## Increases the view 'zoom' (view area) of the

drawing board keeping the centre fixed. That is,
we see less area but with more detail and centred
on the area of interest.

zoomin

## Decreases the view 'zoom' (view area) of the

drawing board keeping the centre fixed. That is,
we see more area but with less detail and centred
on the area of interest.

zoomout

## Drawing board axes are constrained to remain in

the same proportions

aspect_ratio

aspectratio1

blackwhite

## MAGNIFYING GLASS mouse icon: if selected,

when a point is clicked this will zoom in on the
viewing area, and the point clicked will become
the new centre point. That is, we see less area
but with more detail.

actionzoom

## GRAB mouse icon: if selected, this permits the

user to grab plot points and move them. When
we release the point, the view will redraw as a
function of the new point. This is activated by
default.

actionmove

## Add the current code to the session. This

allows retention of the changes made as a
consequence of moving the points when making
new calculations or saving the session.

resetplotcode

## Returns the graph to the original position (prior to

moving the points with the GRAB mouse icon).

recompute

## Refreshes the drawing view. If the 'zoom' has

been decreased and some elements were not
fully drawn, it tries to redraw them.

refresh

- 115 -

## wiris, help materials

If selected, when the mouse is moved over a
figure a label appears showing its name.

information

actionshowname

## If selected, when the mouse the mouse over

a figure, a label appears showing its value.
Example: the value of a point is given by its
coordinates.

actionshowvalue

## If selected, when the mouse the mouse over

a figure, a label appears showing its value.
Example: the value of a point is given by its
coordinates.

actionshowdef

- 116 -

Toolbar

Toolbar
>>fast
Who can configure the toolbar?
Why configure the toolbar?
How do you configure the toolbar?
Example
Who can configure the toolbar?
Anyone can configure the toolbar.
Why configure the toolbar?
By configuring the toolbar, the user can customize WIRIS and thus produce higher quality results. Making changes to the
toolbar has no effect on the mathematical behaviour of the calculator.
For example, you can have a calculator where the only icons on display are those relating to units of measurement (metre,
second, ...) which you want to learn about in a lesson.
How do you configure the toolbar?
Once saved as an HTML page with the WIRIS material to be displayed, the page can be edited and a parameter added
with the name ToolbarDef. The value of this parameter determines the toolbar configuration for this html document.
Example
Suppose you want to add the tabs shown in the image:

To generate these tabs, we have added the following code (in bold) to the html file:

## <applet code="..." codebase="..." width=... height=...>

<PARAM NAME='...' VALUE='...'/>
<PARAM NAME='...' VALUE='...'/>
<param name='ToolbarDef'
value='{Arithmetics}plus minus@{Analysis}integral iintegral
leftlimit rightlimit@'/>
</applet>
- 117 -

limit

## wiris, help materials

Let us see in more detail how each part of the code is compiled:
First tab:{Arithmetics}plus

minus@

Second tab:{Analysis}integral

## iintegral | limit * leftlimit rightlimit@

Note that:
separators can be inserted between symbols using the "|" symbol,
the space for an icon can be reserved using "*",
content can be left justified by entering "@" at the end of the line for that tab.
The codes for the symbols (plus, minus, integral,
are provided in the section, Menus, icons,....

- 118 -

## iintegral, limit, leftlimit, rightlimit,...)

Primary

Primary
What is it?
The WIRIS calculator has a toolbar suitable for primary education.
This toolbar contains an appropriate selection of icons, set at the right level, so that a primary school pupil will feel comfortable
with the symbols displayed.

Besides these icons in the calculator toolbar, there is a keypad on the right hand side with icons for numbers, parentheses,
basic operations (addition, subtraction, multiplication, decimal division, square root, fraction), the decimal point and the
equals sign:

Where is it?
The calculator suitable for primary education can be found in wiris primary.
1 minute
In a work session with the WIRIS calculator various calculations grouped in blocks can be carried out. The calculation
process steps are as follow:
1. An expression be calculated is built to using the keyboard or using the icons associated with the various commands.
2. In each block as many expressions as desired, can be entered. To add a new expression, following the expression
where the cursor is located, use the key Enter (Carriage return).
3. Evaluate an expression or block of expressions by clicking on the icon
4. The result is shown to the right of the original expression and separated by the arrow
To create more elaborate calculations, bear in mind the following points regarding page layout in WIRIS
A block can be added to the session with the icon
When you evaluate (click on the icon

or Ctrl + Enter), all expressions in the active block are calculated. The

results are shown and a new empty block, which becomes the active block, is created below. The cursor appears
in the active block.
The variables and calculations in one block are independent of the variables and calculations in all the other blocks.
- 119 -

## wiris, help materials

To start a new work session, use the icon

## Return to WIRIS to try it out or see the following examples:

Arithmetic operations:

Symbols:

and

and

- 120 -

Primary

Units of measurement:

NOTE 1

Lower case and upper case letters are understood as different characters. Tan is not the same as tan.

NOTE 2

>>fast

- 121 -

## wiris, help materials

Desktop

User interface
The WIRIS desktop is divided into three main sections:
User interface
>>fast
User interface
You can use the menus to carry out the more general tasks. There are four menus, which we do not describe in detail here,
given that they are for common general purpose tasks:

## File: allows us to open, save and print a WIRIS session.

Edit: the standard copy and paste functions as well as undo and redo.
Tools: provides other functions such as customising the application.
Help: the place to access this manual!

User interface
The main window is the data window (called WIRIS CAS), where the user can enter WIRISinstructions and obtain responses.

- 122 -

User interface

When the user requests a graphical image, WIRIS Desktop opens a new window and places it within the group of other
windows currently open, resizing the other windows. The user can adjust the size of each window by moving the window
separators.
The user can launch a number of graphics windows simultaneously, and these can be navigated using the maximize, restore
and minimize buttons.
It is also possible to drag and drop the windows. WIRIS Desktop will easily adjust the size of all windows to they can all
fit in the workspace available.

- 123 -

## wiris, help materials

The graphics windows can be minimized, and then display as a small tab in the lower left hand corner of the screen. The
user can preview or restore any of the tabs by moving the cursor over the relevant tab or by clicking on it respectively.

- 124 -

User interface

- 125 -

## wiris, help materials

Appendix
SYMBOLS

'

transpose (A:Matrix )
A'

-p

a-b

- 126 -

APPENDIX

P-Q

P-v

-P

- 127 -

## wiris, help materials

-r
if r=line(P,v) then -r=line(P,-v).

-s
if s=segment(A,B) then -s=segment(B,A).

n!

factorial (n:ZZ )

- 128 -

APPENDIX

!!

n!!
n, 0<=n<65536 ,

0!!=1!!=1.

"arrow"

"arrow"

"arrow_xy"

"arrow_xy"

- 129 -

"arrow_xy"

"arrow_XY"

"arrow_XY"

"arrow_XY"

"automatic"

"bar"

"bar"

- 130 -

APPENDIX

"bar"

"base_line"

"base_line"

"base_line"

"bisection"

- 131 -

"bisection"

"bisection"

"bottom"

"bottom"

"bottom"

"center"

- 132 -

APPENDIX

"center"

"center"

"definition"

"definition"

- 133 -

## wiris, help materials

"definition"

"divisor"

"divisor"

"free_division_gauss"

- 134 -

APPENDIX

## gaussian_elimination (A:Matrix ,o: )

"free_fraction_gauss"

- 135 -

## gaussian_elimination (A:Matrix ,o: )

"frequency_polygon"

"frequency_polygon"

"frequency_polygon"

"gauss"

- 136 -

APPENDIX

"horizontal"

"horizontal"

"horizontal"

"left"

- 137 -

## wiris, help materials

"left"

"left"

"list"

"list"

"list"

"list_of_equations"

- 138 -

APPENDIX

"list_of_equations"

"list_of_equations"

"minor_expansion"

"Monospaced"

- 139 -

"Monospaced"

"multiple_value"

"multiple_value"

"name"

"name"

- 140 -

APPENDIX

"name"

"newton"

"newton"

"none"

"none"

"none"

- 141 -

## wiris, help materials

"none"

"only_one_solution"

"only_one_solution"

"percentage"

"percentage"

"percentage"

"regula_falsi"

- 142 -

APPENDIX

"regula_falsi"

"relation"

"relation"

"right"

"right"

"right"

- 143 -

## wiris, help materials

"SansSerif"

"SansSerif"

"secant"

"secant"

"sequence"

"sequence"

"sequence_of_equations"

- 144 -

APPENDIX

"sequence_of_equations"

"Serif"

"Serif"

"slice"

"slice"

- 145 -

"slice"

"smart"

"smart"

"smart"

"substitution"

"substitution"

"table"

- 146 -

APPENDIX

"table"

"top"

"top"

"top"

"value"

- 147 -

## wiris, help materials

"value"

"value"

"vector"

"vector"

"vector"

"vector_of_equations"

- 148 -

APPENDIX

"vector_of_equations"

"vertical"

"vertical"

"vertical"

\$\$

i\$\$o

wherei:Identifier ,o:Any

&

- 149 -

a & b

true
true
false

&

true
false

l1

false
false
false

& l2

NOTA:

- 150 -

APPENDIX

ab
a*b

#*P

x1 ,x2 ,,xn
x1 ,x2 ,,xn

- 151 -

## wiris, help materials

li1 ,,in
l.(i1 ,,in )
wherel:List
Table | Rule ,i:NN

Vector

Range

Relation

Divisor

{l1 ,,lm }i1 ,i2 ,...,in ={l1 i2 ,,in ,,lm i2 ,,in }i1
[l1 ,,lm ] i1 ,i2 ,...,in = [l1 i2 ,,in ,,lm i2 ,,in ] i1

- 152 -

APPENDIX

## replace (l:List |Vector ,i1 :ZZ,,in :ZZ,x )

replace ({l1 ,...,li ,...,lm },i,x)={l1 ,...,li-1 ,x,li+1 ,...,lm }
replace ({l1 ,...,li1 ,...,lm },i1 ,...,in ,x)={l1 ,...,li-1 ,replace (li1 ,i2 ,...,in ,x),li1 +1 ,...,lm }

- 153 -

| Range ,x )

Vector

Vector

li
l.i

wherel:List |

- 154 -

APPENDIX

## if n=length(l) & 1<=i<=n

{l1 ,,ln }i =li
[l1 ,,ln ] i =li
(a..b..d)i =a+d*(i-1)
{i1 #v1 ,,in #vn }j =(ij #vj )
[i1 #v1 ,,in #vn ]j =(ij #vj )
{i1 = v1 ,,in = vn }j =(ij =vj )
if i<1 | i>n returns an error.

l{i1 ,,in }
l.{i1 ,,in }
wherel:List
Table | Rule ,i:NN

Vector

Range

Relation

Divisor

## if m=length(l), 1<=ik <=m with k=1,...,n

l{i1 ,...,in } ={li1 ,...,lin } if l={l1 ,...,lm } or l=a..b..d
l{i1 ,...,in } =[li1 ,...,lin ] if l=[l1 ,...,lm ]

- 155 -

## wiris, help materials

l [i1 ,,in ]
l.[i1 ,,in ]
wherel:List
Table | Rule ,i:NN

Vector

Range

Relation

Divisor

## l [i1 ,,in ] =l{i1 ,,in }

la..b..d
l.(a..b..d)
| Rule ,i:NN

wherel:List

Vector

Range

Relation

Divisor

Table

l : not Range
la..b..d =l [a..b..d]
l : Range
si l=#..#..# then la..b..d =(#+(a-1)*#)..(#+(b-1)*#)..(d*#) where 1<=a<=length(l), 1<=b<=length(l).
[la..b..d ] = [l] a..b..d .

- 156 -

APPENDIX

l.i1 .....in
wherel:List
Table | Rule ,i:NN

Vector

Range

Relation

Divisor

{l1 ,,lm }.i1 .i2 .....in ={l1 .i2 .....in ,,lm .i2 .....in }.i1
[l1 ,,lm ].i1 .i2 .....in =[l1 .i2 .....in ,,lm .i2 .....in )].i1

D(x)=y

Pn
Icon
P.n

- 157 -

P1
P2
Icon
P.1
P.2

R(x)=y

s.1
s.2

- 158 -

APPENDIX

T(x)=y

..

a..b
a..b..d

a/b

- 159 -

## wherel1 :List ,l2 :List

complement (l1 :List |Vector ,l2 :List |Vector )
l1 /l2

Icon
P/#

//

quotient (a:ZZ,b:ZZ )
quo (a:ZZ,b:ZZ )
a//b

- 160 -

APPENDIX

## quotient (p1 :Polynomial ,p2 :Polynomial )

quo (p1 :Polynomial ,p2 :Polynomial )
p1 //p2

o:D

:=

v:=x

- 161 -

## wiris, help materials

v:=x

identifier():=

identifier(A)[check

C]:=B

identifier(:):=

- 162 -

APPENDIX

:=>

{p1 1

o1 ,,pn n

on }

b?

- 163 -

P==Q ?
Icon

Icon
[x1 ,,xn ]

[a..b..d]

[x

with

i1 ,,in

in

r1 ,,rn ]

- 164 -

APPENDIX

[x

with

i1 ,,in

in

r1 ,,rn

where

p]

\\

e\\r

^

{x1 ,,xn }

- 165 -

{x

with

i1 ,,in

in

r1 ,,rn }

{x

with

i1 ,,in

in

r1 ,,rn

where

p}

a | b

true
true
true

true
false

r1

false
true
false

| r2

- 166 -

APPENDIX

t|x

x|t

|?

|?

a+b

- 167 -

P+Q

P+v

v=x

- 168 -

APPENDIX

-->

Icon
A [check

C]--> B

ab
a*b

- 169 -

a

absolute

|r|

absolute (r:RR )

acos

asin (x:RR )
acos (x:RR )
atan (x:RR )

acosec

- 170 -

APPENDIX

asec (x:RR )
acosec (x:RR )
acotan (x:RR )

acosh

asinh (x:RR )
acosh (x:RR )
atanh (x:RR )

acotan

asec (x:RR )
acosec (x:RR )
acotan (x:RR )

- 171 -

## wiris, help materials

all_variables

all_variables (f:Fraction )

all_variables (p:Polynomial )

amplitude

- 172 -

APPENDIX

amplitude (a:Arc )

angle
angle ()
if geometry_status =2 then angle =angle2d else angle =angle3d end

angle2d

angle2d (c:Conic )

- 173 -

## angle2d (A:Point2d ,B:Point2d ,C:Point2d )

angle2d (r:Line )

## angle2d (T:Triangle ,i:ZZ )

angle ()
if geometry_status =2 then angle =angle2d else angle =angle3d end
angle3d
angle3d (r:Line ,p:Plane )
angle3d(r,p)=angle3d(p,r)

## angle3d (p:Plane ,s:Segment )

angle3d(p,s)=angle3d(p,line(s))

- 174 -

APPENDIX

## angle3d (s:Segment ,p:Plane )

angle3d(s,p)=angle3d(p,s)

- 175 -

## angle3d (T:Triangle ,i:ZZ )

angle ()
if geometry_status =2 then angle =angle2d else angle =angle3d end
annihilating_polynomial

## annihilating_polynomial (r:Irrational ,t:Identifier )

Any

Any

apolonius_hyperbola

- 176 -

APPENDIX

append

## append (l:List |Vector ,x )

append ({l1 ,...,ln },x)={l1 ,...,ln ,x} append ([l1 ,...,ln ],x)=[l1 ,...,ln ,x] where 1<=i<=length(l)+1

arc

- 177 -

Arc

Arc

## area attributes2d attributes3d belongs? center circumference initial_angle

midpoint closest_point2d closest_point3d oriented_area perimeter plot

- 178 -

APPENDIX

area

area (a:Arc )

area (c:Circumference )

area (c:Ellipse )

area (T:Triangle )

- 179 -

## wiris, help materials

area (pol:Polyhedra )

argument

argument (c:CC )

## argument (A:Point ,B:Point )

argument (v:Vector )

arguments

- 180 -

APPENDIX

arguments (f )

arithmetic

arithmetic

arithmetic?

arithmetic? (p:Progression )

asec

- 181 -

## wiris, help materials

asec (x:RR )
acosec (x:RR )
acotan (x:RR )

asin

asin (x:RR )
acos (x:RR )
atan (x:RR )

asinh

asinh (x:RR )
acosh (x:RR )
atanh (x:RR )

aspect_ratio
aspect_ratio
This defines the height to width ratio (aspect ratio) for the drawing board.
Possible values : any positive Real number.
Default value : 1

- 182 -

APPENDIX

plotter , plotter

asymptote

asymptote

atan

asin (x:RR )
acos (x:RR )
atan (x:RR )

atanh

asinh (x:RR )
acosh (x:RR )
atanh (x:RR )

attributes
attributes ()
if geometry_status =2 then attributes =attributes2d else attributes =attributes3d
end

attributes_for_all

- 183 -

## wiris, help materials

attributes_for_all ()
if geometry_status
=2 then attributes_for_all
else attributes_for_all =attributes_for_all3d end

=attributes_for_all2d

attributes_for_all2d

attributes_for_all2d (o: )

## attributes_for_all2d (t:Plotter ,o: )

attributes_for_all ()
if geometry_status
=2 then attributes_for_all
else attributes_for_all =attributes_for_all3d end

=attributes_for_all2d

attributes_for_all3d

attributes_for_all3d (o: )

## attributes_for_all3d (t:Plotter ,o: )

attributes_for_all ()
if geometry_status
=2 then attributes_for_all
else attributes_for_all =attributes_for_all3d end

=attributes_for_all2d

attributes2d

- 184 -

APPENDIX

## attributes2d (t:Plotter ,x... )

attributes2d (o: )

## attributes2d (t:Plotter ,x... )

attributes ()
if geometry_status =2 then attributes =attributes2d else attributes =attributes3d
end

attributes3d

## attributes3d (t:Plotter ,x... )

attributes3d ()

attributes3d (d:Plotter )
attributes ()
if geometry_status =2 then attributes =attributes2d else attributes =attributes3d
end

automatic

- 185 -

## wiris, help materials

automatic

auxiliar_central_symmetry_axis

auxiliar_central_symmetry_axis

axis

axis (c:Conic )

axis_color
axis_color
If the value for show_axis is true, this command indicates the colour of the axes.
Possible values : any Color , in {r,g,b} format, or by name if it has been defined.
Default value : {150,150,255} (light blue)

- 186 -

APPENDIX

axis_color
If the value for show_axis is true, this command indicates the colour of the axes.
Possible values : any Color , in {r,g,b} format, or by name if it has been defined.
Default value : {150,150,255} (light blue)

## plotter , options plotter3d , plotter , plotter3d

axis_font

axis_font

axis_font
This defines the font to be used when writing the text and values associated with the axes.
Possible values : any object of type Font .
Default value : {bold =false ,italic =false ,name ="SansSerif",size =10}

plotter , plotter

axis_label

axis_label

axis_label
This defines the coordinate axis names. The first component in the list names the abscissa axis, and the second names
the ordinate axis.
Possible values : any List of two components.
Default value : {,} (an Empty_list of two elements).

plotter , plotter

axis_style

- 187 -

## wiris, help materials

axis_style

axis_style

axis_style
This defines how the coordinate axes will be displayed: as two perpendicular lines or as a pair of arrows, one
perpendicular to the other. Additionally, in the second case, the abscissa axis can be identified by x or by X and the
ordinate axis can be defined by y or by Y .
Possible values : "none", "arrow", "arrow_xy", "arrow_XY". "none" , "arrow" , "arrow_xy" and

"arrow_XY"
Default value : "none"

plotter , plotter

- 188 -

APPENDIX
b

background

background

background
This indicates whether or not the background of the object being represented should be painted.
Possible values : true, false. true and false
Default value : false

write , text_box

background_color
background_color
If the value for background is true, this indicates the colour to paint the background of the object being
represented.
Possible values : any Color , in {r,g,b} format, or by name if it has been defined.
Default value : {255,255,255} (white)

background_color
Sets the background colour of the drawing board.
Possible values : any Color , in {r,g,b} format, or by name if it has been defined.
Default value : {255,255,240} (cream)

background_color
Sets the background colour of the drawing board.
Possible values : any Color , in {r,g,b} format, or by name if it has been defined.
Default value : {255,255,240}(cream)

text_box

barycenter

- 189 -

## barycenter (A1 :Point ,,An :Point )

.

barycenter (T:Triangle )
barycenter (T)=barycenter (T1 ,T2 ,T3 )

## barycenter (P:Poygonal |Poygon )

b:=barycenter(polygon(p1 ,p2 ,...,pn ))=barycenter(p1 ,p2 ,...,pn )
b:=barycenter(polygonal(p1 ,p2 ,...,pn ))=barycenter(p1 ,p2 ,...,pn )

base

- 190 -

APPENDIX

base (k:Extension )

base_change

base_change (n:ZZ,b:ZZ )

belongs?

belongs? (x,l )

- 191 -

- 192 -

APPENDIX

## belongs? (A:Point ,a:Arc )

belongs_to_domain?

belongs_to_domain? (a,f,x:Identifier )

- 193 -

## wiris, help materials

bernouilli_number

bernouilli_number (n:Natural )

bernouilli_numbers

bernouilli_numbers (n:Natural )

bezout

bezout (a:ZZ,b:ZZ )

- 194 -

APPENDIX

## bezout (p:Polynomial ,q:Polynomial ,r:Polynomial )

binomial

Icon

combinations (n:ZZ,k:ZZ )

Icon

binomial (n:ZZ )

bisector

- 195 -

- 196 -

APPENDIX

bit

black

black

black
black ={0,0,0}
blue
- 197 -

## wiris, help materials

blue

blue
blue ={0,0,255}
bold
bold
Possible values : true or false
Default value : false

bold_font
bold_font
This defines whether or not the text on the drawing board should be bold.
Possible values : true, false. true and false
Default value : false

write , text_box

Boolean

Boolean

## ==, <, >, <=, >= or !=

border

- 198 -

APPENDIX

border

border
This defines whether or not the border of closed figures is painted.
Possible values : true, false. true and false
Default value : true

border
This defines whether or not a border will be applied around the displayed object, and in the former case it defines the
border thickness.
Possible values : any non-negative Integer integer.
Default value : 0

border
This defines whether the border of closed figures is painted.
Possible values : true, false. true and false
Default value : true

## plot , options plot3d , options write , plot , plot3d , text_box

border_color

border_color

border_color
If the value for border is a positive Integer , the value defines the border colour.
Possible values : any Color , in {r,g,b} format, or by name if it has been defined.
Default value : {0,0,0} (black)

write , text_box

- 199 -

## wiris, help materials

box

box

box_border

box_border

boxplot

boxplot (VA:Statistics_data )

brown

brown

brown
brown ={180,60,0}

- 200 -

APPENDIX
c

canonic_vector

canonic_vector (n:ZZ,k:ZZ )

cardinal

cardinal (A )

Cartesian_curve

Cartesian_curve

## point polygon polygonal polygonals range variables

Cartesian_surface

- 201 -

## wiris, help materials

Cartesian_surface

category

category (p:Progression )

ceil

ceil (r:RR )

- 202 -

APPENDIX

ceil (c:CC )

center

center (a:Arc )

center (c:Circumference )

## center (c:Ellipse |Hyperbola )

center
Sets the centre point of the drawing board.
Possible values : any Point .
Default value : point (0,0)

- 203 -

## wiris, help materials

center
Sets the centre point of the drawing board.
Possible values : any Point .
Default value : point (0,0,0)

## plotter , options plotter3d , plotter , plotter3d

Centered_conic

Centered_conic
Ellipse or Hyperbola

central_moment

## central_moment (k:ZZ,X:Statistics_data ) mk =1/n(xi -)k

central_symmetry

central_symmetry

cfr

- 204 -

APPENDIX

cfr (... )
circumference (... )

characteristic

characteristic (R:Ring )

characteristic_matrix

characteristic_matrix (A:Matrix ,t )

characteristic_polynomial

characteristic_polynomial (A:Matrix )
characteristic_polynomial (A:Matrix ,x:Any )

- 205 -

## characteristic_polynomial (A:Matrix ,o: )

characteristic_polynomial (A:Matrix ,x:Any ,o: )

check

identifier(A)[check

C]:=B

chinese_theorem

## chinese_theorem (a,b,m1 ,m2 )

chinese_theorem_coefficients

- 206 -

APPENDIX

circumcenter

## circumcenter (A:Point ,B:Point ,C:Point )

circumcenter (T:Triangle )
circumcenter (T)=circumcenter (T1 ,T2 ,T3 )
circumference

cfr (... )
circumference (... )

- 207 -

## circumference (A:Point ,B:Point ,C:Point )

circumference (p:Polynomial )

circumference (a:Arc )

Circumference

Circumference

## arc area attributes3d belongs? center compass distance equation external?

internal? inversion matrix closest_point2d closest_point3d perimeter plot

- 208 -

APPENDIX

## plot2d plot3d point position power radical_axle

tangent_line tangent_lines tangent_points

tangent_axle

## circumradius (A:Point ,B:Point ,C:Point )

clear

clear

v1 ,,vn

closest_point
closest_point ()
if geometry_status =2 then closest_point =closest_point2d else_if geometry_status
=3 then closest_point =closest_point3d end

closest_point2d

- 209 -

## closest_point2d (f:Plotable2d ,p:Point )

closest_point ()
if geometry_status =2 then closest_point =closest_point2d else_if geometry_status
=3 then closest_point =closest_point3d end
closest_point3d

## closest_point3d (f:Plotable3d ,p:Point )

closest_point ()
if geometry_status =2 then closest_point =closest_point2d else_if geometry_status
=3 then closest_point =closest_point3d end

- 210 -

APPENDIX

coefficient
coefficient (s:Series ,n:Natural )

coefficient (x:Quantity )

coefficient_domain

coefficient_domain (p:Polynomial )

coefficient_of_variation

- 211 -

## wiris, help materials

coefficient_of_variation (X:Statistics_data )

coefficient_si

coefficient_si (x:Quantity )

coefficients

coefficients (p:Polynomial )
coefficients (p:Polynomial ,x:Identifier )

colinear?

- 212 -

APPENDIX

collect

- 213 -

## collect (f:Fraction ,l:List )

color
color
Here, enter the colour to be used for drawing.
Possible values : lists of three integers between 0 and 255 in '{r,g,b}' form, where r,g,b correspond to the amount of r
ed, g reen and b lue, which define the colour. For simplicity, some colours have been defined: black, white, red, green
black , white , red , green , blue , cyan , magenta , yellow , brown , orange , pink ,
grey , dark_grey , light_grey and the complete list of HTML colours .
Default value : black

color
Here, enter the colour that should be used for drawing.
Possible values : list of three integers between 0 and 255 in '{r,g,b}' form, where r,g,b corespond to the amount of r
ed, g reen and b lue, which define the colour. For simplicity, some colours have been defined: black, white, red, green
black , white , red , green , blue , cyan , magenta , yellow , brown , orange , pink ,
grey , dark_grey , light_grey and the complete list of HTML colours .
Default value : black

## plot , options plot3d , plot , plot3d

Color
More information on axis_color , background_color , border_color , cube_color , fill_color , grid_color

Color

Color

- 214 -

APPENDIX
white

white ={255,255,255}
black

black ={0,0,0}
red

red ={255,0,0}
green

green ={0,255,0}
blue

blue ={0,0,255}
cyan

cyan ={0,255,255}
magenta

magenta ={255,0,255}
yellow

yellow ={255,255,0}
brown

brown ={180,60,0}
orange

orange ={255,200,0}
pink

pink ={255,175,175}
grey

grey ={128,128,128}

- 215 -

## wiris, help materials

dark_grey

dark_grey ={192,192,192}
light_grey

light_grey ={64,64,64}

column

## column (A:Matrix ,l:ZZ |List |Vector |Range )

combinations

Icon

combinations (n:ZZ,k:ZZ )

- 216 -

APPENDIX

Icon

## combinations (L:List |Vector ,k:ZZ )

combinations_with_repetition

Icon

combinations_with_repetition (n:ZZ,k:ZZ )

Icon

compare

- 217 -

compass

complement

- 218 -

APPENDIX

## wherel1 :List ,l2 :List

complement (l1 :List |Vector ,l2 :List |Vector )
l1 /l2

Complex

CC

Complex

complex_variable_name

complex_variable_name (id:Identifier )
complex_variable_name ()

components

- 219 -

## components (b:Element (Ring ),B:Ring )

components (b:Element (Ring ) )

composition

## composition (p:Permutation ,q:Permutation )

conic

- 220 -

APPENDIX

conic (M:Matrix )

conic (p:Polynomial )

conic (P1 :Point ,P2 :Point ,P3 :Point ,P4 :Point ,P5 :Point )

Conic

Conic
Centered_conic or Non_centered_conic

- 221 -

## angle2d apolonius_hyperbola attributes3d axis belongs? eccentricity

equation focal_semidistance matrix closest_point2d closest_point3d plot
plot2d
plot3d
polar
polo
position
semimajor_axis
semiminor_axis
tangent_lines
conjugate

conjugate (c:CC )

conjugate (p:Polynomial )

conjugates

conjugates (c:CC )

- 222 -

APPENDIX

## conjugates (x:Element (Field ),K:Field )

conjugates (x:Element (Field ) )

constant_list

constant_list (n:ZZ,x )

constant_matrix

constant_matrix (n:ZZ,x )

constant_matrix (m:ZZ,n:ZZ,x )

constant_sequence

- 223 -

## wiris, help materials

constant_sequence (n:ZZ,x )

constant_vector

constant_vector (n:ZZ,x )

constrained_maximum

## constrained_maximum (f:Function ,l:List )

constrained_minimum (f:Function ,l:List )

constrained_minimum

## constrained_maximum (f:Function ,l:List )

constrained_minimum (f:Function ,l:List )

content

- 224 -

APPENDIX

content (p:Polynomial )

content_and_primitive_part

content_and_primitive_part (p:Polynomial )

convergent?

## convergent? (e:Expression ,x:Variable )

conversion_factor

conversion_factor (u:Unit )

- 225 -

## conversion_factor (u:Unit ,u':Unit )

convert

convert (x:Quantity )

## convert (x:Quantity ,u:Unit )

coplanars?

coplanars? (L:List )

- 226 -

APPENDIX

correlation

correlation (M:Multisample )

correlation_n

cos

- 227 -

## wiris, help materials

sin (x:RR )
cos (x:RR )
tan (x:RR )

cosec

sec (x:RR )
cosec (x:RR )
cotan (x:RR )

cosh

sinh (x:RR )
cosh (x:RR )
tanh (x:RR )

cotan

- 228 -

APPENDIX

sec (x:RR )
cosec (x:RR )
cotan (x:RR )

count_element

count_element (l,x )

## count_element (l:List |Vector )

count_multiplicities

- 229 -

## factor (p:Polynomial ,O: )

factor (p:Polynomial ,A:Ring ,O: )

covariance

## covariance (X:List_sample ,Y:List_sample ) 1/(n-1)(xi -)*(yi -)

covariance (M:Multisample )

cube
cube
cube()=cube(1)

- 230 -

APPENDIX

## cube (p:Point ,c:Real )

cube (c:Real )
cube(c)=cube(point(0,0,0),c)

cube_color
cube_color
Sets the colour of the cube.
Possible values : any Color , in {r,g,b} format, or by name if it has been defined.
Default value : {150,150,255} (light blue)

plotter3d , plotter3d

curve
curve ()
if geometry_status =2 then curve =curve2d else curve =curve3d end
Curve

- 231 -

Curve

## attributes3d expression closest_point2d closest_point3d plot plot2d plot3d

point polygon polygonal polygonals range variables
curve2d
curve ()
if geometry_status =2 then curve =curve2d else curve =curve3d end

- 232 -

APPENDIX

Curve2d

Curve2d

curve3d

- 233 -

## wiris, help materials

curve3d

curve ()
if geometry_status =2 then curve =curve2d else curve =curve3d end
Curve3d

Curve3d

cyan

cyan

cyan
cyan ={0,255,255}
cycles_representation

- 234 -

APPENDIX

cycles_representation (p:Permutation )

- 235 -

## wiris, help materials

d

dark_grey

dark_grey

dark grey
dark_grey ={192,192,192}
decimal

decimal (r:RR )

decimal (c:CC )

default

- 236 -

APPENDIX

default (f:Function )

default_plotter
default_plotter ()
if geometry_status =2 then default_plotter =default_plotter2d else default_plotter
=default_plotter3d end
default_plotter2d
default_plotter ()
if geometry_status =2 then default_plotter =default_plotter2d else default_plotter
=default_plotter3d end

default_plotter2d ()

default_plotter2d (d:Plotter )
default_plotter3d
default_plotter ()
if geometry_status =2 then default_plotter =default_plotter2d else default_plotter
=default_plotter3d end

default_plotter3d ()

default_plotter3d (d:Plotter )
definition

- 237 -

## wiris, help materials

definition (f:Identifier )

degree

degree (p:Polynomial )

## degree (p:Polynomial ,i:ZZ )

degree (p:Polynomial ,x:Identifier )

degree (f:Fraction )
degree (f:Fraction ,t:Identifier )

degree (u:Unit )

- 238 -

APPENDIX

degrees_minutes_seconds

degrees_minutes_seconds (x:Quantity )

den

denominator (q:QQ )
den (q:QQ )

denominator (f:Fraction )
den (f:Fraction )

denominator

denominator (q:QQ )
den (q:QQ )

- 239 -

## wiris, help materials

denominator (f:Fraction )
den (f:Fraction )

dense_coefficient_list

dense_coefficient_list (p:Polynomial )

depend

depend (o )

depth
depth
Sets the depth of the drawing board.
Possible values : any positive Real number.
Default value : 21

plotter3d , plotter3d

determinant

- 240 -

APPENDIX

|A|
Icon

determinant (A:Matrix )

diagonal_matrix

- 241 -

## wiris, help materials

diagonal_matrix (n:ZZ,x )

diagram

## diagram (L:List |Divisor )

differentiate

df/dx
Icon

differentiate (f,x:Identifier )

differentiate (f )

## differentiate (f,x:Identifier ,n:ZZ )

differentiate (f,n:ZZ )

- 242 -

APPENDIX

dimensionless_unit

dimensionless_unit

dimensions

dimensions (A:Matrix )

directrix
directrix (p:Parabola )

discontinuities

- 243 -

## wiris, help materials

discontinuities (f,x:Identifier )
discontinuities (f )

## discontinuities (f,x:Identifier ,v:Vector )

discontinuities (f,v:Vector )

distance

## distance (A:Point ,B:Point )

- 244 -

APPENDIX

distribution

distribution (V:Vector )

diverse_results_as

diverse_results_as

divisor

Divisor

- 245 -

Divisor

## index_erase position select support

divisors

divisors (n:ZZ )

divisors (n:ZZ,b:Boolean )

divisors_mu_moebius

divisors_mu_moebius (n:ZZ )

do

- 246 -

APPENDIX

while...: Icon

, sentence

while B do A end
Carry out the instructions in A if the following condition is met B .

for...: Icon

, sentence

for R do A end
Carry out the instructions in A over the range R .

dodecahedron
dodecahedron
dodecahedron()=dodecahedron(1)

- 247 -

## wiris, help materials

dodecahedron (c:Real )

domain

domain (f,x:Identifier )

domain (f )

domain (r:Relation )

- 248 -

APPENDIX

domain (t:Table )

Domain

Domain

drop

- 249 -

## drop (p:Polygonal |Polygon )

- 250 -

APPENDIX
e

e_

Icon

e_

E_

Icon

E_

eccentricity

eccentricity (C:Conic )

eigenvalues

eigenvalues (A:Matrix )

- 251 -

## wiris, help materials

eigenvalues_and_vectors

eigenvalues_and_vectors (M:Matrix )

eigenvectors

eigenvectors (A:Matrix )

element

element (i:ZZ,R:Ring )

element (i:ZZ,A:Zn )

Element

- 252 -

APPENDIX

Element

## conjugates evaluate field find_one find_zero frobenius gcd index integer

inverse invertible? lcm minimum_polynomial norm one? order residue? ring
root roots sqrt square_roots trace zero?
element_of_order

elements

elements

- 253 -

ellipse

Ellipse

- 254 -

APPENDIX

Ellipse

## area attributes3d center focus closest_point2d closest_point3d plot plot2d

plot3d point
else

if...: Icon

or

, sentence

if B then A end
if B then A else A2 end
if B then A else_if B2 then A2 else A3 end
Carry out the instructions in A if the following condition is met B . If the condition is not met and there is an else
statement, then the instructions below are carried out A2 . It is also possible to have multiple conditions and various
groups of instructions by inserting conditional else_if statements from the programming tab menu.

else_if

if...: Icon

or

, sentence

if B then A end

- 255 -

## if B then A else A2 end

if B then A else_if B2 then A2 else A3 end
Carry out the instructions in A if the following condition is met B . If the condition is not met and there is an else
statement, then the instructions below are carried out A2 . It is also possible to have multiple conditions and various
groups of instructions by inserting conditional else_if statements from the programming tab menu.

Empty

Empty

empty_divisor

- 256 -

APPENDIX

empty_divisor

Empty_list

Empty_list

empty_relation

empty_relation

empty_table

empty_table
empty_table (x)=null .

end

- 257 -

## wiris, help materials

while...: Icon

, sentence

while B do A end
Carry out the instructions in A if the following condition is met B .

for...: Icon

, sentence

for R do A end
Carry out the instructions in A over the range R .

if...: Icon

or

, sentence

if B then A end
if B then A else A2 end
if B then A else_if B2 then A2 else A3 end
Carry out the instructions in A if the following condition is met B . If the condition is not met and there is an else
statement, then the instructions below are carried out A2 . It is also possible to have multiple conditions and various
groups of instructions by inserting conditional else_if statements from the programming tab menu.

- 258 -

APPENDIX

equation

## equation (r:Line ,{x:Variable

, y:Variable }:List )

equation (r:Line )

- 259 -

## wiris, help materials

equation (c:Circumference )

## , y:Variable , z:Variable }:List )

equation (p:Plane )
xyz

Equation

- 260 -

APPENDIX

Equation

attributes2d attributes3d
plot3d plot3d

closest_point2d

closest_point3d

plot

plot2d

equation_vector

equation_vector (r:Line )

equilateral?

equilateral? (T:Triangle3d )

equilateral? (T:Triangle )

equilateral_triangle

- 261 -

## equilateral_triangle (O:Point ,r:RR )

equilateral_triangle (s:Segment )

erase

- 262 -

APPENDIX

erase (l )
erase (l)=l

## erase (l:List |Vector ,i1 ,,in )

erase (l,i:ZZ )
erase (l,i)=lrange

(l)/{i}

## erase (l,v:List |Vector |Range )

erase (l,i)=lrange

(l)/v

- 263 -

evaluate

## evaluate (p:Polynomial ,{x1 #a1 ,,xn #an } )

evaluate (p:Polynomial ,{x1 =>a1 ,,xn =>an } )

- 264 -

APPENDIX

## evaluate (f:Fraction ,{x1 #a1 ,,xn #an } )

evaluate (f:Fraction ,{x1 #a1 ,,xn #an } )

## evaluate (f:Fraction ,{a1 ,,an } )

evaluate
This command defines whether the element should be evaluated when drawing or not.
Possible values : true, false. true and false
Default value : false

evaluate
This command defines whether the element should be evaluated when drawing or not.
Possible values : true, false. true and false
Default value : false

## plot , options plot3d , plot , plot3d

exact_computations

- 265 -

## hessenberg_reduction (A:Matrix ,o: )

exp

exp (x:RR )

expand

expand (p:Polynomial )

expand (f:Fraction )

expansion_point

- 266 -

APPENDIX

expansion_point (s:Series )

expression

## expression (c:Curve |Polar_curve )

expression (t:String )

Expression

Expression

extended_gcd

- 267 -

## extended_gcd (p:Polynomial ,q:Polynomial )

extended_quartile

extended_quartile (VA:Statistics_data )

extension

- 268 -

APPENDIX

## extension (A:Ring ,x:Identifier ,f:Polynomial )

extension (A:Ring ,f:Polynomial )
extension (A:Ring ,x:Identifier ,f:Polynomial ,b:Boolean )

Extension

Extension

base
inverse
polynomial
total_degree tower

precedent

relative_degree

subextension?

exterior_bisector

- 269 -

external?

## external? (T:Triangle ,P:Point )

- 270 -

APPENDIX
f

factor

factor (n:ZZ )

factor (p:Polynomial )
factor (p:Polynomial ,A:Ring )

## factor (p:Polynomial ,K:Field )

factor (p:Polynomial )

- 271 -

## factor (p:Polynomial ,O: )

factor (p:Polynomial ,A:Ring ,O: )

factor (p:Polynomial ,a )

factor_in_square_free

- 272 -

APPENDIX

## factor_in_square_free (p:Polynomial ,R:Ring )

factor_in_square_free (p:Polynomial )

factor_in_square_free_multiplicity

## factor_in_square_free_multiplicity (p:Polynomial ,R:Ring )

factor_in_square_free_multiplicity (p:Polynomial )

factorial

n!

factorial (n:ZZ )

- 273 -

## wiris, help materials

factorial (n:ZZ,k:ZZ )

false

false

More information on background , bold , bold_font , border , evaluate , fill , fixed_dimensions , italic , italic_font , mobile ,
show_axis , show_cube , show_grid , show_label , visible , wired

fibonacci

fibonacci (n:ZZ )

field

## field (a:Element (Field ) )

- 274 -

APPENDIX

Field

Field

factor
field
finite_field
frobenius
gcd
irreducible?
irreducible_polynomial irreducible_polynomials lcm minimum_polynomial
norm number_of_irreducible_polynomials order primitive_element residue?
root roots square_roots trace
field?

field? (A )

figure

figure (f:Function )

Figure

- 275 -

## wiris, help materials

Figure

figure2d

figure2d (f:Function )

Figure2d

- 276 -

APPENDIX

Figure2d
Point , Line , Circumference , Arc , Segment , Triangle , Polygonal or Conic

figure3d

figure3d (f:Function )

Figure3d

Figure3d
Point3d , Line3d , Plane3d , Polygonal3d , Polyhedra3d , Quadric3d or Segment3d

fill
fill
In the case of a closed figure, the command determines whether the interior is filled.
Possible values : true, false. true and false
Default value : false

- 277 -

## wiris, help materials

fill
In the case of a closed figure, the command determines whether the interior is filled.
Possible values : true, false, "automatic". true , false and "automatic"
Default value : "automatic"

## plot , options plot3d , plot , plot3d

fill_color
fill_color
If working with a closed figure, and if the value defined for fill is true, this command indicates the colour to be used
to paint the inside of the figures.
Possible values : A Color and "automatic" ; if the second option is chosen, the inside of the figure is filled
using the colour given by the colour option color.color
Default value : "automatic"

fill_color
If working with a closed figure, and if the value defined for fill is true, this command indicates the colour that
should be used to paint the inside of the figures.
Possible values : A Color and "automatic" ; if the second option is chosen, the inside of the figure is filled
using the colour given by the colour option colorcolor
Default value : "automatic"

## plot , options plot3d , plot , plot3d

find_one

find_one (A:Ring )
find_one (a:Element (Ring ) )

find_zero

- 278 -

APPENDIX

find_zero (A:Ring )
find_zero (a:Element (Ring ) )

finite?

finite? (A:Ring )

finite_field

finite_field (n:ZZ,x:Identifier )
finite_field (n:ZZ )

## finite_field (K:Field ,n:ZZ,x:Identifier )

finite_field (K:Field ,n:ZZ )

- 279 -

## wiris, help materials

Finite_set

Finite_set

first_vertex

first_vertex (s:Segment )

fixed_dimensions
fixed_dimensions
This defines whether or not objects must be repositioned in the plane, when the drawing board dimensions are
changed. By default, they are repositioned.
Possible values : true, false. true and false
Default value : false

plot , plot

Float

- 280 -

APPENDIX

Float

floor

floor (r:RR )

floor (c:CC )

focal_semidistance

- 281 -

## wiris, help materials

focal_semidistance (c:Conic )

focus
focus (p:Parabola )

## focus (c:Ellipse |Hyperbola |Centered_conic )

font
italic
Possible values : true or false
Default value : false

size
Possible values :
Default value : 12

- 282 -

APPENDIX

name
Possible values : "Serif" , "SansSerif" or "Monospaced"
Default value : "SansSerif"

bold
Possible values : true or false
Default value : false

More information on font , font , font , font , font , font , font , font

Font

font

font
The main options for the font command are

italic
Possible values : true or false
Default value : false

bold
Possible values : true or false
Default value : false

size
Possible values :
Default value : 12

name
Possible values : "Serif" , "SansSerif" or "Monospaced"
Default value : "SansSerif"

font_name

- 283 -

## wiris, help materials

font_name

font_name
This indicates the name of the font type used.
Possible values : "Serif", "SansSerif", "Monospaced". "Serif" , "SansSerif" and "Monospaced"
Default value : "SansSerif"

write , text_box

font_size
font_size
This indicates the size of the font type used.
Possible values : any positive Integer .
Default value : 12

write , text_box

for

- 284 -

APPENDIX

for...: Icon

, sentence

for R do A end
Carry out the instructions in A over the range R .

Fraction

Fraction
Icon

collect degree den den denominator denominator evaluate expand gcd lcm num
num numerator numerator simple_fractions variable variables
Frequency_sample

Frequency_sample

Frequency_sample_of

- 285 -

## wiris, help materials

Frequency_sample_of

frobenius
frobenius (a:Element (Field ) )
p
a , p=characteristic (K) , K=field (a)

frobenius (K:Field )
frobenius (cardinal (K))

function

## function (E:Expression ,x:Identifier )

Function

Functions
One of the most valuable capabilities of WIRIS is that it allows us to define new functions in such a way that these
functions are treated the same way as those already built into WIRIS . The arguments to these functions can be any
mathematical object.

- 286 -

APPENDIX
In this section we will learn how functions are defined and how they are used. We will also study the various functions of
real variables which are of fundamental importance in mathematics, and which WIRIS already has built in.
Defining functions
To define functions, use the symbol := , created using the keyboard or the icon
. To the left of this symbol we enter
the name of the function followed by the list of function arguments in parentheses. To the right we enter the body of the
function. That is, we enter the operations that need to be carried out on the arguments.
A function can have as many arguments as we like, or none. The body of the function can use other functions previously
defined. To use the function with specific arguments, enter the function name followed by the arguments in parentheses,
separated by commas. (This structure is referred to as a Sequence ).
If you attempt to use a function that has not been defined, no calculation is carried out.

The function f in the example above takes one argument. However, as we have already stated, the number of arguments
can be any non-negative number. Furthermore, the same function can have different definitions depending on the number
of arguments passed to it.

A function can also have more than one definition depending on the domain of its arguments. In the definition of a function,
to specify the domain of one of its arguments, enter the argument followed by the character : and the name of the
domain. It is also possible to define a function for a specific object. The following examples illustrate all these options. Note
that the command definition applied to a function, gives us the definitions of that function.

- 287 -

## wiris, help materials

A useful command to define a function, which is evaluated one way with certain elements in its domain of application but
in another way for a different subset of the domain is the command check . Write it between the function arguments
and the symbol := in the form check<condicin>, where <condicin> is a boolean expression (that is, it is an
expression that can always be evaluated as true or false ) constructed from function arguments. In this way it is
possible to define discontinuous functions that cannot be converted into analytical elements (they can be evaluated but
limits, derivatives and integrals cannot be calculated).

check

<condicin>

The names we can give to functions are of the same form as those that can be used with variables.
Functions, like any object in WIRIS are entities independent of the names given to them. For example, the function that
returns the square of a number and then adds 1 can be understood as a function in its own right. Nonetheless, it is helpful
to give it a name for convenience. A function, which does not have a name assigned to it, is called an anonymous function.
Anonymous functions are defined using the icon
, which is equivalent to --> entering their arguments between
parentheses to the left of the symbol --> and the body of the function to the right of this symbol. Note that the command
definition , as seen in previous examples, returns a list of anonymous functions.

If a function has been defined, and we wish to delete it, apply the command clear

- 288 -

APPENDIX
Real functions
Here, we will discuss some of the predefined real functions in WIRIS that correspond to basic mathematical functions.

## , command sqrt or square_root

Calculates the square root of the argument. Another way to calculate the square root of a number is to raise it to the 12.
The sqrtssquare_roots command calculates all the square roots of a real number.

## 1/2 command sqrts or square_roots

root: Icon

, command root

Calculates the n th root of x , where x is the first argument (the one in the main box if the icon was used) and n is
the second (the one in the upper box). As in the previous case, the calculation of the n th root is equivalent to raising
x to 1/n . The command roots calculates all the complex (or real) roots of a real number.

trigonometry:

- 289 -

## wiris, help materials

The trigonometric functions are as follow:, sin, cos, tan, cosec, sec, cotan
These correspond respectively to the sine, cosine, tangent, cosecant, secant and cotangent. The argument for these
functions is assumed to be expressed in radians. To use degrees, apply the symbol , which is located in the tab Units .

sin
cosec

cos
sec

tan
cotan

The inverse trigonometric functions included in WIRIS are: , asin, acos, atan
These correspond respectively to arcsine, arccosine and arctangent. The argument of these functions is a real number.
The result of all these is the main result of the function, expressed in radians (the same given by the keys sin-1, cos-1
and tan-1 commonly found on a pocket calculator). If the answer is required in degrees, use the function convert .

asin
sin

-1

cos

-1

tan

acos

atan

-1

## exponential: command exp , Icon

or

Calculates the result of applying the exponential function to its single argument (that is, the number that results from
raising the number e to the argument). The icon

can be used to obtain exact values (i.e. without evaluating) and the

icon can be used to obtain approximations. WIRIS also incorporates complex exponentials.

## logarithm: command ln or log

- 290 -

APPENDIX

If the commands above are given a single argument, they calculate the natural (Naperian) and decimal logarithms,
respectively. If log takes two arguments a and b , it calculates the logarithm of a in base b .
ba calculates the logarithm of

in base

the icon

## absolute value: Icon

, command absolute

## sign: command sign

Obtains the sign of a real number. Returns 1 if the number is positive, -1 if it is negative and 0 if it is neither positive
nor negative.

## maximum: command maximum or max

Calculates the maximum values of the functions arguments. If the argument is a
the maximum of its elements.

- 291 -

## minimum: command minimum or min

Calculates the minimum of the arguments entered in the function. If the argument is a List or Vector , it calculates
the maximum of its elements.

Function

attributes3d
composition
constrained_maximum
constrained_maximum
constrained_minimum constrained_minimum curve2d default figure figure2d
figure3d map closest_point2d closest_point3d numerical_differentiation
numerical_integration plot plot2d plot3d select series sort taylor_series

Function

- 292 -

APPENDIX
g

gaussian_elimination

gaussian_elimination (A:Matrix )

gcd

gcd (a:ZZ,b:ZZ )

- 293 -

## gcd (a1 :Element (Ring ),,an :Element (Ring ) )

gcd ({a1 :Element (Ring ),,an :Element (Ring )} )
gcd ([a1 :Element (Ring ),,an :Element (Ring )] )

gcd (r:QQ,s:QQ )

- 294 -

APPENDIX

geometric_mean

## geometric_mean (VA:Statistics_data ) sqrt(x1 *x2* ...*xn )

geometric_progression

## geometric_progression (x,r:Integer |Vector |List |Range )

geometry_status
geometry_status (c:String )

- 295 -

## wiris, help materials

geometry_status (n:Natural )

geometry_status ()

get_domain

get_domain (o )

greatest_common_divisor

green

green

green
green ={0,255,0}
grey

- 296 -

APPENDIX

grey

grey
grey ={128,128,128}
grid_color
grid_color
Sets the grid colour.
Possible values : any Color , in {r,g,b} format, or by name if it has been defined.
Default value : {255,200,100} (light orange)

plotter , plotter

- 297 -

h

harmonic_mean

height

- 298 -

APPENDIX

## height (A:Point ,B:Point ,C:Point )

height (A,B,C)=height (triangle (A,B,C),2)

- 299 -

## height (T:Triangle ,i:ZZ )

height
Sets the height of the drawing board.
Possible values : any positive Real number.
Default value : 21

height
Sets the height of the drawing board.
Possible values : any positive Real number.
Default value : 21

height_foot

- 300 -

APPENDIX

## height_foot (T:Triangle ,i:ZZ )

hermite_basis

hermite_basis (M:Matrix )

hessenberg_reduction

- 301 -

## wiris, help materials

hessenberg_reduction (A:Matrix )

homotecy

## homotecy (center :Point ,ratio :Real ,f:Figure )

horizontal_asymptote

- 302 -

APPENDIX

horizontal_asymptote

horizontal_position

horizontal_position

horizontal_position
This defines the horizontal position of the Text_box from the specified reference point.
Possible values : "left", "center", "right". "left" , "center" and "right"
Default value : "right"

write , text_box

householder

householder (v:Vector )

hyperbola

- 303 -

Hyperbola

Hyperbola

## attributes3d center focus closest_point2d closest_point3d plot plot2d

plot3d point

- 304 -

APPENDIX
i

i_

Icon

i_

icosahedron
icosahedron (p:Point ,c:Real )

icosahedron (c:Real )
icosahedron(c)=icosahedron(point(0,0,0),c)

icosahedron
icosahedron()=icosahedron(1)

Identifier

Identifier

- 305 -

## wiris, help materials

annihilating_polynomial
belongs_to_domain?
coefficients
collect
complex_variable_name
curve2d
definition
degree
differentiate
discontinuities
domain
extension
finite_field
function
integrate
interpolate
irreducible_polynomial
irreducible_polynomials
limit
maclaurin
maclaurin
minimum_polynomial
plot2d
plot3d
polynomial
progression represent resultant resultant_matrix solve_inequation taylor
taylor taylor unit
identity

identity (p:Permutation )

identity?

identity? (p:Permutation )

identity_function

identity_function (x:Any )

identity_matrix

- 306 -

APPENDIX

Icon

identity_matrix (n:ZZ )

if

if...: Icon

or

, sentence

if B then A end
if B then A else A2 end
if B then A else_if B2 then A2 else A3 end
Carry out the instructions in A if the following condition is met B . If the condition is not met and there is an else
statement, then the instructions below are carried out A2 . It is also possible to have multiple conditions and various
groups of instructions by inserting conditional else_if statements from the programming tab menu.

image

- 307 -

## wiris, help materials

image (A:Matrix )

image (l )

imaginary_part

imaginary_part (c:CC )

imaginary_part (p:Polynomial )

imply

- 308 -

APPENDIX

imply?

in

[x->y

with

i1 ,,in

in

r1 ,,rn ]

[x->y

with

i1 ,,in

in

r1 ,,rn

{x

with

i1 ,,in

in

where

p]

r1 ,,rn }

- 309 -

{x

with

i1 ,,in

in

r1 ,,rn

where

{x->y

with

i1 ,,in

in

r1 ,,rn }

{p=>v

with

r1 ,,rn

in

R1 ,,Rn

[x

with

i1 ,,in

in

r1 ,,rn ]

[x

with

i1 ,,in

in

r1 ,,rn

p}

[where

where

]}

p]

in

- 310 -

APPENDIX

## product expr with i1 ,,in in r1 ,,rn

Vector | Range ,expr:Expression

- 311 -

## product expr with i1 ,,in in r1 ,,rn where p

whereij :Identifier ,rj :List
| Vector | Range ,expr:Expression ,expr:Expression

sigma

expr

with

in

a..b

wherei:Identifier ,a:ZZ,b:ZZ,expr:Expression

- 312 -

APPENDIX

## sigma expr with i1 ,,in in r1 ,,rn

Vector | Range ,expr:Expression

- 313 -

## sigma expr with i1 ,,in in r1 ,,rn where p

whereij :Identifier ,rj :List
| Vector | Range ,expr:Expression ,expr:Expression

product

expr

with

in

a..b

wherei:Identifier ,a:ZZ,b:ZZ,expr:Expression

- 314 -

APPENDIX

sigma x with
| Range

i1 ,,in

in

r1 ,,rn

## whereij :Identifier ,rj :List

Vector

Vector

Range

wherei:Identifier ,a:ZZ,b:ZZ,x:Expression

- 315 -

| Vector | Range

r1 ,,rn

where

sigma x with
| Range

i1 ,,in

in

r1 ,,rn

- 316 -

Vector

APPENDIX

| Vector | Range

r1 ,,rn

where

product

with

i1 ,,in

in

r1 ,,rn

product

with

i1 ,,in

in

r1 ,,rn

where

incenter

- 317 -

## incenter (A:Point ,B:Point ,C:Point )

incenter (T:Triangle )
incenter (T)=incenter (T1 ,T2 ,T3 )
index

index (x,l )

index (x,l,i:ZZ )

- 318 -

APPENDIX

index_erase

Inequation

Inequation

infinity

- 319 -

## wiris, help materials

Icon

positive_infinity
infinity

Infinity

Infinity

inflection_point

inflection_point

information

- 320 -

APPENDIX

information

information
This defines the information that should be displayed when the mouse is scrolled over a figure. This information
can be changed, once the drawing is on the screen, using the icons actionshowname.png, actionshowvalue.png,
actionshowdef.png on the drawing board toolbar:
,
and
Possible values : "none", "name", "definition", "value". "none" , "name" , "definition" and "value"
Default value : "name"

information
This defines the information that should be displayed when the mouse is scrolled over a figure. This information
can be changed, once the drawing is on the screen, using the icons actionshowname.png, actionshowvalue.png,
actionshowdef.png on the drawing board toolbar.
,
or
Possible values : "none", "name", "definition", "value". "none" , "name" , "definition" and "value"
Default value : "name"

initial_angle

- 321 -

## wiris, help materials

initial_angle (a:Arc )

initial_point

initial_point

insert

- 322 -

APPENDIX

## insert (l:List |Vector ,i:ZZ,x )

insert ({l1 ,,ln },i,x)={l1 ,,li-1 ,x,li ,,ln }insert ([v1 ,,vn ],i,x)=[v1 ,,vi-1 ,x,vi ,,vn ]where 1<=i<=length(l)+1

## insert (p:Polygonal |Polygon ,i:ZZ,A:Point )

polygonal (P1 ,...,Pi-1 ,A,Pi ,...,Pn ) where n=length (P), 1<=i<=n+1

integer

Integer

- 323 -

Integer
ZZ

## geometric_progression moment random replace take

integral_curve

integral_curves

integrate

- 324 -

APPENDIX

#
Icon

integrate (f,x:Identifier )

#
Icon

integrate (f )

#
Icon

## integrate (f,x:Identifier ,a,b )

#
Icon

integrate (f,a,b )
internal?

- 325 -

internal_order

- 326 -

APPENDIX

interpolate

interpolate
interpolate
interpolate
interpolate
interpolate

## ({x1 ,,xn },{y1 ,,yn } )

({x1 ,,xn },{y1 ,,yn },x:Identifier )
({point (x1 ,y1 ),,point (xn ,yn )} )
({point (x1 ,y1 ),,point (xn ,yn )},x:Identifier )
({x1 #y1 },,{xn #yn } )

## interpolate (X:List ,Y:List )

interpolate (X,Y):=interpolate (point (a1 ,...,b1 ),...,point (an ,...,bn )) where

{X={a1 ,...,an

}, Y={b1 ,...,bn }}

- 327 -

## interpolate (P1 :Point ,,Pn :Point )

interquartile_range

interquartile_range (VA:Statistics_data )

intersect

f1 #f2

## intersect (f1 :Figure ,f2 :Figure )

- 328 -

APPENDIX

intersect (l1 :List |Vector ,l2 :List |Vector ) intersect (l1 ,l2 )=l1 /(l1 /l2 )=l2 /(l2 /l1 )

intersection_axis

intersection_axis

intersection_x_axis

intersection_x_axis

intersection_y_axis

intersection_y_axis

inverse

- 329 -

## wiris, help materials

A-1
Icon

inverse (A:Matrix )

## inverse (a:Element (Ring ) )

inverse (a:ZZ,m:ZZ )

## inverse (a:Element (Extension ) )

- 330 -

APPENDIX

inverse (p:Permutation )

## inverse (p:Polynomial ,l:List )

inverse (r:Relation )

inversion

- 331 -

invertible?

## invertible? (a:Element (Ring ) )

Irrational

- 332 -

APPENDIX

real_constants ()

real_constants (b:Boolean )

## annihilating_polynomial (r:Irrational ,t:Identifier )

rationalize (r:RR )

- 333 -

## wiris, help materials

Icon

Pi_

Icon

pi_

Icon

E_

Icon

e_

- 334 -

APPENDIX

Icon

root (r:RR,n:ZZ )

roots (r:RR,n:ZZ )

Icon

- 335 -

## wiris, help materials

Irrational

irreducible?

irreducible? (p:Polynomial )
irreducible? (p:Polynomial ,A:Ring )

## irreducible? (p:Polynomial ,K:Field )

irreducible_polynomial

## irreducible_polynomial (K:Field ,n:ZZ,t:Identifier )

irreducible_polynomial (K:Field ,n:ZZ )

irreducible_polynomials

- 336 -

APPENDIX

## irreducible_polynomials (K:Field ,n:ZZ,t:Identifier )

irreducible_polynomials (K:Field ,n:ZZ )

## irreducible_polynomials (m:ZZ,K:Field ,n:ZZ,t:ZZ )

irreducible_polynomials (m:ZZ,K:Field ,n:ZZ )

is?

is? (o,D:Domain )

italic
italic
Possible values : true or false
Default value : false

italic_font

- 337 -

## wiris, help materials

italic_font
This defines whether or not the text on the drawing board should be in italics.
Possible values : true, false. true and false
Default value : false

write , text_box

- 338 -

APPENDIX
j

j_

j_

jacobi

jacobi (a:ZZ,n:ZZ )

join

## join (p:Polygonal |Polygon ,q:Polygonal |Polygon )

join (p,q)=polygon /al(p1 ,...,pn ,p1 ,q1 ,...,qm )
get_domain (join (p,q))=get_domain (q)

- 339 -

## wiris, help materials

jordan

jordan (A:Matrix )

## jordan (A:Matrix ,o: )

- 340 -

APPENDIX
k

kernel

kernel (A:Matrix )

## kernel (A:Matrix ,o: )

kurtosis

kurtosis (VA:Statistics_data )

- 341 -

## wiris, help materials

l

label
label
This defines the label that should be displayed next to the figure.
Possible values : any object and "automatic" . If we choose the second option, the label will be the name of the
figure.
Default value : "automatic"

label
This defines the label that should be displayed next to the figure.
Possible values : any object and "automatic" . If we choose the second option, the label will be the name of the
figure.
Default value : "automatic"

## plot , options plot3d , plot , plot3d

label_font
label_font
This sets the type of font that should be used to write the labels on the drawing board.
Possible values : any object of type Font .
Default value : {bold =false ,italic =false ,name ="SansSerif",size =12}

label_font
This sets the type of font that should be used to write the labels on the drawing board.
Possible values : any object of type Font .
Default value : {bold =false ,italic =false ,name ="SansSerif",size =12}

lcm

lcm (a:ZZ,b:ZZ )

- 342 -

APPENDIX

## lcm (a1 :Element (Ring ),,an :Element (Ring ) )

lcm ({a1 :Element (Ring ),,an :Element (Ring )} )
lcm ([a1 :Element (Ring ),,an :Element (Ring )] )

lcm (r:QQ,s:QQ )

- 343 -

## wiris, help materials

least_common_multiple

legendre

legendre (a:ZZ,p:ZZ )

length

- 344 -

APPENDIX

length (l:List

Vector

Range

Relation

Divisor

Table

Rule )

length (s:Segment )

lengths

let

- 345 -

## wiris, help materials

let
let

v=x
v:=x

level_curves

library

library

library

- 346 -

APPENDIX

library: Icon

light_grey

light_grey

light grey
light_grey ={64,64,64}
limit

- 347 -

lim x#a

Icon

## limit (f,x:Identifier ,a:RR | Infinity )

limit (f,x#a:RR | Infinity )
limit (f,a:RR | Infinity )

lim x#a+
lim x#aIcon

f
f

or

## limit (f,x:Identifier ,a:RR | Infinity ,dir )

limit (f,x#a:RR | Infinity ,dir )
limit (f,a:RR | Infinity ,dir )

limit_left

- 348 -

APPENDIX

lim x#a+
lim x#aIcon

f
f

or

## limit (f,x:Identifier ,a:RR | Infinity ,dir )

limit (f,x#a:RR | Infinity ,dir )
limit (f,a:RR | Infinity ,dir )

limit_right

- 349 -

lim x#a+
lim x#aIcon

f
f

or

## limit (f,x:Identifier ,a:RR | Infinity ,dir )

limit (f,x#a:RR | Infinity ,dir )
limit (f,a:RR | Infinity ,dir )

line

- 350 -

APPENDIX

- 351 -

## line (a:RR |Infinity ,b:RR |Infinity )

line (s:Segment )

- 352 -

APPENDIX

Line

Line

## angle2d angle3d arc attributes3d belongs? equation equation_vector

inversion closest_point2d closest_point3d parallel parallel? perpendicular
perpendicular? plane plot plot2d plot3d point polo position projection
segment slope symmetry vector
Line

## lines: command line , Icon

Allows us to create a line. The different arguments it can take are:
two points on the line (we can use the icon

),

## a point and a direction vector,

an equation for the line, or
a point and a real number (the slope of the line).
If r is a line, then sloper, pointr, vectorr return the slope of the line, a point on the line and a direction vector of the
line, respectively. To study other functions that can also be used to build a line, see parallel, perpendicular, bisector.

slope (r) , point (r) and vector (r) parallel , perpendicular and bisector

- 353 -

## In the case of lines in 3D space, the following arguments are accepted:

two points on the line (we can use the icon

## a point and a direction vector,

two equations (of secant planes).

line_width
line_width
This command is used to set the thickness of lines, segments or functions drawn on the drawing board.
Possible values : any positive Real number.
Default value : 1

line_width
This command is used to set the thickness of lines, segments or functions drawn on the drawing board.
Possible values : any positive Real number.
Default value : 1

Line2d

- 354 -

APPENDIX

Line2d

## angle2d angle3d arc attributes3d belongs? equation equation_vector

inversion closest_point2d closest_point3d parallel parallel? perpendicular
perpendicular? plane plot plot2d plot3d point polo position projection
segment slope symmetry vector
Line3d

Line3d

## angle2d angle3d arc attributes3d belongs? equation equation_vector

inversion closest_point2d closest_point3d parallel parallel? perpendicular
perpendicular? plane plot plot2d plot3d point polo position projection
segment slope symmetry vector
linearly_independents?

## linearly_independents? (u:Vector ,v:Vector )

linearly_independents? (l:List )

list

- 355 -

## list (r:Range |Vector )

list (p:Permutation )

list (p:Polygonal )

list (A:Point )

- 356 -

APPENDIX

list (F:Frequency_sample_of ( ZZ ) )

List

List

append
collect
column
combinations
combinations
combinations_with_repetition
constrained_maximum
constrained_maximum
constrained_minimum
constrained_minimum
coplanars?
correlation_n
count_element curve2d diagonal_matrix diagram divisor elements equation
erase geometric_progression head index_erase insert interpolate inverse
lengths linearly_independents? matrix max min moment multiplicity
numerical_solve permutation permutations permutations_with_repetition
resultant resultant_matrix reverse_range roots_to_polynomial select set
solve sort standard_deviation_n substring table tail take to_decimal
variance_n variations variations_with_repetition zero?

List_of

List_of

List_sample

- 357 -

List_sample

List_sample_of

List_sample_of

ln

ln (a:RR )

log

- 358 -

APPENDIX

log b (a)
log (a:RR,b:RR )

log (a:RR )
log10 (a:RR )

log10

log (a:RR )
log10 (a:RR )

log2

log2 (a:RR )

- 359 -

## wiris, help materials

lu_decomposition

lu_decomposition (A:Matrix )

lucas

lucas (n:ZZ )

- 360 -

APPENDIX
m

maclaurin

## maclaurin (e,x:Identifier ,n:ZZ )

taylor (e,x:Identifier ,n:ZZ )

magenta

magenta

magenta
magenta ={255,0,255}
map

## map (f:Function ,l:List

Vector )
map (f,{l1 ,...,lm })={f(l1 ),...,f(lm )}
map (f,[l1 ,...,lm ])=[f(l1 ),...,f(lm )]

- 361 -

## map (f:Function ,r:Range )

map (f,r)=map (f,list (r))

Divisor

Table

Rule )

## map (f,{x1 #y1 ,...,xm #ym })={f(x1 ,y1 ),...,f(xm ,ym )}

matrix

- 362 -

APPENDIX

matrix (c:Circumference )

matrix (c:Conic )

matrix (l:List )

Matrix

Matrix

Matrix (D:Domain )

- 363 -

## wiris, help materials

conic
determinant
determinant
determinant
determinant
dimensions
eigenvalues
eigenvalues_and_vectors
eigenvectors
gaussian_elimination
gaussian_elimination
gaussian_elimination
hermite_basis hessenberg_reduction hessenberg_reduction image inverse
jordan jordan kernel kernel lengths lu_decomposition lu_decomposition
matrix_range minimum_polynomial minimum_polynomial minor n_columns n_rows
number_of_columns number_of_rows projectivity qr_decomposition rank
smith_normal_form smith_normal_form_basis solve subspace_intersection
subspace_sum supplement symmetric? trace transpose

Matrix

vectors and matrices: a vector is a sequence enclosed in square brackets, which we can create with the keys [ , ] ,
with the icon
, separating its elements with commas, or using the icon
. If the square brackets are created with
the icons, the size of the square brackets will adjust to the size of the contents. The same result can be obtained with
keystroke combinations [, ] Ctrl + [ and Ctrl + ]
A matrix is a vector formed from vectors of the same size. Each of these vectors corresponds to a row of the matrix.
The icons
matrices.

and

explained in detail in the chapter Menus, icons,... , enable easy creation of vectors and

To learn more about how the program works with vectors and matrices, see chapter Linear algebra .

- 364 -

APPENDIX

## Manipulating lists, vectors and matrices

Subscripts are created using the icon
and they are the principal tool for manipulating vectors and matrices; in
particular, to extract and change their elements.
Given a list or a vector v and a whole number i , vi is the i th component of v , as long as 1ilengthv.

vi 1<=i<=length (v)
As every matrix is a vector of vectors, if
i th row (assuming that it exists).

A is a matrix, then Ai is its i th row and Ai,j(, Aij) thej th element in the

Ai Ai,j(Ai,j or Aij)Aij
An alternative but equivalent notation is to use the period, such that the expression An is the same as A.n, and Ai,j is
the same as A.i.. Along the same lines, if v is a vector, v.i is the i th component of v .

## An A.n Ai,j A.i.j v.i

To change the value of a component in a list, vector or matrix, the syntax explained in the previous subsection can be
used, and it can be assigned a new value with the operator = .

- 365 -

## wiris, help materials

matrix_range

matrix_range (A:Matrix )

max

- 366 -

APPENDIX

## max (l:List |Vector |Range )

max_width

max_width

max_width
This defines the maximum width of the Text_box . When the text exceeds this width, a line break will be inserted.
Possible values : any positive Real number.
Default value : # (infinity).

write , text_box

maximum

mean

- 367 -

median

median_line

method

- 368 -

APPENDIX

method

midpoint

## midpoint (A:Point ,B:Point )

midpoint (A,B)=A+B/2

- 369 -

## wiris, help materials

midpoint (s:Segment )
midpoint (segment (p,q))=p+q/2

midpoint (a:Arc )

min

## min (l:List |Vector |Range )

- 370 -

APPENDIX

minimum

minimum_polynomial

minimum_polynomial (A:Matrix )
minimum_polynomial (A:Matrix ,x:Any )

## minimum_polynomial (A:Matrix ,o: )

minimum_polynomial (A,{name_identifier =k})=minimum_polynomial (A,k)

minimum_polynomial
minimum_polynomial
minimum_polynomial
minimum_polynomial

## (a:Element (Field ),K:Field ,t:Identifier )

(a:Element (Field ),K:Field )
(a:Element (Field ),t:Identifier )
((a:Element (Field )) )

- 371 -

minor

## minor (A:Matrix ,i:ZZ,j:ZZ )

missing

missing

missing
missing?

missing? (X:Statistics_data )

- 372 -

APPENDIX

## missing? (X:List_sample ,l:Variable )

mobile
mobile
If the object to plot has not been defined as static, the image is allowed to move, or not move, in the plane.
Possible values : true, false. true and false
Default value : true

mobile
If the object to draw has not been defined as static, the image can move, or not move, in space.
Possible values : true, false. true and false
Default value : true

mod

mod

mode

- 373 -

## wiris, help materials

mode (VA:Statistics_data )

moment

## moment (n:Integer ,x:Real ,L:List )

monic

monic (p:Polynomial )

monic?

monic? (p:Polynomial )

- 374 -

APPENDIX

move

## move (x:Variable ,v:Vector )

mu_moebius

mu_moebius (n:ZZ )

multiplicities

## factor (p:Polynomial ,O: )

factor (p:Polynomial ,A:Ring ,O: )

multiplicity

- 375 -

## multiplicity (p:List ,f:Polynomial )

Multisample

Multisample

- 376 -

APPENDIX
n

n_columns

n_columns (A:Matrix )

n_rows

n_rows (A:Matrix )

n_terms

n_terms (p:Polynomial )

n_variables

n_variables (p:Polynomial )

name

- 377 -

## wiris, help materials

name
Possible values : "Serif" , "SansSerif" or "Monospaced"
Default value : "SansSerif"

name
If the command plot does not know the name of the object to be drawn, enter it. This only has an effect when
working with a single element and not with a list.
Possible values : any object of type String .
Default value : null

name
If the command plot3d does not know the name of the object to be drawn, enter it. This only has an effect when
working with a single element and not with a list.
Possible values : any object of type String .
Default value : null

name_identifier

## minimum_polynomial (A:Matrix ,o: )

minimum_polynomial (A,{name_identifier =k})=minimum_polynomial (A,k)

names

names

- 378 -

APPENDIX

Natural

Natural
Icon

## bernouilli_numbers bit coefficient geometry_status internal? median_line

polyhedra
polyhedra_cone
polyhedra_cone_with_lid
polyhedra_cylinder
polyhedra_cylinder_with_lids polyhedra_sphere polyhedra_thorus series
show_terms substring taylor_series term term_list terms terms_list
truncate
negative?

negative? (x:Real )

negative_infinity

Icon

negative_infinity

new_identifier

- 379 -

## wiris, help materials

new_identifier (v )

new_identifier (v,n:ZZ )

Non_centered_conic

Non_centered_conic
Parabola

non_differentiable_point

non_differentiable_point

norm

- 380 -

APPENDIX

||c||
Icon

norm (c:CC )

norm (v:Vector )

## norm (a:Element (Field ),L:Field ,K:Field )

norm (a,L:Field )
norm (a:Element (Field ) )

- 381 -

## wiris, help materials

norm_1

norm_1 (p:Polynomial )

norm_2

norm_2 (p:Polynomial )

norm_infinity

norm_infinity (p:Polynomial )

normal_vector
normal_vector (p:Plane )

not

- 382 -

APPENDIX

not

## not true =false

not false =true

not_belongs?

not_belongs? (x,l )

not_null?

null

null

- 383 -

Null

Null
null .

null?

## null? (x1 ,,xn )

num

numerator (q:QQ )
num (q:QQ )

numerator (f:Fraction )
num (f:Fraction )

- 384 -

APPENDIX

number_of_arguments

number_of_arguments (f )

number_of_columns

number_of_columns (M:Matrix )

number_of_irreducible_polynomials

number_of_irreducible_polynomials (n:ZZ,K:Field )

number_of_irreducible_polynomials (n:ZZ,q:ZZ )
number_of_irreducible_polynomials (n:ZZ )

number_of_rows

- 385 -

## wiris, help materials

number_of_rows (M:Matrix )

number_of_terms

number_of_terms (p:Polynomial )

number_of_variables

number_of_variables (p:Polynomial )

numerator

numerator (q:QQ )
num (q:QQ )

- 386 -

APPENDIX

numerator (f:Fraction )
num (f:Fraction )

numerical_differentiation

## numerical_differentiation (f:Function ,a:Real )

numerical_integration

numerical_solve

numerical_solve

- 387 -

## numerical_solve ({e1 ,,en },p )

- 388 -

APPENDIX
o

oblique_asymptote

oblique_asymptote

octahedron
octahedron (c:Real )
octahedron(c)=octahedron(point(0,0,0),c)

octahedron
octahedron()=octahedron(1)

## octahedron (p:Point ,c:Real )

one?

one? (n:Element )

- 389 -

only_one_element

## kernel (A:Matrix ,o: )

orange

orange

orange
orange ={255,200,0}
order

## order (a:Element (Field ) )

order (p:Permutation )

orientation

- 390 -

APPENDIX

orientation

orientation (T:Triangle )

oriented_angle

## oriented_angle (v:Vector ,w:Vector )

argument (w)-argument (v)

oriented_area

- 391 -

## wiris, help materials

oriented_area (p:Polygon )

oriented_area (T:Triangle )

oriented_area (a:Arc )

orthocenter

- 392 -

APPENDIX

## orthocenter (A:Point ,B:Point ,C:Point )

orthocenter (T:Triangle )
orthocenter (T)=orthocenter (T1 ,T2 ,T3 )

- 393 -

p

parabola

Parabola

Parabola

## attributes3d directrix focus closest_point2d closest_point3d plot plot2d

plot3d point vertex
parallel

- 394 -

APPENDIX

parallel?

- 395 -

## wiris, help materials

perimeter

perimeter (a:Arc )

perimeter (c:Circumference )

perimeter (T:Triangle )

permutation

permutation (r:Relation )
permutation (r:Relation ,m:ZZ )

- 396 -

APPENDIX

permutation (l:List )

permutation (v:Vector )

Permutation

Permutation

## cycles_representation identity identity? inverse list order sign vector

permutation_matrix

- 397 -

permutations

permutations(L)
Icon

## permutations (L:List |Vector )

Icon

permutations (n:ZZ )

permutations_with_repetition

- 398 -

APPENDIX

permutations_with_repetition(n,n1 ,...,nk )
permutations_with_repetition (n:ZZ,n1 :ZZ,...,nk :ZZ )

permutations_with_repetition(n,L)

perpendicular

Icon

or

- 399 -

## wiris, help materials

perpendicular (v:Vector )

perpendicular?

## perpendicular? (v1 :Vector ,v2 :Vector )

perpendicular_bisector

## perpendicular_bisector (A:Point ,B:Point )

- 400 -

APPENDIX

perpendicular_bisector (s:Segment )

## perpendicular_bisector (T:Triangle ,i:ZZ )

perpendicular_vector

## perpendicular_vector (v:Vector |Line3d )

phi_euler

phi_euler (n:ZZ )

pi_

- 401 -

## wiris, help materials

Icon

pi_

Pi_

Icon

Pi_

pink

pink

pink
pink ={255,175,175}
plane
plane (p:Point ,r:Line )
plane=plane(p, vector(l))

- 402 -

APPENDIX

## plane (p:Point ,r1:Line ,r2:Line )

plane=plane(p,vector(r1),vector(r2))

## plane (p:Point ,s:Segment )

plane=plane(p, vector(s))

plane (l:List )

- 403 -

Ax+By+Cz+D=0

Plane3d

Plane3d

## angle3d attributes3d bisector equation closest_point2d closest_point3d

normal_vector plot plot2d plot3d symmetry symmetry_matrix vector
plot

- 404 -

APPENDIX

plot ()
if geometry_status =2 then plot =plot2d else plot =plot3d end

plot

## draw an object: plot (d:Plotable2d )

This function is generally used to draw d on a "drawing board". Some objects that can be drawn include: Point, Line,
Circumference, Segment. If the argument is a List , then all its elements are drawn.

## Point , Line , Circumference , Segment , Triangle , Polygonal , Function , Curve

or Text_box

It is worth mentioning the case where parameter d is an identifier (variable). If its value is a drawable object then it
is drawn, otherwise no action is taken and a warning is returned. Later, if the value of d changes then the drawing
is updated to show the new object. You could say that the drawing board remembers the elements that are drawn on
it and redraws them if their value changes.
The example below demonstrates this behaviour. If P is defined as point (3,5,0) and we draw it (first block), it appears
drawn as point (3,5,0) on the drawing board. If then P takes as its value the point (2,-1), this is the point that appears
on the drawing board. Note that this happens without having to use the command plot with point P .

plot2d

- 405 -

## wiris, help materials

plot ()
if geometry_status =2 then plot =plot2d else plot =plot3d end

## plot2d (v:Variable (Plotable2d ) )

plot2d (f:Plotable2d )

## plot2d (p:Plotter ,f... )

- 406 -

APPENDIX

plot2d (e:Equation )

plot2d (f,x:Identifier )

## plot2d (f,x:Identifier ,a:Real ,b:Real )

plot2d (f )

plot2d (f,r:Range )

## plot2d (f,a:Real ,b:Real )

plot3d
plot ()
if geometry_status =2 then plot =plot2d else plot =plot3d end
plot3d (p:Plotter3D ,f:Plotable3d ,t:Table )

- 407 -

## wiris, help materials

plot3d (v:Variable(Plotable3d) )

## plot3d (t:Plotter3D ,f:... )

plot3d (e:Equation )

## plot3d (f:... ,t:Table )

plot3d (f:Plotable3d )

- 408 -

APPENDIX

plot3d (f )

- 409 -

plot3d

## draw an object: plot3d (d:Plotable3d )

This function is generally used to plot an object d on a "drawing board". Some objects that can be drawn include:
Point, Line, Plane3d, Segment. If the argument is a List , then all its elements are drawn.

## Point , Line , Plane3d , Segment , Triangle , Polygonal , Polyhedra3d , Surface

, Curve3d and Text_box

It is worth mentioning the case where parameter d is an identifier (variable). If its value is a drawable object then it
is drawn, otherwise no action is taken and a warning is returned. Later, if the value of d changes then the drawing
is updated to show the new object. You could say that the drawing board remembers the elements that are drawn on
it and redraws them if their value changes.
In the example below this behavior can be confirmed. If P is defined as point (3,5,0) and it is drawn (first block), it
appears drawn as point (3,5,0) on the drawing board. If, then, P takes as value the point (2,-1,0), this is the point that
appears on the drawing board. Note that this happens without having to use the command plot3d with point P .

- 410 -

APPENDIX

Plotable

Plotable

Plotable2d

Plotable2d

Plotable3d

- 411 -

## wiris, help materials

Plotable3d

plotter
plotter ()
if geometry_status =2 then plotter =plotter2d else plotter =plotter3d end
Plotter

Plotter

attributes_for_all3d
attributes2d
default_plotter3d plot2d

attributes3d

default_plotter2d

plotter2d

- 412 -

APPENDIX

plotter2d ()

plotter ()
if geometry_status =2 then plotter =plotter2d else plotter =plotter3d end

plotter2d (o: )

## plotter2d (P:Point ,dx:Real ,dy:Real ,o: )

Plotter2d

Plotter2d

plotter3d

plotter3d ()

plotter ()
if geometry_status =2 then plotter =plotter2d else plotter =plotter3d end

- 413 -

plotter3d (o: )
o.

Pdxdydz

## plotter3d (P:Point ,dx:Real ,dy:Real ,dz:Real ,o: )

Pdxdydzo.

Plotter3d

Plotter3d

point

point (x:RR,y:RR )

- 414 -

APPENDIX

point ()

point (c:CC )

## point (v:Vector |List )

point(v)=point(v1 ,v2 ,v3 )

point (v:Vector )

- 415 -

point (x:RR )

point (r:Line )

- 416 -

APPENDIX

## point (s:Segment ,t:RR )

point (T:Triangle )

## point (T:Triangle ,r:RR )

point (c:Circumference )

- 417 -

- 418 -

APPENDIX

- 419 -

## point (c:Curve |Polar_curve ,t:RR )

point (qt:Text_box )

## point (qt:Text_box ,P:Point )

Point

Point
Icon

or

apolonius_hyperbola
append
arc
argument
attributes3d
barycenter
belongs? bisector circumcenter circumference circumradius colinear?
compass conic cube distance dodecahedron ellipse equilateral_triangle
exterior_bisector
external?
height
height_foot
homotecy
hyperbola
icosahedron
incenter
insert
internal?
interpolate
inversion
line
list
midpoint
closest_point2d
closest_point2d
closest_point3d closest_point3d octahedron orthocenter parabola parallel
perpendicular perpendicular_bisector plane plot plot2d plot3d plotter2d
plotter3d point polar polygon polygonal polyhedra polyhedra_cone
polyhedra_cone_with_lid polyhedra_cylinder polyhedra_cylinder_with_lids
polyhedra_sphere polyhedra_thorus position power prepend projection

- 420 -

APPENDIX

pyramid
regular_polygon
rotation
rotation_matrix
segment simple_ratio symmetry tangent_axle tangent_line tangent_lines
tangent_points tetrahedron text_box translation triangle vector write

point_size
point_size
This sets the size of points plotted on the drawing board.
Possible values : any positive Real number.
Default value : 5

point_size
This sets the size of points drawn on the drawing board.
Possible values : any positive Real number.
Default value : 5

Point2d

Point2d
Icon

Point3d

- 421 -

## wiris, help materials

Point3d
Icon

polar

polar (c:CC )

polar (r:RR,w:RR )

- 422 -

APPENDIX

polar_curve

Polar_curve

Polar_curve

## attributes2d attributes3d closest_point2d closest_point3d

plot3d point polygon polygonal range variables

plot

plot2d

polo

- 423 -

polygon

## polygon (c:Curve |Polar_curve )

polygonal (C:Curve )=polygonal (polygon (C))

- 424 -

APPENDIX

Polygon

Polygon

angle2d angle3d append attributes3d drop erase insert join line map
closest_point2d closest_point3d oriented_area plot plot2d plot3d point
polygonal prepend prism pyramid segment vertex vertices
Polygon2d

Polygon2d

angle2d angle3d append attributes3d drop erase insert join line map
closest_point2d closest_point3d oriented_area plot plot2d plot3d point
polygonal prepend prism pyramid segment vertex vertices
Polygon3d

- 425 -

## wiris, help materials

Polygon3d

angle2d angle3d append attributes3d drop erase insert join line map
closest_point2d closest_point3d oriented_area plot plot2d plot3d point
polygonal prepend prism pyramid segment vertex vertices
polygonal

## polygonal (P1 :Point ,,Pn :Point )

polygonal (p:Polygon )

- 426 -

APPENDIX

## polygonal (c:Curve |Polar_curve )

Polygonal

Polygonal

angle2d angle3d append attributes3d drop erase insert join line list map
closest_point2d closest_point3d plot plot2d plot3d point polygon prepend
segment sequence vertex vertices
Polygonal2d

- 427 -

## wiris, help materials

Polygonal2d

angle2d angle3d append attributes3d drop erase insert join line list map
closest_point2d closest_point3d plot plot2d plot3d point polygon prepend
segment sequence vertex vertices
Polygonal3d

Polygonal3d

angle2d angle3d append attributes3d drop erase insert join line list map
closest_point2d closest_point3d plot plot2d plot3d point polygon prepend
segment sequence vertex vertices
polygonals

polygonals (c:Curve )

polyhedra
polyhedra (n:Natural )
polyhedra(n)=polyhedra(n,point(0,0,0),1)

## polyhedra (n:Natural ,p:Point )

polyhedra(n,p)=polyhedra(n,p,1)

- 428 -

APPENDIX

## polyhedra (n:Natural ,c:Real )

polyhedra(n,c)=polyhedra(n,point(0,0,0),c)

## polyhedra (n:Natural ,p:Point ,c:Real )

polyhedra_cone
polyhedra_cone (n:Natural ,p:Point ,r:Real ,h:Real )

polyhedra_cone (n:Natural )
polyhedra cone(n)=polyhedra cone(n,point(0,0,0),1,1)

## polyhedra_cone (n:Natural ,p:Point )

polyhedra cone(n,p)=polyhedra cone(n,p,1,1)

## polyhedra_cone (n:Natural ,r:Real ,h:Real )

polyhedra cone(n,r,h)=polyhedra cone(n,point(0,0,0),r,h)

polyhedra_cone_with_lid

- 429 -

## polyhedra_cone_with_lid (n:Natural ,p:Point )

polyhedra cone with lid(n,p)=polyhedra cone with lid(n,p,1,1)

## polyhedra_cone_with_lid (n:Natural ,r:Real ,h:Real )

polyhedra cone with lid(n,r,h)=polyhedra cone with lid(n,point(0,0,0),r,h)

## polyhedra_cone_with_lid (n:Natural ,p:Point ,r:Real ,h:Real )

polyhedra_cone_with_lid (n:Natural )
polyhedra cone with lid(n)=polyhedra cone with lid(n,point(0,0,0),1,1)

polyhedra_cylinder
polyhedra_cylinder (n:Natural )
polyhedra cylinder(n)=polyhedra cylinder(n,point(0,0,0),1,1)

## polyhedra_cylinder (n:Natural ,p:Point )

polyhedra cylinder(n,p)=polyhedra cylinder(n,p,1,1)

## polyhedra_cylinder (n:Natural ,r:Real ,h:Real )

polyhedra cylinder(n,r,h)=polyhedra cylinder(n,point(0,0,0),r,h)

- 430 -

APPENDIX

## polyhedra_cylinder (n:Natural ,p:Point ,r:Real ,h:Real )

polyhedra_cylinder_with_lids
polyhedra_cylinder_with_lids (n:Natural ,p:Point ,r:Real ,h:Real )

polyhedra_cylinder_with_lids (n:Natural )
polyhedra cylinder with lids(n)=polyhedra cylinder with lids(n,point(0,0,0),1,1)

## polyhedra_cylinder_with_lids (n:Natural ,p:Point )

polyhedra cylinder with lids(n,p)=polyhedra cylinder with lids(n,p,1,1)

## polyhedra_cylinder_with_lids (n:Natural ,r:Real ,h:Real )

polyhedra cylinder with lids(n,r,h)=polyhedra cylinder with lids(n,point(0,0,0),r,h)

polyhedra_sphere
polyhedra_sphere (r:Real )
polyhedra sphere(r)=polyhedra sphere(20,point(0,0,0),r)

## polyhedra_sphere (p:Point ,r:Real )

polyhedra sphere(p, r)=polyhedra sphere(20,p,r)

## polyhedra_sphere (n:Natural ,r:Real )

polyhedra sphere(n, r)=polyhedra sphere(n,point(0,0,0),r)

- 431 -

## polyhedra_sphere (n:Natural ,p:Point ,r:Real )

polyhedra_thorus
polyhedra_thorus (n:Natural ,r:Real ,R:Real )
polyhedra thorus(n,r,R)=polyhedra thorus(n,point(0,0,0),r,R)

## polyhedra_thorus (r:Real ,R:Real )

polyhedra thorus(r,R)=polyhedra thorus(20,point(0,0,0),r,R)

## polyhedra_thorus (p:Point ,r:Real ,R:Real )

polyhedra thorus(p,r,R)=polyhedra thorus(20,p,r,R)

Polyhedra3d

Polyhedra3d

polynomial

- 432 -

APPENDIX

## polynomial (B:Extension ,t:Identifier )

polynomial (B:Extension )

Polynomial

Polynomial

all_variables
attributes2d
attributes3d
bezout
chinese_theorem_coefficients
circumference
coefficient_domain
coefficients collect conic conjugate content content_and_primitive_part
degree
dense_coefficient_list
evaluate
expand
extended_gcd
extension
factor
factor
factor
factor_in_square_free
factor_in_square_free_multiplicity
gcd
imaginary_part
inverse
irreducible?
lcm
monic
monic?
multiplicity
n_terms
n_variables
closest_point2d
closest_point3d
norm_1 norm_2 norm_infinity number_of_terms number_of_variables plot
plot2d plot3d polynomial_to_companion_matrix power_modulo primitive_part
pseudoremainder
quo
quo
quo
quo_rem
quo_rem
quotient
quotient
quotient_and_remainder quotient_and_remainder real_part rem rem remainder
remainder resultant resultant_matrix roots square_free? tail variable
variables
polynomial_to_companion_matrix

polynomial_to_companion_matrix (p:Polynomial )

- 433 -

## wiris, help materials

polynomic?

polynomic? (p:Progression )

position

- 434 -

APPENDIX

## position (T:Triangle ,P:Point )

positive?

positive? (x:Real )

- 435 -

## wiris, help materials

positive_infinity

Icon

positive_infinity
infinity

power

power_modulo

## power_modulo (p:Polynomial ,e:ZZ,q:Polynomial )

precedent

- 436 -

APPENDIX

precedent (B:Extension )

precision

precision (n:ZZ )
precision ()

prepend

## prepend (l:List |Vector ,x )

prepend ({[ [l1 ,...,ln ]]},x)={[ [x,l1 ,...,ln ]]}prepend ([ [l1 ,...,ln ]],x)=[ [x,l1 ,...,ln ]]where 1<=i<=length(l)+1

- 437 -

## prepend (p:Polygonal |Polygon ,A:Point )

prime

prime (n:ZZ )

prime?

prime? (n:ZZ )

prime_power?

prime_power? (n:ZZ )

- 438 -

APPENDIX

primitive_element

primitive_element (K:Field )

primitive_part

primitive_part (p:Polynomial )

prism
prism (pol:Polygon ,h:Real )

product

- 439 -

## wiris, help materials

product

expr

with

in

a..b

wherei:Identifier ,a:ZZ,b:ZZ,expr:Expression

## product expr with i1 ,,in in r1 ,,rn

Vector | Range ,expr:Expression

- 440 -

APPENDIX

## product expr with i1 ,,in in r1 ,,rn where p

whereij :Identifier ,rj :List
| Vector | Range ,expr:Expression ,expr:Expression

progression

## progression (a1 ,a2 ,,an )

progression (a:List |Vector )

- 441 -

Progression

Progression

## category polynomic? ratio step

progression_sigma

progression_terms

progression_terms (n:ZZ )
progression_terms ()

projection

- 442 -

APPENDIX

projectivity

## projectivity (M:Matrix ,F:Point3d |Segment3d |Triangle3d |Polygon3d

|Polygonal3d )
projectivity (M:Matrix ,F:Line3d |Plane3d |Polyhedra3d |Quadric3d )

pseudoremainder

- 443 -

## wiris, help materials

pyramid
pyramid (pol:Polygon ,v:Point )

- 444 -

APPENDIX
q

qr_decomposition

qr_decomposition (A:Matrix )

- 445 -

quantity

Quantity

- 446 -

APPENDIX

Quantity

## coefficient_si convert degrees_minutes_seconds quantity root sqrt unit

unit_si
quartile

quartile (k:ZZ,VA:Statistics_data )

quartile (VA:Statistics_data )

quo

- 447 -

## wiris, help materials

quotient (a:ZZ,b:ZZ )
quo (a:ZZ,b:ZZ )
a//b

## quotient (p1 :Polynomial ,p2 :Polynomial )

quo (p1 :Polynomial ,p2 :Polynomial )
p1 //p2

quo_rem

quotient_and_remainder (a:ZZ,b:ZZ )
quo_rem (a:ZZ,b:ZZ )

## quotient_and_remainder (p1 :Polynomial ,p2 :Polynomial )

quo_rem (p1 :Polynomial ,p2 :Polynomial )

- 448 -

APPENDIX

quotient

quotient (a:ZZ,b:ZZ )
quo (a:ZZ,b:ZZ )
a//b

quotient_and_remainder (a:RR,b:RR )
quotient (a:RR,b:RR )
remainder (a:RR,b:RR )

## quotient (p1 :Polynomial ,p2 :Polynomial )

quo (p1 :Polynomial ,p2 :Polynomial )
p1 //p2

quotient_and_remainder

- 449 -

## wiris, help materials

quotient_and_remainder (a:ZZ,b:ZZ )
quo_rem (a:ZZ,b:ZZ )

quotient_and_remainder (a:RR,b:RR )
quotient (a:RR,b:RR )
remainder (a:RR,b:RR )

## quotient_and_remainder (p1 :Polynomial ,p2 :Polynomial )

quo_rem (p1 :Polynomial ,p2 :Polynomial )

- 450 -

APPENDIX
r

random

- 451 -

## wiris, help materials

random
random
random
random

(n:Integer )
(x:Real )
(a:Integer ,b:Integer )
(x:Real ,y:Real )

range

range (l:List )

Range

- 452 -

APPENDIX

Range

## curve2d diagonal_matrix erase geometric_progression list max min plot2d

plot3d represent reverse_range select slider sort
Range

ranges: These are objects of form a..b or a..b..d where a , b and d are real numbers (a..b equivalent
to a..b..1 ). If d is a number other than 0 , the range a..b..d represents the list formed from the elements
of the arithmetic progression a, a+d, a+2d, ... , not exceeding b . If d is zero the range represents
an empty list. For example, 1..6 represents {1,2,3,4,5,6} , 1..6..2 represents {1,3,5} and
6..1..-3 represents {6,3} .
The function list list applied to a range returns the list which it represents.

rank

rank (A:Matrix )

- 453 -

## rank (A:Matrix ,o: )

ratio

ratio (p:Progression )

rational

rational (f:Float )
e

m#10 .

Rational

- 454 -

APPENDIX

QQ

Rational

rational

rational numbers: Rational numbers are created as a fraction from two integers, with the icon
or with the symbol
/ . There are two functions associated with rational numbers numerator and denominator . If q is a
rational number, then numerator(q) and denominator(q) give us, respectively, the numerator and the denominator of the
irreducible fraction equivalent to q .numerator (q) denominator (q)

rationalize

rationalize (r:RR )

real

- 455 -

## wiris, help materials

real (x:Complex )

Real

RR

Real

dodecahedron
homotecy
icosahedron
moment
negative?
numerical_differentiation
numerical_integration
octahedron
plane
plot2d plot3d plotter2d plotter3d point polyhedra polyhedra_cone
polyhedra_cone_with_lid polyhedra_cylinder polyhedra_cylinder_with_lids
polyhedra_sphere
polyhedra_thorus
positive?
prism
quotient
quotient
quotient
quotient_and_remainder
quotient_and_remainder
quotient_and_remainder random remainder remainder remainder represent
rotation_matrix series sign0 tangent taylor_series tetrahedron to_decimal
zero0 zoom

More information on aspect_ratio , depth , height , line_width , max_width , point_size , transform_matrix , transparency ,
width , window_aspect_ratio

real_constants

real_constants ()

- 456 -

APPENDIX

real_constants (b:Boolean )

Real_dimensionless_quantity

Real_dimensionless_quantity

Real_or_infinity

Real_or_infinity

real_part

- 457 -

## wiris, help materials

real_part (c:CC )

real_part (p:Polynomial )

red

red

red
red ={255,0,0}
regression_line

## regression_line (X:List_sample ,Y:List_sample )

regression_line (M:Multisample )

- 458 -

APPENDIX

regular_polygon

## regular_polygon (n:ZZ,P:Point ,r:RR )

regular_polygon (n:ZZ,s:Segment )

relation

Relation

- 459 -

Relation

## index_erase inverse permutation position select

Relation

relations: From the syntactic point of view, a relation is a list of objects of type x->y . It can be said that x is an
index, y is its associated value and x->y is a pair within the relation. The most important aspect of relations is
that they permit the user to retrieve the value (or sequence of values) associated with an index. This is achieved by
applying the object to the relation. If an object does not have an index associated with a relation, the result of applying
it to the relation is null .
The symbol -> can be created using the icon

relative_degree

## relative_degree (B:Extension ,A:Extension )

relative_degree (B:Extension )

relative_tolerance

- 460 -

APPENDIX

relative_tolerance (b:Boolean )

rem

remainder (a:ZZ,b:ZZ )
rem (a:ZZ,b:ZZ )

## remainder (p1 :Polynomial ,p2 :Polynomial )

rem (p1 :Polynomial ,p2 :Polynomial )

remainder

- 461 -

## wiris, help materials

remainder (a:ZZ,b:ZZ )
rem (a:ZZ,b:ZZ )

quotient_and_remainder (a:RR,b:RR )
quotient (a:RR,b:RR )
remainder (a:RR,b:RR )

## remainder (p1 :Polynomial ,p2 :Polynomial )

rem (p1 :Polynomial ,p2 :Polynomial )

repeat

- 462 -

APPENDIX

repeat...: Icon

, sentence

repeat A until B
Carry out the instructions in A until the following condition is met B .

replace

- 463 -

## replace (l:List |Vector ,i1 :ZZ,,in :ZZ,x )

replace ({l1 ,...,li ,...,lm },i,x)={l1 ,...,li-1 ,x,li+1 ,...,lm }
replace ({l1 ,...,li1 ,...,lm },i1 ,...,in ,x)={l1 ,...,li-1 ,replace (li1 ,i2 ,...,in ,x),li1 +1 ,...,lm }

- 464 -

APPENDIX

| Range ,x )

Vector

Vector

represent

- 465 -

## wiris, help materials

represent (x... )

represent (f,x:Identifier )

## represent (f,x:Identifier ,a:Real ,b:Real )

represent (f )

represent (f,r:Range )

## represent (f,a:Real ,b:Real )

represent_sign

represent_sign (b:Boolean )

- 466 -

APPENDIX

represent_sign ()

residue?

residue?
residue?
residue?
residue?

(a:Element
(a:Element
(a:Element
(a:Element

(Field
(Field
(Field
(Field

)),K:Field ,r:ZZ )
),r:ZZ )
),K:Field )
) )

result

- 467 -

result

resultant

- 468 -

APPENDIX

## resultant (p:Polynomial ,q:Polynomial ,t:Identifier )

resultant (p:Polynomial ,q:Polynomial ,{t1 ,,tn }:List )

resultant_matrix

## resultant_matrix (p:Polynomial ,q:Polynomial ,t:Identifier )

resultant_matrix (p:Polynomial ,q:Polynomial ,{t1 ,,tn }:List )

reverse

reverse (l:Range )
reverse (a..b..k)=b..a..-k

- 469 -

## wiris, help materials

reverse (l:Relation

Divisor

Table

Rule )

reverse (l)=l

reverse (l:List

reverse (l)=llength

Vector )
(l)..1..-1

reverse_range

## reverse_range (l:List |Vector )

reverse range(l)=reverse range(range(l))

reverse_range (r:Range )
reverse range(a..b..step)=b..a..-step

ring

- 470 -

APPENDIX

Ring

Ring

## components element element_of_order elements evaluate extension factor

factor factor factor_in_square_free factor_in_square_free_multiplicity
find_one find_zero finite? index inverse invertible? irreducible? ring
root roots simple_fractions sqrt square_roots
ring?

ring? (A )

root

- 471 -

## wiris, help materials

Icon

root (r:RR,n:ZZ )

Icon

- 472 -

APPENDIX

Icon

Icon

## root (x:Quantity ,n:Any )

roots

roots (r:RR,n:ZZ )

roots (p:Polynomial )
roots (p:Polynomial ,A:Ring )

- 473 -

## roots (p:Polynomial ,O: )

roots (p:Polynomial ,A:Ring ,O: )

## roots (p:Polynomial ,R:Ring )

roots (p:Polynomial )

roots_to_polynomial

- 474 -

APPENDIX

## roots_to_polynomial (L:List ,x:Variable )

rotation

rotation (#:RR,v:Vector )

- 475 -

## rotation (P:Point3d ,v:Vector ,#:RR,f:Figure )

rotation (#:RR,f:Figure )
rotation (#,f)=rotation (point (0,0),#,f )

rotation_matrix

- 476 -

APPENDIX

rotation_matrix (x:Real )
rotation_matrix (center :Point ,orientation :Vector ,angle :Real )

round

round (r:RR )

- 477 -

## wiris, help materials

round (c:CC )

Rule

Rule

Rule

rules and substitutios: From the syntactic point of view, a rule is a list of objects of type x=>y or x:=>y . The
variable or template is called x depending on whether it is a variable or not, respectively. The image is called y and
a pair is of the form x=>y or x:=>y . A substitution is a rule defined for variables exclusively. If the user chooses
=> , it uses the value of y to define the rule. On the other hand, if the user chooses :=> , it considers y as a
variable for purposes of defining the rule.
The symbols => and :=> can be created with the icons

and

, respectively.

When applying a rule to an expression, all occurrences of each template (or variable) in the expression are replaced by
the image of its template (or variable). The terms that do not match the template (or variable) do not change.

- 478 -

APPENDIX

- 479 -

## wiris, help materials

s

Sample

Sample

sec

sec (x:RR )
cosec (x:RR )
cotan (x:RR )

second_vertex

second_vertex (s:Segment )

- 480 -

APPENDIX

seed_name
seed_name
If the command plot3d does not know the name of the object to be drawn, the name of the figure is the value of
this option concatenated with a number.
Possible values : any object of type String .
Default value : null

seed_name
If the command plot does not know the name of the object to be drawn, the name of the figure is the value of this
option concatenated with a number.
Possible values : any object of type String .
Default value : null

segment

- 481 -

## segment (p:Polygonal |Polygon ,i:ZZ )

segment (A:Point )

- 482 -

APPENDIX

segment (v:Vector )

segment (r:Line )

Segment

Segment

## angle3d attributes3d belongs? equilateral_triangle first_vertex length

line midpoint closest_point2d closest_point3d perpendicular_bisector plane
plot plot2d plot3d point regular_polygon second_vertex vector

- 483 -

Segment

## segments: command segment , Icon

Allows us to create a segment. The different arguments it can take are:
the segment endpoints (use the icon

),

length midpoint

Segment2d

Segment2d

Segment3d

- 484 -

APPENDIX

Segment3d

select

## select (l:List |Vector |Range |Relation |Divisor |Table ,f:Function )

semimajor_axis

semimajor_axis (c:Conic )

semiminor_axis

semiminor_axis (c:Conic )

sequence

- 485 -

## wiris, help materials

sequence (l:List

Vector

Range

Relation

Divisor

Table

Rule )

sequence (p:Polygonal )

Sequence

Sequence

series

- 486 -

APPENDIX

Series

Series

set

- 487 -

## wiris, help materials

set (l:List )
set (v:Vector )

show_axis
show_axis
Determines whether or not the coordinate axes appear in the drawing.
Possible values : true, false. true and false
Default value : true

show_axis
Determines whether or not the coordinate axes appear in the drawing.
Possible values : true, false. true and false
Default value : true

## plotter , options plotter3d , plotter , plotter3d

show_cube
show_cube
Determines whether or not a cube appears in the drawing. Points can be moved freely around on the drawing board.
Possible values : true, false. true and false
Default value : true

plotter3d , plotter3d

show_grid
show_grid
Determines whether or not the grid appears in the drawing. If the grid is displayed, the movement of drawn points is
limited to the points on the grid. If the grid is not displayed, the points can be moved freely around the drawing board.
Possible values : true, false. true and false
Default value : true

plotter , plotter

show_label

- 488 -

APPENDIX

show_label
This command defines whether or not a label is displayed for the figure.
Possible values : true, false. true and false
Default value : false

show_label
This command defines whether or not a label is displayed for the figure.
Possible values : true, false. true and false
Default value : false

## plot , options plot3d , plot , plot3d

show_terms
show_terms (n:Natural )

side

sides

- 489 -

## sides (P:Polyhedra |Polygonal3d )

sigma

sigma

expr

with

in

a..b

wherei:Identifier ,a:ZZ,b:ZZ,expr:Expression

- 490 -

APPENDIX

## sigma expr with i1 ,,in in r1 ,,rn

Vector | Range ,expr:Expression

- 491 -

## sigma expr with i1 ,,in in r1 ,,rn where p

whereij :Identifier ,rj :List
| Vector | Range ,expr:Expression ,expr:Expression

sign

sign (r:RR )

- 492 -

APPENDIX

sign (c:CC )

sign (p:Permutation )

sign0

similar?

- 493 -

## similar? (T:Triangle ,S:Triangle )

simple_fractions

simple_fractions (f:Fraction )
simple_fractions (f:Fraction ,A:Ring )

simple_ratio

## simple_ratio (A:Point ,B:Point ,C:Point )

simplify

- 494 -

APPENDIX

simplify (x )

sin

sin (x:RR )
cos (x:RR )
tan (x:RR )

singular_and_inflection_point

singular_and_inflection_point

singular_point

- 495 -

## wiris, help materials

singular_point

sinh

sinh (x:RR )
cosh (x:RR )
tanh (x:RR )

size
size
Possible values :
Default value : 12

skewness

skewness (VA:Statistics_data )

slider

- 496 -

APPENDIX

## slider (r:Range ,i:RR )

slider (r:Range )

slope

- 497 -

## wiris, help materials

slope (r:Line )

slope (v:Vector )

smith_normal_form

smith_normal_form (M:Matrix )

smith_normal_form_basis

smith_normal_form_basis (M:Matrix )

solve

- 498 -

APPENDIX

solve (e1 ,,en )

- 499 -

## solve (A:Matrix ,v:Vector )

solve_inequation

solve_inequation (e,x:Identifier )

sort

- 500 -

APPENDIX

split

- 501 -

sqrt

Icon

Icon

## sqrt (a:Element (Ring ),A:Ring )

- 502 -

APPENDIX

Icon

sqrt (u:Unit )

Icon

sqrt (x:Quantity )

sqrts

square?

square? (n:ZZ )

square_free?

- 503 -

## wiris, help materials

square_free? (p:Polynomial )

square_root

square_roots

## square_roots (a:Element (Field )),K:Field )

standard_deviation

- 504 -

APPENDIX

## standard_deviation (VA:Statistics_data ) 1/(n-1)(xi -) o sqrt(#x )

standard_deviation_n

standard_deviation_n (x:List )

standardize

standardize (VA:Statistics_data )

Statistics_data

- 505 -

Statistics_data

## central_moment coefficient_of_variation extended_quartile geometric_mean

harmonic_mean interquartile_range kurtosis mean missing? mode quartile
skewness standard_deviation standardize variance
step

step (p:Progression )

string

string (x )

String

- 506 -

APPENDIX

String

## geometry_status split string_substitution substring text

string_substitution

subextension?

submatrix

- 507 -

submatrix

subset?

## subset? (l1 :List |Vector ,l2 :List |Vector )

subspace_intersection

subspace_sum

## subspace_sum (A:Matrix ,B:Matrix )

substitute

- 508 -

APPENDIX

substitute (a,b,c )

Substitution

Substitution

substring

## substring (s:String ,L:List ,n:Natural )

supplement

supplement (A:Matrix )

support

- 509 -

## wiris, help materials

support (D:Divisor )

surface
surface

Surface

Surface

closest_point3d plot3d
symmetric?

- 510 -

APPENDIX

symmetric? (M:Matrix )

symmetry

- 511 -

- 512 -

APPENDIX

symmetry_axis

symmetry_axis

symmetry_matrix

- 513 -

t

table

Table

Table

Table_of

Table_of

tail

- 514 -

APPENDIX

take

## take (L:List ,n:Integer )

tan

sin (x:RR )
cos (x:RR )
tan (x:RR )

tangent

tangent (x:Real )

tangent_axle

- 515 -

tangent_line

tangent_lines

- 516 -

APPENDIX

tangent_points

## tangent_points (c:Circumference ,A:Point )

tanh

sinh (x:RR )
cosh (x:RR )
tanh (x:RR )

tartaglia

tartaglia (n:ZZ )

- 517 -

taylor

## maclaurin (e,x:Identifier ,n:ZZ )

taylor (e,x:Identifier ,n:ZZ )

taylor_series

term

- 518 -

APPENDIX

## term (s:Series ,n:Natural ,b:Boolean )

term_list
term_list (s:Series ,n:Natural )

terms
terms (s:Series ,n:Natural )

- 519 -

## wiris, help materials

terms_list
terms_list (f:Series ,n:Natural )

tetrahedron
tetrahedron (c:Real )
tetrahedron(c)=tetrahedron(point(0,0,0),c)

tetrahedron
tetrahedron()=tetrahedron(1)

text

## text (qt:Text_box ,t:String )

text (qt:Text_box )
text_box

- 520 -

APPENDIX

text_box (t,P:Point )

Text_box

- 521 -

## wiris, help materials

Text_box

then

if...: Icon

or

, sentence

if B then A end
if B then A else A2 end
if B then A else_if B2 then A2 else A3 end
Carry out the instructions in A if the following condition is met B . If the condition is not met and there is an else
statement, then the instructions below are carried out A2 . It is also possible to have multiple conditions and various
groups of instructions by inserting conditional else_if statements from the programming tab menu.

to_decimal

- 522 -

APPENDIX

to_decimal (x:Real )
to_decimal (x:List )
to_decimal (x:Expression )

tolerance

- 523 -

## wiris, help materials

tolerance (x:RR )
tolerance ()

total_degree

total_degree (A:Extension )

- 524 -

APPENDIX

tower

tower (A:Extension )
tower (R:Zn )

trace

## trace (a:Element (Field ),L:Field ,K:Field )

trace (a,L:Field )
trace (a:Element (Field ) )

trace (A:Matrix )

- 525 -

## wiris, help materials

transform_matrix
transform_matrix
This command indicates the position of the display cube within the drawing window. Every time the cube is moved, we
can find the new position using the icon
on the drawing board toolbar:
Possible values : any Matrix of Real numbers3x3. 3x3
Default value : -

plotter3d , plotter3d

transformation_matrix

translate

translation

- 526 -

APPENDIX

## translation (p:Point ,f:Figure )

translation (p):=translation (vector (p))

translation_matrix

translation_matrix (V:Vector )

transparency

- 527 -

## wiris, help materials

transparency

transparency
This command determines the element's degree of transparency. Choosing 0 sets transparency to totally opaque.
Choosing 1 sets transparency to totally transparent.
Possible values : any Real number between 0 and 1.
Default value : 0.3

plot3d , plot3d

transpose

transpose (A:Matrix )
A'

transpose (F:Multisample )

- 528 -

APPENDIX

transposition

transposition (a:ZZ,b:ZZ )

triangle

## triangle (A:Point ,B:Point ,C:Point )

Triangle

Triangle

angle2d
angle3d
area
attributes3d
barycenter
belongs?
bisector
external? height height_foot incenter inradius internal? internal?
internal? line median_line median_line median_line closest_point2d
closest_point3d orientation oriented_angle oriented_area orthocenter
perimeter perpendicular_bisector plot plot2d plot3d point polygon position
projectivity segment side similar? vertex vertices
Triangle

- 529 -

## triangles: command triangle , Icon

This function is used to construct a triangle, using the vertices as arguments. It is also possible to use the icon
command equilateral_triangle allows us, as its name suggests, to create an equilateral triangle.

. The

Triangle2d

Triangle2d

angle2d
angle3d
area
attributes3d
barycenter
belongs?
bisector
external? height height_foot incenter inradius internal? internal?
internal? line median_line median_line median_line closest_point2d
closest_point3d orientation oriented_angle oriented_area orthocenter
perimeter perpendicular_bisector plot plot2d plot3d point polygon position
projectivity segment side similar? vertex vertices
Triangle3d

Triangle3d

- 530 -

APPENDIX

angle2d
angle3d
area
attributes3d
barycenter
belongs?
bisector
external? height height_foot incenter inradius internal? internal?
internal? line median_line median_line median_line closest_point2d
closest_point3d orientation oriented_angle oriented_area orthocenter
perimeter perpendicular_bisector plot plot2d plot3d point polygon position
projectivity segment side similar? vertex vertices
true

true

More information on background , bold , bold_font , border , evaluate , fill , fixed_dimensions , italic , italic_font , mobile ,
show_axis , show_cube , show_grid , show_label , visible , wired

truncate
truncate (s:Series ,n:Natural )

type

- 531 -

## wiris, help materials

type

- 532 -

APPENDIX
u

union

union (l1 :List |Vector ,l2 :List |Vector ) union (l1 ,l2 )=set ( l1 | l2 )

unit

unit (x:Quantity )

unit (u:Identifier )

- 533 -

Unit

Unit

## convert degree quantity root sqrt unit

unit_si

unit_si (x:Quantity )

unsigned_infinity

Icon

unsigned_infinity

until

- 534 -

APPENDIX

repeat...: Icon

, sentence

repeat A until B
Carry out the instructions in A until the following condition is met B .

- 535 -

## wiris, help materials

v

variable

variable (p:Polynomial )

variable (f:Fraction )

variable (s:Series )

Variable

Variable

## attributes3d convergent? missing? move plot2d roots_to_polynomial series

taylor_series

- 536 -

APPENDIX

Variable (:Domain )

variables

variables (o )

variables (p:Polynomial )

variables (f:Fraction )

- 537 -

variance

## variance (VA:Statistics_data ) 1/(n-1)(xi -)2

variance_n

variance_n (L:List )

variations

- 538 -

APPENDIX

Icon

## variations (L:List |Vector ,k:ZZ )

Icon

variations (n:ZZ,k:ZZ )

variations_with_repetition

Icon

variations_with_repetition (n:ZZ,k:ZZ )

Icon

vector

- 539 -

## vector (A:Point ,B:Point )

vector (s:Segment )

vector (p:Plane )
[a,b,c,d]a,b,cdax+by+cz+d=0

- 540 -

APPENDIX

vector (r:Line )

vector (p:Permutation )

vector (A:Point )

Vector

- 541 -

## wiris, help materials

Icon
[x1 ,,xn ]

Vector

append
argument
base_change
bisector
column
combinations
combinations combinations_with_repetition count_element diagonal_matrix
discontinuities distribution divisor ellipse erase geometric_progression
householder hyperbola insert lengths line linearly_independents? list
max min move norm numerical_solve oriented_angle parabola parallel?
permutation
permutations
permutations_with_repetition
perpendicular
perpendicular? perpendicular_vector plane point prepend prism progression
projection relation replace reverse_range rotation rotation_matrix segment
select set slope solve sort symmetry table translation translation_matrix
variations variations_with_repetition vectorial_product versor zero?

Vector (D:Domain )

Vector

vectors and matrices: a vector is a sequence enclosed in square brackets, which we can create with the keys [ , ] ,
with the icon

- 542 -

## . If the square brackets are created with

APPENDIX

the icons, the size of the square brackets will adjust to the size of the contents. The same result can be obtained with
keystroke combinations [, ] Ctrl + [ and Ctrl + ]
A matrix is a vector formed from vectors of the same size. Each of these vectors corresponds to a row of the matrix.
The icons
matrices.

and

explained in detail in the chapter Menus, icons,... , enable easy creation of vectors and

To learn more about how the program works with vectors and matrices, see chapter Linear algebra .

## Manipulating lists, vectors and matrices

Subscripts are created using the icon
and they are the principal tool for manipulating vectors and matrices; in
particular, to extract and change their elements.
Given a list or a vector v and a whole number i , vi is the i th component of v , as long as 1ilengthv.

vi 1<=i<=length (v)
As every matrix is a vector of vectors, if
i th row (assuming that it exists).

A is a matrix, then Ai is its i th row and Ai,j(, Aij) thej th element in the

Ai Ai,j(Ai,j or Aij)Aij
An alternative but equivalent notation is to use the period, such that the expression An is the same as A.n, and Ai,j is
the same as A.i.. Along the same lines, if v is a vector, v.i is the i th component of v .

- 543 -

## wiris, help materials

To change the value of a component in a list, vector or matrix, the syntax explained in the previous subsection can be
used, and it can be assigned a new value with the operator = .

vector_field

vectorial_product

- 544 -

APPENDIX

Icon

## vectorial_product (u:Vector ,v:Vector )

versor

versor (v:Vector )

vertex

vertex (c:Parabola )

- 545 -

## vertex (T:Triangle ,i:ZZ )

vertical_asymptote

vertical_asymptote

vertical_position

- 546 -

APPENDIX

vertical_position

vertical_position
This defines the vertical position of the Text_box from the specified reference point.
Possible values : "top", "center", "base_line", "bottom". "top" , "center" , "base_line" and

"bottom"
Default value : "base_line"

write , text_box

vertices

visible

- 547 -

## wiris, help materials

visible
This command determines whether the element is visible or not.
Possible values : true, false. true and false
Default value : true

visible
This defines whether the drawing board is visible or not.
Possible values : true and false
Default value : true

visible
This defines whether the drawing board is visible or not.
Possible values : true, false. true and false
Default value : true

visible
This command determines whether the element is visible or not.
Possible values : true, false. true and false
Default value : true

, plot3d , plotter , plotter3d

## plot , options plot3d , options plotter , options plotter3d , plot

volume
volume (pol:Polyhedra )

- 548 -

APPENDIX
w

where

{x

with

{p=>v

[x

i1 ,,in

with

with

in

r1 ,,rn

i1 ,,in

in

r1 ,,rn

in

where

R1 ,,Rn

r1 ,,rn

p}

[where

where

]}

p]

where

- 549 -

## product expr with i1 ,,in in r1 ,,rn where p

whereij :Identifier ,rj :List
| Vector | Range ,expr:Expression ,expr:Expression

## sigma expr with i1 ,,in in r1 ,,rn where p

whereij :Identifier ,rj :List
| Vector | Range ,expr:Expression ,expr:Expression

- 550 -

APPENDIX

| Vector | Range

r1 ,,rn

where

r1 ,,rn

where

| Vector | Range

- 551 -

## wiris, help materials

product

with

i1 ,,in

in

r1 ,,rn

where

while

while...: Icon

, sentence

while B do A end
Carry out the instructions in A if the following condition is met B .

white

white

white
white ={255,255,255}
width
width
Sets the width of the drawing board.
Possible values : any positive Real number.
Default value : 21

- 552 -

APPENDIX

width
Sets the width of the drawing board.
Possible values : any positive Real number.
Default value : 21

## plotter , options plotter3d , plotter , plotter3d

window_aspect_ratio
window_aspect_ratio
This attribute defines the ratio between the windows height and width (aspect ratio).
Possible values : any positive Real number.
Default value : 1

plotter , plotter

window_height
window_height
Sets the height of the drawing window, in pixels.
Possible values : any positive Integer .
Default value : 450

window_height
Sets the height of the drawing window, in pixels.
Possible values : any positive Integer .
Default value : 450

## plotter , options plotter3d , plotter , plotter3d

window_width
window_width
Sets the width of the drawing window, in pixels.
Possible values : any positive Integer .
Default value : 450

window_width
Sets the width of the drawing window, in pixels.
Possible values : any positive Integer .
Default value : 450

- 553 -

## wiris, help materials

wired
wired
This option sets whether the image should be shown wire-framed or not.
Possible values : true, false, "automatic". true , false and "automatic"
Default value : "automatic"

plot3d , plot3d

with

{x

with

i1 ,,in

in

r1 ,,rn }

{x

with

i1 ,,in

in

r1 ,,rn

{p=>v

[x

with

with

r1 ,,rn

i1 ,,in

in

in

where

R1 ,,Rn

p}

[where

]}

r1 ,,rn ]

- 554 -

APPENDIX

[x

with

i1 ,,in

in

r1 ,,rn

where

p]

with

## product expr with i1 ,,in in r1 ,,rn

Vector | Range ,expr:Expression

- 555 -

## product expr with i1 ,,in in r1 ,,rn where p

whereij :Identifier ,rj :List
| Vector | Range ,expr:Expression ,expr:Expression

- 556 -

APPENDIX

## sigma expr with i1 ,,in in r1 ,,rn

Vector | Range ,expr:Expression

- 557 -

## sigma expr with i1 ,,in in r1 ,,rn where p

whereij :Identifier ,rj :List
| Vector | Range ,expr:Expression ,expr:Expression

- 558 -

APPENDIX

sigma x with
| Range

i1 ,,in

in

r1 ,,rn

- 559 -

Vector

Vector

Range

| Vector | Range

r1 ,,rn

where

sigma x with
| Range

i1 ,,in

in

r1 ,,rn

- 560 -

Vector

APPENDIX

| Vector | Range

r1 ,,rn

where

product

with

i1 ,,in

in

r1 ,,rn

product

with

i1 ,,in

in

r1 ,,rn

where

write

- 561 -

## wiris, help materials

write (x,P:Point )
write ()
if geometry_status =2 then write =write2d else write =write3d end
write2d
write ()
if geometry_status =2 then write =write2d else write =write3d end
write3d
write ()
if geometry_status =2 then write =write2d else write =write3d end

- 562 -

APPENDIX
y

yellow

yellow

yellow
yellow ={255,255,0}

- 563 -

z

zero?

zero0

zeros

zeros (n:ZZ )

Zn

- 564 -

APPENDIX

Zn (n:ZZ )

Zns

Zns

zoom

## zoom (T:Plotter2d ,x:Real )

zoom_in

zoom_in (T:Plotter2d )
zoom_in (T:Plotter2d ,P:Point2d )

- 565 -

## wiris, help materials

zoom_out

zoom_out (T:Plotter2d )
zoom_out (T:Plotter2d ,P:Point2d )

- 566 -

Index
SYMBOLS
'............................................ 126
-............................................ 126
!............................................ 128
!!........................................... 129
"arrow"...................................... 129
"arrow_xy"................................... 129
"arrow_XY"................................... 130
"automatic".................................. 130
"bar"........................................ 130
"base_line".................................. 131
"bisection".................................. 131
"bottom"..................................... 132
"center"..................................... 132
"definition"................................. 133
"divisor".................................... 134
"free_division_gauss"........................ 134
"free_fraction_gauss"........................ 135
"frequency_polygon".......................... 136
"gauss"...................................... 136
"horizontal"................................. 137
"left"....................................... 137
"list"....................................... 138
"list_of_equations".......................... 138
"minor_expansion"............................ 139
"Monospaced"................................. 139
"multiple_value"............................. 140
"name"....................................... 140
"newton"..................................... 141
"none"....................................... 141
"only_one_solution".......................... 142
"percentage"................................. 142
"regula_falsi"............................... 142
"relation"................................... 143
"right"...................................... 143
"SansSerif".................................. 144
"secant"..................................... 144
"sequence"................................... 144
"sequence_of_equations"...................... 144
"Serif"...................................... 145
"slice"...................................... 145
"smart"...................................... 146
"substitution"............................... 146
"table"...................................... 146
"top"........................................ 147
"value"...................................... 147
"vector"..................................... 148
"vector_of_equations"........................ 148
"vertical"................................... 149
\$\$........................................... 149
&............................................ 149
'..............................................35
*............................................ 151
,............................................ 151
............................................. 151
............................................. 159
/............................................ 159
//........................................... 160
:............................................ 161
:=........................................... 161
:=>.......................................... 163
?............................................ 163
[............................................ 164
\\........................................... 165

^............................................ 165
{............................................ 165
|............................................ 166
|?........................................... 167
+............................................ 167
=............................................ 168
-->.......................................... 169
............................................ 169

a
absolute..................................... 170
acos......................................... 170
acosec....................................... 170
acosh........................................ 171
acotan....................................... 171
all_variables................................ 172
amper........................................ 100
amplitude.................................... 172
angle........................................ 173
angle.......................................... 61
angle2d...................................... 173
angle3d...................................... 174
annihilating_polynomial...................... 176
Any.......................................... 176
apolonius_hyperbola.......................... 176
append....................................... 177
arc.......................................... 177
Arc.......................................... 178
area......................................... 179
area...........................................60
argument..................................... 180
arguments.................................... 180
arithmetic................................... 181
arithmetic?.................................. 181
asec......................................... 181
asin......................................... 182
asinh........................................ 182
aspect_ratio................................. 182
asymptote.................................... 183
atan......................................... 183
atanh........................................ 183
atto.......................................... 102
attributes................................... 183
attributes_for_all........................... 183
attributes_for_all2d......................... 184
attributes_for_all3d......................... 184
attributes2d................................. 184
attributes3d................................. 185
automatic.................................... 185
auxiliar_central_symmetry_axis............... 186
axis......................................... 186
axis_color................................... 186
axis_font.................................... 187
axis_label................................... 187
axis_style................................... 187

b
background................................... 189
background_color............................. 189
bar...........................................102
barycenter................................... 189
base......................................... 190

base_change.................................. 191
becquerel......................................101
belongs?..................................... 191
belongs_to_domain?........................... 193
bernouilli_number............................ 194
bernouilli_numbers........................... 194
bezout....................................... 194
binomial..................................... 195
bisector..................................... 195
bisector........................................ 58
bit.......................................... 197
black........................................ 197
black........................................ 197
blue......................................... 197
blue......................................... 198
bold......................................... 198
bold_font.................................... 198
Boolean...................................... 198
Boolean........................................ 16
border....................................... 198
border_color................................. 199
box.......................................... 200
box_border................................... 200
boxplot...................................... 200
brown........................................ 200
brown........................................ 200

c
candela....................................... 100
canonic_vector............................... 201
cardinal..................................... 201
Cartesian_curve.............................. 201
Cartesian_surface............................ 201
category..................................... 202
ceil......................................... 202
center....................................... 203
Centered_conic............................... 204
centi......................................... 102
central_moment............................... 204
central_symmetry............................. 204
cfr.......................................... 204
characteristic............................... 205
characteristic_matrix........................ 205
characteristic_polynomial.................... 205
check........................................ 206
chinese_theorem.............................. 206
chinese_theorem_coefficients................. 206
circumcenter................................. 207
circumference................................ 207
Circumference................................ 208
clear........................................ 209
closest_point................................ 209
closest_point.................................... 78
closest_point2d.............................. 209
closest_point3d.............................. 210
coefficient.................................. 211
coefficient..................................... 100
coefficient_domain........................... 211
coefficient_of_variation..................... 211
coefficient_si............................... 212
coefficients................................. 212
colinear?.................................... 212
collect...................................... 213
color........................................ 214
Color........................................ 214
Color........................................ 214
column....................................... 216
combinations................................. 216

combinations.................................... 94
combinations_with_repetition................. 217
combinations_with_repetition........................ 95
compare...................................... 217
compass...................................... 218
complement................................... 218
Complex...................................... 219
Complex........................................ 8
complex_variable_name........................ 219
components................................... 219
composition.................................. 220
conic........................................ 220
Conic........................................ 221
Conic..........................................54
conjugate.................................... 222
conjugates................................... 222
constant_list................................ 223
constant_matrix.............................. 223
constant_sequence............................ 223
constant_vector.............................. 224
constrained_maximum.......................... 224
constrained_minimum.......................... 224
content...................................... 224
content_and_primitive_part................... 225
convergent?.................................. 225
conversion_factor............................ 225
conversion_factor................................. 99
convert...................................... 226
convert........................................ 99
coplanars?................................... 226
correlation.................................. 227
correlation...................................... 92
correlation_n................................ 227
cos.......................................... 227
cosec........................................ 228
cosh......................................... 228
cotan........................................ 228
coulomb.......................................101
count_element................................ 229
count_multiplicities......................... 229
covariance................................... 230
covariance...................................... 92
cube......................................... 230
cube_color................................... 231
curve........................................ 231
Curve........................................ 231
curve2d...................................... 232
Curve2d...................................... 233
curve3d...................................... 233
Curve3d...................................... 234
cyan......................................... 234
cyan......................................... 234
cycles_representation........................ 234

d
dark_grey.................................... 236
dark_grey.................................... 236
deci.......................................... 102
decimal...................................... 236
default...................................... 236
default_plotter.............................. 237
default_plotter2d............................ 237
default_plotter3d............................ 237
definition................................... 237
degree....................................... 238
degrees_minutes_seconds...................... 239
deka......................................... 102
den.......................................... 239
denominator.................................. 239

dense_coefficient_list....................... 240
depend....................................... 240
depth........................................ 240
determinant.................................. 240
determinant..................................... 29
diagonal_matrix.............................. 241
diagram...................................... 242
differentiate................................ 242
differentiate..................................... 35
dimensionless_unit........................... 243
dimensions................................... 243
dimensions..................................... 28
directrix.................................... 243
discontinuities.............................. 243
distance..................................... 244
distance........................................56
distribution................................. 245
diverse_results_as........................... 245
divisor...................................... 245
Divisor...................................... 245
Divisor......................................... 18
divisors..................................... 246
divisors_mu_moebius.......................... 246
do........................................... 246
dodecahedron................................. 247
domain....................................... 248
Domain....................................... 249
drop......................................... 249

e
e_........................................... 251
E_........................................... 251
eccentricity................................. 251
eigenvalues.................................. 251
eigenvalues_and_vectors...................... 252
eigenvectors................................. 252
element...................................... 252
Element...................................... 252
element_of_order............................. 253
elements..................................... 253
ellipse...................................... 254
Ellipse...................................... 254
else......................................... 255
else_if...................................... 255
Empty........................................ 256
empty_divisor................................ 256
Empty_list................................... 257
empty_relation............................... 257
empty_table.................................. 257
end.......................................... 257
equation..................................... 259
Equation..................................... 260
Equation....................................... 30
Equation........................................ 9
equation_vector.............................. 261
equilateral?................................. 261
equilateral_triangle......................... 261
erase........................................ 262
evaluate..................................... 264
exa.......................................... 102
exact_computations........................... 265
exp.......................................... 266
expand....................................... 266
expansion_point.............................. 266
exponential..................................... 46
expression................................... 267
Expression................................... 267
Expression......................................12
extended_gcd................................. 267

extended_quartile............................ 268
extension.................................... 268
Extension.................................... 269
exterior_bisector............................ 269
external?.................................... 270

f
factor....................................... 271
factor.......................................... 23
factor_in_square_free........................ 272
factor_in_square_free_multiplicity........... 273
factorial.................................... 273
false........................................ 274
femto......................................... 102
fibonacci.................................... 274
field........................................ 274
Field........................................ 275
field?....................................... 275
figure....................................... 275
Figure....................................... 275
figure2d..................................... 276
Figure2d..................................... 276
figure3d..................................... 277
Figure3d..................................... 277
fill......................................... 277
fill_color................................... 278
find_one..................................... 278
find_zero.................................... 278
finite?...................................... 279
finite_field................................. 279
Finite_set................................... 280
first_vertex................................. 280
fixed_dimensions............................. 280
Float........................................ 280
Float........................................... 8
floor........................................ 281
focal_semidistance........................... 281
focus........................................ 282
font......................................... 282
Font......................................... 283
font......................................... 283
font_name.................................... 283
font_size.................................... 284
for.......................................... 284
for............................................ 15
Fraction..................................... 285
Frequency_sample............................. 285
Frequency_sample_of.......................... 285
frobenius.................................... 286
function..................................... 286
Function..................................... 286

g
gaussian_elimination......................... 293
gcd.......................................... 293
geometric_mean............................... 295
geometric_mean................................. 89
geometric_progression........................ 295
geometry_status.............................. 295
get_domain................................... 296
giga.......................................... 102
gram......................................... 100
gray.......................................... 101
greatest_common_divisor...................... 296
greatest_common_divisor........................... 23
green........................................ 296
green........................................ 296

grey......................................... 296
grey......................................... 297
grid_color................................... 297

h
harmonic_mean................................ 298
harmonic_mean.................................. 90
hecto......................................... 102
height....................................... 298
height......................................... 59
height_foot.................................. 300
henry......................................... 101
hermite_basis................................ 301
hertz......................................... 101
hessenberg_reduction......................... 301
homotecy..................................... 302
horizontal_asymptote......................... 302
horizontal_position.......................... 303
hour..........................................102
householder.................................. 303
hyperbola.................................... 303
Hyperbola.................................... 304

i
i_........................................... 305
icosahedron.................................. 305
Identifier................................... 305
identity..................................... 306
identity?.................................... 306
identity_function............................ 306
identity_matrix.............................. 306
if........................................... 307
if............................................. 14
image........................................ 307
imaginary_part............................... 308
imply........................................ 308
imply?....................................... 309
in........................................... 309
in........................................... 310
incenter..................................... 317
index........................................ 318
index_erase.................................. 319
Inequation................................... 319
infinity..................................... 319
Infinity..................................... 320
inflection_point............................. 320
information.................................. 320
initial_angle................................ 321
initial_point................................ 322
insert....................................... 322
integer...................................... 323
Integer...................................... 323
Integer..........................................7
integral_curve............................... 324
integral_curves.............................. 324
integrate.................................... 324
integrate....................................... 36
internal?.................................... 325
internal_order............................... 326
interpolate.................................. 327
interquartile_range.......................... 328
intersect.................................... 328
intersect........................................62
intersection_axis............................ 329
intersection_x_axis.......................... 329
intersection_y_axis.......................... 329

inverse...................................... 329
inverse........................................ 27
inversion.................................... 331
invertible?.................................. 332
Irrational................................... 332
irreducible?................................. 336
irreducible_polynomial....................... 336
irreducible_polynomials...................... 336
is?.......................................... 337
italic....................................... 337
italic_font.................................. 337

j
j_........................................... 339
jacobi....................................... 339
join......................................... 339
jordan....................................... 340
joule......................................... 101

k
katal......................................... 101
kelvin.........................................100
kernel....................................... 341
kilo.......................................... 102
kilogram.......................................100
kurtosis..................................... 341

l
label........................................ 342
label_font................................... 342
lcm.......................................... 342
least_common_multiple........................ 344
least_common_multiple............................ 23
legendre..................................... 344
length....................................... 344
length......................................... 28
lengths...................................... 345
let.......................................... 345
level_curves................................. 346
library...................................... 346
library...................................... 346
light_grey................................... 347
light_grey................................... 347
limit........................................ 347
limit_left................................... 348
limit_right.................................. 349
line......................................... 350
Line......................................... 353
Line......................................... 353
line_width................................... 354
Line2d....................................... 354
Line3d....................................... 355
linearly_independents?....................... 355
list......................................... 355
List......................................... 357
List........................................... 10
List_of...................................... 357
List_sample.................................. 357
List_sample_of............................... 358
liter.......................................... 102
ln........................................... 358
log.......................................... 358
log10........................................ 359
log2......................................... 359
logarithm....................................... 46
lu_decomposition............................. 360

lucas........................................ 360
lumen........................................ 101
lux........................................... 101

m
maclaurin.................................... 361
magenta...................................... 361
magenta...................................... 361
map.......................................... 361
matrix....................................... 362
Matrix....................................... 363
Matrix....................................... 364
matrix_range................................. 366
max.......................................... 366
max_width.................................... 367
maximum...................................... 367
maximum.......................................47
mean......................................... 367
mean.......................................... 89
median....................................... 368
median........................................ 91
median_line.................................. 368
median_line..................................... 59
mega......................................... 102
meter.........................................100
method....................................... 368
micro......................................... 102
midpoint..................................... 369
midpoint........................................56
milli.......................................... 102
min.......................................... 370
minimum...................................... 371
minimum....................................... 48
minimum_polynomial........................... 371
minor........................................ 372
minor.......................................... 29
minute........................................ 102
missing...................................... 372
missing?..................................... 372
mobile....................................... 373
mod.......................................... 373
mode......................................... 373
mode.......................................... 91
mol.......................................... 100
moment....................................... 374
monic........................................ 374
monic?....................................... 374
move......................................... 375
mu_moebius................................... 375
multiplicities............................... 375
multiplicity................................. 375
Multisample.................................. 376

n
n_columns.................................... 377
n_rows....................................... 377
n_terms...................................... 377
n_variables.................................. 377
name......................................... 377
name_identifier.............................. 378
names........................................ 378
nano......................................... 102
Natural...................................... 379
negative?.................................... 379
negative_infinity............................ 379
new_identifier............................... 379
newton........................................101
Non_centered_conic........................... 380

non_differentiable_point..................... 380
norm......................................... 380
norm_1....................................... 382
norm_2....................................... 382
norm_infinity................................ 382
normal_vector................................ 382
not.......................................... 382
not_belongs?................................. 383
not_null?.................................... 383
null......................................... 383
Null......................................... 384
null?........................................ 384
num.......................................... 384
number_of_arguments.......................... 385
number_of_columns............................ 385
number_of_irreducible_polynomials............ 385
number_of_rows............................... 385
number_of_terms.............................. 386
number_of_variables.......................... 386
numerator.................................... 386
numerical_differentiation.................... 387
numerical_integration........................ 387
numerical_solve.............................. 387

o
oblique_asymptote............................ 389
octahedron................................... 389
ohm.......................................... 101
one?......................................... 389
only_one_element............................. 390
orange....................................... 390
orange....................................... 390
order........................................ 390
orientation.................................. 390
oriented_angle............................... 391
oriented_area................................ 391
orthocenter.................................. 392

p
parabola..................................... 394
Parabola..................................... 394
parallel..................................... 394
parallel........................................ 62
parallel?.................................... 395
pascal........................................ 101
perimeter.................................... 396
perimeter....................................... 61
permutation.................................. 396
Permutation.................................. 397
permutation_matrix........................... 397
permutations................................. 398
permutations.................................... 96
permutations_with_repetition................. 398
permutations_with_repetition.........................96
perpendicular................................ 399
perpendicular.................................... 63
perpendicular?............................... 400
perpendicular_bisector....................... 400
perpendicular_bisector............................. 57
perpendicular_vector......................... 401
peta.......................................... 102
phi_euler.................................... 401
pi_.......................................... 401
Pi_.......................................... 402
pico.......................................... 102
pink......................................... 402
pink......................................... 402
plane........................................ 402

Plane3d...................................... 404
Plane3d........................................ 53
plot......................................... 404
plot......................................... 405
plot2d....................................... 405
plot3d....................................... 407
plot3d....................................... 410
Plotable..................................... 411
Plotable2d................................... 411
Plotable3d................................... 411
plotter...................................... 412
Plotter...................................... 412
plotter2d.................................... 412
Plotter2d.................................... 413
plotter3d.................................... 413
Plotter3d.................................... 414
plus........................................... 25
point........................................ 414
Point........................................ 420
Point.......................................... 51
point_size................................... 421
Point2d...................................... 421
Point3d...................................... 421
polar........................................ 422
polar_curve.................................. 423
Polar_curve.................................. 423
polo......................................... 423
polygon...................................... 424
Polygon...................................... 425
Polygon........................................ 55
Polygon2d.................................... 425
Polygon3d.................................... 425
polygonal.................................... 426
Polygonal.................................... 427
Polygonal.......................................55
Polygonal2d.................................. 427
Polygonal3d.................................. 428
polygonals................................... 428
polyhedra.................................... 428
polyhedra_cone............................... 429
polyhedra_cone_with_lid...................... 429
polyhedra_cylinder........................... 430
polyhedra_cylinder_with_lids................. 431
polyhedra_sphere............................. 431
polyhedra_thorus............................. 432
Polyhedra3d.................................. 432
Polyhedra3d.................................... 55
polynomial................................... 432
Polynomial................................... 433
Polynomial.......................................9
polynomial_to_companion_matrix............... 433
polynomic?................................... 434
position..................................... 434
positive?.................................... 435
positive_infinity............................ 436
power........................................ 436
power_modulo................................. 436
precedent.................................... 436
precision.................................... 437
prepend...................................... 437
prime........................................ 438
prime?....................................... 438
prime?......................................... 24
prime_power?................................. 438
primitive_element............................ 439
primitive_part............................... 439
prism........................................ 439
product...................................... 439
progression.................................. 441

Progression.................................. 442
progression_sigma............................ 442
progression_terms............................ 442
projection................................... 442
projectivity................................. 443
pseudoremainder.............................. 443
pyramid...................................... 444

q
qr_decomposition............................. 445
quantity..................................... 446
Quantity..................................... 446
quartile..................................... 447
quartile........................................ 91
quo.......................................... 447
quo_rem...................................... 448
quotient..................................... 449
quotient........................................ 22
quotient_and_remainder....................... 449
quotient_and_remainder............................ 22

r
random....................................... 451
range........................................ 452
Range........................................ 452
Range........................................ 453
rank......................................... 453
rank...........................................29
ratio........................................ 454
ratio...........................................50
rational..................................... 454
Rational..................................... 454
rational..................................... 455
rationalize.................................. 455
real......................................... 455
Real......................................... 456
real_constants............................... 456
Real_dimensionless_quantity.................. 457
Real_or_infinity............................. 457
real_part.................................... 457
red.......................................... 458
red.......................................... 458
region......................................... 71
regression_line.............................. 458
regression_line...................................93
regular_polygon.............................. 459
relation..................................... 459
Relation..................................... 459
Relation..................................... 460
relative_degree.............................. 460
relative_tolerance........................... 460
rem.......................................... 461
remainder.................................... 461
remainder...................................... 23
repeat....................................... 462
repeat......................................... 15
replace...................................... 463
represent.................................... 465
represent....................................... 72
represent_sign............................... 466
residue?..................................... 467

result....................................... 467
resultant.................................... 468
resultant_matrix............................. 469
reverse...................................... 469
reverse_range................................ 470
ring......................................... 470
Ring......................................... 471
ring?........................................ 471
root......................................... 471
root........................................... 45
roots........................................ 473
roots_to_polynomial.......................... 474
rotation..................................... 475
rotation........................................ 65
rotation_matrix.............................. 476
round........................................ 477
Rule......................................... 478
Rule......................................... 478

s
Sample....................................... 480
sec.......................................... 480
second........................................102
second........................................100
second_vertex................................ 480
seed_name.................................... 481
segment...................................... 481
Segment...................................... 483
Segment...................................... 484
Segment2d.................................... 484
Segment3d.................................... 484
select....................................... 485
semimajor_axis............................... 485
semiminor_axis............................... 485
sequence..................................... 485
Sequence..................................... 486
series....................................... 486
Series....................................... 487
set.......................................... 487
show_axis.................................... 488
show_cube.................................... 488
show_grid.................................... 488
show_label................................... 488
show_terms................................... 489
side......................................... 489
sides........................................ 489
siemens....................................... 101
sievert........................................ 101
sigma........................................ 490
sign......................................... 492
sign........................................... 47
sign0........................................ 493
similar?..................................... 493
simple_fractions............................. 494
simple_ratio................................. 494
simplify..................................... 494
sin.......................................... 495
singular_and_inflection_point................ 495
singular_point............................... 495
sinh......................................... 496
size......................................... 496
skewness..................................... 496
slider....................................... 496
slider.......................................... 77
slope........................................ 497
smith_normal_form............................ 498
smith_normal_form_basis...................... 498
solve........................................ 498

solve_inequation............................. 500
sort......................................... 500
split........................................ 501
sqrt......................................... 502
sqrts........................................ 503
square?...................................... 503
square_free?................................. 503
square_root.................................. 504
square_root..................................... 45
square_roots................................. 504
standard_deviation........................... 504
standard_deviation................................ 90
standard_deviation_n......................... 505
standardize.................................. 505
Statistics_data.............................. 505
step......................................... 506
step........................................... 49
string....................................... 506
String....................................... 506
string_substitution.......................... 507
subextension?................................ 507
submatrix.................................... 507
subset?...................................... 508
subspace_intersection........................ 508
subspace_sum................................. 508
substitute................................... 508
Substitution................................. 509
substring.................................... 509
supplement................................... 509
support...................................... 509
surface...................................... 510
Surface...................................... 510
symmetric?................................... 510
symmetry..................................... 511
symmetry.......................................64
symmetry_axis................................ 513
symmetry_matrix.............................. 513

t
table........................................ 514
Table........................................ 514
Table_of..................................... 514
tail......................................... 514
take......................................... 515
tan.......................................... 515
tangent...................................... 515
tangent_axle................................. 515
tangent_line................................. 516
tangent_lines................................ 516
tangent_points............................... 517
tanh......................................... 517
tartaglia.................................... 517
taylor....................................... 518
taylor_series................................ 518
tera.......................................... 102
term......................................... 518
term_list.................................... 519
terms........................................ 519
terms_list................................... 520
tesla......................................... 101
tetrahedron.................................. 520
text......................................... 520
text_box..................................... 520
Text_box..................................... 521
then......................................... 522
times.......................................... 25
to_decimal................................... 522
tolerance.................................... 523

total_degree................................. 524
tower........................................ 525
trace........................................ 525
transform_matrix............................. 526
transformation_matrix........................ 526
translate.................................... 526
translation.................................. 526
translation...................................... 65
translation_matrix........................... 527
transparency................................. 527
transpose.................................... 528
transpose.......................................28
transposition................................ 529
triangle..................................... 529
Triangle..................................... 529
Triangle..................................... 529
Triangle2d................................... 530
Triangle3d................................... 530
true......................................... 531
truncate..................................... 531
type......................................... 531

u
union........................................ 533
unit......................................... 533
Unit......................................... 534
unit.......................................... 100
unit_si...................................... 534
unsigned_infinity............................ 534
until........................................ 534

v
variable..................................... 536
Variable..................................... 536
variables.................................... 537
variance..................................... 538
variance........................................90
variance_n................................... 538
variations................................... 538
variations....................................... 95
variations_with_repetition................... 539
variations_with_repetition........................... 96
vector....................................... 539
Vector....................................... 541
Vector....................................... 542
vector_field................................. 544
vectorial_product............................ 544
vectorial_product................................. 26
versor....................................... 545
vertex....................................... 545
vertical_asymptote........................... 546
vertical_position............................ 546
vertices..................................... 547
visible...................................... 547
volt.......................................... 101
volume....................................... 548

w
watt.......................................... 101
weber........................................ 101
where........................................ 549
where........................................ 549
while........................................ 552
while.......................................... 15
white........................................ 552
white........................................ 552
width........................................ 552
window_aspect_ratio.......................... 553

window_height................................ 553
window_width................................. 553
wired........................................ 554
with......................................... 554
with......................................... 555
write........................................ 561
write.......................................... 73
write2d...................................... 562
write3d...................................... 562
write3d........................................ 84

y
yellow....................................... 563
yellow....................................... 563
yocto......................................... 102
yotta......................................... 102

z
zepto......................................... 102
zero?........................................ 564
zero0........................................ 564
zeros........................................ 564
zetta......................................... 102
Zn........................................... 564
Zns.......................................... 565
zoom......................................... 565
zoom_in...................................... 565
zoom_out..................................... 566