Algae Features

Here are some of the features that set Algae apart from other numerical analysis languages:
Algae is very fast. It's generally much faster than Octave, RLaB, and Scilab. Until recently, Algae was also dramatically faster than MATLAB, but it looks like The Mathworks has largely solved their performance problems.

sparse arrays
Algae's arrays may be stored in sparse form; only the non-zero elements and their locations are stored. This type of storage is required for practical analysis in many fields. In structural dynamics, for example, a matrix with 200,000 rows and columns is not considered large. (See example.)

array labels
In Algae, every vector and matrix may be given a set of labels for each dimension. These labels persist in a consistent way across operations, and may be used to specify particular elements. MATLAB code that I've seen often has expressions like states[127] -- the user has carefully tracked the size and order of his equations and knows that the 127th element contains, for example, the nose gear stroke rate. In Algae, the user can simply refer to states["nose_gear_rate"].

Scalars, vectors, and matrices are distinct data types in Algae. Some folks disagree, but I consider this a distinct advantage over MATLAB's approach, which suffers from ambiguity and from having two valid yet incompatible vector types (row and column).

statistical profiling
Algae offers a profiling capability that can show you, by file and by line number, where your code spends its time. This is a very powerful tool for performance improvement.

Algae Home SourceForge Logo