a=[
-7.0-1*i,-5.0-7*i,+6.0+4*i,-5.0+2*i;
-7.0-9*i,+4.0+8*i,-3.0-1*i,-3.0-9*i;
+8.0-5*i,-5.0+4*i,-3.0-5*i,-5.0-1*i;
-1.0-3*i,-3.0+6*i,+2.0+4*i,-1.0-7*i;
+4.0-5*i,+2.0-9*i,+6.0+6*i,-9.0-1*i;
-5.0-1*i,-9.0-5*i,-1.0-9*i,-3.0+6*i;
+2.0-7*i,-7.0-5*i,-9.0-3*i,-5.0-7*i];
format short e;
[Q, R] = qr (a,0)

a=[
+2-1*i,-6+2*i,-7-6*i;
-6+6*i,+7+8*i,+9-7*i;
+9-9*i,-2+6*i,+1-6*i];
format short e;
EigenValues = eigs (a,10) 
 a=[
-7.0-1*i,-5.0-7*i,+6.0+4*i,-5.0+2*i;
-7.0-9*i,+4.0+8*i,-3.0-1*i,-3.0-9*i;
+8.0-5*i,-5.0+4*i,-3.0-5*i,-5.0-1*i;
-1.0-3*i,-3.0+6*i,+2.0+4*i,-1.0-7*i;
+4.0-5*i,+2.0-9*i,+6.0+6*i,-9.0-1*i;
-5.0-1*i,-9.0-5*i,-1.0-9*i,-3.0+6*i;
+2.0-7*i,-7.0-5*i,-9.0-3*i,-5.0-7*i];
format short e;
SvdValue = svd (a,10)

a=[
+2-1*i,-6+2*i,-7-6*i;
-6+6*i,+7+8*i,+9-7*i;
+9-9*i,-2+6*i,+1-6*i];
format short e
[V, E] = eigs (a,10)

B=[
-7-1*i,-9-3*i,-5+6*i,+6+8*i;
-3+4*i,+8-3*i,-1+6*i,+4-3*i;
+4+4*i,-7-1*i,-9-9*i,+2-5*i;
+8+8*i,-3-7*i,-3+2*i,+4-7*i];
format short e
 [U, S, V] =svd (B,10)

B=[
-7.0-1*i,-5.0-7*i,+6.0+4*i,-5.0+2*i;
-7.0-9*i,+4.0+8*i,-3.0-1*i,-3.0-9*i;
+8.0-5*i,-5.0+4*i,-3.0-5*i,-5.0-1*i;
-1.0-3*i,-3.0+6*i,+2.0+4*i,-1.0-7*i;
+4.0-5*i,+2.0-9*i,+6.0+6*i,-9.0-1*i;
-5.0-1*i,-9.0-5*i,-1.0-9*i,-3.0+6*i;
+2.0-7*i,-7.0-5*i,-9.0-3*i,-5.0-7*i];
format short e
pinv(B)

Introduction à LilyPond/Afficher du texte

12. Afficher du texte
Nous avons vu à plusieurs endroits comment afficher du texte. Nous regroupons ici les informations.
Comment afficher du texte.
Chaîne de caractères.
Dans LilyPond, le texte à afficher peut être :
La chaîne vide s'écrit donc codice_5 ou bien codice_6.
Dans l'en-tête.
Il y a du texte qui est lié à l'en-tête du document : il est mis dans des variables dédiées. C'est en particulier le cas du titre de la pièce (dans la variable ') et du nom du compositeur (dans la variable ') :
\header {
 title = "Titre de la pièce"
 composer = "Compositeur ou compositrice"
La liste des variable de l'en-tête est donnée au chapitre "Partition de chant et grille d'accords > En-tête".
Dans la nomenclature.
Il y a du texte qui est lié à la portée, il est lui aussi mis dans des variables ; il s'agit du nom de l'instrument (dans les variables ' et ') qui s'affiche dans la nomenclature (marge à gauche de la portée) :
\new Staff \with{instrumentName = "Instrument" shortInstrumentName = "Inst."} \relative c" {
 c4 d e f
Au niveau des fonctions qui structurent la partition.
Il y a du texte attaché à certaines fonctions qui structurent la partition. C'est par exemple le cas de l'indication textuelle du tempo (qui suit la commande codice_7), des noms de section (qui suivent la commande codice_8) ou des marques de répétition (qui suivent la commande codice_9) :
\new Staff \relative c" {
 \tempo "Allegro" 4 = 120
 \mark "A"
 \sectionLabel "Introduction"
 c4 d e f
Concernant les sections :
\new Staff \relative c" {
 \sectionLabel "Introduction"
 c4 d e f \jump "D.C."
 \section
 \sectionLabel "I"
 g a b c
Au niveau des notes ou des mesures.
Il y a du texte qui est affiché au-dessus ou en dessous d'une note ; il s'agit en général d'un commentaire ou d'une indication de jeu. Pour placer ce texte, on le met après un trait d'union codice_13 pour laisser LilyPond placer le texte librement au-dessus ou en dessous ; après un tiret de soulignement codice_14 pour le placer sous la portée, et après un accent circonflexe codice_15 pour le mettre au-dessus de la portée :
\new Staff \relative c" {
 c1-"Texte placé automatiquement"
 d_"Texte placé sous la portée"
 e^"Texte placé au-dessus de la portée"
Il y a du texte attaché aux mesures ; il est placé au-dessus de la portée. Si le texte doit être aligné au début de la portée, on utilise une commande codice_16 ; pour l'aligner à la fin de la mesure, on utilise codice_17.
\new Staff \relative c" {
 \textMark"Début"
 c1
 \textEndMark "Fin"
 d
Paroles.
Il y a le texte des paroles d'un chant. Il est dans un environnement codice_18. Ce mode est activé automatiquement avec la commande codice_19 (pour les chants simples) ou bien codice_20 (qui permet d'attacher les paroles à une voix "" donnée) :
 \new Staff \relative c" {
 c
 \new Staff \relative c" {
 c
 \new Staff \relative c" {
 \new Voice = "voixUn" {
 c1
Texte indépendant de la partition.
On peut mettre un bloc de texte avant ou après un environnement codice_21, par exemple pour mettre une introduction et des notes de fin.
Note.
Dans tous les exemples ci-dessous, on peut utiliser un environnement codice_3 et des variables.
Par exemple :
\version "2.18.23"
compositeur = "W. A. Mozart"
instru = "Piano"
\header {
 title = \titre
 composer = \compositeur
 tagline = ""
\score {
 \new Staff \with{instrumentName = \instru} \relative c" {
 c1

Mise en forme globale.
Le bloc codice_23 permet de définir des paramètres de mise en forme valables pour la partition pour certains contextes. 
\score {
 \layout{
 \set fontSize = #-1 % pour la partition
 \context {
 \Staff % ou \staffGroup, ou \Voice
 \override TextScript.padding = #1 % espacement par rapport aux objets voisins du texte
 \override TextScript.color = #magenta % couleur
Mise en forme d'une portée.
Les paramètres de mise en forme concernant une portée sont placés dans l'environnement codice_24 :
\new Staff \with{ fontSize = #-4 } \relative c" {
 c1-"Texte"
Cela concerne :
Mise en forme d'un texte donné.
Pour mettre en forme une chaîne de caractère, il faut utiliser le contexte codice_3.
https://lilypond.org/doc/v2.23/Documentation/notation/formatting-text.fr.html
"Génération d'un fichier de son" < ↑ > "Programmation"

Mathc matrices/a223
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
void fun(int r)
double **A = r_mR( i_mR(r,r),99.);
double **InvA = inv_mR(A,i_mR(r,r) );
 clrscrn();
 printf(" A : det_R(A) = %+.0f", det_R(A) );
 p_mR(A, S4, P0, C5);
 printf(" InvA : 1/det_R(InvA) = %+.0f",1./det_R(InvA));
 pE_mR(InvA, S12, P4, C5);
 f_mR(InvA);
 f_mR(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(rp_I(RC3)+C2);
} while(stop_w());
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 A : det_R(A) = +21427
 +31 -4 -31 
 -17 +2 -50 
 -35 +15 +93 
 InvA : 1/det_R(InvA) = +21427
 +4.3683e-02 -4.3403e-03 +1.2228e-02 
 +1.5546e-01 +8.3913e-02 +9.6934e-02 
 -8.6340e-03 -1.5168e-02 -2.8002e-04 
 Press return to continue
 Press X return to stop

Mathc complexes/a203
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* Save as : c00a.c */
void fun(int r)
double **A = r_mZ( i_mZ(r,r),9.);
double **InvA = inv_mZ(A,i_mZ(r,r) );
 clrscrn();
 printf(" A : det(A) = ");
 p_Z(det_Z(A), S4,P0, S5,P0);
 p_mZ(A, S3,P0, S3,P0, C3);
 printf(" InvA : 1/det_R(InvA) = ");
 p_Z(inv_Z(det_Z(InvA)), S4,P0, S5,P0);
 pE_mZ(InvA, S1,P4, S1,P4, C3);
 f_mZ(InvA);
 f_mZ(A);
/* ------------------------------------ */
int main(void)
time_t t;
 srand(time(&t));
do
 fun(RC3);
} while(stop_w());
 return 0;
/* ------------------------------------ */

Exemple de sortie écran :
 A : det(A) = +390-1206i 
 -7 -9i +6 +2i +8 +2i 
 +1 +5i -5 +1i +8 +9i 
 -5 +2i -7 -3i +4 +3i 
 InvA : 1/det_R(InvA) = +390-1206i 
-5.5595e-02+2.2954e-02i +3.1536e-02-6.6583e-02i -3.6571e-02+7.1528e-02i 
+2.7626e-02-4.7906e-02i +5.7732e-02+1.6986e-02i -1.3943e-01+2.2700e-02i 
+1.3624e-02-1.6844e-02i +4.7962e-02-6.1944e-02i +7.1483e-03+3.7489e-02i 
 Press return to continue
 Press X return to stop

Systèmes sensoriels/Oiseaux/Magnetoperception