# Implementation of factorization

## Presentation

### Document concerned

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

### Versions

13/12/2016: initial version

### Author

Invisible Media

## Project

### 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 algebraic factorization

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

## Explanations

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

The factorization of an equation is to form a grouping of common terms that make it up. From a general point of view, consider the factorization of an equation find the algebraic form the simplest, most convenient (because there are fewer calculations) and
elegant.

Also, the computer must learn to save equations obtained by factoring (guided by humans) and give a formula to resolve other more complex equations.

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

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

## Manufacture of neurons

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
- own equality operator
- comparison operators
- 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.

The factorization operates on an equation. The intervention of the human guide the machine by selecting terms to factor out together; the machine takes care of the algebraic operations and taking common terms.