CodePlexProject Hosting for Open Source Software

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.

Arithmetic is a together recurring that perfectly fits the notion of graph. In particular, a complete equation is a tree set of operations. We're talking about graph when a node has multiple parents. An equation where some words are repeated will form a graph where a repeated word is associated with a single node, and each parent node will go on this node.

- addition
- subtraction
- multiplication
- division
- power
- power

Mathematical functions such as logarithms and trigonometry will be added later.

The processed equations, for now, are the polynomials of order .

For each of these operations, I distinguished several cases

- surgery with two integers
- an operation with a free variable and an integer
- surgery with two free variables
- an operation with a free variable and an unknown variable
- surgery with a stranger and an integer
- surgery with two unknown variables

These situations are those polynomial equations. I draw attention to the fact that the equations can contain integers. Decimal numbers are handled by the Euclidean division formed by a whole number plus a fraction of a whole number divided by a second largest whole number (also known as rest of the Euclidean division).

Irrational numbers are not taken into account because they are always approximate value; It is not possible to present irrational numbers in an equation as an irrational number is always expressed in the form of a symbol.

- surgery
- two neurons in greater depth
- one or more neurons parent

The presence of a parent neuron is required to perform the numerical calculation of an equation. It is necessary to add limit neurons such as:

- a digital neuron : Contains an integer
- a neuron containing a free variable: Includes either a variable name, or a reference to the variable or both
- a neuron containing an unknown variable: Includes either a variable name, or a reference to the variable or both

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

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.

To calculate the unknown variables, it must be remembered that the mathematical reasoning and algebra accept 2/3 variables to numeric values and one unknown. And usually, for a real function to a real variable, there is that two unknown variables; It is necessary and sufficient to create an intermediate unknown variable to get actually 2/3 variables to numeric values and one unknown.

Other operators are necessary to allow a set of mathematical sequences. Some instructions are needed:

- declaring a free variable
- declaration of a bound variable
- declaration of an unknown variable
- 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 denied.

These instructions are defined by templates of neurons. Construction of neurons is done during syntactic analysis of these instructions by specializing each template.

The constructive form is just the composition of the operator according to a human-readable representation. Also, the first neuron is called the whole equation.

Finally, a heuristic decides the best form to give an equation considering the different models of algebraic operations:

- commutativity.
- neutral elements,
- absorbing elements,
- distribution.
- factorization.

Last edited Dec 11, 2016 at 10:34 PM by skercrow, version 3