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

mardi 19 mai 2020

Arabesques avec la spirale de Théodore

Dans son livre``Spirals From Theodorus to Chaos'', Philip J. Davis donne à la page 29 l'équation d'une spirale étonnante qu'il titre : ``Sums of quadratic exponentials inspired by the carving on an ancient monumental stone from Gottland, Sweden'' :
 \[
 r = .0234i;\ s = .0959(1 + i);\ w = w + \exp(rj^2);\ v = \exp(sw); \textrm{plot} v
 \]
 Je ne suis pas arrivé à reproduire son dessin : une figure fermée formée par 4 spirales disposées aux sommets d'un carré. Par contre, en gardant les mêmes paramètres ou en les modifiant, j'obtiens des arabesques qui me semblent plaisantes. Elles sont calculées et dessinées avec la commande \pstarabesques[options].
Les fichiers sont ici :
http://manuel.luque.free.fr/Theodorus-Spiral/pst-arabesques.zip
ou ici :
pst-arabesques.zip
Voici quelques exemples extraits de la documentation et obtenus avec les paramètres originaux ou en les modifiant.
On notera l'analogie de ces arabesques avec la spirale de Cornu (en notation complexe) et ses variantes, voir :
 http://pstricks.blogspot.com/2018/06/le-dessin-de-la-spirale-de-cornu-avec.html
mais ici, la variable est discrète.



dimanche 17 mai 2020

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

En exergue de son livre ``From Theodorus to Chaos", Philip J. Davis cite Madame de Staël :
``L 'esprit humain fait toujours des progrès, mais ce progrès est spirale''
La citation exacte, qu'on retrouve facilement sur internet est :
``Goethe a dit sur la perfectibilité de l'esprit humain un mot plein de sagacité : Il avance toujours en ligne spirale.
Cette comparaison est d'autant plus juste, qu'à beaucoup d'époques il semble reculer, et revient ensuite sur ses pas, en ayant gagné quelques degrés de plus. ''
De l'Allemagne. Tome 3 par Mme la baronne de Staël-Holstein.

Philip J. Davis  généralise la spirale de Théodore pour produire des spirales très remarquables, ce qu'il note plaisamment :
«“Man muss immer generalisieren,” wrote C. G. J. Jacobi. Mathematicians should always generalize, and moved by this directive and without excessive exertion of the imagination, one writes down
\[
z_{n+i} = az_n + bz_n/|z_n|
\]
for a and b arbitrary complex numbers, and hopes that this yields something interesting. It does.»

L’objectif de ce document est de reproduire avec les outils de PSTricks quelques-unes des spirales remarquables obtenues par Philip J.Davis en jouant sur les coefficients a et b , grâce à une commande : \pstTheodorusSpiral[options].
Dans son livre Philip J. Davis va beaucoup plus loin et cela sera peut-être exploré dans un autre document.
Les fichiers, package et documentation sont ici :
 http://manuel.luque.free.fr/Theodorus-Spiral/pst-theodorus-spiral.zip
ou
pst-theodorus-spiral.zip

Voici quelques figures du livre de Philip J. Davis reproduites avec la commande \pstTheodorusSpiral[options] et qui sont extraites de la documentation :
"Chicken spiral" page 26


"Spider spiral" page 16

"Spring spiral" page 22
"Marigold spiral" page 47

"Discretely randomized Theodorus spiral" page 23

“Pyrotechnic spiral” page 28
``Trigonometric sums studied by Coutsias and Kazarinoff.'' page 24

vendredi 15 mai 2020

La spirale de Théodore de Cyrène (1)


Pour construire la spirale de Théodore de Cyrène, l’utilisation des nombres complexes est un
moyen particulièrement élégant et rapide. Je ne sais pas qui en a eu l’idée pour la première fois, mais Philip J. Davis dans son livre “Spirals FromTheodorus toChaos” (AKPetersWellesley,Massachusetts) utilise cette méthode :
« I place the Theodorus spiral in the complex plane and define its vertices $z_n$ in iterative fashion : »
\[
z_{n+i} = z_n + iz_n/|z_n|,i = \sqrt{-1}
\]
avec $z_0=1$.
et la généralise pour produire des spirales très remarquables.
Si le sujet vous intéresse et si votre bibliothèque universitaire ne possède pas cet ouvrage ou bien si vous ne pas vous le procurer, André Stoll dans un article intitulé  Les Spirales donne un petit aperçu de cette généralisation. Pour ma part je donnerai quelques indications ainsi que les équations des spirales tracées dans un prochain document.

La commande \psTheodorusSpiral de PSTricks,  ne comprend qu'un seul argument N le nombre de cotés de la spirale, il est limité à 17. La documentation contient une animation réalisée avec le package https://ctan.org/pkg/animate d'Alexander Grahn.

Les fichiers sont disponibles ici :
http://manuel.luque.free.fr/Theodorus-Spiral/Theodorus-Spiral.zip
ou
Theodorus Spiral

lundi 11 mai 2020

La spirale de Sacks avec PSTricks

À la suite de Stanislaw Ulam qui disposa les nombres en spirale carrée :
Robert Sacks eut l’idée de disposer les nombres naturels le long d’une spirale d’Archimède de telle sorte que les carrés 1, 4, 9 . . . se trouvent sur l’axe Ox.
Le site est très bien conçu, toutes les équations et relations sont clairement indiquées et Robert Sacks propose une application sous Windows pour expérimenter sur la spirale qu’il a inventée et ses propriétés. Mon but consiste très simplement à réaliser avec PSTricks quelques  figures qui me paraissent les plus significatives illustrant des propriétés mises en évidence par Robert Sacks. Il va de soi que si vous souhaitez approfondir ce sujet, l’étude originale de Robert Sacks est la meilleure source.
Les illustrations avec PSTricks ont été réalisées avec deux commandes \psSacksSpiral[options]
et \psPlotSacksSpiral[options] qui sont détaillées dans la documentation.
Les fichiers sont accessibles ici :
ou

Les illustrations suivantes sont extraites de la documentation :

 \psSacksSpiral[ShowAllPoints,N=2026,unit=4,P=,linewidth=1.5pt]

 \psSacksSpiral[linecolor={[rgb]{0 0 0.5}}]
 \psSacksSpiral[N=10000,unit=2,P=41,linewidth=1.5pt,curve=1 1 41,curvecolor=red]

\psPlotSacksSpiral[linecolor={[rgb]{0 0.5 0}},curve=,unit=0.75]
\psPlotSacksSpiral[linecolor={[rgb]{0 0.5 0}},unit=0.75]
\psPlotSacksSpiral[,curve=1 0 -1,curvecolor=red]
\psPlotSacksSpiral[curve=1 1 -4,ShowAllPoints=false]
\psPlotSacksSpiral[curve=1 2 -2,ShowAllPoints=false,curvecolor=green]
\psPlotSacksSpiral[curve=1 0 -9,curvecolor=red]
\psPlotSacksSpiral[curve=4 3 0,curvecolor=green,ShowAllPoints=false]
\psPlotSacksSpiral[ShowAllPoints=false]
\psPlotSacksSpiral[N=900,curve=1 1 41,curvecolor=red,ShowAllPoints=false]