I have always been amazed by the development of calculators
over time. Couple decades ago, a calculator could only solve simple numerical
computation such as addition, subtraction, multiplication and division. Thanks
to the fast growth of Computer Science, calculators have been improved a lot so
that they can solve complex mathematical expressions. However, the explosion of
mobile devices nowadays makes many people want to design a math library or
system on mobile devices in order to replace regular calculators. Such a system
has to be able to do symbolic computation.
What is symbolic computation? Symbolic computation allows us to express mathematical problems in
symbols and solve them using variables, formulas and functions. Values do not
need to be assigned to variables until we want to. Symbolic computations give
us more accurate results since they reduce the inaccuracy of doing mathematical
problems by hands.
A symbolic computational system can do a lot of things
including numerical computing, derivatives, integrals, and many other complex
expressions. There are two most popular systems which are Maple and Wolfram. They both have very complicated graphical and computational
features, which are implemented very well to handle complex expressions that cannot
be solved by humans.
In order to build such systems on mobile devices, there are
several considerations to be considered.
- Space: consider a simple expression like (a + 5) ^ 10. It expands to 3 terms, however (a + 5) ^ 200000 can expand up to 2000 terms. This might take some space (probably more than 1 Mb). Therefore, simple things get bigger very fast when you begin to compute with them.
- Time: The above polynomial looks simple, but if we want to take the derivative or integrate it over some interval might take quite long, so how long a mobile user would want to wait for an answer?
- Format: Mobile users always want simple inputs but beautiful outputs.
- Built-in library: To make this system portable, we need to have a library.
- Extensibility: To make the system bigger and more useful, users can add more functionality to it.
In conclusion, symbolic computing/programming plays an
important role in solving a lot of mathematical problems that were created many
centuries ago. It also builds a much stronger platform for a new kind of
computing.
Hello! The construction of graphing calculators has never reached my attention until now. For every math class I have taken, I always use Wolfram Alpha but never thought about how it worked. The algorithm looks quite complicated and I am fascinated how to deals with any input. I feel that symbolic computation will gradually remove our needs to learn the fundamentals of mathematics. Why learn algebra when you can ask Wolfram to solve your problem for you? In any case, thanks for sharing!
ReplyDeleteGraphing calculators are amazing devices. They can handle so many different types of equations and graph the as well. You brought up very interesting points about the space and time required for large calculations. You mentioned a couple of the sites (Maple and Wolfram Alpha) which I've used to help solve equations and graph equations multiple times. It's awesome that Wolfram Alpha gives out different formats and solutions to equations as well. As for removing our needs to learn fundamental mathematics, I think that this opens up more time to focus on more difficult questions.
ReplyDeleteHi Duc,
ReplyDeleteWhat an informative post you have! Complex computation are involved in many fields of Computer Science. Thus, if there is no such tool like Wolfarm Alpha, Maple, or Mathlab, the work’s process is slowed down a lot. Besides, As you mentioned in your post, graphing calculators are great. I know it as I’m using one. And due to its limitation in memory, I can only store around 20 self-definition functions. However, mine is powerful enough, and it help me a lot in many complex computation in the past. Overall, your post is great and I very enjoy reading it.