I want to obtain a matrix C in matlab which is the n-by-n DCT (discrete curvelet transform) matrix such that for a given set of signals X and given set of coefficients A (I supposedly think which will better represent edges of X ) we can get a representation X=C*A. C will be a universal transform matrix like an n-Haar transform matrix. Can I obtain such a matrix since curvelet is linear? I have curvelab 2.1.3 installed and a function fdct_usfft.m returns curvelet transform of a given input. But I need the curvelet transform to be a transform operator matrix rather than as an operator on a signal.