returns an n×n discrete sine transform matrix of type 2.
FourierDSTMatrix[n,m]
returns an n×n discrete sine transform matrix of type m.
FourierDSTMatrix
returns an n×n discrete sine transform matrix of type 2.
FourierDSTMatrix[n,m]
returns an n×n discrete sine transform matrix of type m.
Details and Options
- Each entry Frs of the discrete sine transform matrix of type m is computed as:
-
1. DST-I 
2. DST-II 
3. DST-III 
4. DST-IV 
- The discrete sine transform matrices of types 1, 2, 3 and 4 have inverses of type 1, 3, 2 and 4, respectively. »
- Rows of the FourierDSTMatrix are basis sequences of the discrete sine transform.
- The result of FourierDSTMatrix[n].list is equivalent to FourierDST[list] when list has length n. However, the computation of FourierDST[list] is much faster and has less numerical error. »
- For types 1 and 4, the option TargetStructure is supported, which specifies the structure of the returned matrix. Possible settings for TargetStructure include:
-
Automatic automatically choose the representation returned "Dense" represent the matrix as a dense matrix "Hermitian" represent the matrix as a Hermitian matrix "Orthogonal" represent the matrix as an orthogonal matrix "Symmetric" represent the matrix as a symmetric matrix "Unitary" represent the matrix as a unitary matrix - FourierDSTMatrix[…,TargetStructureAutomatic] is equivalent to FourierDSTMatrix[…,TargetStructure"Dense"].
- FourierDSTMatrix[…,WorkingPrecision->p] gives a matrix with entries of precision p.
Examples
open all close allScope (1)
Options (2)
TargetStructure (1)
Return the DST matrix as a dense matrix:
FourierDSTMatrix[4, "I", TargetStructure -> "Dense"]Return the DST matrix as an orthogonal matrix:
FourierDSTMatrix[4, "I", TargetStructure -> "Orthogonal"]Return the DST matrix as a symmetric matrix:
FourierDSTMatrix[4, "I", TargetStructure -> "Symmetric"]Applications (1)
A tridiagonal Toeplitz matrix:
n = 4;
td = Normal[SparseArray[{Band[{1, 2}] -> a, Band[{1, 1}] -> b, Band[{2, 1}] -> c}, {n, n}]]MatrixForm[%]The matrix of its eigenvectors can be expressed as a diagonal rescaling of the discrete sine transform matrix of type 1:
evecs = DiagonalMatrix[(Sqrt[c] / Sqrt[a]) ^ Range[n]].FourierDSTMatrix[n, "I"];Diagonalize the tridiagonal matrix:
Inverse[evecs].td.evecs//FullSimplifyProperties & Relations (2)
A DST matrix multiplied by a vector is equivalent to the discrete sine transform of that vector:
data = RandomReal[1, 6];
data . FourierDSTMatrix[6] == FourierDST[data, 2]FourierDST is much faster than the matrix-based computation:
data = RandomReal[1, 1024];
{AbsoluteTiming[Do[FourierDST[data], {10}];],
AbsoluteTiming[Do[FourierDSTMatrix[1024, WorkingPrecision -> MachinePrecision].data, {10}];]}A discrete sine transform matrix of type 1 is its own inverse:
FourierDSTMatrix[4, 1]. FourierDSTMatrix[4, 1] == IdentityMatrix[4]A discrete sine transform matrix of type 3 is an inverse of the type 2 matrix:
FourierDSTMatrix[4, 2]. FourierDSTMatrix[4, 3] == IdentityMatrix[4]A discrete sine transform matrix of type 4 is its own inverse:
FullSimplify[FourierDSTMatrix[4, 4]. FourierDSTMatrix[4, 4]] == IdentityMatrix[4]Related Guides
Text
Wolfram Research (2012), FourierDSTMatrix, Wolfram Language function, https://reference.wolfram.com/language/ref/FourierDSTMatrix.html (updated 2024).
CMS
Wolfram Language. 2012. "FourierDSTMatrix." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/FourierDSTMatrix.html.
APA
Wolfram Language. (2012). FourierDSTMatrix. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FourierDSTMatrix.html
BibTeX
@misc{reference.wolfram_2026_fourierdstmatrix, author="Wolfram Research", title="{FourierDSTMatrix}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/FourierDSTMatrix.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_fourierdstmatrix, organization={Wolfram Research}, title={FourierDSTMatrix}, year={2024}, url={https://reference.wolfram.com/language/ref/FourierDSTMatrix.html}, note=[Accessed: 13-June-2026]}