Basic guide to CalcMe
CalcMe is an online calculator based on Javascript, so it runs on any browser and operating system, including mobile and tablet devices. CalcMe is integrated within WirisQuizzes, enhancing the power of your math questions. CalcMe offers a robust calculation and graphics engine covering basic and advanced mathematical needs: random number generation, polynomials, general expressions, vectors, matrices, lists, geometry, statistics, user functions, programming and many more.
How does CalcMe work?
You can write mathematics, and CalcMe will perform the calculations for you.
The CalcMe sheet is divided into three main areas:
Area for Calculating
Area for Graphing
Area for Defining
Calculate
Write what you would like to compute.
Click Calc or Enter.
The default action is Calc, but you can choose the most appropriate one at your convenience.
Graph
Write the equation or figure you would like to plot.
Click Plot action.
Note
From this moment on, it's possible to download the graphic plotter as a square image in PNG format of your desired size. Take advantage of this new CalcMe feature to save the generated images directly to your device.
Define
Store a computation in a variable.
Use it later.
Caution
There is a new procedure to define variables in CalcMe using the code editor. You can see the problems intended to be solved and the expected user interaction here.
Arithmetic
Tip
You can learn about arithmetics here.
Mathematical operations in CalcMe are represented by a symbol associated with a keyboard key.
Operation  Symbol  Keyboard 

Sum  +  
Subtraction    
Multiplication  * or ·  
Division  /  
Square root  Ctrl+.  
Root  Ctrl+,  
Power  Ctrl+Up 
Below you can see several examples regarding their use.
You can compute the quotient and remainder of a division or factorize a number into prime factors. You can also compute the greatest common divisor or the least common multiple of a set of numbers.
Vector and Matrix constructor
Tip
You can learn about vectors and matrices here.
Vectors
Vectors are constructed with square brackets []
, and the elements are separated by commas ,
.
You can sum vectors or compute their scalar product.
Matrices
Matrices are vectors of vectors, that is, vectors whose elements are vectors. You can create matrices with two different syntaxes.
As vectors, you can sum and multiply matrices (as long as their dimensions are compatible).
Basic operations
As you have previously seen, you can work with vectors and matrices and perform basic arithmetic with them. However, you can do many more things: compute the cross product between two vectors, and check if they are linearly independent. On the other hand, a matrix can be inverted or raised to a whole power, and you can also compute its rank or its determinant.
Element access
You can access a specific element of a vector using subindices, that start on 1. In the same way, you can retrieve an element of a matrix.
Polynomials and expressions
Tip
You can learn about polynomials and expressions here.
Polynomials are created with a number multiplied by a variable raised to a power.
You can sum, multiply, divide and, for instance, find the roots of polynomials.
You can also create more complex expressions and operate with them.
Differentiation
There are plenty of ways to compute the derivative of a function or expression.
Using a prime  ' 
Using the symbol  
Using the action  
Using the command 

You can see several examples below.
Integration
There are also plenty of ways to compute the integral of a function or expression.
Using the symbol  
Using the action  
Using the command 

You can see several examples below.
Limit
It is possible to compute the limit of a function or expression. Moreover, you can also take onesided limits.
Taylor expansion
You can compute the Taylor series of a real function at a given point. If you are interested in the terms up to some order, you can cut the series too.
Series
You can determine whether a series is convergent, as well as calculate the sum of a convergent series in most cases.
Geometry
Tip
You can learn about geometry here.
CalcMe allows us to deal with geometrical figures such as points, lines, planes and conic sections. You can also create polygons and polyhedra, both in 2D and 3D. It is also possible to compute the distance between figures, the angle they form or the symmetry concerning an object.
Points, lines and planes
It is possible to work in 2 or 3 dimensions. To create points you simply define its components.
Given two points or a point and a vector, you can construct a line.
In a similar way, you can, for instance, construct a plane given three points.
Figures
Solving
Tip
You can learn about solving equations, inequations, and more here.
Equations
It is possible to solve an equation or a system of equations exactly.
You can also use a numerical method to solve more complicated equations.
Inequations
It is also possible to find the solution to an inequation.
Statistics
Tip
You can learn about statistics here.
There are a lot of functions useful for statistical calculations such as mean, quantile, quartile, etc. You can see the complete list here.
Probability
Tip
You can learn about probability here.
The most common probability distributions are also available. Analytical expressions for density and distribution functions are also available if possible.
Combinatorics
Tip
You can learn about combinatorics here.
Combinations, permutations or variations of a set of numbers can be calculated. Be careful, though: results are very large.
Counting  Symbol 

Variations or kpermutations of n  
Permutations  
Combinations  
Variations with repetition or ntuples of msets  
Permutations with repetition  
Combinations with repetition  
Binomial coefficient  
Factorial You can also write 
You can see several examples here:
Units and currencies
Tip
You can learn about units of measure here.
You can work with units, convert one into another (if it makes sense) and do basic operations with them. Units need to be introduced via the symbols available under the Units of measure tab. Discover more about the units or prefixes you can use here.
Currencies are similar to units but you cannot convert one into another. Check all the available currencies here.
Randomness
Note
As you may use these commands to generate an algorithm for a WirisQuizzes question, we show how to create them through the sheet and using the code editor. You can see more details about it here.
The random function in CalcMe is adaptable to many cases of use. For example, you will see how to remove the "0" from a random selection. The normal command would be like:
CalcMe sheet  CalcMe code editor 

By default, this includes all of the numbers between 10 and 10. If given the requirements of the question, the number 0 needs to be excluded from the set, you can remove it with one simple instruction:
CalcMe sheet  CalcMe code editor 

You have to add brackets around the first list for this to work. This can, of course, work equally for any other number you need to exclude other than zero:
CalcMe sheet  CalcMe code editor 

The above would produce a random number between 10 and 10, except the number 8. You can even do this with more than one number:
CalcMe sheet  CalcMe code editor 

This would remove 8,8, and 0 from the selection. As you can see, there are many more options when creating a random variable. So far, you have retrieved integer numbers, but you can also work with real numbers.
CalcMe sheet  CalcMe code editor 

As a general rule, these real numbers will have as many decimal or significant figures as defined in the Application settings. You can adjust it by defining the step between the possible random values.
CalcMe sheet  CalcMe code editor 

CalcMe sheet  CalcMe code editor 
Caution
As you may have seen, we can use {}
and []
to exclude several numbers for the set of possible values when generating random variables. We use each of them as follows:
[]
define arrays and matrices (arrays are supposed to contain the same data types).{}
define lists (lists can have different data types).
The random function can exclude values as long as the two parameters you pass are in the same format. In other words, if you include a list as a first parameter, you should pass a list as the second parameter as well.
Creating lists via comprehension
Tip
You can learn about creating lists via comprehension here.
This section is a short guide to creating lists in CalcMe using the commands with
and where
. This method of defining lists is based on the standard mathematical notation of "set comprehension" or "setbuilder notation", for instance:
$\left\{(x,y)\in {\mathrm{\mathbb{R}}}^{2}\mid x\ge 0,y\ge 0\right\}$ 
We will explain the commands through the following examples.
Note
As you may use these commands to generate an algorithm for a WirisQuizzes question, we show how to create them through the sheet and using the code editor. You can see more details about it here.
Example 1
At the most basic level, with
simply provides a more compact form of writing long lists. You can write
CalcMe sheet  CalcMe code editor 

or you could greatly simplify it to the following:
CalcMe sheet  CalcMe code editor 

The command where
comes in handy when you would like to have additional restrictions. For example, retrieve the even numbers only:
CalcMe sheet  CalcMe code editor 

Alternatively, you could, of course, have done this:
CalcMe sheet  CalcMe code editor 

Example 2
In the first example, the size of the list was fixed. However, comprehension is especially useful when defining lists of variable size. Here, for example, is a list with random elements, of random size
CalcMe sheet  CalcMe code editor 

As you may have noticed, the first expression does not explicitly depend on $i$. You can think of $i$ as just a counter within a specified range. Then, you may or may not use it to define the list elements. It can also be any variable name you choose, as in the following:
CalcMe sheet  CalcMe code editor 

Example 3
The list comprehension notation can also be extended to more than one variable. In that case, you should specify the range for each variable used as a counter. For example, here is a list with all positive proper fractions in simplest terms, with a singledigit numerator and denominator:
CalcMe sheet  CalcMe code editor 

Another recommendation illustrated in the above example is enclosing each condition after where
in parentheses if you have more than one joined by $\wedge ,\vee $.
Example 4
Finally, note that the range for the counter variable can itself be a list, defined previously.
CalcMe sheet  CalcMe code editor 

Example 5
It is also possible to create matrices using this notation. For instance, creating a $4\times 3$ matrix with random coefficients is as simple as this:
CalcMe sheet  CalcMe code editor 

Programming
Note
As you may use these commands to generate an algorithm for a WirisQuizzes question, we show how to create them through the sheet and using the code editor. You can see more details about it here.
You can use some programming functions. You can see the basic ones here. For example, given a list created as described before, you can easily compute the square of the first primes.
CalcMe sheet  CalcMe code editor 

User functions
Note
As you may use these commands to generate an algorithm for a WirisQuizzes question, we show how to create them through the sheet and using the code editor. You can see more details about it here.
You can create custom functions. The random
command is very useful, but it could be a bit tedious to write every time random(10,10)
. Instead, you can create a function that generates a random number when called:
CalcMe sheet  CalcMe code editor 

This eases the creation of a matrix with random coefficients. Another more elaborated example is creating a function that constructs a tridiagonal matrix given three numbers. Therefore, every time you would like to create a tridiagonal matrix, you just need to call this function with the upperdiagonal, diagonal and lowerdiagonal terms you would like the matrix to have.
CalcMe sheet  CalcMe code editor 
