Implement the DCT2 (Discrete Cosine Transform Type 2) as explained in the lecture in an open-source environment of your choice. Compare the execution times with the DCT2 obtained using the library of the chosen environment, which is assumed to be in the fast version (FFT). Specifically, obtain square arrays of size N×N with increasing N and plot on a semi-logarithmic scale graph (the x-axis will be the scalar quantities while the y-axis will be the logarithm) the time taken to execute the DCT2 with your homemade algorithm and with the library algorithm as N varies. The execution times should be proportional to N³ for the homemade DCT2 and to N² for the fast version (more precisely, to N² log(N)). The times obtained with the fast version might have an irregular trend due to the type of algorithm used.