Matrice parenthésée annotée

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Matrice parenthésée annotée

Messagepar malibu » Dimanche 16 Mars 2008, 16:26

Voila je prépare un cours sur les matrice et je coince sur un point :

Comment faire une matrice parenthésée (très classique) d'une application linéaire u \in L(E,F), au dessus et a droite de laquelle je veux rajouter des annotations :

-en ligne f_1, f_2, \dots, f_n pour la base de mon e.v. F
-en colonne u(e_1),u(e_2), \dots, u(e_p)...

pour expliquer la construction de la matrice

Je n'arrive pas a rajouter ces annotations ...

Merci d'avance
malibu
Utilisateur
 
Messages: 3
Inscription: Dimanche 16 Mars 2008, 16:20
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Matrice parenthésée annotée

Messagepar MB » Dimanche 16 Mars 2008, 16:40

On peut surement mettre tout ça dans un tableau. Du genre :

Code: Tout sélectionner
\begin{tabular}{cc}
annotation n°1 & \\
(matrice) & annotation n°2 \\
\end{tabular}
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar malibu » Dimanche 16 Mars 2008, 20:31

J'avais pensé à ca..
Mais ce j'aimerai c'est que mes anotations soient par exemple alignées avec les colonnes de ma matrice mais au dessus
(par exemple u(e1) au dessus de la premiere colonne de la matrice, u(e2) au dessus de la deuxieme colonne de la matrice etc...)
malibu
Utilisateur
 
Messages: 3
Inscription: Dimanche 16 Mars 2008, 16:20
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar balf » Dimanche 16 Mars 2008, 21:00

L'extension bigdelim (livrée avec multirow) permet de parenthéser des blocs dans une matrice. Il suffit donc de créer une matrice nue avec une ligne et une colonne supplémentaires, et de mettre des parenthèses au bloc constitué par la matrice qu'on a en vue.

B.A.
balf
Zetta-utilisateur
 
Messages: 3850
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Matrice parenthésée annotée

Messagepar guiguiche » Dimanche 16 Mars 2008, 21:56

Je procède comme cela :

Code: Tout sélectionner
\begin{array}{cc}
\begin{array}{ccc}
u(\vec{b}_{1}) &  & u(\vec{b}_{p})\\
\downarrow &  & \downarrow\end{array}\\
\left(\begin{array}{ccc}
a_{1,1} & \dots & a_{1,p}\\
\vdots &  & \vdots\\
a_{n,1} & \dots & a_{n,p}\end{array}\right) & \begin{array}{c}
\leftarrow\textrm{coordonnée selon }\vec{b}'_{1}\\
\\
\leftarrow\textrm{coordonnée selon }\vec{b}'_{n}
\end{array}
\end{array}


$$\begin{array}{cc} \begin{array}{ccc} u(\vec{b}_{1}) &  & u(\vec{b}_{p})\\ \downarrow &  & \downarrow\end{array}\\ \left(\begin{array}{ccc} a_{1,1} & \dots & a_{1,p}\\ \vdots &  & \vdots\\ a_{n,1} & \dots & a_{n,p}\end{array}\right) & \begin{array}{c} \leftarrow\textrm{coordonnée selon }\vec{b}'_{1}\\ \\ \leftarrow\textrm{coordonnée selon }\vec{b}'_{n} \end{array} \end{array}$$

Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8071
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar MB » Dimanche 16 Mars 2008, 22:46

balf a écrit:L'extension bigdelim (livrée avec multirow) permet de parenthéser des blocs dans une matrice.


Le résultat n'est pas très beau je trouve.
Les parenthèses ne sont pas toujours très bien "alignées" (en tout cas pas identique à une pmatrix).
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar guiguiche » Dimanche 16 Mars 2008, 22:49

oui, je sais.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8071
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar MB » Dimanche 16 Mars 2008, 22:52

guiguiche a écrit:oui, je sais.


Bon, c'est vrai que c'est pas très bien aligné non plus dans ta solution mais bon ... je parlais de la solution de balf. :D
D'ailleurs c'est pas le même problème, pour bigdelim ce sont les parenthèses de la matrice qui ne sont pas très belles.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar guiguiche » Dimanche 16 Mars 2008, 23:20

MB a écrit:Bon, c'est vrai que c'est pas très bien aligné non plus dans ta solution mais bon ... je parlais de la solution de balf. :D

ah !
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8071
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar MB » Dimanche 16 Mars 2008, 23:24

guiguiche a écrit:
MB a écrit:Bon, c'est vrai que c'est pas très bien aligné non plus dans ta solution mais bon ... je parlais de la solution de balf. :D

ah !


Et oui !
Je vois que tu t'attendais trop à une critique. :mrgreen:
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar guiguiche » Dimanche 16 Mars 2008, 23:38

comme ma solution n'a rien de parfaite en terme de rendu ...
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8071
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar malibu » Lundi 17 Mars 2008, 07:51

Merci guiguiche...

C'est artisanal il faut jouer sur les espaces,
mais je trouve le rendu très correct et tout à fait conforme à ce que j'attendais...
malibu
Utilisateur
 
Messages: 3
Inscription: Dimanche 16 Mars 2008, 16:20
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar balf » Lundi 17 Mars 2008, 10:04

Une idée comme ça : utiliser pstricks (ça oblige à des contorsions pour avoir du pdf, mais on y arrive). Je précise : mettre les valeurs de la première colonne et de la première ligne sous forme de \rnode{nomquelconque}{a_{i,j}}, puis (juste après l'environnement matrix) attacher à chacun de ces "nodes" un label via \nput{angle de rotation}{nomquelconque}{u(\vect{b_i})}, par exemple. La distance entre le "node" et son "label" peut être réglé par le paramètre \labelsep, ce qui garantit un placement uniforme, et comme c'est postscript qui est derrière, ce devrait être très précis (sauf effets de bord non prévus). On peut même imaginer d'en faire une macro réutilisable. Détails dans la doc pst-user.pdf, dans la partie consacrée à l'extension pst-node.

B.A.
balf
Zetta-utilisateur
 
Messages: 3850
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Matrice parenthésée annotée

Messagepar pg » Lundi 17 Mars 2008, 10:08

Le package blkarray est fait pour ce genre de choses et donne un résultat parfaitement aligné :

blkarray_trbordermatrix.png
blkarray_trbordermatrix.png (4.94 Kio) Vu 6131 fois


Code: Tout sélectionner
\documentclass{article}

\usepackage{blkarray}

\begin{document}

\[
\begin{blockarray}{cccc}
  u(\overrightarrow{e}_1)
          & \dots & u(\overrightarrow{e}_n)  \\
  \begin{block}{(ccc)c}
  a_{11} & \dots  & a_{1n} & \overrightarrow{e}_{1}  \\
  \vdots & \ddots & \vdots &      \\
  a_{p1} & \dots  & a_{pn} & \overrightarrow{e}_{n}  \\
  \end{block}
\end{blockarray}
\]

\end{document}
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Matrice parenthésée annotée

Messagepar balf » Lundi 17 Mars 2008, 10:24

C'est en effet beaucoup mieux.

B.A.
balf
Zetta-utilisateur
 
Messages: 3850
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Matrice parenthésée annotée

Messagepar guiguiche » Lundi 17 Mars 2008, 10:26

Merci pg.
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
guiguiche
Modérateur
 
Messages: 8071
Inscription: Vendredi 06 Janvier 2006, 15:32
Localisation: Le Mans
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar MB » Lundi 17 Mars 2008, 10:37

Merci pg, en effet le résultat est meilleur avec ce module (de plus la syntaxe est plus agréable).
Par contre, on voit toujours une différence au niveau des parenthèses par rapport à une pmatrix. Les parenthèses produites par blkarray sont plus rondes et sont un peu décalées vers le haut. C'est dommage (surtout si le document contient les deux types de matrices).

blkarray.jpg
blkarray vs pmatrix
blkarray.jpg (9.19 Kio) Vu 8438 fois
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Matrice parenthésée annotée

Messagepar pg » Lundi 17 Mars 2008, 11:16

Effectivement, mais on ne peut y rien faire, c'est dû à comment blkarray place les parenthèses. Néanmoins, si on veut que les parenthèses soient de la même taille, il suffit de bidouiller un peu en ajoutant un vphantom pour rendre la matrice plus haute et donc utiliser la même parenthèse que pmatrix. Si on veut un résultat automatique, on peut utiliser \bordermatrix, mais les commentaires sont alors à gauche et non pas à droite (il doit être possible de modifier la commande \bordermatrix pour qu'elle mette les commentaires à droite; H. Voss en parle un peu dans son document mathmode (page 24); je regarderai ça plus tard).

Code: Tout sélectionner
\documentclass{article}
\usepackage{amsmath}
\usepackage{blkarray}
\begin{document}
\[ \begin{blockarray}{cccc}
        u(\overrightarrow{e}_1)
                & \dots & u(\overrightarrow{e}_n)  \\
        \begin{block}{(ccc)c}
        a_{11} & \dots  & a_{1n} & \overrightarrow{e}_{1}  \\
        \vphantom{\displaystyle\frac{d}{}}\vdots & \ddots & \vdots &      \\
        a_{p1} & \dots  & a_{pn} & \overrightarrow{e}_{n}  \\
        \end{block}
        \end{blockarray}
        \]

\[\begin{pmatrix}
a_{11} & \dots  & a_{1n} \\
\vdots & \ddots & \vdots \\
a_{p1} & \dots  & a_{pn}
\end{pmatrix}\]

\[\bordermatrix{ &  u(\overrightarrow{e}_1) &  & u(\overrightarrow{e}_n) \cr
\overrightarrow{e}_1 & a_{1,1} & \dots & a_{1,n} \cr
 & \vdots & \ddots & \vdots \cr
\overrightarrow{e}_n & a_{n,1} & \dots & a_{n,n} \cr}\]
\end{document}
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Matrice parenthésée annotée

Messagepar pg » Mardi 18 Mars 2008, 22:56

En fait, les commandes données dans le fichier mathmode ont un gros défaut : la position de la parenthèse de droite devient incorrecte dès que la dernière colonne est trop longue (plus de la largeur d'un chiffre). Du coup, il vaut vraiment mieux utiliser blkarray ; on peut faire en sorte que la taille des parenthèses soit équivalente à celle de la commande amsmath de manière automatique en disant à blkarray de réhausser de 2pt en haut et en bas ces parenthèses. Exemple (j'espère qu'il n'y a aucun effet de bord avec ces modifications):

Code: Tout sélectionner
\documentclass{article}
\usepackage{amsmath}
\usepackage{blkarray}

\makeatletter
\newlength\BA@height
\def\BA@leftdel#1#2#3{%
  \setlength\BA@height{\dimen\z@}%
  \addtolength\BA@height{2pt}%
  \llap{%
    {#1}$\left#2\vrule height \BA@height width\z@ \right.$\kern-#3}}

\def\BA@rightdel#1#2#3{%
  \setlength\BA@height{\dimen\z@}%
  \addtolength\BA@height{2pt}%
  \rlap{%
    \kern-#3$\left.\vrule height \BA@height width\z@ \right#1${#2}}}%
\makeatother

\begin{document}

\[\begin{blockarray}{cccc}
        u(\vec{e}_1)
                & \dots & u(\vec{e}_n)  \\
        \begin{block}{(ccc)c}
        a_{11} & \dots  & a_{1n} & \vec{e}_{1}  \\
        \vdots & \ddots & \vdots &      \\
        a_{p1} & \dots  & a_{pn} & \vec{e}_{n}  \\
        \end{block}
        \end{blockarray}
%
        \begin{pmatrix}
a_{11} & \dots  & a_{1n} \\
\vdots & \ddots & \vdots \\
a_{p1} & \dots  & a_{pn}
\end{pmatrix}\]

\end{document}


blkarray_vs_pmatrix.png
blkarray_vs_pmatrix.png (7.5 Kio) Vu 8390 fois


Malheureusement, ce n'est pas parfait, il y a encore des différences avec les matrices d'amsmath (notamment la largeur entre les colonnes).
pg
Modérateur
 
Messages: 2597
Inscription: Jeudi 14 Juin 2007, 23:31

Re: Matrice parenthésée annotée

Messagepar MB » Mardi 18 Mars 2008, 23:37

pg a écrit:Malheureusement, ce n'est pas parfait, il y a encore des différences avec les matrices d'amsmath (notamment la largeur entre les colonnes).


Même sans les $u(\vec{e_i})$ ?
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Suivante

Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], MSN [Bot], Yandex [Bot] et 6 invités