<?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_3.3_Dispersions</id>
	<title>User Manual 3.3 Dispersions - 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_3.3_Dispersions"/>
	<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;action=history"/>
	<updated>2026-06-11T04:58:19Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;diff=967&amp;oldid=prev</id>
		<title>Admin le 27 février 2018 à 09:50</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;diff=967&amp;oldid=prev"/>
		<updated>2018-02-27T09:50:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 27 février 2018 à 09:50&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l135&quot;&gt;Ligne 135 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 135 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==  [[File:lightBulb.png]] Tips &amp;amp; Tricks ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==  [[File:lightBulb.png]] Tips &amp;amp; Tricks ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;None as of now.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;None as of now.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:User_Manual_3.3_Mathematics]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key w3?hpatrius?hprod:diff:1.41:old-966:rev-967:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;diff=966&amp;oldid=prev</id>
		<title>Admin le 27 février 2018 à 09:49</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;diff=966&amp;oldid=prev"/>
		<updated>2018-02-27T09:49:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;amp;diff=966&amp;amp;oldid=965&quot;&gt;Voir les modifications&lt;/a&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;diff=965&amp;oldid=prev</id>
		<title>Admin : Admin a déplacé la page Dispersions vers User Manual 3.3 Dispersions sans laisser de redirection</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;diff=965&amp;oldid=prev"/>
		<updated>2018-02-27T09:44:52Z</updated>

		<summary type="html">&lt;p&gt;Admin a déplacé la page &lt;a href=&quot;/index.php?title=Dispersions&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Dispersions (page inexistante)&quot;&gt;Dispersions&lt;/a&gt; vers &lt;a href=&quot;/index.php/User_Manual_3.3_Dispersions&quot; title=&quot;User Manual 3.3 Dispersions&quot;&gt;User Manual 3.3 Dispersions&lt;/a&gt; sans laisser de redirection&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 27 février 2018 à 09:44&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;fr&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Aucune différence)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key w3?hpatrius?hprod:diff:1.41:old-964:rev-965 --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;diff=964&amp;oldid=prev</id>
		<title>Admin : 1 révision importée</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;diff=964&amp;oldid=prev"/>
		<updated>2018-02-27T09:43:14Z</updated>

		<summary type="html">&lt;p&gt;1 révision importée&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 27 février 2018 à 09:43&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;fr&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Aucune différence)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key w3?hpatrius?hprod:diff:1.41:old-963:rev-964 --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;diff=963&amp;oldid=prev</id>
		<title>Admin le 27 février 2018 à 09:43</title>
		<link rel="alternate" type="text/html" href="https://patrius.cnes.fr/index.php?title=User_Manual_3.3_Dispersions&amp;diff=963&amp;oldid=prev"/>
		<updated>2018-02-27T09:43:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
#set($a=0)&lt;br /&gt;
#set($b=0)&lt;br /&gt;
#set($c=0)&lt;br /&gt;
#set($d=0)&lt;br /&gt;
&lt;br /&gt;
== {{t/}} Introduction ==&lt;br /&gt;
=== {{tt/}} Scope ===&lt;br /&gt;
This section describes how dispersions are defined and used in the PATRIUS library.&lt;br /&gt;
Dispersions are not to be mixed up with random generation (not detailed in this page). Dispersions always rely on a random generator.&lt;br /&gt;
&lt;br /&gt;
=== {{tt/}} Javadoc ===&lt;br /&gt;
The dispersions objects are available in the package &amp;lt;code&amp;gt;org.apache.commons.math3.random&amp;lt;/code&amp;gt; in the Commons Math Library (and Commons Math add-ons). This package also handles random generation.&lt;br /&gt;
|=Library|=Javadoc&lt;br /&gt;
|Commons-Math |[{{JavaDoc3.3}}/org/apache/commons/math3/random/package-summary.html Package org.apache.commons.math3.random]&lt;br /&gt;
|Commons-Math addons |[{{JavaDoc3.3}}/org/apache/commons/math3/random/package-summary.html Package org.apache.commons.math3.random]&lt;br /&gt;
&lt;br /&gt;
=== {{tt/}} Links ===&lt;br /&gt;
None as of now.&lt;br /&gt;
&lt;br /&gt;
=== {{tt/}} Useful Documents ===&lt;br /&gt;
None as of now.&lt;br /&gt;
&lt;br /&gt;
=== {{tt/}} Package Overview ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== {{t/}} Features Description ==&lt;br /&gt;
=== {{tt/}} Random number generation ===&lt;br /&gt;
Distributed random number generation is based on using implementations of interface &amp;lt;code&amp;gt;org.apache.commons.math3.random.NormalizedRandomGenerator&amp;lt;/code&amp;gt;.&lt;br /&gt;
Each implementation of this interface provides a specific dispersion scheme. For instance, the following code will generate random numbers with Gaussian distribution of mean 0 and unit standard deviation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final RandomGenerator g = new JDKRandomGenerator();&lt;br /&gt;
final NormalizedRandomGenerator generator = new GaussianRandomGenerator(g);&lt;br /&gt;
final double value = generator.nextNormalizedDouble();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As shown in the above example, building a dispersion object requires a random generator implementing &amp;lt;code&amp;gt;org.apache.commons.math3.random.RandomGenerator&amp;lt;/code&amp;gt; interface.&lt;br /&gt;
&lt;br /&gt;
=== {{tt/}} Random vector generation ===&lt;br /&gt;
Correlated random vector generation is based on using implementations of interface &amp;lt;code&amp;gt;org.apache.commons.math3.random.RandomVectorGenerator&amp;lt;/code&amp;gt;.&lt;br /&gt;
Each implementation of this interface provides a specific dispersion scheme. For instance, the following code will generate uniformly correlated random vectors according to provided covariance matrix:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
final RandomGenerator g = new JDKRandomGenerator();&lt;br /&gt;
final RandomVectorGenerator generator = new UniformlyCorrelatedRandomVectorGenerator(mean, covariance, 0, g);&lt;br /&gt;
final double[] value = generator.nextVector();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As shown in the above example, building a dispersion object requires a random generator implementing &amp;lt;code&amp;gt;org.apache.commons.math3.random.RandomGenerator&amp;lt;/code&amp;gt; interface.&lt;br /&gt;
&lt;br /&gt;
== {{t/}} Getting Started ==&lt;br /&gt;
{{specialInclusion prefix=$theme section=&amp;quot;GettingStarted&amp;quot;/}}&lt;br /&gt;
&lt;br /&gt;
== {{t/}} Contents ==&lt;br /&gt;
=== {{tt/}} Interfaces ===&lt;br /&gt;
The library defines the following interfaces related to dispersions:&lt;br /&gt;
&lt;br /&gt;
|=Interface|=Summary|=Javadoc&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;NormalizedRandomGenerator&amp;#039;&amp;#039;&amp;#039;|Interface for normalized random generators|[{{JavaDoc3.3}}/org/apache/commons/math3/random/NormalizedRandomGenerator.html ...]&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;RandomVectorGenerator&amp;#039;&amp;#039;&amp;#039;|Interface for random vector generators|[{{JavaDoc3.3}}/org/apache/commons/math3/random/RandomVectorGenerator.html ...]&lt;br /&gt;
&lt;br /&gt;
Note: interface for random number generators is &amp;lt;code&amp;gt;org.apache.commons.math3.random.RandomGenerator&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== {{tt/}} Classes ===&lt;br /&gt;
The library defines the following classes related to dispersions:&lt;br /&gt;
&lt;br /&gt;
|=Classe|=Summary|=Javadoc&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;GaussianRandomGenerator&amp;#039;&amp;#039;&amp;#039;|Generator following Gaussian distribution|[{{JavaDoc3.3}}/org/apache/commons/math3/random/GaussianRandomGenerator.html ...]&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;UniformRandomGenerator&amp;#039;&amp;#039;&amp;#039;|Generator following uniform distribution|[{{JavaDoc3.3}}/org/apache/commons/math3/random/UniformRandomGenerator.html ...]&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;UncorrelatedRandomVectorGenerator&amp;#039;&amp;#039;&amp;#039;|Generator for Gaussian uncorrelated vectors|[{{JavaDoc3.3}}/org/apache/commons/math3/random/UncorrelatedRandomVectorGenerator.html ...]&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;CorrelatedRandomVectorGenerator&amp;#039;&amp;#039;&amp;#039;|Generator for Gaussian correlated vectors|[{{JavaDoc3.3}}/org/apache/commons/math3/random/CorrelatedRandomVectorGenerator.html ...]&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;UniformlyCorrelatedRandomVectorGenerator&amp;#039;&amp;#039;&amp;#039;|Generator for uniformly correlated vectors|[{{JavaDoc3.3}}/org/apache/commons/math3/random/UniformlyCorrelatedRandomVectorGenerator.html ...]&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;UnitSphereRandomVectorGenerator&amp;#039;&amp;#039;&amp;#039;|Generator for vectors isotropically located on a sphere|[{{JavaDoc3.3}}/org/apache/commons/math3/random/UnitSphereRandomVectorGenerator.html ...]&lt;br /&gt;
&lt;br /&gt;
=== {{tt/}} Correlated random vector generator ===&lt;br /&gt;
The user provides a covariance matrix and a random generator.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;When using Gaussian correlated random vector generator&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
* The covariance matrix root is extracted using a Cholesky decomposition. The number of columns of the root matrix corresponds to the rank of the provided covariance matrix.&lt;br /&gt;
* An uncorrelated vector of size the rank of the covariance matrix is generated using the provided random generator&lt;br /&gt;
* The final correlated vector is obtained by multiplying the covariance root matrix by this generated vector.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;When using uniformly correlated random vector generator&amp;#039;&amp;#039;&amp;#039;, the process is more complex:&lt;br /&gt;
* The covariance matrix is converted into a correlation matrix. Standard deviation vector is extracted from the process. Obtained correlation matrix must be positive semi-definite (all eigenvalues must be non negative).&lt;br /&gt;
* Spearman correction is applied to the correlation matrix. If corrected correlation matrix is not positive semi-definite, correction is not applied.&lt;br /&gt;
[[File:spearmanCorrection.png|center]]&lt;br /&gt;
* The correlation matrix root is extracted using a Cholesky decomposition. The number of columns of the root matrix corresponds to the rank of the correlation matrix.&lt;br /&gt;
* A uncorrelated vector of size the rank of the covariance matrix is generated using the provided random generator&lt;br /&gt;
* The product of correlation matrix root L and uncorrelated vector T is then transformed to get a uniform law:&lt;br /&gt;
[[File:uniformCorrection.png|center]]&lt;br /&gt;
* The final correlated vector is obtained by linearly multiplying z by the standard deviation vector.&lt;br /&gt;
&lt;br /&gt;
== {{t/}} Tutorials ==&lt;br /&gt;
=== {{tt/}} Tutorial 1 ===&lt;br /&gt;
{{specialInclusion prefix=$theme section=&amp;quot;Tuto1&amp;quot;/}}&lt;br /&gt;
&lt;br /&gt;
=== {{tt/}} Tutorial 2 ===&lt;br /&gt;
{{specialInclusion prefix=$theme section=&amp;quot;Tuto2&amp;quot;/}}&lt;br /&gt;
&lt;br /&gt;
== {{t/}} [[File:lightBulb.png]] Tips &amp;amp; Tricks ==&lt;br /&gt;
None as of now.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>