43 Exemples Avec Sage - Mazhe
43 Exemples Avec Sage - Mazhe
43 Exemples Avec Sage - Mazhe
Ce chapitre est un foure-tout de choses que l’on peut faire avec Sage.
43.0.1 Graphiques
Pour afficher le graphe d’une fonction, vous pouvez faire
+--------------------------------------------------------------------+
| SageMath version 8.1, Release Date: 2017-12-07 |
| Type "notebook()" for the browser-based notebook interface. |
| Type "help()" for help. |
+--------------------------------------------------------------------+
sage: plot(cos(x),0,5)
Launched png viewer for Graphics object consisting of 1 graphics primitive
sage: f(x)=sin(x)
sage: f.plot(-pi,pi)
Launched png viewer for Graphics object consisting of 1 graphics primitive
Un programme externe se lance automatiquement pour afficher le graphique que vous avez de-
mandé.
Il se peut qu’aucun programme ne se lance et vous ayez, au lieu de Launched png viewer for
Graphics object ... uniquement Created graphics object .... Disons pour faire court que
Sage a produit un png et qu’il ne sait pas quel programme externe utiliser pour l’afficher.
La solution est à l’adresse http://doc.sagemath.org/html/en/reference/misc/sage/misc/
viewer.html
43.0.2 Autres
Dans le but d’automatiser certaines tâches, j’ai écrit ce module, nomé outilsINGE.sage, dans
le cadre d’un cours de première année donné à des ingénieurs. Certaines des fonctions définies ici
sont utilisée dans les exemples qui suivent.
1 # -* - c o d i n g : u t f 8 -* -
2 f r o m sage . a l l i m p o r t *
3
4 """
5 This module provides _pragmatic_ tools for solving exercise for
6 a first year in g e n e r a l m a t h e m a t i c s .
7 """
8
2023
2024 CHAPITRE 43. EXEMPLES AVEC SAGE
11 d e f automatedVar ( symbol , n ) :
12 " " " I f s y m b o l = " x " a n d n =4 , r e t u r n t h e s t r i n g ’ x1 , x2 , x3 , x 4 ’ –â
"""
13 s = " , " . join ([ symbol + s t r ( i ) f o r i i n r a n g e (1 , n +1) ])
14 return s
15
20 Example :
21
48 \ item
49 $
50 \ left \{
51 \ begin { array }{ ll }
52 """ )
53 f o r eq i n self . equations () :
54 a . append ( " " + s t r ( eq ) . replace ( " x " , " x _ " ) . replace ( " * "–â
, " " ) . replace ( " = = " , " = " ) + " \ \ \ \ \ n " )
55 a . append ( r " " "
56 \ end { array }
57 \ right .
58 $
59 """ )
2025
70 d e f QuadraticMap (A , v ) :
71 """
72 Return the result of the q u a d r a t i c form a s s o c i a t e d
73 with A a p p l i e d on the vector v , that is the number
74 A_ij v ^ iv ^ j
75 using the summation convention .
76 """
77 n = A . nrows ()
78 i f n o t A . is_symmetric () :
79 print " W a r n i n g : Given matrix is not s y m m e t r i c "
80 i f n o t A . is_square () :
81 r a i s e TypeError , " E r r o r : T h e m a t r i x A i s n o t s q u a r e "
82 i f n o t v . degree () == n :
83 r a i s e TypeError , " T h e s i z e d o n o t a g r e e "
84 r e t u r n s u m ([ A [i , j ]* v [ i ]* v [ j ] f o r i i n r a n g e ( n ) f o r j i n r a n g e (–â
n) ]) . simplify_full ()
85
86 c l a s s SymmetricMatrix ( o b j e c t ) :
87 """
88 P r o v i d e i n f o r m a t i o n s a b o u t t h e m a t r i x A a s s u m i n g i t i s s y m m e t r i c –â
.
89 """
90 d e f __init__ ( self , A ) :
91 i f n o t A . is_square () :
92 print " Error : A s y m m e t r i c matrix must be square "
93 r a i s e TypeError
94 self . matrix = A
95 self . degree = A . nrows ()
96 self . matrix . set_immutable ()
97 d e f p r i m a r y _ p r i n c i p a l _ s u b m a t r i x ( self , n ) :
98 """
99 R e t u r n t h e p r i m a r y p r i n c i p a l s u b m a t r i x o f o r d e r n , t h a t i s t h e –â
matrix obtained
100 b y r e m o v i n g t h e n l a s t l i n e s a n d c o l u m n s f r o m s e l f –â
.
101 """
102 taille = self . degree - n
103 v =[]
104 f o r i i n r a n g e (0 , taille ) :
105 v . append ( self . matrix [ i ][0: taille ])
106 r e t u r n matrix ( v )
107 d e f principal_minors ( self ) :
108 """
2026 CHAPITRE 43. EXEMPLES AVEC SAGE
109 R e t u r n t h e l i s t o f p r i n c i p a l m i n o r s . T h e p r i n c i p a l m i n o r o f –â
order k is
110 t h e d e t e r m i n a n t o f t h e p r i m a r y p r i n c i p a l m a t r i x o f –â
order k.
111 """
112 a =[]
113 f o r i i n r a n g e ( self . degree ) :
114 a . append ( self . p r i m a r y _ p r i n c i p a l _ s u b m a t r i x ( i ) . determinant () )
115 return a
116 d e f genre_list ( self ) :
117 """
118 R e t u r n t h e g e n i u s o f t h e m a t r i x a s a l i s t o f b o o l e a n s i n t h e –â
order
119 positive defined , negative defined ;
120 s e m i d e f i n i t e p o s i t i v e , s e m i d e f i n i t e n e g a t i v e , –â
indefinite .
121
122 """
123 defpos = True
124 defneg = True
125 semidefpos = True
126 semidefneg = True
127 indefinie = True
128 mineurs = self . principal_minors ()
129 f o r i i n r a n g e ( l e n ( mineurs ) ) :
130 m = mineurs [ i ]
131 i f m == 0:
132 defneg = False
133 defpos = False
134 i f m < 0:
135 defpos = False
136 semidefpos = False
137 i f i %2==0:
138 defneg = False
139 i f m > 0:
140 semidefneg = False
141 i f i %2==1:
142 defneg = False
143 i f 0 n o t i n mineurs :
144 semidefneg = False
145 semidefpos = False
146 i f ( defpos == True ) o r ( defneg == True ) o r ( semidefpos == True ) o r (–â
semidefneg == True ) : indefinie = False
147 r e t u r n [ defpos , defneg , semidefpos , semidefneg , indefinie ]
148 d e f __str__ ( self ) :
149 r e t u r n s t r ( self . matrix )
150
205 r e t u r n t h e v a l u e o f t h e q u a d r a t i c f o r m o n t h e v e c t o r –â
n e w _ v a r i a b l e s ()
206 """
207 r e t u r n self . evaluate ( self . new_variables () )
208
230 c l a s s Extrema ( o b j e c t ) :
231 """
232 F r o m a f u n c t i o n f , p r o v i d e s t h e i n f o r m a t i o n s f o r t h e s t u d y o f –â
the extrema :
233 partial derivative
234 critical points
235 H e s s i a n matrix at the c r i t i c a l points
236 Genius of the H e s s i a n and c o n c l u s i o n as local min / max
237
238 D e a r s t u d e n t : r e m e m b e r t h a t t h i s c l a s s d o e s n o t f u r n i s h a n y –â
informations
239 c o n c e r n i n g * global * e x t r e m a . The latter have to be found
240 among the c r i t i c a l points OR on the border of the domain .
241 """
242 d e f __init__ ( self , f ) :
243 var ( ’ x , y ’ )
244 self . fun = f
245 self . gx = self . fun . diff ( x ) . full_simplify ()
246 self . gy = self . fun . diff ( y ) . full_simplify ()
247 self . gxx = self . gx . diff ( x ) . simplify_full ()
248 self . gxy = self . gx . diff ( y ) . full_simplify ()
249 self . gyy = self . gy . diff ( y ) . full_simplify ()
250 self . cp = solve ( [ self . gx (x , y ) ==0 , self . gy (x , y ) ==0] ,[ x , y ] )
251 d e f critical_points ( self ) :
2029
252 """
253 Return the c r i t i c a l points as a list of tuples (x , y )
254 """
255 a = []
256 f o r pt i n self . cp :
257 try :
258 px = SR ( pt [0]. rhs () )
259 py = SR ( pt [1]. rhs () )
260 a . append (( px , py ) )
261 e x c e p t TypeError :
262 a . append ( " I ’ m n o t a b l e t o s o l v e t h e s e e q u a t i o n s . " )
263 return a
264 d e f hessienne ( self ,a , b ) :
265 r e t u r n matrix ( SR ,2 ,2 ,[ self . gxx (a , b ) , self . gxy (a , b ) , self . gxy (a ,–â
b ) , self . gyy (a , b ) ])
266 d e f __str__ ( self ) :
267 a = []
268 a . append ( " T h e f u n c t i o n : " )
269 a . append ( s t r ( self . fun ) )
270 a . append ( " D e r i v a t i v e x a n d y : " )
271 a . append ( s t r ( self . gx ) )
272 a . append ( s t r ( self . gy ) )
273 a . append ( " H e s s i a n m a t r i x : " )
274 a . append ( s t r ( self . hessienne (x , y ) ) )
275 a . append ( " C r i t i c a l p o i n t s : " )
276 f o r pt i n self . critical_points () :
277 a . append ( s t r ( pt ) )
278 f o r pt i n self . critical_points () :
279 try :
280 px = pt [0]
281 py = pt [1]
282 a . append ( " A t ( % s , % s ) , t h e H e s s i a n i s " %( s t r ( px ) , s t r ( py ) ) )
283 try :
284 Hess = SymmetricMatrix ( self . hessienne ( px , py ) )
285 f o r l i n Hess . matrix :
286 a . append ( " " + s t r ( l ) )
287 a . append ( " P r i m a r y p r i n c i p a l m i n o r s a r e % s " % s t r ( Hess .–â
principal_minors () ) )
288 l = Hess . genre_list ()
289 i f l [0]== True :
290 a . append ( " H e s s i a n p o s i t i v e d e f i n e d " )
291 a . append ( " l o c a l m i n i m u m " )
292 i f l [1]== True :
293 a . append ( " H e s s i a n n e g a t i v e d e f i n e d " )
294 a . append ( " l o c a l m a x i m u m " )
295 i f l [2]== True :
296 a . append ( " H e s s i a n p o s i t i v e s e m i d é f i n i t e " )
297 a . append ( " I d o n ’ t c o n c l u d e " )
298 i f l [3]== True :
299 a . append ( " H e s s i a n n e g a t i v e s e m i d e f i n i t e " )
300 a . append ( " I d o n ’ t c o n c l u d e " )
301 i f l [4]== True :
302 a . append ( " U n d e f i n i t e H e s s i a n " )
2030 CHAPITRE 43. EXEMPLES AVEC SAGE
tex/sage/outilsINGE.sage
Exemple 43.1
Calculer la limite
sinpxq cospxq
lim (43.1)
xÑ8 x
var(’x’)
f(x)=sin(x)*cos(x)/x
limit(f(x),x=oo)
La première ligne déclare que la lettre x désignera une variable. Pour la troisième ligne, notez que
l’infini est écrit par deux petits « o ». —
Exemple 43.2
Quelques limites et graphes avec Sage.
(1) limxÑ0 sinp–xq
sinp—xq .
Pour effectuer cet exercice avec Sage, il faut taper les lignes suivantes :
sage: var(’x,a,b’)
(x, a, b)
sage: f(x)=sin(a*x)/sin(b*x)
sage: limit( f(x),x=0 )
a/b
sage: f(x)=(sqrt(x**2+1))/(x-2)
sage: limit(f(x),x=oo)
1
sage: limit(f(x),x=-oo)
-1
Noter la commande pour la racine carré : sqrt. Étant donné que cette fonction diverge en
x “ 2, si nous voulons la tracer, il faut procéder en deux fois :
sage: plot(f,(-100,1.9))
Launched png viewer for Graphics object consisting of 1 graphics primitive
sage: plot(f,(2.1,100))
Launched png viewer for Graphics object consisting of 1 graphics primitive
La première ligne trace de ´100 à 1.9 et la seconde de 2.1 à 100. Ces graphiques vous
permettent déjà de voir les limites. Attention : ils ne sont pas des preuves ! Mais ils sont de
sérieux indices qui peuvent vous inspirer dans vos calculs.
2031
Exemple 43.3
1 # -* - c o d i n g : u t f 8 -* -
2
3 d e f LesCalculs ( f ) :
4 print " Pour la f o n c t i o n % s "% str (f)
5 p r i n t " d _ x " ,f . diff ( x ) . simplify_full ()
6 p r i n t " d _ y " ,f . diff ( y ) . simplify_full ()
7 p r i n t " d ^ 2 _ x " ,f . diff ( x ) . diff ( x ) . simplify_full ()
8 p r i n t " d _ x d _ y " ,f . diff ( x ) . diff ( y ) . simplify_full ()
9 p r i n t " d _ y d _ x " ,f . diff ( y ) . diff ( x ) . simplify_full ()
10 p r i n t " d ^ 2 _ y " ,f . diff ( y ) . diff ( y ) . simplify_full ()
11 print ""
12
13 d e f exercise_DV002 () :
14 var ( ’ x , y ’ )
15 fa (x , y ) =2* x **3+3* x **2* y -2* y **2
16 fb (x , y ) = ln ( x * y **2)
17 fc (x , y ) = tan ( x / y )
18 fd (x , y ) = x * y **2/( x + y )
19 LesCalculs ( fa )
20 LesCalculs ( fb )
21 LesCalculs ( fc )
22 LesCalculs ( fd )
tex/sage/exoDV002.sage
La sortie est :
Exemple 43.4
1 # -* - c o d i n g : u t f 8 -* -
2 """
2033
7 i m p o r t outilsINGE
8
9 d e f e xe rc i s e _ 1_ 1 _ b c d e fh i () :
10 # Exercice 1.1. b ( INGE1121 )
11 A = matrix ([ [1 , -2 ,3 , -2 ,0] ,[3 , -7 , -2 ,4 ,0] ,[4 ,3 ,5 ,2 ,0] ])
12 v = vector ((0 ,0 ,0 ,0 ,0) )
13 p r i n t outilsINGE . Solve Linear Syste m (A , v )
14 # Exercice 1.1. c ( INGE1121 )
15 A = matrix ([ [2 ,1 , -2 ,3] ,[3 ,2 , -1 ,3] ,[3 ,3 ,3 , -3] ])
16 v = vector ((0 ,4 ,9) )
17 p r i n t outilsINGE . Solve Linear Syste m (A , v )
18 # Exercice 1.1. d ( INGE1121 )
19 A = matrix ([ [1 ,2 , -3] ,[2 ,5 ,2] ,[3 , -1 , -4] ])
20 v = vector ((0 ,0 ,0) )
21 p r i n t outilsINGE . Solve Linear Syste m (A , v )
22 # Exercice 1.1. e ( INGE1121 )
23 A = matrix ([ [1 ,2 , -1] ,[2 ,5 ,2] ,[1 ,4 ,7] ,[1 ,3 ,3] ])
24 v = vector ((0 ,0 ,0 ,0) )
25 p r i n t outilsINGE . Solve Linear Syste m (A , v )
26 # Exercice 1.1. f ( INGE1121 )
27 A = matrix ([ [1 ,1 ,1 ,1] ,[1 ,1 ,1 , -1] ,[1 ,1 , -1 ,1] ,[1 , -1 ,1 ,1] ])
28 v = vector ((0 ,4 , -4 ,2) )
29 p r i n t outilsINGE . Solve Linear Syste m (A , v )
30 # Exercice 1.1. h ( INGE1121 )
31 A = matrix ([ [1 ,3 ,3] ,[1 ,3 ,4] ,[1 ,4 ,3] ])
32 v = vector ((1 ,0 ,3) )
33 p r i n t outilsINGE . Solve Linear Syste m (A , v )
34 # Exercice 1.1. i ( INGE1121 )
35 A = matrix ([ [1 , -3 ,2] ,[ -3 ,3 , -1] ,[2 , -1 ,0] ])
36 v = vector (( -6 ,17 ,3) )
37 p r i n t outilsINGE . Solve Linear Syste m (A , v )
tex/sage/exo11.sage
]
The given matrix corresponds to the system
x1 + 2*x2 - 3*x3 == 0
2*x1 + 5*x2 + 2*x3 == 0
3*x1 - x2 - 4*x3 == 0
And the solutions are
[
[x1 == 0, x2 == 0, x3 == 0]
]
The given matrix corresponds to the system
x1 + 2*x2 - x3 == 0
2*x1 + 5*x2 + 2*x3 == 0
x1 + 4*x2 + 7*x3 == 0
x1 + 3*x2 + 3*x3 == 0
And the solutions are
[
[x1 == 9*r21, x2 == -4*r21, x3 == r21]
]
The given matrix corresponds to the system
x1 + x2 + x3 + x4 == 0
x1 + x2 + x3 - x4 == 4
x1 + x2 - x3 + x4 == -4
x1 - x2 + x3 + x4 == 2
And the solutions are
[
[x1 == 1, x2 == -1, x3 == 2, x4 == -2]
]
The given matrix corresponds to the system
x1 + 3*x2 + 3*x3 == 1
x1 + 3*x2 + 4*x3 == 0
x1 + 4*x2 + 3*x3 == 3
And the solutions are
[
[x1 == -2, x2 == 2, x3 == -1]
]
The given matrix corresponds to the system
x1 - 3*x2 + 2*x3 == -6
-3*x1 + 3*x2 - x3 == 17
2*x1 - x2 == 3
And the solutions are
[
[x1 == 37, x2 == 71, x3 == 85]
]
Exemple 43.5
1 # -* - c o d i n g : u t f 8 -* -
2
3 i m p o r t outilsINGE
4
5 d e f exercise_1_3 () :
6 A = matrix ([[2 ,1 , -2] ,[3 ,2 ,2] ,[5 ,4 ,3]])
7 v = vector ((10 ,1 ,4) )
8 p r i n t outilsINGE . Solve Linear Syste m (A , v )
9 print " Matrice inverse :"
10 p r i n t A . inverse ()
tex/sage/exo13.sage
La sortie est ici :
The given matrix corresponds to the system
2*x1 + x2 - 2*x3 == 10
3*x1 + 2*x2 + 2*x3 == 1
5*x1 + 4*x2 + 3*x3 == 4
And the solutions are
[
[x1 == 1, x2 == 2, x3 == -3]
]
Matrice inverse :
[ 2/7 11/7 -6/7]
[ -1/7 -16/7 10/7]
[ -2/7 3/7 -1/7]
Exemple 43.6
La valeur propre est donc 3. Nous savons donc que p⁄ ´ 3q pourra être factorisé dans le polynôme
caractéristique.
Pour le reste de l’exercice c’est standard et c’est résolu de la façon suivante :
1 # -* - c o d i n g : u t f 8 -* -
2
3 i m p o r t outilsINGE
4
5 d e f exercise_6_5 () :
6 A = matrix ( QQ ,4 ,4 ,[2 ,1 , -1 ,1 ,1 ,0 ,1 ,1 , -1 ,1 ,2 ,1 ,1 ,1 ,1 ,0])
7 x = outilsINGE . QuadraticForm ( A )
8 print x
tex/sage/exo65.sage
qui retourne
Exemple 43.7
x3 4y 3
(3) f px, yq “ 3 ` 3 ´ x2 ´ 3x ´ 4y ´ 3
Les corrigés sont créés par le script Sage exo101.sage
import outilsINGE
def exercise_10_1_A():
var(’x,y’)
f(x,y)=2-sqrt(x**2+y**2)
print outilsINGE.Extrema(f)
def exercise_10_1_B():
var(’x,y’)
f(x,y)=x**3+3*x*y**2-15*x-12*y
print outilsINGE.Extrema(f)
def exercise_10_1_C():
var(’x,y’)
f(x,y)=x**3/3+4*y**3/3-x**2-3*x-4*y-3
print outilsINGE.Extrema(f)
Des réponses :
(1) The function :
(x, y) |--> -sqrt(x^2 + y^2) + 2
Derivative x and y :
(x, y) |--> -x/sqrt(x^2 + y^2)
(x, y) |--> -y/sqrt(x^2 + y^2)
Hessian matrix :
[-sqrt(x^2 + y^2)*y^2/(x^4 + 2*x^2*y^2 + y^4) x*y/(x^2 + y^2)^(3
[ x*y/(x^2 + y^2)^(3/2) -sqrt(x^2 + y^2)*x^2/(x^4 + 2*x^2*y^2 + y
Critical points :
(0, 0)
At (0,0), the Hessian is
power::eval(): division by zero
Ici nous voyons que Sage a du mal à calculer la matrice hessienne en p0, 0q. En effet, nous
tombons sur une division
a par zéro. Pour résoudre l’exercice, il faut se rendre compte que
la fonction px, yq ބ x2 ` y 2 est toujours positive et est nulle seulement au point p0, 0q.
Donc f est toujours plus petite ou égale à deux tandis que f p0, 0q “ 2. Le point est donc
un maximum global.
(2) The function :
(x, y) |--> x^3 + 3*x*y^2 - 15*x - 12*y
Derivative x and y :
(x, y) |--> 3*x^2 + 3*y^2 - 15
(x, y) |--> 6*x*y - 12
Hessian matrix :
[6*x 6*y]
[6*y 6*x]
Critical points :
(2, 1)
(1, 2)
(-1, -2)
(-2, -1)
At (2,1), the Hessian is
(12, 6)
2038 CHAPITRE 43. EXEMPLES AVEC SAGE
(6, 12)
Primary principal minors are [108, 12]
Hessian positive defined
local minimum
At (1,2), the Hessian is
(6, 12)
(12, 6)
Primary principal minors are [-108, 6]
Undefinite Hessian
«selle» point
At (-1,-2), the Hessian is
(-6, -12)
(-12, -6)
Primary principal minors are [-108, -6]
Undefinite Hessian
«selle» point
At (-2,-1), the Hessian is
(-12, -6)
(-6, -12)
Primary principal minors are [108, -12]
Hessian negative defined
local maximum
Exemple 43.8
Déterminer les valeurs extrêmes et les points de selle des fonctions suivantes.
Certains corrigés de cet exercice ont étés réalisés par Sage. Le script utilisé est exo103.sage
1 # -* - c o d i n g : u t f 8 -* -
2
3 i m p o r t outilsINGE
4
5 d e f exercise_10_3_A () :
6 var ( ’ x , y ’ )
7 f (x , y ) = x **2+4* x + y **2 -2* y
8 p r i n t outilsINGE . Extrema ( f )
9
10 d e f exercise_10_3_H () :
11 var ( ’ x , y ’ )
12 f (x , y ) = exp ( x **2+ x * y )
13 p r i n t outilsINGE . Extrema ( f )
14
15 d e f exercise_10_3_Q () :
16 var ( ’ x , y ’ )
17 f (x , y ) = exp ( x ) * sin ( y )
18 p r i n t outilsINGE . Extrema ( f )
tex/sage/exo103.sage
Des réponses :
(1) The function :
(x, y) |--> x^2 + y^2 + 4*x - 2*y
Derivative x and y :
(x, y) |--> 2*x + 4
(x, y) |--> 2*y - 2
Hessian matrix :
[2 0]
[0 2]
Critical points :
(-2, 1)
At (-2,1), the Hessian is
(2, 0)
(0, 2)
2040 CHAPITRE 43. EXEMPLES AVEC SAGE
Étant donné que l’exponentielle ne s’annule jamais, il faudrait avoir en même temps cospyq “
0 et sinpyq “ 0, ce qui est impossible. La fonction n’a donc aucun extrema local.
Exemple 43.9
Considérons la fonction
2 `y 2 q{4
f px, yq “ xy 2 e´px . (43.6)
(1) Montrer qu’il y a une infinité de points critiques.
(2) Déterminer leur nature.
2041
1 # -* - c o d i n g : u t f 8 -* -
2
3 i m p o r t outilsINGE
4
5 d e f exercise_10_4 () :
6 var ( ’ x , y ’ )
7 f (x , y ) = x * y **2* exp ( -( x **2+ y **2) /4)
8 p r i n t outilsINGE . Extrema ( f )
tex/sage/exo104.sage
La sortie est
The function :
(x, y) |--> x*y^2*e^(-1/4*x^2 - 1/4*y^2)
Derivative x and y :
(x, y) |--> -1/2*(x^2 - 2)*y^2*e^(-1/4*x^2 - 1/4*y^2)
(x, y) |--> -1/2*(x*y^3 - 4*x*y)*e^(-1/4*x^2 - 1/4*y^2)
Hessian matrix :
[ 1/4*(x^3 - 6*x)*y^2*e^(-1/4*x^2 - 1/4*y^2) 1/4*((x^2 - 2)*y^3 - 4*(x^2 - 2)*
[1/4*((x^2 - 2)*y^3 - 4*(x^2 - 2)*y)*e^(-1/4*x^2 - 1/4*y^2) 1/4*(x*y^4 - 10*x*y^2 + 8*
Critical points :
(r17, 0)
(-sqrt(2), -2)
(sqrt(2), -2)
(-sqrt(2), 2)
(sqrt(2), 2)
At (r17,0), the Hessian is
(0, 0)
(0, 2*r17*e^(-1/4*r17^2))
Primary principal minors are [0, 0]
Hessian positive semidéfinite
I don’t conclude
Hessian negative semidefinite
I don’t conclude
At (-sqrt(2),-2), the Hessian is
(4*sqrt(2)*e^(-3/2), 0)
(0, 4*sqrt(2)*e^(-3/2))
Primary principal minors are [32*e^(-3), 4*sqrt(2)*e^(-3/2)]
Hessian positive defined
local minimum
At (sqrt(2),-2), the Hessian is
(-4*sqrt(2)*e^(-3/2), 0)
(0, -4*sqrt(2)*e^(-3/2))
Primary principal minors are [32*e^(-3), -4*sqrt(2)*e^(-3/2)]
Hessian negative defined
local maximum
At (-sqrt(2),2), the Hessian is
(4*sqrt(2)*e^(-3/2), 0)
(0, 4*sqrt(2)*e^(-3/2))
Primary principal minors are [32*e^(-3), 4*sqrt(2)*e^(-3/2)]
Hessian positive defined
2042 CHAPITRE 43. EXEMPLES AVEC SAGE
local minimum
At (sqrt(2),2), the Hessian is
(-4*sqrt(2)*e^(-3/2), 0)
(0, -4*sqrt(2)*e^(-3/2))
Primary principal minors are [32*e^(-3), -4*sqrt(2)*e^(-3/2)]
Hessian negative defined
local maximum
Notez la présence de r1 comme paramètres dans les solutions. Tous les points avec y “ 0 sont
des points critiques. Cependant, Sage 1 ne parvient pas à conclure la nature de ces points px, 0q.
Notons que le nombre f px, yq a toujours le signe de x parce que y 2 et l’exponentielle sont
positives. Toujours ? En tout cas lorsque x ‰ 0. Prenons un point pa, 0q avec a ° 0. Dans un
voisinage de ce point, nous avons f px, yq ° 0 parce que si a ° 0, alors x ° 0 dans un voisinage de
a. Le point pa, 0q est un minimum local parce que 0 “ f pa, 0q § f px, yq pour tout px, yq dans un
voisinage de pa, 0q.
De la même façon, les points pa, 0q avec a † 0 sont des maxima locaux parce que dans un
voisinage, la fonction est négative.
Le point p0, 0q n’est ni maximum ni minimum local. C’est un point de selle.
Exemple 43.10
4 f r o m sage . a l l i m p o r t *
5
6 var ( ’ x ’ )
7 f = sin ( ln ( x ) )
8 p r i n t f . diff ( x )
9 f = sin ( x ) / x
10 p r i n t f . diff ( x )
11 f = exp ( x **2)
12 p r i n t f . diff ( x )
13 f = cos ( x ) **( sin ( x ) )
14 p r i n t f . diff ( x )
tex/sage/corrDerive_0002.sage
Le résultat est :
cos(log(x))/x
cos(x)/x - sin(x)/x^2
1. ou, plus précisément, le programme que j’ai écrit avec Sage.
2043
2*x*e^(x^2)
(log(cos(x))*cos(x) - sin(x)^2/cos(x))*cos(x)^sin(x)
Exemple 43.11
----------------------------------------------------------------------
| Sage Version 4.5.3, Release Date: 2010-09-04 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: numerical_approx(ln(1.0001))
0.0000999950003332973