Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

output length of cosine transform

Bo_Q_
Beginner
255 Views

I have a seemingly naive question: why the length of the output of cosine transform might be longer than n? For example, for staggered cosine transform, the output length is 3n/2. But just looking at its equation, the output should have the same length as the input, which is n. Thanks!

Bo

0 Kudos
1 Solution
Chao_Y_Intel
Employee
255 Views

Bo,
I think you are talking the dpar/spar parameter for these functions. Actually, they are not used for the computed result.  They are just used for store the intermediate sin/cos data that are used in the  TT computation.

For the computation function:
 d_forward_trig_transform(double f[], DFTI_DESCRIPTOR_HANDLE *handle, MKL_INT ipar[], double dpar[], MKL_INT *stat);

Both the input and output is F[],  which is the same size.

Thanks
Chao

 

 

 

View solution in original post

3 Replies
Chao_Y_Intel
Employee
255 Views

Bo,

Are you talking to some specific MKL questions, or this just a general question regarding the DCT transform?

Thanks,
Chao

Bo_Q_
Beginner
255 Views

Thanks for your reply. I am only interested in using DCT but the question is applicable to sine transforms as well. Here are the defination of the transforms:

https://software.intel.com/sites/products/documentation/hpc/mkl/mklman/GUID-48C88175-7E59-46C7-99E1-...

For instance, for the staggered cosine transform, its output is F(k) with k = 0...n-1, that is n elements in total. But if you look at the documentation here:

https://software.intel.com/sites/products/documentation/hpc/mkl/mklman/GUID-3DA88A75-AC3D-45F1-B647-...

You will find the output has 3n/2 elements. Why?

 

Bo

 

Chao_Y_Intel
Employee
256 Views

Bo,
I think you are talking the dpar/spar parameter for these functions. Actually, they are not used for the computed result.  They are just used for store the intermediate sin/cos data that are used in the  TT computation.

For the computation function:
 d_forward_trig_transform(double f[], DFTI_DESCRIPTOR_HANDLE *handle, MKL_INT ipar[], double dpar[], MKL_INT *stat);

Both the input and output is F[],  which is the same size.

Thanks
Chao

 

 

 

View solution in original post

Reply