Hello Mark,
1) EIG: Algopy has support for the symmetric, but not for the general eigenvalue decomposition.
I could add support for the general eigenvalue decomposition rather quickly, with the following restrictions:
* only first-order forward, first-order reverse and forward-over-reverse, but not higher-order forward derivatives
* only for the case of distinct eigenvalues
* only for diagonalizable matrices
For the other cases: 1a) and 1b) may be well-defined even if the eigenspaces are not unique or the matrix is not diagonalizable.
However, one would have to make a careful analysis first.
2) SVD: higher-order derivatives in the forward mode should work, but it is not very well tested. The reverse mode should also work for distinct singular values, but I'll have to update a couple of lines of code to make it work.
3) L^p norms: they are rather non-differentiable at many points since they contain max(.,.) and |.| operations, so I'd recommend to avoid their use in any code that gets differentiated.
cheers,
Sebastian