The interface of the DiagonalMatrix lacks some methods that generic matrices do have. Examples I encountered are operator(row,col), setConstant, coeff, but there might be more. These are meaningful and should not be hard to add.
On an additional note: multiplication, addition, subtraction of two diagonal matrices does not seem to be supported
The lack of accessors is on purpose. We don't want to permit diagmat(i,j) because this is a very inefficient way of using a diagonal matrix. We could allow it in the case i==j, but then it is equivalent to use .diagonal()(i) instead of (i,i). Regarding higher level operations, yes they are planed. Need the evaluator refactoring first.
Added diagmat +/- diagmat: https://bitbucket.org/eigen/eigen/commits/62af0dc73df3b2
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/520.