Developer Reference for Intel® oneAPI Math Kernel Library for C
Trigonometric Transforms Implemented
TT routines allow computing the following transforms:
Forward sine transform
\[F(k) = \frac{2}{n} \sum_{i=1}^{n-1} f(i)\sin\left(\frac{ki\pi}{n}\right),\; k = 1,\ldots,n-1\]
Backward sine transform
\[f(i) = \sum_{k=1}^{n-1} F(k)\sin\left(\frac{ki\pi}{n}\right),\; i = 1,\ldots,n-1\]
Forward staggered sine transform
\[F(k) = \frac{1}{n}\sin\left(\frac{(2k-1)\pi}{2}\right)f(n) + \frac{2}{n}\sum_{i=1}^{n-1} f(i)\sin\left(\frac{(2k-1)i\pi}{2n}\right),\; k = 1,\ldots,n\]
Backward staggered sine transform
\[f(i) = \sum_{k=1}^{n} F(k)\sin\left(\frac{(2k-1)i\pi}{2n}\right),\; i = 1,\ldots,n\]
Forward staggered2 sine transform
\[F(k) = \frac{2}{n}\sum_{i=1}^{n} f(i)\sin\left(\frac{(2k-1)(2i-1)\pi}{4n}\right),\; k = 1,\ldots,n\]
Backward staggered2 sine transform
\[f(i) = \sum_{k=1}^{n} F(k)\sin\left(\frac{(2k-1)(2i-1)\pi}{4n}\right),\; i = 1,\ldots,n\]
Forward cosine transform
\[F(k) = \frac{1}{n}[f(0) + f(n)\cos(k\pi)] + \frac{2}{n}\sum_{i=1}^{n-1} f(i)\cos\left(\frac{ki\pi}{n}\right),\; k = 0,\ldots,n\]
Backward cosine transform
\[f(i) = \frac{1}{2}[F(0) + F(n)\cos(i\pi)] + \sum_{k=1}^{n-1} F(k)\cos\left(\frac{ki\pi}{n}\right),\; i = 0,\ldots,n\]
Forward staggered cosine transform
\[F(k) = \frac{1}{n}f(0) + \frac{2}{n}\sum_{i=1}^{n-1} f(i)\cos\left(\frac{(2k+1)i\pi}{2n}\right),\; k = 0,\ldots,n-1\]
Backward staggered cosine transform
\[f(i) = \sum_{k=0}^{n-1} F(k)\cos\left(\frac{(2k+1)i\pi}{2n}\right),\; i = 0,\ldots,n-1\]
Forward staggered2 cosine transform
\[F(k) = \frac{2}{n}\sum_{i=1}^{n} f(i)\cos\left(\frac{(2k-1)(2i-1)\pi}{4n}\right),\; k = 1,\ldots,n\]
Backward staggered2 cosine transform
\[f(i) = \sum_{k=1}^{n} F(k)\cos\left(\frac{(2k-1)(2i-1)\pi}{4n}\right),\; i = 1,\ldots,n\]