Hi,

As I understand it, `adjoint`

creates a lazy wrapper for an adjoint of an array, and therefore does not create a copy. I’m wondering how multiplication is implemented in this case i.e. what kind of LAPACK functionalities are called to perform e.g. `adjoint(T) * T`

for `T::Array{Float64, 2}`

. I looked through matmul.jl and adjtrans.jl but could not quite figure out where the implementation was.

More generally, how are lazy wrappers like `Transpose`

, `PermutedDimsArray`

, and `view`

of an array handled when it comes to these numerical Linear Algebra operations?

Thanks.