A TPL Program representing a Fast Algorithm for an 8 x 8 DCT
Go back to Automatic Implementation of an 8 x 8 DCT.
( compose
( permutation ( 2 6 7 3 4 8 5 1 ) )
( tensor
( I 2 )
( compose
( tensor
( I 2 )
( F 2 )
)
( permutation ( 1 3 2 4 ) )
( direct_sum
( F 2 )
( I 2 )
)
)
)
( permutation ( 1 7 2 3 4 8 6 5 ) )
( direct_sum
( I 4 )
( compose
( diagonal ( sqrt(1/2) sqrt(1/2) ) )
( F 2 )
)
( I 2 )
)
( permutation ( 1 2 3 4 6 5 7 8 ) )
( direct_sum
( tensor
( F 2 )
( I 3 )
)
( I 2 )
)
( permutation ( 1 8 7 2 5 6 4 3 ) )
( direct_sum
( compose
( diagonal ( sqrt(1/8) sqrt(1/8) ) )
( I 2 )
)
( compose
( diagonal ( 1/2 1/2 ) )
( matrix
( 1 1 0 )
( 0 (-1) 1 )
)
( diagonal ( cos(13/8*pi)-sin(13/8*pi) sin(13/8*pi) cos(13/8*pi)+sin(13/8*pi) ) )
( matrix
( 1 0 )
( 1 1 )
( 0 1 )
)
)
( compose
( diagonal ( 1/2 1/2 ) )
( matrix
( 1 1 0 )
( 0 (-1) 1 )
)
( diagonal ( cos(17/16*pi)-sin(17/16*pi) sin(17/16*pi) cos(17/16*pi)+sin(17/16*pi) ) )
( matrix
( 1 0 )
( 1 1 )
( 0 1 )
)
)
( compose
( diagonal ( 1/2 1/2 ) )
( matrix
( 1 1 0 )
( 0 (-1) 1 )
)
( diagonal ( cos(11/16*pi)-sin(11/16*pi) sin(11/16*pi) cos(11/16*pi)+sin(11/16*pi) ) )
( matrix
( 1 0 )
( 1 1 )
( 0 1 )
)
)
)
( permutation ( 1 5 3 7 2 8 4 6 ) )
)