Skip to main content

Algebra instructions

Numbers

Complex numbers

To define and operate with complex numbers, you need to enter the imaginary unit i=-1 using the icon in the section Symbols of the Menu or to use the keyboard shortcut Ctrl+J. Note the imaginary number appears in green. Otherwise, CalcMe interprets it as a variable.

complex_1.png

From now on, you can naturally write complex numbers in binomial form and find their real and imaginary parts, norm, argument, polar representation, conjugate, and inverse using the different available commands.

calc.complex1.left.calc.png
calc.complex1.right.calc.png

In addition, you can also operate with these numbers, starting with perhaps the simplest operations: addition and subtraction. Note adding or subtracting complex numbers ends up being the same as using plain vectors.

calc.complex2.calc.png
calc.complex2.plotter0.calc.png

However, when multiplying two complex numbers z1=a+b·i,z2=c+d·i, you have to imagine you are multiplying two polynomials and applying the distributive property. As i·i=i2=-1, the real part of the product will be the product of real parts minus the product of imaginary parts a·c-b·d. Meanwhile, the imaginary part will be the sum of the cross products a·d+b·c.

calc.complex3.calc.png

Lastly, when you divide complex numbers, you have to eliminate the complex part of the divisor (the denominator) by multiplying the numerator and denominator by the denominator's conjugate. That reduces the problem to dividing a complex number (i.e., the numerator) by a real value (i.e., the denominator).

calc.complex4.calc.png

Elements of linear algebra

Vectors and matrices

To get started with elements of linear algebra, you first need to see how vectors and arrays are defined in CalcMe. You can define vectors in three different ways: by using the vector command, using the icon you can find in the Linear Algebra section of the Menu, or by typing it manually. The last two are the most common.

algebra_1.png

You can also define vectors as variables, perform basic operations between them, and access specific elements.

calc.algebra1.calc.png

Tip

If you want to see how to create vectors using the command, see its dedicated page.

On the other hand, you have only two options if you want to define a matrix, but they are more than enough. You can use the icon next to the vector in Linear Algebra or enter it manually as a vector of vectors.

algebra_2.png

Additionally, once the matrix is created, you can resize it by inserting or removing rows and columns with more icons you can find in the Menu.

algebra_3.png

Finally, as with vectors, you can also perform basic operations between matrices and access their elements.

calc.algebra2.calc.png

Operations with matrices

Apart from the basic operations already seen as the sum of matrices or the product of a matrix and a scalar, CalcMe allows you to perform a wide range of actions given a set of matrices. First, the product between matrices.

calc.algebra3.left.calc.png
calc.algebra3.right.calc.png

Continuing with classical operations with matrices, you can also find commands in the Linear Algebra section of the Menu that allows you to calculate the determinant, inverse, and transpose of a given matrix. In the same way, you can also easily create an identity matrix of the dimension you want.

algebra_4.png

Finally, you can find the range, kernel, and matrix image by using the corresponding commands.

calc.algebra4.calc.png

Change of base

Given two bases of a vector space V, in our case B={(1,1,1),(1,0,3),(3,4,5)} and A={(2,3,-1),(0,0,1),(2,1,0)}, the matrix C whose columns correspond to the coordinates of the vectors of B in the base A, is called the matrix of the change of base from B to A. CalcMe allows you to find this matrix and, consequently, the vector coordinates of B in the base A.

calc.algebra5.calc.png

Equation of a 2-D and 3-D straight line

To create a straight line, you need to specify a point on the line and the direction it will follow (i.e., its slope). With these ingredients (though they aren't the only possible ones) and the line command, you can easily create and represent a straight line in the plane.

calc.algebra6.calc.png
calc.algebra6.plotter0.calc.png

You can extend these actions into space with similar syntax and create and render a 3-D straight line. Notice that the line appears as an intersection of two planes.

calc.algebra7.calc.png
calc.algebra7.plotter0.calc.png

Tip

If you want to see the different parameters you can use to create a line, see its dedicated page.

Equation of a plane

On the other hand, you will need a point and two director vectors to create a plane. With these ingredients (though they aren't the only possible ones) and the plane command, you can create and render a plane in the space.

calc.algebra8.calc.png
calc.algebra8.plotter0.calc.png

Tip

If you want to see the different parameters you can use to create a plane, see its dedicated page.

Systems of linear equations

Solution, solution with degrees of freedom

There are essentially two methodologies to solve linear systems of equations: entering the equations manually by separating them using the New Line action (Shift + Enter) or using the solve command.

sel_1.png

If you want to assign these solutions to a variable, you need to consider the singular notation to use. In addition, in the case of an indeterminate compatible system, you will be able to see what value the solution takes depending on the dependent variable.

calc.sel1.calc.png

Resolving systems like the ones seen above gives you a wide range of options when solving problems with several variables. Given the following diagram showing the data flow (in MB per hour) between six routers (A-F) on a network

sel_2.png

You can find the data flow between each pair of directly linked routers (x,y,z,t,u,v,w) if you consider the data flow that goes through each of them is the same that comes out of it. You also know the total inbound data flow is 1100 MB (for A and F) and equal to the outgoing flow (for C and D).

calc.sel2.calc.png

Adding a couple of conditions, such as that the flow from B to C is 200 MB per hour and that the flow from A to D is 500 MB hour, you can find a single solution for the system of linear equations.

calc.sel3.calc.png

Intersection of planes

All the linear systems seen above can be interpreted geometrically as a set of planes in the space that will intersect at a point (determinate compatible system), in a straight line (indeterminate compatible system with a degree of freedom), in a plane (indeterminate compatible system with two degrees of freedom) or nowhere (incompatible system).

When the rank of the plane coefficients' matrix matches the range of the extended matrix, the planes intersect at one or more points (the corresponding linear system solution set). Also, if this range is the same as the number of unknown variables, that intersection will be a single point.

calc.planes1.calc.png

On the other hand, if these ranges coincide but are smaller than the number of unknown variables, the planes will intersect at an infinite number of points. If the system has a degree of freedom, they intersect in a straight line; if there are two, in a plane.

calc.planes2.calc.png

This situation may also occur when considering more than two planes. In fact, there are infinities that go through a given line.

calc.planes3.calc.png

Lastly, if the planes are parallel (same direction vectors but different points), there will be no intersection point corresponding to the incompatible system.

calc.planes4.calc.png

Similarly, given two parallel planes, any other plane we add to the situation may intersect (or not) with the initial planes but never get the system to have a solution.

calc.planes5.calc.png

Linear maps

Given an endomorphism f and its associated matrix A, you can use the commands image and kernel to find the set of vectors that are the image of any of the initial vectors (Im(f)) and the set of vectors whose image for f is 0 (Ker(f)).

calc.maps1.calc.png

Alternatively, you can also find the eigenvalues and the corresponding eigenvectors of the endomorphism using the commands eigenvalues and eigenvectors: As you know, A·vi=λi·vi is verified.

calc.maps2.calc.png

In the same way, you can calculate these values and eigenvectors from the characteristic polynomial. Once calculated, you can use it to find the diagonal matrix mapping on the base of your vectors.

calc.maps3.calc.png

One of the applications of this decomposition is to find high-grade powers of the initial matrix. As A=P·D·P-1, if you want to calculate An you have to raise the diagonal matrix D (i.e., the eigenvalues) to the nth power and multiply by the matrix P and the matrix P-1.

calc.maps4.calc.png

Geometric transformations

Translation

Translating is a transformation that moves objects without causing them to deform since each point of the object is moved in the same direction and at the same distance. Set the translation distance (both on the x axis and the y axis) to define it.

calc.transformations1.calc.png
calc.transformations1.plotter0.calc.png

In fact, you can apply this transformation to more complex objects than points.

calc.transformations2.calc.png
calc.transformations2.plotter0.calc.png

Rotation

Suppose you apply a rotation to a point P, its position changes following a circular trajectory in the plane. In order to define it, you must set the rotation angle and the pivot or rotation point. CalcMe will interpret the pivot as the origin if you don't indicate it.

calc.transformations3.calc.png
calc.transformations3.plotter0.calc.png

As you have seen before, you can apply this transformation to more complex objects than points.

calc.transformations4.calc.png
calc.transformations4.plotter0.calc.png

Or specifying another rotation point different from the origin.

calc.transformations5.calc.png
calc.transformations5.plotter0.calc.png

Scaling

Scaling a point P using a fixed point P0, implies multiplying by some factors the horizontal and vertical distances between P0 and P. If you don't indicate it, CalcMe will interpret that the point P0 is the origin.

calc.transformations6.calc.png
calc.transformations6.plotter0.calc.png

As you have seen before, you can apply this transformation to a more complex object.

calc.transformations7.calc.png
calc.transformations7.plotter0.calc.png

Or by specifying another fixed point other than the origin. In this case, you will need to start by applying a translation so that the fixed point matches the coordinate origin. Once you've made a move, you have to finally apply the scaling to undo the translation.

calc.transformations8.calc.png
calc.transformations8.plotter0.calc.png