Bonjour,
la version de MAXIMA est 5.17.1
j'ai construit la matrice en plusieurs étapes, c'est à dire plusieurs
scripts
voici celui qui à partir de la matrice tridiagonale construit la matrice
à inverser :
Ka5:matrix([X,-X,0,0,0,0]);
Ka5:addrow(Ka5,[-X,2*X,-X,0,0,0]);
Ka5:addrow(Ka5,[0,-X,2*X,-X,0,0]);
Ka5:addrow(Ka5,[0,0,-X,2*X,-X,0]);
Ka5:addrow(Ka5,[0,0,0,-X,2*X,-X]);
Ka5:addrow(Ka5,[0,0,0,0,-X,X]);
Ma5:matrix([2*Y,Y,0,0,0,0]);
Ma5:addrow(Ma5,[Y,4*Y,Y,0,0,0]);
Ma5:addrow(Ma5,[0,Y,4*Y,Y,0,0]);
Ma5:addrow(Ma5,[0,0,Y,4*Y,Y, 0]);
Ma5:addrow(Ma5,[0,0,0,Y,4*Y,Y]);
Ma5:addrow(Ma5,[0,0,0,0,Y,2*Y]);
Ia5:invert(Ma5);
Aa5:Ia5 . Ka5;
où Ka5 est la matrice de raideur et Ma5 une matrice de masse.
A part ça, oui, je sais que je peux écrire la marice en une seule fois.
voici le script complet
Ka5:matrix([X,-X,0,0,0,0],[-X,2*X,-X,0,0,0],[0,-X,2*X,-X,0,0],[0,0,-X,2*X,-X,0],
[0,0,0,-X,2*X,-X],[0,0,0,0,-X,X]);
Ma5:matrix([2*Y,Y,0,0,0,0],[Y,4*Y,Y,0,0,0],[0,Y,4*Y,Y,0,0],[0,0,Y,4*Y,Y, 0],
[0,0,0,Y,4*Y,Y],[0,0,0,0,Y,2*Y]);
Ia5:invert(Ma5);
Aa5:Ia5 . Ka5;
charpoly(Aa5,l);
factor(%);
expand(%);
et la réponse de MAXIMA :
(%i1) batch("test.mac");
batching #p/home/denis/MAXIMA/test.mac
(%i2) Ka5 : matrix([X, - X, 0, 0, 0, 0], [- X, 2 X, - X, 0, 0, 0],
[0, - X, 2 X, - X, 0, 0], [0, 0, - X, 2 X, - X, 0], [0, 0, 0, - X, 2 X,
- X],
[0, 0, 0, 0, - X, X])
[ X - X 0 0 0 0 ]
[ ]
[ - X 2 X - X 0 0 0 ]
[ ]
[ 0 - X 2 X - X 0 0 ]
(%o2) [ ]
[ 0 0 - X 2 X - X 0 ]
[ ]
[ 0 0 0 - X 2 X - X ]
[ ]
[ 0 0 0 0 - X X ]
(%i3) Ma5 : matrix([2 Y, Y, 0, 0, 0, 0], [Y, 4 Y, Y, 0, 0, 0],
[0, Y, 4 Y, Y, 0, 0], [0, 0, Y, 4 Y, Y, 0], [0, 0, 0, Y, 4 Y, Y],
[0, 0, 0, 0, Y, 2 Y])
[ 2 Y Y 0 0 0 0 ]
[ ]
[ Y 4 Y Y 0 0 0 ]
[ ]
[ 0 Y 4 Y Y 0 0 ]
(%o3) [ ]
[ 0 0 Y 4 Y Y 0 ]
[ ]
[ 0 0 0 Y 4 Y Y ]
[ ]
[ 0 0 0 0 Y 2 Y ]
(%i4) Ia5 : invert(Ma5)
[ 362 97 26 7 2 1 ]
[ ----- - ----- ----- - ----- ----- - ----- ]
[ 627 Y 627 Y 627 Y 627 Y 627 Y 627 Y ]
[ ]
[ 97 194 52 14 4 2 ]
[ - ----- ----- - ----- ----- - ----- ----- ]
[ 627 Y 627 Y 627 Y 627 Y 627 Y 627 Y ]
[ ]
[ 26 52 182 49 14 7 ]
[ ----- - ----- ----- - ----- ----- - ----- ]
[ 627 Y 627 Y 627 Y 627 Y 627 Y 627 Y ]
(%o4) [ ]
[ 7 14 49 182 52 26 ]
[ - ----- ----- - ----- ----- - ----- ----- ]
[ 627 Y 627 Y 627 Y 627 Y 627 Y 627 Y ]
[ ]
[ 2 4 14 52 194 97 ]
[ ----- - ----- ----- - ----- ----- - ----- ]
[ 627 Y 627 Y 627 Y 627 Y 627 Y 627 Y ]
[ ]
[ 1 2 7 26 97 362 ]
[ - ----- ----- - ----- ----- - ----- ----- ]
[ 627 Y 627 Y 627 Y 627 Y 627 Y 627 Y ]
(%i5) Aa5 : Ia5 . Ka5
[ 153 X 194 X 52 X 14 X 4 X X ]
[ ----- - ----- ----- - ----- ----- - ----- ]
[ 209 Y 209 Y 209 Y 209 Y 209 Y 209 Y ]
[ ]
[ 97 X 179 X 104 X 28 X 8 X 2 X ]
[ - ----- ----- - ----- ----- - ----- ----- ]
[ 209 Y 209 Y 209 Y 209 Y 209 Y 209 Y ]
[ ]
[ 26 X 104 X 155 X 98 X 28 X 7 X ]
[ ----- - ----- ----- - ----- ----- - ----- ]
[ 209 Y 209 Y 209 Y 209 Y 209 Y 209 Y ]
(%o5) [ ]
[ 7 X 28 X 98 X 155 X 104 X 26 X ]
[ - ----- ----- - ----- ----- - ----- ----- ]
[ 209 Y 209 Y 209 Y 209 Y 209 Y 209 Y ]
[ ]
[ 2 X 8 X 28 X 104 X 179 X 97 X ]
[ ----- - ----- ----- - ----- ----- - ----- ]
[ 209 Y 209 Y 209 Y 209 Y 209 Y 209 Y ]
[ ]
[ X 4 X 14 X 52 X 194 X 153 X ]
[ - ----- ----- - ----- ----- - ----- ----- ]
[ 209 Y 209 Y 209 Y 209 Y 209 Y 209 Y ]
(%i6) charpoly(Aa5, l)
153 X 179 X 155 X
(%o6) (----- - l) ((----- - l) ((----- - l)
209 Y 209 Y 209 Y
2
155 X 153 X 179 X 18818 X
((----- - l) ((----- - l) (----- - l) - --------)
209 Y 209 Y 209 Y 2
43681 Y
179 X 153 X
2 52 X (----- - l) 2 104 X (----- - l)
20176 X 209 Y 5044 X 209 Y
26 X (-------- - ----------------) 104 X (-------- - -----------------)
2 209 Y 2 209 Y
43681 Y 43681 Y
+ ---------------------------------- +
------------------------------------)
209 Y 209 Y
179 X
14 X (----- - l) 2
155 X 209 Y 5432 X
+ (7 X (- (----- - l) (---------------- - --------)
209 Y 209 Y 2
43681 Y
179 X
2 52 X (----- - l)
20176 X 209 Y
98 X (-------- - ----------------)
2 209 Y
43681 Y
- ----------------------------------))/(209 Y)
209 Y
153 X
28 X (----- - l) 2
155 X 209 Y 1358 X
+ (28 X (- (----- - l) (---------------- - --------)
209 Y 209 Y 2
43681 Y
153 X
2 104 X (----- - l)
5044 X 209 Y
98 X (-------- - -----------------)
2 209 Y
43681 Y
- -----------------------------------))/(209 Y)
209 Y
2
153 X 179 X 18818 X
98 X ((----- - l) (----- - l) - --------)
209 Y 209 Y 2
43681 Y
+ (98 X (- -----------------------------------------
209 Y
179 X 153 X
14 X (----- - l) 2 28 X (----- - l) 2
209 Y 5432 X 209 Y 1358 X
26 X (---------------- - --------) 104 X (---------------- - --------)
209 Y 2 209 Y 2
43681 Y 43681 Y
+ ---------------------------------- +
-----------------------------------))
209 Y 209 Y
179 X
2 52 X (----- - l)
20176 X 209 Y
28 X (-------- - ----------------)
2 209 Y
155 X 43681 Y
/(209 Y)) + (2 X (- (----- - l) (----------------------------------
209 Y 209 Y
179 X
2 4 X (----- - l)
155 X 1552 X 209 Y
- (----- - l) (-------- - ---------------))
209 Y 2 209 Y
43681 Y
179 X
14 X (----- - l) 2
155 X 209 Y 5432 X
- (104 X (- (----- - l) (---------------- - --------)
209 Y 209 Y 2
43681 Y
179 X
2 52 X (----- - l)
20176 X 209 Y
98 X (-------- - ----------------)
2 209 Y
43681 Y
- ----------------------------------))/(209 Y)
209 Y
179 X
14 X (----- - l) 2
209 Y 5432 X
28 X (---------------- - --------)
209 Y 2
43681 Y
- (98 X (----------------------------------
209 Y
Universal error handler called recursively (:ERROR NIL MAXIMA::DIMNARY
"" "Couldn't protect")
Universal error handler called recursively (:ERROR NIL MAXIMA::DIMNARY
"" "Couldn't protect")
Maxima encountered a Lisp error:
Error in MAXIMA::DIMNARY [or a callee]: Caught fatal error [memory may
be damaged]
Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.
(%i7) factor(%)
Erreur de segmentation
merci pour votre attention
Stavros Macrakis a écrit :
> Je n'arrive pas a reproduire votre probleme. Pourriez-vous nous
> envoyer une copie complete de votre interaction avec Maxima, y compris
> la version?
>
> Par ailleurs, savez-vous que vous pouvez ecrire la matrice en une
> commande, a savoir:
>
> Ca5:matrix([153*Z/209,-194*Z/209,52*Z/209,-14*Z/209,4*Z/209,-X/209],
>
> [-97*Z/209,179*Z/209,-104*Z/209,28*Z/209,-8*Z/209,2*X/209],
> ... )
>
> Merci,
>
> -s
>
> 2009/12/15 denis.thenail <[email protected]
> <mailto:[email protected]>>
>
> Bonjour,
>
> je cherche le polynôme caractéristique d'une matrice (6,6). Cette
> matrice est pleine mais résulte d'un problème aux valeurs propres
> généralisé tridiagonal du type (K-omega^2M)(Phi)= (0)
> M définie postive, K semi-définie positive
> ramené sous la forme standard
> (M^{-1}K-omega^2I)(Phi)=(0)
> J'exécute avec Maxima :
> Ca5:matrix([153*Z/209,-194*Z/209,52*Z/209,-14*Z/209,4*Z/209,-X/209]);
>
> Ca5:addrow(Ca5,[-97*Z/209,179*Z/209,-104*Z/209,28*Z/209,-8*Z/209,2*X/209]);
>
> Ca5:addrow(Ca5,[26*Z/209,-104*Z/209,155*Z/209,-98*Z/209,28*Z/209,-7*Z/209]);
>
> Ca5:addrow(Ca5,[-7*Z/209,28*Z/209,-98*Z/209,155*Z/209,-104*Z/209,26*Z/209]);
>
> Ca5:addrow(Ca5,[2*Z/209,-8*Z/209,28*Z/209,-104*Z/209,179*Z/209,-97*Z/209]);
> Ca5:addrow(Ca5,[-Z/209,4*Z/209,-14*Z/209,52*Z/209,-194*Z/209,153*Z/209]);
> charpoly(Ca5,l);
> factor(%);
> expand(%);
>
> la commande charpoly entraîne :
> Universal error handler called recursively (:ERROR NIL MAXIMA::DIMNARY
> "" "Couldn't protect")
> Universal error handler called recursively (:ERROR NIL MAXIMA::DIMNARY
> "" "Couldn't protect")
> Maxima encountered a Lisp error:
>
> Error in MAXIMA::DIMNARY [or a callee]: Caught fatal error
> [memory may
> be damaged]
>
> Automatically continuing.
> To reenable the Lisp debugger set *debugger-hook* to nil.
>
> Merci de m'aider à améliorer ma pratique de MAXIMA,
>
> cordialement
>
> Dude007
>
>
>
>
> ------------------------------------------------------------------------------
> This SF.Net email is sponsored by the Verizon Developer Community
> Take advantage of Verizon's best-in-class app development support
> A streamlined, 14 day to market process makes app distribution
> fast and easy
> Join now and get one step closer to millions of Verizon customers
> http://p.sf.net/sfu/verizon-dev2dev
> _______________________________________________
> Maxima-lang-fr mailing list
> [email protected]
> <mailto:[email protected]>
> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr
>
>
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Maxima-lang-fr mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr