Skip to Content

TD 08 : Maple en algèbre linéaire


TD 8.1:

Corrigé TD 8.1

Ecrire une procédure pcd(L::list) retournant à partir d'une liste donnée L la liste obtenue par

permutation circulaire vers la droite des éléments de L .

Exemple:

> pcd([a,b,c,d,e,f,g]);

[g, a, b, c, d, e, f]

 


TD 8.2:

Corrigé TD 8.2

Ecrire une procédure circulante_droite(n::posint) retournant à partir de l'entier n> 0

une matrice carrée d'ordre n telle que

 

- sa première ligne est constituée par les entiers de 1 à n .

- pour k> 1 , sa k-ième ligne est déduite de la ligne précédente par permutation

circulaire vers la droite de ses éléments.

 

Exemple:

> circulante_droite(5);

matrix([[1, 2, 3, 4, 5], [5, 1, 2, 3, 4], [4, 5, 1,...

 


TD 8.3: Test d'égalité de 2 matrices:

Corrigé TD 8.3

Deux matrices M et N sont égales si et seulement si elles ont même nombre de lignes, même

nombre de colonnes, et les mêmes coefficients .

Sans avoir recours à la fonction préexistante equal de Maple, écrire une procédure

egal(M: : matrix , N: : matrix) retournant la valeur booléenne true si M=N et false sinon.

 


 

Corrigé du Travail dirigé 8:

TD 8.1:

Énoncé TD 8.1

> pcd:=proc(L::list)
        local M,k;
        if nops(L)>=1 then M:=L[nops(L)],seq(L[k],k=1..nops(L)-1)
             else M:=NULL
        end if;
        [M];
    end proc;

pcd := proc (L::list) local M, k; if 1 <= nops(L) t...
pcd := proc (L::list) local M, k; if 1 <= nops(L) t...
pcd := proc (L::list) local M, k; if 1 <= nops(L) t...
pcd := proc (L::list) local M, k; if 1 <= nops(L) t...

> pcd([a,b,c,d,e,f,g]);

[g, a, b, c, d, e, f]

 


TD 8.2:

Énoncé TD 8.2

> with(linalg);

[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp,...
[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp,...
[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp,...
[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp,...
[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp,...
[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp,...
[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp,...
[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp,...
[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp,...
[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp,...

> circulante_droite:=proc(n::posint)
        local L,M,k;
        L:=[seq(k,k=1..n)];M:=L;
        for k from 2 to n do
            L:=pcd(L);
            M:=M,L;
        end do;
        matrix([M]);
    end proc;

circulante_droite := proc (n::posint) local L, M, k...
circulante_droite := proc (n::posint) local L, M, k...
circulante_droite := proc (n::posint) local L, M, k...
circulante_droite := proc (n::posint) local L, M, k...

> circulante_droite(7);

matrix([[1, 2, 3, 4, 5, 6, 7], [7, 1, 2, 3, 4, 5, 6...

 


T.D 8.3:

Énoncé TD 8.3

 

> egal:=proc(M::matrix,N::matrix)
        local p,q;
        if rowdim(M)=rowdim(N) and coldim(M)=coldim(N) then
            for p to rowdim(M) do
                    for q to coldim(M) do
                        if M[p,q]<>N[p,q] then RETURN(false) end if
                    end do
            end do;
            RETURN(true)
        else
            RETURN(false)
        end if;
    end proc;

egal := proc (M::matrix, N::matrix) local p, q; if ...
egal := proc (M::matrix, N::matrix) local p, q; if ...


egal := proc (M::matrix, N::matrix) local p, q; if ...
egal := proc (M::matrix, N::matrix) local p, q; if ...
egal := proc (M::matrix, N::matrix) local p, q; if ...
egal := proc (M::matrix, N::matrix) local p, q; if ...
egal := proc (M::matrix, N::matrix) local p, q; if ...
egal := proc (M::matrix, N::matrix) local p, q; if ...
egal := proc (M::matrix, N::matrix) local p, q; if ...

> with(linalg):

> M:=matrix([[1,1,3],[1,0,-1],[2,0,1]]);

M := matrix([[1, 1, 3], [1, 0, -1], [2, 0, 1]])

> N:=matrix([[1,1,3],[1,0,-1],[2,0,1],[0,0,1]]);

N := matrix([[1, 1, 3], [1, 0, -1], [2, 0, 1], [0, ...

> P:=matrix([[sign(2),1,3],[1,0,-1],[sqrt(4),0,1]]);

P := matrix([[1, 1, 3], [1, 0, -1], [2, 0, 1]])

> egal(M,N);

false

> egal(M,P);

true

 

 

 

 

haut de cette page






MicroMaths - Abderrahim Bourguig - Tous droits réservés