Clifford Multivector Toolbox for MATLAB release 1.3

We are pleased to announce the release of version 1.3 of the Clifford Multivector Toolbox:

Clifford Multivector Toolbox for Matlab
Copyright (c) 2013-2017 Stephen J. Sangwine & Eckhard Hitzer

Release Notes

Version 1.3 31 December 2017

The test code now runs tests on each algebra in parallel using a parallel pool, if available (this requires a multicore processor and the Parallel Processing Toolbox). The output has been adapted to support parallel execution by prefixing each line with the algebra signature.

We have added another case to the multivector inverse in the function power.m, using a recent new algorithm based on linear combinations of involutions due to Acus and Dargys for p+q = 6. This speeds up the computation of multivector inverses for all algebras above p+q = 5.

The clifford_basis function has been speeded-up.

The exponential function has been implemented using contributed code by Harry Elman.

We have now implemented isomorphisms that permit construction of real matrix representations of multivector arrays, in all algebras with p<8, q<8. They may work for larger algebras given enough memory and time. The reverse is also implemented. A user-level function called ‘iso’ maps from the current algebra to another algebra and switches to the new algebra. If none is specified the result is a Matlab real array. This work also relies on code contributed by Harry Elman.

The scalar_product function and its test code have been corrected: previously the result was erroneous in some cases.

The Matlab functions complex/real/imag have been overloaded for multivectors.

Cache files are now written in Matlab MAT file version 7.3 format, to enable larger algebras to be initialised (where the descriptor would be larger than 2GB in size).

The parameterless function files representing basis elements of the algebra other than the basis vectors and pseudoscalar, are no longer created in algebras with greater than 12 basis vectors. See clifford_signature.m for reasons.

Performance improvements have been made in some important functions such as times and mtimes, by replacing cellfun calls with explicit loops, in some cases enabling a short cut to be taken when a result can be determined early. In some other cases, performance has been improved by using cellfun calls instead of loops.

Dr Steve Sangwine
Senior Lecturer
School of Computer Science and
Electronic Engineering
University of Essex
Wivenhoe Park
Colchester CO4 3SQ
United Kingdom

T: (+44) (0)1206 872401
F: (+44) (0)1206 872684

Source: Email from S.J. Sangwine,,01 Jan. 2018


Leave a comment

Filed under Software

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s