Skip to main content

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.

calc.demo.calc.gif

The CalcMe sheet is divided into three main areas:

  • Area for Calculating

calc.calcarea.png
  • Area for Graphing

calc.graphicsarea.png
  • Area for Defining

calc.definearea.png

Calculate

  1. Write what you would like to compute.

  2. Click Calc or Enter.

symbols.basic_guide_basics.calc.gif

The default action is Calc, but you can choose the most appropriate one at your convenience.

calc.actions.calc.png

Graph

  1. Write the equation or figure you would like to plot.

  2. Click Plot action.

calc.basic_guide_graph.calc.gif

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.

calc.download_graph.calc.gif

Define

  1. Store a computation in a variable.

  2. Use it later.

calc.basic_guide_define.calc.gif

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.

calc.basic_guide_define_algorithm_line.calc.gif

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

sum.png

+

Subtraction

rest.png

-

Multiplication

mult.png

* or ·

Division

div.png

/

Square root

square_root.png

Ctrl+.

Root

root.png

Ctrl+,

Power

superscript.png

Ctrl+Up

 

Below you can see several examples regarding their use.

symbols.arithmetic.calc.png

 

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.

arithmetic.arithmetic.calc.png

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 ,.

vector_constructor.png

You can sum vectors or compute their scalar product.

linear_algebra.vector_operations.calc.png

Matrices

Matrices are vectors of vectors, that is, vectors whose elements are vectors. You can create matrices with two different syntaxes.

matrix_constructor.png

As vectors, you can sum and multiply matrices (as long as their dimensions are compatible).

linear_algebra.matrix_operations.calc.png

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.

linear_algebra.basic_operations.calc.png

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.

linear_algebra.basic_guide_elementsaccess.calc.png

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.

calculus.polynomials.calc.png

 

You can sum, multiply, divide and, for instance, find the roots of polynomials.

calculus.polynomials.2.calc.png

 

You can also create more complex expressions and operate with them.

functions.expressions.calc.png

Differentiation

There are plenty of ways to compute the derivative of a function or expression.

Using a prime

'

Using the symbol

derive.png

Using the action

deriveaction.png

Using the command

differentiate

You can see several examples below.

calculus.differentiation.calc.png

Integration

There are also plenty of ways to compute the integral of a function or expression.

Using the symbol

int.png
intdef.png

Using the action

intaction.png

Using the command

integrate

You can see several examples below.

calculus.integration.calc.png

Limit

It is possible to compute the limit of a function or expression. Moreover, you can also take one-sided limits.

calculus.limit.calc.png

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.

calculus.taylor.calc.png
calculus.taylor.plotter1.calc.png

Series

You can determine whether a series is convergent, as well as calculate the sum of a convergent series in most cases.

calculus.series.calc.png

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.

graphics.points.calc.png
graphics.points.plotter1.calc.png

 

Given two points or a point and a vector, you can construct a line.

graphics.lines.calc.png
graphics.lines.plotter1.calc.png

 

In a similar way, you can, for instance, construct a plane given three points.

graphics.planes.calc.png
graphics.planes.plotter1.calc.png

Figures

graphics.figures.calc.png
graphics.figures.plotter1.calc.png

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.

solve.solve.calc.png

You can also use a numerical method to solve more complicated equations.

solve.numerical_solve.calc.png
solve.numerical_solve.plotter1.calc.png

Inequations

It is also possible to find the solution to an inequation.

solve.inequation.calc.png

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.

statistics.statistics.calc.png

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.

statistics.probability.calc.png
statistics.probability.plotter1.calc.png

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 k-permutations of n

var.png

Permutations

perm.png

Combinations

comb.png

Variations with repetition or n-tuples of m-sets

varrep.png

Permutations with repetition

permrep.png

Combinations with repetition

combrep.png

Binomial coefficient

bin.png

Factorial

You can also write ! with the keyboard.

fact.png

 

You can see several examples here:

combinatorics.combinatorics.calc.png

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.

units_of_measure.units.calc.png

 

Currencies are similar to units but you cannot convert one into another. Check all the available currencies here.

units_of_measure.currencies.calc.png

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

logic_and_sets.random1.calc.png
logic_and_sets.randomal1.calc.png

 

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

logic_and_sets.random2.calc.png
logic_and_sets.randomal2.calc.png

 

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

logic_and_sets.random3.calc.png
logic_and_sets.randomal3.calc.png

 

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

logic_and_sets.random4.calc.png
logic_and_sets.randomal4.calc.png

 

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

logic_and_sets.random5.calc.png
logic_and_sets.randomal5.calc.png

 

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

logic_and_sets.random7.calc.png
logic_and_sets.randomal7.calc.png

CalcMe sheet

CalcMe code editor

logic_and_sets.random6.calc.png
logic_and_sets.randomal6.calc.png

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 "set-builder notation", for instance:

(x,y)2x0,y0\left\{(x,y)\in\mathbb{R}^2\mid x\geq0,y\geq0\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

logic_and_sets.lc_ex1_1.calc.png
logic_and_sets.lc_ex1_1al.calc.png

 

or you could greatly simplify it to the following:

CalcMe sheet

CalcMe code editor

logic_and_sets.lc_ex1_2.calc.png
logic_and_sets.lc_ex1_2al.calc.png

 

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

logic_and_sets.lc_ex1_3.calc.png
logic_and_sets.lc_ex1_3al.calc.png

 

Alternatively, you could, of course, have done this:

CalcMe sheet

CalcMe code editor

logic_and_sets.lc_ex1_4.calc.png
logic_and_sets.lc_ex1_4al.calc.png

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

logic_and_sets.lc_ex2_1.calc.png
logic_and_sets.lc_ex2_1al.calc.png

As you may have noticed, the first expression does not explicitly depend on ii. You can think of ii 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

logic_and_sets.lc_ex2_2.calc.png
logic_and_sets.lc_ex2_2al.calc.png

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 single-digit numerator and denominator:

CalcMe sheet

CalcMe code editor

logic_and_sets.lc_ex3_1.calc.png
logic_and_sets.lc_ex3_1al.calc.png

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

calculus.lc_ex4_1.calc.png
calculus.lc_ex4_1al.calc.png

Example 5

It is also possible to create matrices using this notation. For instance, creating a 4×34\times3 matrix with random coefficients is as simple as this:

CalcMe sheet

CalcMe code editor

linear_algebra.basic_matrixcreation.calc.png
linear_algebra.basic_matrixcreational.calc.png

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

programming.programming.calc.png
programming.programmingal.calc.png

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

programming.userfunction_random.calc.png
programming.userfunction_randomal.calc.png

 

This eases the creation of a matrix with random coefficients. Another more elaborated example is creating a function that constructs a tri-diagonal matrix given three numbers. Therefore, every time you would like to create a tri-diagonal matrix, you just need to call this function with the upper-diagonal, diagonal and lower-diagonal terms you would like the matrix to have.

CalcMe sheet

CalcMe code editor

programming.userfunction.calc.png
programming.userfunctional.calc.png