DFG Research Cluster
Discrete Algorithms

Computer Algebra and Design of Analog Circuits

Main Page
Circuit Design
Computer
Algebra
Mathematical
Data Exchange
People
Singular

### Symbolic Circuit Analysis with General-Purpose Computer Algebra Systems

Many symbolic circuit analysis programs have been developed in the past but one common feature to most of the stand-alone systems is the lack of mathematical postprocessing capabilities. However, when performing symbolic circuit calculations, designers need to "play" with expressions returned by the symbolic analyzer. This does not only include graphing transfer functions. More importantly, there must be functionality for extracting and replacing parts of expressions, solving equations for one or more variables symbolically, expanding expressions into series, ... or, in other words, do all the regular tasks general-purpose computer algebra systems are designed for. Therefore, we have implemented our symbolic circuit analyzer Analog Insydes on top of the widely used computer-algebra systems Macsyma and Maple V (a Mathematica version is currently under development).

These CA systems provide all the functionality and flexibility needed for setting up, solving and manipulating symbolic circuit equations, but, unfortunately, at the expense of a much lower execution speed and memory efficiency than specialized symbolic analysis programs. Besides the computational overhead which is inherent to a general-purpose CAS a main reason for this is the lack of efficient storage mechanisms for data structures like sparse matrices and vectors. Moreover, some of the symbolic circuit analysis algorithms, particularly those for symbolic expression approximation, involve a great deal of hybrid symbolic/numeric calculations. No CAS known at the moment is capable of bypassing its simplifier and doing high-speed, machine-precision real and complex evaluation of symbolic expressions. CAS designers and vendors are only slowly becoming aware of the technical importance of combining symbolic computation systems with fast numerical libraries.

### Specialized Symbolic/Numeric Computation Routines

As a result of these deficiencies we are currently developing a specialized C library of Symbolic/Numeric Computation Routines (SYNCRO). The library can be used to build up and manipulate general mathematical expression trees. In addition to the standard atomic data types it provides basic data representations for symbolic/numeric sparse matrices and vectors. Its emphasis lies on fast numerical evaluation of expression trees, which is achieved by means of special numerical companion routines associated with each operator. These companion routines allow for machine-precision numerical evaluation of expression trees without the need for algebraic simplification.

Webpage by Bachmann, Thiessel