Implementation of commutative


Document concerned

This document deals with algebraic operations of commutative. I am writing this short document to clarify the necessary programming work.


13/12/2016: initial version

Author Invisible Media


Framework of the project

This project is a digital and algebraic calculation software. This project is a way to train very long and tedious equations and to factor them according to a common approach. Goal: solve equations, find all the solutions algebraically and get an equation based on parameters and fixed digital data.

All the features

The set of features is detailed in this document: All features (unbundled) .xlsx

Name of the feature covered here

Neurons of commutative

Relative need

Neurons are elements of graph also called node. In each node in the graph, there may be 0 to N branches or arc where the other end is the next node.


Graphic view

The neurons of algebraic distribution concern all the multiplication of terms.

Relationship with other features

We note each node on a two-dimensional grid the number of links that connect two different nodes (in both directions). The diagonal axis of the grid corresponds to a diagonal of numbers zero, with the understanding that there is no node in relation to himself.

But this definition is insufficient to explain the real problem. Commutative is the difficulty of obtaining a canonical form of the equation any. The commutative means that the Organization of an equation has no impact on the result. the Organization of an equation has an impact on its schematic and semantic representation.

Therefore, commutative must be applied to form the equation according to the clearest possible. The canonical shape was presented in document MS-heuristic.

I note that transitivity is not addressed. Indeed, the logical graph composed after the reading of an equation is a directed graph of width 0 to infinity; This means that a node of the graph will have as many links as there are operands with the same operation.

Here's the graphic view of a neuron where how it graphically represents a neuron.

add-2-number.png add-one-par.png add-one-x.png add-x-par.png

The two branches on the right are the operands of the operation (here the addition). For each operation, there are 6 configurations.

Other operators are necessary to allow a set of mathematical sequences.

Some instructions are needed:
  1. declaring a free variable
  2. declaration of a bound variable
  3. declaration of an unknown variable
  4. equality operator to check
  5. own equality operator
  6. comparison operators
  7. conditional operator: a comparison test, a new sequence if the test result is checked, a new sequence (optional) if the test result is refuted.

These instructions are defined by templates of neurons. The construction of neurons is done during syntactic analysis of these instructions.

I note that here are prefabricated neurons. A given equation, to break down the equation in terms of operations and build the graph of this equation using the templates available to neurons.
So there is an initial background where each neuron has its own function and its own form. I also note that there is only a single main command for an equation: calculate the result of the equation giving a numerical value to each variable. Related variables, to always express the values by using the equation of this variable. For free variables, any numeric value is correct. Finally, for the unknown variables it comes to seek his equation based on the knowledge of the equations on the variables and the values of the free variables.
The search of the canonical form algorithm considers the States in descending order and begins in-depth research by the larger Member States, i.e. Forms of unwanted equations. To evaluate the first as the largest State, simply calculate the smallest possible state by the calculation of the number of operands. Commutative are permutations for operands on a same operation; suffice to say that if the algorithm is not optimized then the processing time will be too big and memory availability will be insufficient.

Last edited Dec 18, 2016 at 8:32 AM by skercrow, version 2