Array features

A full description of the array capabilities and interface may be found in Chapter 3 of the User Guide. Here's a summary:

Where possible, Adept's array features have followed capabilities in Fortran 90 and Matlab; see the last page of the Adept Quick Reference document (PDF).

Missing features

Writing a fully functioning array library is a mammoth task, so I have had to concentrate on the features I need for my own applications. The following is a wish list that I hope to tackle over the next decade, probably in the following order

  1. Vectorize active expressions, which would speed-up automatic differentation considerably.
  2. Redesign the stack structure as a linked list of blocks for storing different types differential statement. This would then facilitate the remaining additional features.
  3. Optimize the automatic differentiation of matrix multiplication (currently slow) and add the automatic differentiation of matrix solve and inverse (currently missing). This requires the ability to store matrices on the stack (see Mike Giles' list of matrix derivative results).
  4. Add additional matrix operations, and their derivatives, such as determinant, trace, matrix decomposition, matrix square-root, matrix exponential...
  5. Add features to facilitate parallelization of the foward pass of an algorithm using both OpenMP and MPI.
  6. Add the capability to differentiate operations involving complex numbers.

See also