According to wiki:
In mathematics and computer science, computer algebra, also called symbolic computation or algebraic computation is a scientific
Symbolic computation is one that emphasizes term rewriting over evaluation (e-value-ation, extracting the value). Symbols (also called expressions) are rewritable terms, values imply a loss or an end to rewritability. In a way, symbols are more abstract, values more concrete.
What's the answer to 3/9
? A symbolic answer would be (a representation of) 1/3
. A value answer would be 0.333333333
, to however many decimals you care. Notice there's a loss of precision (and thus rewritability) here, 0.333333333 * 3
isn't quite 1
as it should.
A calculator (evaluating machine) will likely choke trying to evaluate (2^(74,207,281) − 1)/(2^(74,207,281) − 1)
even though the answer is trivially just 1
. There's no need to evaluate here when a mere rewrite would suffice.
And of course there's also the opposite case of equations so intractable to term rewriting that they can only be approximately answered through numerical methods.
symbolic computations are always precise ( infinite precision). In numeric computations precision is finite
"Symbolic Computation" is the computation with symbolic expressions.
Examples for symbolic expressions:
For the latter:
Now the task would be to generate a good plan which picks up all parcels
In above examples symbols stand for places and for things (truck, parcel). Symbol expressions describe a situation, a plan generator will return a sequence of actions - again described as symbolic expressions.
Symbolic computation is handling non-numerical values, this means symbols like in algebra. There is a powerful free symbolic computation program for multiple platforms, maxima, that lets you, e.g., simplify or expand arithmetic expressions with symbols, of integrate or differentiate them, among others. Just try it out - it is fun and useful!