Linear Algebra Decoded

Linear Algebra Decoded

Linear Algebra Decoded
Version: 1.26
Price: $22.95 USD  (Full version - Buy Now)
Downloadable version: Demo version - Limited functionalities
Operating system: Windows
Size: 3.2 MB (3270 KB)


System Requirements

To use Linear Algebra Decoded, your computer must have Windows 2000 or higher. It is not designed to run on Linux or Macintosh computers. Minimum required memory is 128 MB, but it is recommended 256 MB or greater, and a Pentium 233 MHz processor, recommending Pentium III 500 MHz or greater. It is required 6 MB hard drive space.

Install Linear Algebra Decoded

You can install Linear Algebra Decoded from the file you downloaded. Just double click on the downloaded file and follow the requested steps if you agree the License Agreement.

Start Linear Algebra Decoded

Once the program has been successfully installed, you can start it using the icon on your desktop, or by searching the folder “Linear Algebra Decoded” in the All Programs menu in the start menu, and clicking on the link to the executable file “Linear Algebra Decoded”.

The first time you run the full-product version you must enter your ID and serial number provided by Nibcode solutions inc. when you purchased the software.

Getting Started

This section contains information about the main window and the available features of Linear Algebra Decoded.


All the features of Linear Algebra Decoded can be accessed from the main window, through the main menu or the main toolbar.

This is an overview of the main window and its components:

main window

Main Menu

The main menu is composed by 4 submenus which contain all the available options of Linear Algebra Decoded.


Solve: Solve the selected problem with the data entered in the Edit tab.

Generate integer solutions problem: When needed, show the form to specify the parameters to generate the data of an integer solutions problem associated to the selected problem. In some cases the data is generated directly because there are no parameters.

Generate integer solutions exam: Show the form to compose an exam selecting its problems and the parameters for their generation.

Hide/Show problems list: Hide or show the problem list, depending on its state.

Options: Show the window to configure the options of the program.

Output sheets

Save selected sheet as RTF: Save the selected output sheet (Results or Questions) as a RTF file.

Print selected sheet: Print the selected output sheet (Results or Questions).

Clear both sheets: Clear both output sheets.

Copy all text: Copy all the text in the selected output sheet (Results or Questions) to the clipboard.


English (default): Select English language.

Español: Select Spanish language.

Save selected language to a file: Save selected language text into a text file in order it can be translated to other languages and loaded by the program.


Table of Contents: Show the help file.

About: Show the product information.

Main Toolbar

The main toolbar contains buttons with shortcut access to the most used options of Linear Algebra Decoded.


Shortcut to the “Problems / Solve” option.

generate problem

Shortcut to the “Problems / Generate integer solutions problem” option.

generate exam

Shortcut to the “Problems / Generate integer solutions exam” option.


Shortcut to the “Output sheets / Clear both sheets” option.

save as rtf

Shortcut to the “Output sheets / Save selected sheet as RTF” option.


Shortcut to the “Output sheets / Print selected sheet” option.


Shortcut to the “Problems / Options” option.


Shortcut to the “Help / Table of Contents” option.

Problems list

The problem list contains 60 different problems divided in three fields:

  • Matrices, determinants and linear equations
  • Vector spaces and subspaces
  • Linear transformations

When a problem can be solved using different ways, or it depends on the entry data, a hierarchically list is shown. Linear Algebra Decoded has been designed in a way that always there is a problem selected. You can see a description of the selected problem below the tool bar, and the edit section is rearranged depending of the data needed for this problem.

Edit tab

The page associated to the edit tab shows the controls for the input of the problem data.


Linear Algebra Decoded handles 5 data types: matrices, systems of linear equations, vector subspaces, sets of vectors and linear transformations. Matrices are differentiated in rectangular and squares; sets of vectors can be treated, in some particular cases, as bases or single vectors, and linear transformations in some problems are restricted to endomorphisms.

The edit page can be composed for until three sections depending on the amount of data needed for the selected problem. Each section contains at the top, the data type that must be entered, and in some cases the way it should be entered in one or both of the input modes, when it could cause confusion. Data can be entered indistinctly using any of the two modes it offers: Tabular or Text. Before enter the data it must be specified the size, although in some cases the size of an input data is conditioned for the size of other data of the same problem. All the options related to the selected problem, take into account the data specified in the control associated to the selected input mode, even when you have entered data in both modes.

In section “Entering the data problem”, you can find a detailed explanation about how data should be entered.

Each input section contains a tool bar with 4 buttons:

generate a random input Generate a random input: useful in text mode, because you can see how to enter the associated data type.
copy all Copy all: copy all the data in the input control to the clipboard, depending on the selected input mode.
smart paste Smart paste: paste the data in the clipboard to the input control, depending on the selected input mode. It can determine the data type of the source and paste it according to the data type it must be entered. The source can be from any text or other input control.
clear Clear: Clear the input control, depending on the selected input mode.

Results tab

The Results page contains the sheet where the results are shown. For each problem it will be written the question, a brief explanation of how to solve the problem (depending on the personalized configuration, see Options), and the step-by-step solution.

Questions tab

The Questions page contains the sheet where only the questions are shown. Each time a problem is solved, the associated question is written in this sheet enumerated consecutively. Depending on the personalized configuration, this sheet can have a heading text that will be printed each time a new series of problems is solved. This sheet is useful for generating exam.


Linear Algebra Decoded offers several options for personalizing the software.


Variable chars: The variables used in equations, subspaces and linear transformation. They must be used in the same order they are specified.

Initial max value when generating: Numeric values range that will be used to populate matrices when generating.

Decimal precision: Decimal places when printing not integer values.

Use Unicode characters to represent matrices: Matrices can be printed using Unicode chars or ASCII chars depending on this option.

When calculating determinants of order greater than 3: Determinant of order greater than 3 are calculated expanding cofactors along a row or a column, the parameters group in this option allow defining how to specify the row or column to be used.

Save the entry of the current problem data: Define the moment when saving the entry; when solving the problem, or when the user selects another problem.

When changing the problem, show the last entry: If this option is checked, every time a problem is selected, the last data entry associated to this problem will be shown in the input controls. Data depend on the input mode.

Show the calculation details for all the minors when computing the determinant: When checking this option all the minors used to calculate determinants of order greater than 3 are shown recursively.

For all the problems that need to calculate the determinant too: Identical to the previous option, but applied for problems that need to calculate determinants of order greater than 3.

Clear the result sheet before showing the solution for a new problem: Clear the results sheets every time a new problem is solved, showing uniquely the last problem solution.

Show the How-to text when solving problems: When this option is checked, the how-to text is shown after the question of every solved problem.

Appearance of the results sheet: Allow to configure the appearance of the results sheets. There are two possible values: “Letter paper size width”, which is better for printing because it has the width of a letter paper; and “Free width”, which is better for viewing because there are no matrix or equations breaks when data is too big.

Heading of the questions sheet: Write and align a text that will be shown at the top of the questions sheet. This option allows getting a questions sheet ready to apply.

Entering the problem data

Problem data can be entered indistinctly using any of the two modes: Tabular or Text.

In Tabular mode, the data entries are written in a grid which dimension varies according to the size of the associated data type. Only integer or decimal numbers are allowed in each cell of the grid. Negative numbers are preceded by the minus symbol and the decimal separator is the one specified in the Control Panel of the Operating System. The entries in the grid are disposed depending on the data type:

  • Matrices: Original disposition.
  • System of linear equations: Augmented matrix associated to the system.
  • Vector subspaces: Augmented matrix associated to the system of its implicit equations.
  • Vectors: In vertical notation. Enter each vector as a column.
  • Linear transformations: Matrix of the linear transformation.

In Text mode, the data entries are written in a rich edit box. The program uses a parser that translates the written text into a data structure that represents the correspondent data type. This parser make automatic corrections in order to adapt the text to the data type and it size, eliminating if necessary, the additional entries. As general rules:

  • Fractions or imaginary numbers are not allowed, only integer and decimal numbers.
  • The symbols for the sum and the subtraction are the standard ones (+ and -).
  • Vectors are written in horizontal notation.
  • Rows of a matrix, equations and vectors must be separated by semi colon (;) or by a new line.
  • Equations must use the variables specified in the options of the program.
  • The decimal separator is the one specified in the Control Panel of the Operating System (it cannot be the semi colon).
  • The entries of a row in a matrix or the components of a vector are separated by spaces.
  • Equations must contain the equal symbol.
  • There is not necessary to write the multiplication symbol (*) in equations, to express the product of the constants and the variables.
  • The symbols that are not interpreted by the parser are obviated.
  • Use the “Generate a random input” button to see the format of the correspondent data type.


  • Matrices: Write a collection of numbers, using the space character to separate entries of the same row, and the semi colon or a new line for a new row.
  • Systems of linear equations: Write each equation using integer and decimal constants, variables specified in the options, the addition, subtraction and equal symbols. After the equal symbol only the value of an integer or real constant is allowed. Separate each equation using the semi colon or a new line.
  • Vector subspaces: Write the homogeneous system of linear equations associated to the implicit equations of the vector subspace using the same specifications for a traditional system of linear equations.
  • Vectors: Write vectors in horizontal notation. Use the space character to separate the components of a vector, and the semi colon or a new line, to separate vectors. It is advisable to use parentheses to enclose the components of a vector, but it is not required.
  • Linear transformations: Write the formula of the linear transformation, separating each component in the right side using semi colon or a new line. It is advisable to write the left side of the formula and the equal symbol, but only the right side is required (parentheses are not required but advisable).

Examples of the advisable formats for each data type:

Matrix -8 -5
-1 0
6 -9
System of Linear equations - 5x + 7y + 3z = -6
9x - 6y + 7z = -5
7x + 7y + 4z = 7
Vector subspace - 6y + 3z - 8w = 0
9x - 6y + 3z - w = 0
Vectors (4 3 8 ); (-6 -7 0 ); (5 8 -4 ); (5 1 -4 )
Linear transformation f(x, y, z) = (- 5x - 5y - 5z ; - 4x + 6y + 6z )

Simplified formats:

Matrix -8 -5; -1 0; 6 -9
System of Linear equations -5x+7y+3z=-6; 9x-6y+7z=-5; 7x+7y+4z=7
Vector subspace -6y+3z-8w; 9x-6y+3z-3w
Vectors 4 3 8; -6 -7 0; 5 8 -4; 5 1 -4
Linear transformation -5x-5y-5z; -4x+6y+6z

In all cases, semi colons can be replaced with new lines and vice versa.

Notation and symbols when expressing solutions

A, B, C, D matrices or basis for a subspace
E, F, G, H vector subspaces
U, V, W set of vectors
u, v, w vectors
f, g linear transformations
k scalar (real number)
λ lambda (characteristic polynomial unknown)
I identity matrix
N standard basis
Q(λ) characteristic polynomial
Rn Euclidean n-space
{…} set
; elements separator in a set and in a vector parametric representation
, variables separator in a generic vector
| such that
(…) vector
[V] subspace spanned by the set of vectors V
[u]B coordinate vector of a u, relative to the basis B
+ addition, sum of subspaces
- subtraction
intersection of subspaces
o composition of linear transformations
~ equivalence
= equality
set membership
r1 <——> r2 interchange row 1 and row 2
r2 <——> k•r2 multiply row 2 through by the scalar k
r2 <——> r2 + k•r1 add k times the row 1 to the row 2
Inv(A) inverse of the matrix A
Adj(A) adjugate matrix of the matrix A
Cof(A) matrix of cofactors of the matrix A
A’ transpose of the matrix A
Det(A) determinant of the matrix A
|A| determinant of the matrix A
Dim(E) dimension of the vector subspace E
C[A->B] change of basis matrix from the basis A to the basis B
Coef coefficients of a linear combination
M(f) matrix of the linear transformation f
M[A->B](f) matrix of the linear transformation f with respect to the basis A and B
Ker(f) kernel of the Linear transformation f
Img(f) image of the Linear transformation f

Generating problems

One of the main features of Linear Algebra Decoded is the ability to generate problem which solutions are in the integer field, with the particularity that the user can personalize the problem.


In some problems, because of their simplicity, there are no parameters to configure, but in the majority of the problems, a set of parameters is presented in order the user personalize the problem. The window above shows the parameters when generating a linear transformation to determine if it is diagonalizable.

Each time a problem is generated, the values of the parameters are stored, in order that they were shown as default values the next time the parameters window is open for the same problem. As most of the parameters depend on the size of the input data, when the size of the data is changed, the values of the parameters could change.

When a problem is generated, the problem input data is automatically written in the input controls, depending on the input mode of each edition section.

Generating exams

Exams generator is a tool with the ability to generate an exam, writing in the results sheet, all the questions with the step-by-step solutions, and in the questions sheet, all the questions with the heading text (if has been configured) ready to print for applying. First the exam must be configured, selecting the desired problems it will contain, and specifying the associated parameters for each problem.


Exams can be saved in a file, which can be later loaded and transformed or simply accepted to generate it. Each time the Exam generator windows is open, the last exam configuration will be shown.

The toolbar contains a set of buttons to reorder and modify the list of selected problems:

move up

Move up the selected item in the list

move down

Move down the selected item in the list


Remove the selected item from the list


Clear the list

show parameters

Show the parameters editor windows to reconfigure the selected problem

All this options are available in the context menu too.

Each time the Accept button is clicked, a new exam will be generated using the parameters defined for each problem. Previously, the results and the questions sheets, will be cleared.


Linear Algebra Decoded has been designed for Multilanguage support. The default language is English, but the distribution contains the Spanish as an alternative language too. Other languages can be incorporated just translating the file associated to one of the existing languages and copying the translated file with extension ".lgg" to the Language folder, located in the directory where the program was installed. When the program starts, it scans this folder and shows the file names as submenu items of the submenu Language in the main menu. Selecting one of these items, the associated language will be automatically loaded and it will be kept as current language each time the program starts.

Translating a language file

The option “Save selected language to a file” allows saving selected language text into a text file in order it can be translated to other languages and loaded by the program.

The format of the language file is as follows:

0=Matrices, determinants and linear equations
1=Add matrices
2=Subtract matrices

0=Compute the sum of two matrices.
1=Compute the difference of two matrices.
2=Compute the product of a matrix by a scalar.

Numbers in brackets "[" and "]" are the sections, number before each line are the keys of the sections, and text after the equal symbol "=" is the value associated to the key.

This format allows translating the text directly in any translation service, as Google’s, keeping the sections and the keys. If the text is too big, just translate it by parts, keeping in mind that the equal symbol in each line must be after the key. Evidently the translations will not be perfect but is a good starting point.

© Nibcode Solutions. All rights reserved.