dct(X[, type=2])
Replaces the columns of a dense real matrix with their discrete cosine transforms. The second argument, an integer between 1 and 4, denotes the type of transform (DCT-I, DCT-II, DCT-III, DCT-IV). The DCT-I transform requires that the row dimension of X is at least 2. These transforms are defined as follows (for a matrix with n rows).
![k n∑- 2
DCT -I: X [k,:] := X [0,:]+ (- 1)X [n - 1,:]+ 2 X[j,:]cos(πjk∕(n - 1)), k = 0,...,n - 1.
j=1
n∑-1
DCT -II: X [k,:] := 2 X [j,:]cos(π(j + 1∕2)k∕n), k = 0,...,n - 1.
j=0
n∑-1
DCT -III: X [k,:] := X [0,:]+ 2 X [j,:]cos(πj(k + 1∕2)∕n), k = 0,...,n - 1.
j=1
n∑-1
DCT -IV: X [k,:] := 2 X [j,:]cos(π(j + 1∕2)(k + 1∕2)∕n), k = 0,...,n- 1.
j=0](cvxopt88x.png)
idct(X[, type=2])
Replaces the columns of a dense real matrix with the inverses of the discrete cosine transforms defined above.