Object Math

Contents

Introduction

There are some areas (e.g. science, engineering, education) where the development of ideas, concepts, models and methods is more time-consuming than the accompanying computations. In such areas tools like Mathematica (http://www.wolfram.com), MATLAB (http://www.mathworks.com) and Maple (http://www.maplesoft.com) are widely used. 

Advantages of tools for doing symbolic and/or numeric calculations:
1. Abundance of built-in methods and features
2. Flexibility with a variety of supporting techniques 
3. Scripting and programming abilities for further enhancement 

Drawbacks:
1. Necessity to learn a lot of features
2. Restriction of flexibility by predefined approaches
3. Necessity to learn tool-specific programming methods or
4. use third party add-ins

The alternative approach is to use high-level programming languages. Note that, in such areas programming is usually only a tool. This approach has its advantages and disadvantages as well.

Advantages:
1. Relatively small number of language elements
2. Flexibility is (almost) unlimited
3. Potential high efficiency
4. Self-sufficiency

Disadvantages:
1. Necessity to write programs from scratch
2. Relatively low productivity (for non-professional programmers)

Numerous libraries and packages help to overcome the disadvantages of the programming approach.

This is an attempt to develop yet another package. I have been using it for several years.  

Why Pascal?

Why not? Object Pascal is a well developed Object-oriented language with an elegant object model. Its basic subset is very compact and easy to learn. It can be mastered gradually. It is less error-prone than some other languages.

Library Description.

Description by directories is here.

Basic types

Basic real float, integer, Boolean and complex types, pointer array types (see details here).

Object Algebra

Dynamic array objects (see the description here). Description by units is here.  

Display Routines

Display routines for vectors, matrices and plots (see the description here). Description by units is here.

Special functions

The collection of special functions and random number routines. Description by units is here.

Optimization

Some routines for the 1D optimization and the Levenberg-Marquardt fit.  Description by units is here.

Signal processing

The Fourier transform and simple filtering routines. Description by units is here. See also a small tutorial/demo.

Project status

As of January 2003, the development of this project is closed. Some support is still available. 

The corrections and extensions are welcome.

Currently I use (and still develop) the library based on the simplified light-weight objects. It will be published  here along with a conversion tool.   

Download

The Object Algebra units are available in the Download section


Up (Programming tools)


Rule

Home  |   Shokhirev.com |  Sample code  |   Programming  |    Resume
[Mailbox]

Please e-mail me at nikolai@shokhirev.com

©Nikolai V. Shokhirev, 2002-2003