Monday, December 9, 2013

Science Computing: Symbolic Computation

First of all, I love mathematics (algebra, geometry, and calculus) because I love to solve numerical problems in my head. Since attending San Jose State University, I have been studying computer science and doing scientific computation. One of the most interesting types of scientific computation is symbolic computation, or computer algebra, Symbolic computation is a subcategory of scientific computation that develops the manipulation and solution of expressions in symbolic form. I remember taking a linear algebra class (Math 129a) two years ago. In that class, I used this handy-dandy application called GNU Octave to do MATLAB math exercises. MATLAB, “a high-level language and interactive environment for numerical computation”, performs symbolic computation from the command line on the computer. Using MATLAB lets everyone define symbolic math expressions and operate them for mathematical purposes. According to MathWorks, there is a list of mathematical areas that use MATLAB and its performances:

“1) Calculus: Performs differentiation and definite/indefinite integration, calculates limits, and computes summation/product series.

 2) Linear Algebra: Performs matrix analysis on symbolic matrices, executes matrix operations and transformations with functions, and gets symbolic expressions for the eigenvalues and eigenvectors. 

 3) Formula Manipulation and Simplification: Simplifies long expressions into shorter forms, transforms expressions to particular forms, and replaces parts of expressions with specified symbolic or numeric values.”

I think symbolic computation is fun because you get to study the algorithms with the implementation and applications to computer science and engineering. For example, here is how it is done:

                        In[1]: 5x - 2x + 3
                         Out[1]: 3 + 3x


                                                                         References

1) “Symbolic Computations in MATLAB.” The MathWorks, Inc. 1994-2013. Web. 5 Dec. 2013. <http://www.mathworks.com/products/symbolic/description4.html>

2) “MATLAB - The Language of Technical Computing.” The MathWorks, Inc. 1994-2013. Web. 5 Dec. 2013. <http://www.mathworks.com/products/matlab/>

3) “Matrices.” Vanderbilt University School of Engineering. 2013. Web. 5 Dec. 2013. <http://engineering.vanderbilt.edu/ge/es140/Otherlinks/MatlabTutorial/Matrices.php>

4) "Lab and Classroom Software." Claremont McKenna College. 2013. Web. 9 Dec. 2013. <http://www.claremontmckenna.edu/its/sts/labs/acad-software.php>

4 comments:

  1. Your linear algebra class sounds fun, all I got to use when I took that class was the standard graphic calculator. Unfortunately, I have not used MATLAB but I know it is popular software used by engineers. Maybe if I had taken the same Professor as you I would have been able to explore MATLAB as well. Your post is nicely structured and to the point, especially with your explanations.

    ReplyDelete
  2. Hi, Mari, I think this is a second time I comment on your blog. This is a very well written and well researched post. Symbolic computation sounds very interesting. It was more understandable because I learned different programming language paradigms in CS152. Thank you for this brief introduction to MATLAB, I heard MATLAB all the time, but I didn't quite know what it was.

    ReplyDelete
  3. Very good post Mari. It’s good you have gotten good opportunity to learn about scientific computation in the prestigious university like San Jose State University. MATLAB is a great tool for the scientific computation. I remember, I have used MATLAB in my CS274 (Web intelligence) subject. We were training a neural network for the Sine function. Though MATLAB is a good tool it is not free. We have also used Octave for the same subject and I was very impressed by the libraries of the Octave. You can try that tool also, it provides good scientific functions and it is free.

    ReplyDelete
  4. Hello Mari,
    Very nicely written post! It was extremely interesting to see this kind of take on scientific computing. I would have thought of something in the strain of biomedical engineering. I have heard a lot of good things about Matlab. In fact, my father uses it in his workplace! I think that although it is a very useful tool to use, it is a commercial product, so it makes it difficult for people to get into it. You should try to include a freeware alternative next time. Hope to see more from you!

    ReplyDelete