<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://patrius.cnes.fr/index.php?action=history&amp;feed=atom&amp;title=User_Manual_4.16_Trigonometric_Polynomials_and_Fourier_Series</id>
	<title>User Manual 4.16 Trigonometric Polynomials and Fourier Series - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://patrius.cnes.fr/index.php?action=history&amp;feed=atom&amp;title=User_Manual_4.16_Trigonometric_Polynomials_and_Fourier_Series"/>
	<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_4.16_Trigonometric_Polynomials_and_Fourier_Series&amp;action=history"/>
	<updated>2026-04-05T19:06:27Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=User_Manual_4.16_Trigonometric_Polynomials_and_Fourier_Series&amp;diff=3948&amp;oldid=prev</id>
		<title>Admin tsn : Page créée avec « __NOTOC__ == Introduction == === Scope === This section presents the Trigonometric Polynomials implemented in PATRIUS as well as Fourier Series.  === Javadoc === The trigonometric polynomial (and related) objects are available in the package &lt;code&gt;fr.cnes.sirius.patrius.math.analysis.polynomials&lt;/code&gt; and the FFT algorithms in &lt;code&gt;fr.cnes.sirius.patrius.math.transform&lt;/code&gt;  {| class=&quot;wikitable&quot; |- ! scope=&quot;col&quot;| Library ! scope=&quot;col&quot;| Javadoc |- |Patrius |[{... »</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_4.16_Trigonometric_Polynomials_and_Fourier_Series&amp;diff=3948&amp;oldid=prev"/>
		<updated>2025-04-23T09:02:04Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « __NOTOC__ == Introduction == === Scope === This section presents the Trigonometric Polynomials implemented in PATRIUS as well as Fourier Series.  === Javadoc === The trigonometric polynomial (and related) objects are available in the package &amp;lt;code&amp;gt;fr.cnes.sirius.patrius.math.analysis.polynomials&amp;lt;/code&amp;gt; and the FFT algorithms in &amp;lt;code&amp;gt;fr.cnes.sirius.patrius.math.transform&amp;lt;/code&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; |- ! scope=&amp;quot;col&amp;quot;| Library ! scope=&amp;quot;col&amp;quot;| Javadoc |- |Patrius |[{... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
== Introduction ==&lt;br /&gt;
=== Scope ===&lt;br /&gt;
This section presents the Trigonometric Polynomials implemented in PATRIUS as well as Fourier Series.&lt;br /&gt;
&lt;br /&gt;
=== Javadoc ===&lt;br /&gt;
The trigonometric polynomial (and related) objects are available in the package &amp;lt;code&amp;gt;fr.cnes.sirius.patrius.math.analysis.polynomials&amp;lt;/code&amp;gt; and the FFT algorithms in &amp;lt;code&amp;gt;fr.cnes.sirius.patrius.math.transform&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Library&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
|Patrius&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/analysis/polynomials/package-summary.html Package fr.cnes.sirius.patrius.math.geometry.analysis.polynomials]&lt;br /&gt;
|-&lt;br /&gt;
|Patrius &lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/transform/package-summary.html Package fr.cnes.sirius.patrius.math.transform]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
Useful resources for this theme can be found here :&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Trigonometric_polynomial Trigonometric Polynomials]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/List_of_trigonometric_identities List of trigonometric identities]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Fourier_series Fourier Series]&lt;br /&gt;
&lt;br /&gt;
=== Useful Documents ===&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
=== Package Overview ===&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
== Features Description ==&lt;br /&gt;
=== Trigonometric Polynomials ===&lt;br /&gt;
The trigonometric polynomials are defined as :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\forall t \in \mathbb{R}, P(t) = a_0 + \sum_{k=0}^n \left( a_k \cos(kt) + b_k \sin(kt) \right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And the primitive of such a function is :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\forall t \in \mathbb{R}, P(t) = a_0 t + c^{te} + \sum_{k=0}^n \left( {-b_k \over k} \cos(kt) + {a_k \over k} \sin(kt) \right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Classes that represent these functions are described in this section.&lt;br /&gt;
=== Fourier Series ===&lt;br /&gt;
Let &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; be a periodic, real variable, real function with period &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt;. The &amp;#039;&amp;#039;partial sums of the Fourier Series&amp;#039;&amp;#039; of &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; are given by&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\forall N \in \mathbb{R}^{+*}, \, \left(S_Nf\right)(x) = a_0 + \sum_{n=1}^N\left(a_n\cos\left(n t {2\pi\over T}\right) + b_n\sin\left(n t {2\pi\over T}\right)\right)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Fourier coefficients (n &amp;gt; 0) of &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; are given by :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
a_0 = {1\over T}\int_{-T/2}^{T/2} \! f(t) \, \mathrm{d}t&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
a_n = {2\over T}\int_{-T/2}^{T/2} \! f(t) \cos\left(n t {2\pi\over T}\right) \, \mathrm{d}t&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
b_n = {2\over T}\int_{-T/2}^{T/2} \! f(t) \sin\left(n t {2\pi\over T}\right) \, \mathrm{d}t &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Classes that allow decomposing functions into finite Fourier series are described.&lt;br /&gt;
&lt;br /&gt;
=== Fast Fourier Transforms ===&lt;br /&gt;
A fast Fourier transform (FFT) is an algorithm to compute the discrete Fourier transform (DFT) and its inverse. Fourier analysis converts time (or space) to frequency and vice versa. An FFT rapidly computes such transformations by factorizing the DFT matrix into a product of sparse (mostly zero) factors.&amp;lt;br&amp;gt;&lt;br /&gt;
Let &amp;lt;math&amp;gt;( X_0, ..., X_{N-1})&amp;lt;/math&amp;gt;  be complex numbers. The DFT is defined by the formula&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;X_k = \sum^{N-1}_{n=0} x_n e^{-2i\pi k n/N}, \quad k=\left\{0, ..., N-1\right\}.&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The class &amp;lt;code&amp;gt;FastFourierTransformer.java&amp;lt;/code&amp;gt; owns two methods&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;transform(final double[] f, final TransformType type)&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;transform(final Complex[] f, final TransformType type)&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;TransformType&amp;lt;/code&amp;gt; is an enumeration that defines the type of transform which is to be computed. It can be FORWARD or INVERSE.&lt;br /&gt;
&lt;br /&gt;
Depending on the size, this method will use a radix-2 algorithm if the size is a power-of-two, and the Bluestein algorithm otherwise. Both algorithms are explained above. &lt;br /&gt;
&lt;br /&gt;
==== The Cooley–Tukey &amp;amp;  radix-2 the algorithm ====&lt;br /&gt;
&lt;br /&gt;
By far the most commonly used FFT algorithm. This is a divide and conquer algorithm that recursively breaks down a DFT of any composite size &amp;lt;math&amp;gt;N = N_1N_2&amp;lt;/math&amp;gt; into many smaller DFTs of sizes &amp;lt;math&amp;gt;N_1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;N_2&amp;lt;/math&amp;gt;, along with &amp;lt;math&amp;gt;O(N)&amp;lt;/math&amp;gt; multiplications by complex roots of unity.&amp;lt;br&amp;gt;&lt;br /&gt;
The radix-2 algorithme is the most common use of FFT algorithm and is based on the Cooley–Tukey algorithm. It divides the transform into two pieces of size &amp;lt;math&amp;gt;N/2&amp;lt;/math&amp;gt; at each step, and is therefore limited to power-of-two sizes.&lt;br /&gt;
&lt;br /&gt;
==== The Bluestein algorithm ====&lt;br /&gt;
&lt;br /&gt;
It is commonly called the chirp z-transform algorithm. It computes the discrete Fourier transform (DFT) of arbitrary sizes (including prime sizes) by re-expressing the DFT as a convolution. For more information, see [http://en.wikipedia.org/wiki/Bluestein%27s_FFT_algorithm http://en.wikipedia.org/wiki/Bluestein%27s_FFT_algorithm]&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
=== Usage of a trigonometric polynomial ===&lt;br /&gt;
* To create the polynomial &amp;lt;math&amp;gt;P(x) =-2 + \cos(x) + 2\sin(3x)&amp;lt;/math&amp;gt;, use the following code snippet :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
double a0 =-2;&lt;br /&gt;
double[] a = new double[] {1, 0, 0};&lt;br /&gt;
double[] b = new double[] {0, 0, 2};&lt;br /&gt;
TrigonometricPolynomialFunction myPol2 = new TrigonometricPolynomialFunction(a0, a, b);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get the value of the second derivative at &amp;lt;math&amp;gt;x = 5&amp;lt;/math&amp;gt;, use the following snippet :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
double result = myPol2.value(2,5);&lt;br /&gt;
// equivalent to&lt;br /&gt;
double result = myPol2.polynomialDerivative(2).value(5);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To get the primitive :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// With an integration constant c = 1 :&lt;br /&gt;
TrigonometricPolynomialPrimitive result = myPol2.polynomialPrimitive(1.);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* To multiply two trigonometric polynomials &amp;lt;math&amp;gt;p1&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;p2&amp;lt;/math&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
TrigonometricPolynomialFunction result = p1.multiply(p2);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Decomposing a UnivariateFunction into a Fourier Series ===&lt;br /&gt;
Given a user function with period T :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
UnivariateFunction f = new UnivariateFunction () {&lt;br /&gt;
    public double value(double x) {&lt;br /&gt;
         // ...&lt;br /&gt;
         return result;&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The user must build an instance of the FourierDecompositionEngine (using an [{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/analysis/integration/UnivariateIntegrator.html integrator]) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
FourierDecompositionEngine engine = new FourierDecompositionEngine( integrator );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And pass the function, period and approximation order to it.&amp;#039;&amp;#039;&amp;#039;NOTE :&amp;#039;&amp;#039;&amp;#039; It is left up to the user to make sure that the specified period is coherent with the function as no internal check is conducted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
engine.setOrder(10);&lt;br /&gt;
engine.setFunction(f, T);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, the user can call the &amp;lt;code&amp;gt;decompose( )&amp;lt;/code&amp;gt; method :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
FourierSeriesApproximation approximation = engine.decompose();&lt;br /&gt;
FourierSeries fourier = approximation.getFourier();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;u&amp;gt;Example&amp;lt;/u&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The following code snippet shows how to decompose a square function of period 2 to the 10th order :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
// function definition&lt;br /&gt;
UnivariateFunction function = new UnivariateFunction() {&lt;br /&gt;
   public double value(final double x) {&lt;br /&gt;
   final double local = x- FastMath.floor(x / 2) * 2;&lt;br /&gt;
      if (local &amp;gt;= 1) {&lt;br /&gt;
         return-1;&lt;br /&gt;
      } else {&lt;br /&gt;
         return 1;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Engine parameters&lt;br /&gt;
UnivariateIntegrator integrator = new LegendreGaussIntegrator(5, 1e-14, 1e-14);&lt;br /&gt;
FourierDecompositionEngine engine = new FourierDecompositionEngine(integrator);&lt;br /&gt;
engine.setMaxEvals(Integer.MAX_VALUE);&lt;br /&gt;
&lt;br /&gt;
// decompose&lt;br /&gt;
double period = 2;&lt;br /&gt;
engine.setOrder(10);&lt;br /&gt;
engine.setFunction(function, period);&lt;br /&gt;
FourierSeriesApproximation result = engine.decompose();&lt;br /&gt;
FourierSeries fourier = result.getFourier();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The function and its approximation are shown hereunder. The parasite undulations are known as the [http://en.wikipedia.org/wiki/Gibbs_phenomenon Gibbs Phenomenon] :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:square10.PNG|center]]&lt;br /&gt;
&lt;br /&gt;
== Contents ==&lt;br /&gt;
=== Interfaces ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interface&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Summary&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;UnivariateDifferentiableFunction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Extension of UnivariateFunction representing a differentiable univariate function.&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/analysis//differentiation/UnivariateDifferentiableFunction.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;IntegrableUnivariateFunction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Extension of UnivariateRealFunction representing an integrable univariate function.&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/analysis/IntegrableUnivariateFunction.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;UnivariateFunction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Interface representing an univariate function.&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/analysis/UnivariateFunction.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;IFastFourierTransformer&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Interface representing a FFT.&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/transform/IFastFourierTransformer.html ...]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Class&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Summary&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Javadoc&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;FourierDecompositionEngine&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Decompose a UnivariateFunction as a Fourier Series using TrigonometricPolynomialFunction representation.&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/analysis/polynomials/FourierDecompositionEngine.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;FourierSeries&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|This class represents a finite Fourier Series.&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/analysis/polynomials/FourierSeries.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;FourierSeriesApproximation&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|Holder for a UnivariateFunction and its FourierSeries approximation.&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/analysis/polynomials/FourierSeriesApproximation.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;TrigonometricPolynomialFunction&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|This class is the Trigonometric Polynomial Function class.&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/analysis/polynomials/TrigonometricPolynomialFunction.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;TrigonometricPolynomialPrimitive&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|This class represents a Trigonometric Polynomial Primitive.&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/analysis/polynomials/TrigonometricPolynomialPrimitive.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;AbstractFastFourierTransformer&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Abstract class representing a FFT.&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/transform/AbstractFastFourierTransformer.html ...]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;FastFourierTransformer&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| Computes the FFT for real and complex arrays.&lt;br /&gt;
|[{{JavaDoc4.16}}/fr/cnes/sirius/patrius/math/transform/FastFourierTransformer.html ...]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:User_Manual_4.16_Mathematics]]&lt;/div&gt;</summary>
		<author><name>Admin tsn</name></author>
	</entry>
</feed>