I think these are two separate questions. 1) It would great if symmetric matrices had a better method coverage, e.g. you cannot do isposdef(Symmetric(A)) now. Then users could "annotate" their symmetric matrices from the beginning. Right now, tha approach would probably result in too many no method errors.
2) Having functions for calculating the symmetric and antisymmetric part. I'm fine with adding these, but I think that most users would like to use the symmetric annotation after operations like V*D*V' where it doesn't matter which part you use. 2014-11-13 10:57 GMT-05:00 Steven G. Johnson <[email protected]>: > On Thursday, November 13, 2014 10:34:14 AM UTC-5, Stefan Karpinski wrote: >> >> The frequency of people having these nearly symmetric (nearly Hermitian, >> etc.) matrices that they generated suggest to me that it would be nice to >> be able to apply the Symmetric wrapper to force symmetry (already works), >> but that we may want to consider the true symmetrized value to be the >> average of the two sides or something like that – after all, we have no >> real reason to choose the top or bottom half as correct. >> > > Another reason to have a function for this is that computing sym(A) = (A + > A')/2 is quite a common operation in linear algebra, closely analogous to > real(z). > > The other common operation is to take the antisymmetric part (A - A')/2 or > the "imaginary" part (A - A')/(2im) [which has the advantage of being > Hermitian, but the disadvantage of being complex even if A was real]. > Maybe we should have functions realm(A) and imagm(A)? >
