jeudi 4 juin 2020

Les polynômes de Legendre avec PSTricks

Ce sont quelques exemples d'utilisation des polynômes de Legendre, soit pour simplement les représenter en coordonnées cartésiennes, en polaire ou comme outils pour faire de petits tableaux géométriques à prétention artistique.
Les fichiers sont accessibles ici :
http://manuel.luque.free.fr/psLegendreP/psLegendreP.zip
ou ici
polynômes de Legendre (drive)

Les images suivantes sont extraites de la documentation.

Combinaison de polynômes :

L'effet toile a été rajouté avec The Gimp.

dimanche 31 mai 2020

Petits tableaux avec Gegenbauer (version 2)

Par rapport à la première version :
 http://pstricks.blogspot.com/2020/05/petits-tableaux-avec-gegenbauer.html
on tient compte que la variable notée $\alpha$ peut être complexe.
Tout d'abord le code de Mathematica relevé dans le livre:
Table[ContourPlot[Re[GegenbauerC[24, $\alpha$Exp[I$\varphi$], z]], {z,-2,2}, {$\alpha$,-16,16},Contours ->{0}], {$\varphi$, 0, Pi/2, Pi/4}]
La variable qui correspond à $\alpha$  est une variable complexe dans le code de Mathematica, elle vaut : $\alpha\exp(i\varphi)$ donc 3 cas, 3 images.
Avec https://ctan.org/pkg/pst-contourplot, la fonction se code de la façon suivante :
\psContourPlot[function=\{[x y]\  n \  y [a b] Irmul \ GegenbauerC \ ReZ\}](-8,-8)(8,8)
[a b]=a+ib est un nombre complexe qui, si l'on conserve les valeurs données par Michael Trott, vaudra dans les 3 cas, en codant avec postscript : [1 0], [0 1] et [2 sqrt 2 div dup
$y$ joue le rôle multiplicateur de $\alpha$ et varie entre  -8 < y < 8 ..
On évitera de dépasser ces limites, quant à l'indice $n$ il restera inférieur à 24, sinon on pourra jouer sur le paramètre qui fixe la précision des calculs [a=] au détriment de la résolution du dessin. Les rôles de $x$ et $y$ pourront être intervertis.
 Les nouveaux fichiers sont ici :
http://manuel.luque.free.fr/psGegenbauerC/psGegenbauerC.zip
ou
psGegenbauerC.zip (drive)
Voici les 2 premiers  cas, suivant la parité de $n$ la figure change.

Avec effet toile de Gimp

samedi 30 mai 2020

Petits tableaux avec Gegenbauer

Dans son livre ``The Mathematica GuideBook for Symbolics'', (2006 Springer Science+Business Media, Inc.), Michael Trott  propose aux pages 825 et 826 d'utiliser les polynômes de Gegenbauer (en $\mathbb{C}$) pour réaliser de petits tableaux. Je ne suis pas arriver à les recréer exactement, mais j'ai utilisé son idée en l'adaptant à PSTricks avec pst-contourplot et la définition des polynômes de Gegenbauer contenue dans le fichier `pst-operations-on-complex-numbers.pro''. Voici la méthode et quelques résultats. Je précise que les calculs sont assez longs(il faut mériter les tableaux) même avec Mathematica. Tout d'abord le code de Mathematica dont le résultat se rapproche le plus de celui obtenu avec PSTricks :
\[
  \text{ContourPlot[Re[GegenbauerC}[12,\alpha,z]],\ \{z, -2, 2\},\ \{\alpha, -8, 8\},\ \text{Contours }-> \{0\},\ \text{PlotPoints -> 100}]
\]
$C^\alpha_0 (z)=1$
$C^\alpha_1 (z)=2\alpha z$
$C^\alpha_n (z)=\frac{1}{n}\left[2z(n+\alpha-1)C^\alpha_{n-1}(z)-(n+2\alpha-2)C^\alpha_{n-2}(z)\right]$

Avec pst-contourplot, la fonction se code de la façon suivante :

\psContourPlot[function={[x y]  n  y  GegenbauerC  ReZ }](-8,-8)(8,8)

$y$ joue le rôle de $\alpha$ qui varie donc entre $ -8< \alpha < 8$.
 On évitera de dépasser ces limites, quant à l'indice $n$ il restera inférieur à 20, sinon on pourra jouer sur le paramètre qui fixe la précision des calculs [a=] au détriment de la résolution du dessin. Les rôles de $x$ et $y$ pourront être intervertis.
Les fichiers sont ici :
http://manuel.luque.free.fr/psGegenbauer/psGegenbauer.zip
ou
psGegenbauer.zip (drive)
Les 2 images de la documentation et une animation (Gif) en faisant varier $n$.
Effets de toile avec The Gimp


mardi 26 mai 2020

Petits tableaux avec Chebyshev (suite)

C'est un complément à : Peindre avec Chebyshev et PSTricks, en utilisant directement :
et les définitions des polynômes de Chebyshev T et U contenus dans le fichier ``pst-operations-on-complex-numbers.pro''(dans l'archive).
En préliminaire, je signale que la package polexpr de Jean-François Burnol permet d'effectuer littéralement des opérations avec les polynômes de Chebyshev T et U. Par exemple, une commande incluse dans sa documentation permet de lister, sans autre effort, les polynômes de Chebyshev T. :
$T_0=1$
$T_1=X$
$T_{2}(X)=2 X^2-1$
$T_{3}(X)=4 X^3-3 X$
$T_{4}(X)=8 X^4-8 X^2+1$
$T_{5}(X)=16 X^5-20 X^3+5 X$
$T_{6}(X)=32 X^6 - 48 X^4 + 18 X^2 -1$
$T_{7}(X)=64 X^7-112 X^5+56 X^3-7 X$
$T_{8}(X)=128 X^8-256 X^6+160 X^4-32 X^2+1$
$T_{9}(X)=256 X^9-576 X^7+432 X^5-120 X^3+9 X$
$T_{10}(X)=512 X^{10}-1280 X^8+1120 X^6-400 X^4+50 X^2+1$
$T_{11}(X)=1024 X^{11}-2816 X^9+2816 X^7-1232 X^5+220 X^3-11 X$
$T_{12}(X)=2048 X^{12}-6144 X^{10}+6912 X^8-3584 X^6+840 X^4-72 X^2+1$
$T_{13}(X)=4096 X^{13}-13312 X^{11}+16640 X^9-9984 X^7+2912 X^5-364 X^3+13 X$
$T_{14}(X)=8192 X^{14}-28672 X^{12}+39424 X^{10}-26880 X^8+9408 X^6-1568 X^4+98 X^2-1$
Une autre commande permet de trouver les racines des polynômes de Chebyshev. Ces commandes sont faciles à adapter aux polynômes U.
Concernant les définitions en postscript des polynômes T et U(on est dans $\mathbb{C}$) qui s'intitulent ChebyshevT et ChebyshevU, leur utilisation est décrite dans la documentation.

Tous les fichiers sont ici :
CombinationsTwoChebyshevPolynomials.zip
ou ici :
CombinationsTwoChebyshevPolynomials.zip (drive)

Deux images extraites de la documentation :
L'effet toile est obtenu avec The Gimp.










dimanche 24 mai 2020

Peindre avec Chebyshev et PSTricks


Réaliser de petits tableaux avec les polynômes de Chebyshev  en utilisant PSTricks.
 
C'est en quelque sorte la suite de : 
Représentation du polynôme de Chebyshev de première espèce en coordonnées polaires

Dans son livre “The Mathematica GuideBook for Symbolics”, (2006 Springer Science+BusinessMedia, Inc.), Michael Trott écrit page 862 :
«We could go on now andmake some nice pictures involving various combinations of the orthogonal polynomials. Here is a contour plot that contains the two Chebyshev polynomials $T_7(z)$ and $U_8(z)$.»
et donne le code de l'exemple et l'image obtenue, comme elle me semblait plaisante j'ai eu envie de la réaliser avec PSTricks, mais j'ai d'abord testé le code avec Mathematica et là j'ai été un peu refroidi par la lenteur de l'exécution, le message {{Running ...) s'affichant pendant plus de 20 min avant d'avoir l'image et j'ai d'abord pensé qu'il était inutile de tenter l'expérience avec PSTricks, je l'ai fait quand même pour être sûr que c'était irréalisable ou pour le moins trop lent pour être exploitable. À ma grande surprise PSTricks s'est révélé bien moins lent que Mathematica(1 min), ce qui m'a amené à écrire une commande afin de tester des cas esthétiquement intéressants. Pour être complètement honnête il faut dire que PStricks ne peut pas traiter tous les cas comme le fait Mathematica (certes avec une certaine lenteur) par exemple le choix du degré de chaque polynôme sera limité avec PSTricks (à tester, 10 semble la limite) ainsi que le pas des calculs (le nombre de points), limité lui par la taille des tableaux admissibles par postscript. Signalons aussi que le temps de calcul est lié au degré des polynômes.
La commande \psPaintingWithChebyshev vous permettra  de combiner les polynômes de Chebyshev. Les options sont décrites dans la documentation.
Les fichiers sont téléchargeables ici :

CombinationsTwoChebyshevPolynomials.zip
ou ici :
CombinationsTwoChebyshevPolynomials.zip

Quelques images extraites de la documentation (à vous d'apprécier ou pas):









vendredi 22 mai 2020

Représentation du polynôme de Chebyshev de première espèce en coordonnées polaires

""Plotting Chebyshev polynomials using polar plot and filled curve""

J'ai repris le titre de la question posée sur : https://mathematica.stackexchange.com et essayé de reproduire les magnifiques images fournies par les réponses et utilisant le logiciel Mathematica avec les outils de PSTricks. Les dessins suivants sont réalisés avec la commande \psChebyshev[options]  dont les options seront détaillées dans la documentation. Les calculs sont effectués avec postscript en particulier la macro permettant de calculer les valeurs du polynôme de Chebyshev de première espèce. L'équation des courbes tracées en coordonnées polaires (relevée sur le site mentionné plus haut) est :
$$
\rho(\theta)=n+\textrm{ChebyshevT}(n,\frac{\theta}{\pi}-1) \quad,\quad  0 <\theta < 2\pi
$$
Les fichiers sont téléchargeables ici :
http://manuel.luque.free.fr/psChebyshev/psChebyshev.zip
ou ici :
 psChebyshev.zip

Voici des figures extraites de la documentation :
Et la version tricolore du drapeau français :




mercredi 20 mai 2020

La spirale de Théodore de Cyrène généralisée (2)

Cette partie complète celle développée ici :
http://pstricks.blogspot.com/2020/05/la-spirale-de-theodore-de-cyrene.html
Dans son livre Philip J. David ``Spirals From Theodorus to Chaos'' (A K Peters Wellesley, Massachusetts) expose cette généralisation ainsi :
« One may even move out of the space of one complex variable into a vector formulation and write down
\[
v_{n+1} = Av_n + Bv_n/||v_n|| + c
\]
where A and B are square matrices (with real or complex elements), $c$ a column vector, and $v_n$ a sequence of column vectors of appropriate dimension, and the norm equals some accessible and interesting vector norm .»
Cette méthode sera illustrée avec une deuxième commande \pstTheodorusSpiralAB[options]. 
Les deux commandes sont réunies dans un même package et la documentation détaille leurs options respectives.
Les fichiers sont téléchargeables ici :
http://manuel.luque.free.fr/Theodorus-Spiral/pst-theodorus-spiral.zip
ou ici :
pst-theodorus-spiral.zip
Quelques images illustrant cette généralisation, extraites de la documentation et essayant de reproduisant au mieux celles du livre de Philip J. David. 
Figure 34: Penta-fanblade spiral.



Figure 41a: Butterfly page 59

Figure 42: palette page 61
Figure 35: Exhibiting invariant curve.


Figure 40: Invariant curve. page 58