# Is this dct (FFTW.jl) behavior in julia normal?

I’m trying to do some exercises of Compressed Sensing on Julia, but i realize that the discrete cosine transformation (using FFTW.jl) of an identity matrix doesn’t looks as the result of other programming languages (aka. Mathematica and Matlab).

For example in Julia

using Plots, FFTW, LinearAlgebra
n = 100
Psi = dct(Matrix(1.0I,n,n))
heatmap(Psi)


results in this matrix (which is essentially an identity matrix with some noise)

But in Matlab

imagesc(dct(eye(100,100),'Type',2))


this is the result (as expected)

Finally in Mathematica

MatrixPlot[N[FourierDCTMatrix[100, 2]], PlotLegends -> Automatic]


returns this

Why Julia behaves so differently?
And is this normal?