Dynamic Computer Algebra System
Encyclopedia
Dcas is a dynamic computer algebra system
Computer algebra system
A computer algebra system is a software program that facilitates symbolic mathematics. The core functionality of a CAS is manipulation of mathematical expressions in symbolic form.-Symbolic manipulations:...

 featuring the idea of using identities as rules for manipulation of algebra
Algebra
Algebra is the branch of mathematics concerning the study of the rules of operations and relations, and the constructions and concepts arising from them, including terms, polynomials, equations and algebraic structures...

. Robert Fenichel developed a system called FAMOUS in the 1970s using the LISP
Lisp
A lisp is a speech impediment, historically also known as sigmatism. Stereotypically, people with a lisp are unable to pronounce sibilants , and replace them with interdentals , though there are actually several kinds of lisp...

 programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

 pursuing the same aim.

A modern system DCAS has been implemented by Martin Johansen
Martin Johansen
Martin Bro Johansen is a Danish former football player. He played usually as a midfielder but could also play as a forward. During his career he played for FC Copenhagen, B 1903 and most notably Coventry City in the FA Premier League.Johansen appeared once for the Danish national team in his career...

 called DCAS Ether. The system works by selecting a class
Class (computer science)
In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...

 of identities based on the form of the input expression.

Here are two examples of identity collections, one for basic algebra, the other for Boolean algebra.


/* Distributivity */
x*(a + b) = a*x + b*x;

/* Powers */
(a*b)^c = a^c*b^c;
(a^b)^c = a^(b*c);





/* add, sub */
solveequ(x, (gfvi(f(x)) + gfve(a(x)) = gfve(b(x)))) = solveequ(x, f = b - a);
solveequ(x, (gfvi(f(x)) + gfve(a(x)) + c = gfve(b(x)))) = solveequ(x, f + c = b - a);

/* mul, div */
solveequ(x, (gfvi(f(x))*gfve(a(x))*c = gfve(b(x)))) = solveequ(x, f*c = b/a);
solveequ(x, gfvi(f(x))*gfve(a(x)) = gfve(b(x))) = solveequ(x, f = b/a);

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK