Integral Transform EntityStore
An integral transform is a mathematical operation that maps one function to another
by means of an integral of the form
where
is known as the kernel. Integral transforms are extremely important in many areas of interest, including signal processing, medical imaging, and probability theory. Here, the construction of an entity store containing properties of important transforms is illustrated.
The entity store can be hand-coded by recording the most important properties of integral transforms in an EntityStore data structure.
![Click for copyable input](assets.en/integral-transform-entitystore/In_150.png)
EntityStore[<|
"Types" -> <|
"IntegralTransform" -> <|
"Entities" -> <|
"ExponentialFourierTransform" -> <|
"Label" -> "exponential Fourier transform",
"StandardName" -> "ExponentialFourierTransform",
"StandardNotation" -> Hold[f[t]],
"Definition" -> Inactive[FourierTransform][f[t], t, z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\)
Inactive[Integrate][
E^(I t z) f[t], {t, -\[Infinity], \[Infinity]}]/Sqrt[
2 \[Pi]],
"GeneralProperties" -> <|
"Linearity" -> {Inactive[FourierTransform][
a f[t] + b g[t], t, z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\)
a Inactive[FourierTransform][f[t], t, z] +
b Inactive[FourierTransform][g[t], t, z],
Inactive[FourierTransform][f[t], t, z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\)
Inactive[FourierTransform][f[-t] UnitStep[t], t, -z] +
Inactive[FourierTransform][f[t] UnitStep[t], t, z]},
"Reflection" -> {Inactive[FourierTransform][f[-t], t,
z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\) Inactive[FourierTransform][f[t], t, -z]},
"Dilation" -> {ConditionalExpression[
Inactive[FourierTransform][f[a t], t, z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\) Inactive[FourierTransform][f[t], t, z/a]/Abs[a],
a \!\(\*
TagBox["\[Element]",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"\[Element]"]\) Reals && a \!\(\*
TagBox["!=",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"!="]\) 0]},
"Shifting or translation" -> {ConditionalExpression[
Inactive[FourierTransform][f[-a + t], t, z] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\) E^(I a z) Inactive[FourierTransform][f[t], t, z],
a \!\(\*
TagBox["\[Element]",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"\[Element]"]\) Reals]}|>|>|>|>|>|>]
![](assets.en/integral-transform-entitystore/O_108.png)
A more complete version can be retrieved from the following CloudObject.
![Click for copyable input](assets.en/integral-transform-entitystore/In_151.png)
itstore =
CloudGet[CloudObject[
"https://www.wolframcloud.com/objects/c21b356b-607a-406c-af91-\
5088f435fe99"]]
![](assets.en/integral-transform-entitystore/O_109.png)
Register the store for this session.
![Click for copyable input](assets.en/integral-transform-entitystore/In_152.png)
PrependTo[$EntityStores, itstore];
View entities in the store.
![Click for copyable input](assets.en/integral-transform-entitystore/In_153.png)
EntityValue["IntegralTransform", "Entities"]
![](assets.en/integral-transform-entitystore/O_110.png)
Add a new transform.
![Click for copyable input](assets.en/integral-transform-entitystore/In_154.png)
Entity["IntegralTransform", "HilbertTransform"]["Label"] =
"Hilbert transform";
Entity["IntegralTransform", "HilbertTransform"]["Definition"] =
Inactive[HilbertTransform][f[t], t, x] \!\(\*
TagBox["==",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"=="]\)
1/\[Pi] Inactive[Integrate][f[t]/(
t - x), {t, -\[Infinity], \[Infinity]}, PrincipalValue -> True,
Assumptions -> x \!\(\*
TagBox["\[Element]",
"InactiveToken",
BaseStyle->"Inactive",
SyntaxForm->"\[Element]"]\) Reals];
Return the currently available properties for integral transforms.
![Click for copyable input](assets.en/integral-transform-entitystore/In_155.png)
EntityValue["IntegralTransform", "Properties"]
![](assets.en/integral-transform-entitystore/O_111.png)
Retrieve the definitions for exponential Fourier and Mellin transforms.
![Click for copyable input](assets.en/integral-transform-entitystore/In_156.png)
EntityValue[
Entity["IntegralTransform", "LaplaceTransform"], "Definition"]
![](assets.en/integral-transform-entitystore/O_112.png)
![Click for copyable input](assets.en/integral-transform-entitystore/In_157.png)
EntityValue[
Entity["IntegralTransform", "MellinTransform"], "Definition"]
![](assets.en/integral-transform-entitystore/O_113.png)
Compare with the expressions returned by corresponding built‐in functions.
![Click for copyable input](assets.en/integral-transform-entitystore/In_158.png)
Activate[EntityValue[Entity["IntegralTransform", "LaplaceTransform"],
"Definition"][[2]] /. f :> Function[t, ArcTan[t]]]
![](assets.en/integral-transform-entitystore/O_114.png)
![Click for copyable input](assets.en/integral-transform-entitystore/In_159.png)
LaplaceTransform[ArcTan[t], t, z]
![](assets.en/integral-transform-entitystore/O_115.png)
Display the convolution property of the Z-transform.
![Click for copyable input](assets.en/integral-transform-entitystore/In_160.png)
Entity["IntegralTransform", "ZTransform"][
"GeneralProperties"]["Convolution"]
![](assets.en/integral-transform-entitystore/O_116.png)
Compare the currently stored properties of the exponential Fourier and Mellin transforms.
![](assets.en/integral-transform-entitystore/O_117.png)