Home
The Adept WebStore

Search
Register

What's New
Pressroom
Archive

Products
Services
Downloads

Information
Requests

Literature
Selector


Sales
Technical
Support

Training/
Seminars


Year 2000
Magazine

Hot Links

About Adept
Contact Us
Jobs

Find Adept
and
Map

 

Welcome to Adept Scientific plc
The Technical Computing People

The Technical Computing People
The Technical Computing People
  Adept Scientific : Maple : Maple Reporter : Issue 5 : Analytical Computing

Maple Reporter

Maple Models Motions of Robot Arm for the International Space Station

A Dynamic Experience with Maple in Italy

Sound Advice for Signal Analysis and Synthesis with Maple 6

Analytical Computing:
The Synergy of Symbolic and Numeric Computing


Maple Application Center Highlights

Being an Econ Major AinÍt What It Used To Be

Non-Linear Regression in Excel 2000 with the Maple 6 Add-in

Tips & Techniques

Book Reviews:

Advanced Engineering Mathematics, Robert J. Lopez

Interactive Operations Research with Maple: Methods and Models, Mahmut Parlar

The Maple Reporter - Issue 5: Autumn 2000

Analytical Computing
The Synergy of Symbolic and Numeric Computing

In his paper "Analytical Computing", recently published in Dr. Dobbs, the journal for professional software developers, Laurent Bernardin argues the necessity of incorporating both symbolic and numeric capabilities into mathematics software packages. He illustrates this point with the problem of generating the Fibonacci sequence. Solving this problem efficiently requires both symbolic and numeric techniques, and a mathematics software package that does not house both will perform poorly. The Fibonacci sequence can be defined as:

fib(n)=fib(n-1)+fib(n-2)
fib(0)=fib(1)=1


The purely numeric approach to generating the sequence is to write an iterative procedure, such as the following:

> fib:=proc(n)
> local r,s,i:
> r,s):=(1,1):
> for i from 2 to n do
> (r,s):=(s,r+s):
> end do:
> r:
> end proc;


Given n as input, this Maple procedure returns the nth term of the Fibonacci sequence. It works efficiently for moderate values of n but becomes labour intensive for larger values. The slow down occurs because the computational effort of an addition operation is proportional to the number of digits involved, which increases rapidly with each iteration of the above procedure. (The 100,000th term of the Fibonacci sequence has over 20,000 digits.) By contrast, the purely symbolic approach to generating the sequence is to search for an explicit formula for the nth term. Maple does this quite handily with the rsolve()command:

> rsolve( {f(0)=1, f(1)=1,
> f(n)=f(n-1)+f(n-2)}, f(n));




Here we have the nth term of the Fibonacci sequence as a function of n. However, rounding this exact rational expression to an integer using symbolic techniques involves the time-consuming task of expanding terms raised to large exponents. Thus, neither the purely numeric nor the purely symbolic approaches generates the Fibonacci sequence efficiently. The solution to this conundrum is a hybrid numeric-symbolic approach: evaluate the explicit function for the nth term numerically. Powers of rational expressions can be computed efficiently using log-arithms. This is, in fact, what Maple does.

This phenomenon of the Fibonacci sequence is a shadow of a more general theme: any problem class - be it differential equations, recurrence relations, or optimisa-tion - will have some instances best solved numerically, some best solved symbolically, and some best solved with a hybrid of the two. Thus, concludes Bernardin, even soft-ware packages that handle only narrow classes of problems must contain both sym-bolic and numeric capabilities. The combi-nation has been dubbed "analytical computing" and forms the basis for a whole new class of technical problem-solving software.

More Info: Maple,
Visit the AdeptStore
or fill out the Information request form
Contact: maple@adeptscience.co.uk

Copyright © 2000 Adept Scientific plc

Hot Links

Products

Downloads

About Us

Register