Exo Type 9- 2014

Exercice type 9 - 2014

# -*- coding: utf-8 -*-
# Katia Barré  - Lycée Lesage Vannes

import numpy as np
#--- question 1 ----------------------------------------------------------------
print
('\n --- Question 1 --- ')

R = np.arange(1, 7).reshape(2, 3)
print
('R = \n', R)
S
= np.arange(1, 10).reshape(3, 3)
print
('S = \n', S)

#--- question 2 ----------------------------------------------------------------
print
('\n --- Question 2 --- ')

def test(M):
   
"""

    M : matrice
    Renvoie n si M est carrée d'ordre n

           
0 sinon
    """

    n
= len(M)
   
if n == len(M[0]):
       
return n
   
else:
       
return 0

print('test(R) = ', test(R))
print
('test(S) = ', test(S))

#--- question 3 ----------------------------------------------------------------
print
('\n --- Question 3 --- ')

fichier = open('data/ex_009.txt', 'r')
matrice
= []
for
ligne in fichier
    matrice.append(list(eval(ligne)))
fichier
.close()

M1 = np.array(matrice)
print
('M1 = \n', M1)
print
('test(M1) = ', test(M1))

#--- question 4 ----------------------------------------------------------------
print
('\n --- Question 4 --- ')

print('La matrice est symétrique réelle donc toutes ses valeurs propres sont réelles.')
valp_M1
, vecp_M1 = np.linalg.eig(M1)
print
('Valeurs propres de M1 : \n ', valp_M1)

#--- question 5 ----------------------------------------------------------------
print
('\n --- Question 5 --- ')

def dansIntervalle(L, a, b):
   
"""

    L : liste de nombres complexes
    a, b : float
    Renvoie True si tous les éléments de L sont dans [a, b]

           
False sinon
    """

   
for x in L:
       
if abs(x.imag) > 1e-16 or x.real > b or x.real < a:
           
return False
   
return True

print('dansIntervalle(valp_M1, 0, 1) = ', dansIntervalle(valp_M1, 0, 1))

 

--- Question 1 ---
R =
[[1 2 3]
[4 5 6]]

S =
[[1 2 3]
[4 5 6]
[7 8 9]]

 --- Question 2 ---

test(R) =  0
test(S) =  3

 --- Question 3 ---
M1 =
[[ 0.33333333  0.16666667  0.16666667  0.16666667  0.16666667]
[ 0.16666667  0.33333333  0.16666667  0.16666667  0.16666667]
[ 0.16666667  0.16666667  0.33333333  0.16666667  0.16666667]
[ 0.16666667  0.16666667  0.16666667  0.33333333  0.16666667]
[ 0.16666667  0.16666667  0.16666667  0.16666667  0.33333333]]
test(M1) =  5

--- Question 4 ---
La matrice est symétrique réelle donc toutes ses valeurs propres sont réelles.
Valeurs propres de M1 :
  [ 1.          0.16666666  0.16666667  0.16666667  0.16666667]

 --- Question 5 ---
dansIntervalle(valp_M1, 0, 1) =  True

Search