[ot-users] Orthogonal basis of a polynomial chaos

regis lebrun regis_anne.lebrun_dutfoy at yahoo.fr
Wed Apr 19 14:32:12 CEST 2017

Hi Michael,

First of all, thanks for using OpenTURNS ;-)! And a remark: in the case of uniform distributions, you are more likely to get Legendre polynomials than Hermite polynomials :-)

Something in your request is not clear for me. What kind of confirmation do you want to get from openTURNS? A string containing the name of the univariate families of polynomials which have been used? The expression of these polynomials in the canonical basis in order to check that they match your expectation? And to get this information, you want to rely only on the algorithm? If yes, is it before or after it has computed the approximation?

Remember that the algorithm can work with ANY multivariate bases, not only polynomial ones, not even tensorized one, so if you rely only on the algorithm you will have to work a little bit to get the information you are looking for (and I will help you if you answer the few questions above).

In your script, you name your MonteCarloeExperiment as 'sample', which is misleading as it is NOT a sample, but rather a way to generate one. It is a particular case of WeightedExperiment, ie an algorithm able to produce samples.



De : BAUDIN Michael <michael.baudin at edf.fr>
À : "users at openturns.org" <users at openturns.org> 
Envoyé le : Mercredi 19 avril 2017 13h20
Objet : Re: [ot-users] Orthogonal basis of a polynomial chaos

Hi again,
Here is a script in attachment to experiment with the objects.
De :BAUDIN Michael 
Envoyé : mercredi 19 avril 2017 11:50
À : 'users at openturns.org'
Objet : Orthogonal basis of a polynomial chaos
After a (functionnal) polynomial chaos has been run, I am searching a way to explore what basis was used. For example, if a Uniform distribution was used, I would like to confirm that a Hermite polynomial was used. Of course, this cannot always been done, especially if one of the input distributions was « non-standard ». 
However, even in the classical case, I was not able to find out what method of the polynomialChaosAlgorithm could be used to retrieve the information. For example :
# Create Polynomial Chaos
polynomialChaosAlgorithm = FunctionalChaosAlgorithm(myFunction, \
    inputDistribution, fixedStrategy, evalStrategy)
# Compute expansion coefficients
# Explore the result
myAdapStrat = polynomialChaosAlgorithm.getAdaptiveStrategy() # a AdaptiveStrategy
mybasis = myAdapStrat.getBasis() # a OrthogonalBasis
# and after … ?
Afterwhile, I thought that this was not possible, because the basis was an hidden internal object. This is why I tried a second solution : directly explore the polynomial collection used to create the collection of univariate polynomials :
# Create a coolection of standard univariate polynomials
polyColl = PolynomialFamilyCollection(dim)
for i in range(dim):
    polyColl[i] = StandardDistributionPolynomialFactory(marginali)
# Explore the first polynomial
poly0 = polyColl[0]
# and after … ?
But I was not able to find a way to the Hermite polynomial neither.
Has anyone an idea ?

Ce message et toutes les pièces jointes (ci-après le 'Message') sont établis à l'intention exclusive des destinataires et les informations qui y figurent sont strictement confidentielles. Toute utilisation de ce Message non conforme à sa destination, toute diffusion ou toute publication totale ou partielle, est interdite sauf autorisation expresse.
Si vous n'êtes pas le destinataire de ce Message, il vous est interdit de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou partie. Si vous avez reçu ce Message par erreur, merci de le supprimer de votre système, ainsi que toutes ses copies, et de n'en garder aucune trace sur quelque support que ce soit. Nous vous remercions également d'en avertir immédiatement l'expéditeur par retour du message.
Il est impossible de garantir que les communications par messagerie électronique arrivent en temps utile, sont sécurisées ou dénuées de toute erreur ou virus.
This message and any attachments (the 'Message') are intended solely for the addressees. The information contained in this Message is confidential. Any use of information contained in this Message not in accord with its purpose, any dissemination or disclosure, either whole or partial, is prohibited except formal approval.
If you are not the addressee, you may not copy, forward, disclose or use any part of it. If you have received this message in error, please delete it and all copies from your system and notify the sender immediately by return message.
E-mail communication cannot be guaranteed to be timely secure, error or virus-free.
OpenTURNS users mailing list
users at openturns.org

More information about the users mailing list