Hi,

I wanna revive a discussion around the return type of eye(). Currently this 
function always returns a dense matrix, which is not desired considering 
that the identity acts as a simple scalar in every single place it is used.

By exploiting the type system, one would ideally write algorithms with 
eye() and get specialized function calls for a "ConstantMatrix" type saving 
memory and unnecessary calculations. People have raised the existence of 
this variable "I" defined in Base that acts as identity, but I still think 
that this is not robust given that 1) I can easily overwrite "I" in my user 
code and 2) 90% of the users won't be aware of these internal details in 
their day-to-day coding.

Also, can someone explain what is the use of eye(m,n) with m != n? If that 
case is relevant for some applications, I would still expect to get a 
SparseMatrix instead.

Can you please share your opinions on this matter?

-Júlio


Reply via email to