Class DAA, "Derivative-Augmented Array"

Class DAA, "Derivative-Augmented Array", is a general-purpose automatic differentiation engine implemented in MATLAB.

44 Downloads

Updated 31 Jul 2022

View License

Class DAA, "Derivative-Augmented Array", is a general-purpose automatic differentiation engine implemented in MATLAB. DAA supports differentiation of standard array operations and numeric functions with respect to any number of parameters, to any derivative order. The class is implemented to operate efficiently with large numeric arrays and with sparse functional dependencies (i.e., many zero or constant derivatives).

Cite As

Kenneth Johnson (2023). Class DAA, "Derivative-Augmented Array" (https://www.mathworks.com/matlabcentral/fileexchange/74060-class-daa-derivative-augmented-array), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2020a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.4.6

Fixed mldivide in DAA and DAAtensor to work properly with over-determined and under-determined equations.

1.4.5

Bug fix in DAA.m in chain_schema

1.4.4

efficienty improvements, new functions in DAAtensor, bug fixes in DAAtensor.taylorval and shiftdim.

1.4.3

Bug fix in DAAtensor.set_tdim

1.4.2

In DAA.subsref: Correct implementation to match size(A(i)) to size(i).
In DAAtensor: Minor editing of comments.

1.4.1

In DAAtensor.ldivide - bug fix

1.4.0

In DAA.solve, rename getGP to getGP_. (Same name in DAA.chain confuses profiler.)
DAAtensor.mean, sum, power - new methods
DAAtensor.linmapX, times, symmetric - revised implementation

1.3.0

- Fix DAA power op to work with non-scalar power.
- DAA set_ord method: optional zero_pad argument
- DAA drepmat method: 2nd output argument
- DAA taylorval method revised; taylorshift eliminated
- Move DAA "tensor" methods into class DAAtensor.

1.2.2

In DAA.m: Bug fix in linmapX.

1.2.1

Note in DAA_Tutorial.mlx about corrupted Live Script display in File Exchange view.

1.2.0

- In DAA.m:
- Bug fix, revisions in renum_s.
- Revised linmapX, taylorval, talylorshift.
- Added tensor_deriv, tensor_taylorval, tensor_linmapX.
- In DAA_Tutorial.mlx: revisions in sections 2and 6.

1.1.0

- bug fix in DAA.deriv in DAA.m
- Added DAA.taylorshift, taylorshiftm, linmapX functions in DAA.m.
- Revised/clarified comment blocks for DAA.chain and DAA.solve in DAA.m.
- Minor revisions in DAA_Tutorial.mlx.

1.0.5

- Allow DAA.cat arguments to be [].
- Add function besselj to illustrate DAA extension.
- Minor revisions in DAA_Tutorial.mlx.

1.0.4

Fixed subsasgn(A,S,B) to call builtin subsasgn for the case where B is type-DAA but A is not.

1.0.3

- Bug fix in sxrepmat.m
- In DAA.X: ord argument must be positive.
- In sxshrink.m: Allow function argument to be non-numeric.
- New utility function: cell2mat_.m (generalized cell2mat.m).
- Minor revisions in DAA_Tutorial.mlx.

1.0.2

- Bug fix in sxrepmat.m
- In DAA.X: ord argument must be positive.
- In sxshrink.m: Allow function argument to be non-numeric.
- New utility function: cell2mat_.m (generalized cell2mat.m).
- Minor revisions in DAA_Tutorial.mlx.

1.0.1

- Bug fix in sxrepmat.m
- In DAA.X: ord argument must be positive.
- In sxshrink.m: Allow function argument to be non-numeric.
- New utility function: cell2mat_.m (generalized cell2mat.m).
- Minor revisions in DAA_Tutorial.mlx.

1.0.0