Articles

How to determine eigenvalues and eignevectors of a matrix in Excel

Image
We would like to compute the eigenvalues and eigenvectors of the following matrix in Excel. BTW Excel does  not have any native function that can do that.

\$\begin{bmatrix} 2 & -1 & 0\\-1 & 2 & -1\\0 & -1 & 2\end{bmatrix}\$

The characteristic polynomial of this matrix is : \$det( A - \lambda I)\$ qui donne \$(2 - \lambda)(2 - \sqrt{2} - \lambda)(2 + \sqrt{2} - \lambda)\$ .

The analytical eigenvalues solutions are: \$\lambda_1=2 - \sqrt{2}=0.58578644\$, \$\lambda_2=2 \$ and \$\lambda_3=2 + \sqrt{2}=3.41421356\$

The eigenvectors are  :

\$\begin{Bmatrix} 1 \\ \sqrt{2}\\1\end{Bmatrix}\$, \$\begin{Bmatrix} 1 \\0\\-1\end{Bmatrix}\$ and  \$\begin{Bmatrix} 1 \\-\sqrt{2}\\1\end{Bmatrix}\$

Procedure
1st method
We start by creating two columns, one for  l (from  0 to 4) and the other for  \$ det( A - \lambda I)\$
Then we plot  \$det( A - \lambda I) = f(\lambda)\$
We can clearly see the three zeros of the plotted function.  Eventually we can decrease the step around each solu…

Calcul des valeurs propres et vecteurs propres sur Excel

Image
On voudrait calculer les valeurs propres et les vecteurs propres de la matrice suivante sur Excel qui ne comporte aucune fonction native pour faire ce calcul.

\$\begin{bmatrix} 2 & -1 & 0\\-1 & 2 & -1\\0 & -1 & 2\end{bmatrix}\$

Son polynôme caractéristique est est \$det( A - \lambda I)\$ qui donne \$(2 - \lambda)(2 - \sqrt{2} - \lambda)(2 + \sqrt{2} - \lambda)\$ .

Théoriquement les valeurs propres sont \$\lambda_1=2 - \sqrt{2}=0.58578644\$, \$\lambda_2=2 \$ et \$\lambda_3=2 + \sqrt{2}=3.41421356\$

Et les vecteurs propres sont :

\$\begin{Bmatrix} 1 \\ \sqrt{2}\\1\end{Bmatrix}\$, \$\begin{Bmatrix} 1 \\0\\-1\end{Bmatrix}\$ et \$\begin{Bmatrix} 1 \\-\sqrt{2}\\1\end{Bmatrix}\$

Procédure
1ère méthode
On peut créer deux colonnes, une pour l (de 0 à 4) et l’autre pour \$ det( A - \lambda I)\$
Puis on trace \$det( A - \lambda I) = f(\lambda)\$
On peut voir ou se trouvent les trois zéros de la fonction tracée. Pour plus de précision on peut diminuer le pas autour de chaqu…

Erreur « Installation directory must be on a local hard drive. »

Image
Problème : Quand on essaye d’installer un msi sur une machine windows, on obtient le message d’erreur comme quoi le répertoire d’installation doit être local.




Solution : Lancer une fenêtre DOS en mode administrateur (cliquer avec le bouton droit sur l’icône Invite de commandes et choisir Exécuter en tant qu’administrateur)



Taper le nom du fichier msi qui a donné le problème (se placer d'abord sur le répertoire ou se trouve le fichier msi)



L’installation se alors passe sans problème


Impossible de se connecter à une machine distante

Image
Problème : En se connectant à un partage sur une machine distante, l’authentification échoue et pourtant le nom d’utilisateur et le mot de passe sur la machine distante sont corrects.
Résolution : Pour afficher les dossiers partagés sur une machine distante, on tape net view \\machine


On obtient Erreur 5 (Accès refusé) car les deux machines sont dans des groupes de travail. Il faut d’abord s’authentifier. Pour cela taper : net use \\machine\IPC$. Il faudrait alors fournir le nom d’utilisateur et le mot de passe.

Malheureusement, l’ouverture de session échoue et on obtient une erreur système 1326. Dans notre cas le nom d’utilisateur et le mot de passe sont corrects.
Une recherche sur Internet sur les causes possibles de cette erreur a permis de trouver la raison. C’était la date sur la machine à partir de laquelle j’ai lancé es commandes. Nous sommes le 22/3/2019 et la date indique 10/3/2019 (l’heure était correcte).

Après avoir corrigé le problème tout est entré dans l’ordre.

Erreure 0x54B sur Kaspersky

Image
Problème :
En voulant supprimer une tâche dans la console d’administration de Kaspersky on obtient l’erreur suivante :
System error 0x54B (Le domaine spécifié n’existe pas ou n’a pas pu être contacté).

Solution :
Dans mon cas le compte utilisateur spécifié pour installer un package n’existe plus


Il suffit d’ajouter un compte utilisateur valide



Puis supprimer l’ancien compte

Après avoir sauvegardé la tâche, sa suppression devient possible


Configurer les paramètres IPv4 d’une machine Windows manuellement en ligne de commande

Image
Problème : Lorsque l’installation d’une machine Windows est minimale, le seul moyen de configurer les différents paramètres du système est à travers la ligne de commande. Dans ce tutoriel, nous allons voir comment configurer les paramètres IPv4 à travers la ligne de commande.
Procédure :
Ouvrir une fenêtre DOS en mode administrateur Nous avons besoin de connaître le nom de la carte à configurer. Taper la commande suivante : netsh interface ipv4 show global



On note que le nom de l’interface est "Connexion au réseau local"
Pour changer l’adresse IP, la syntaxe est : netsh interface ipv4 set address name="Nom_Interface" static AdresseIpMasqueSousReseauPasserelle Avec: Nom_Interface: le nom de l’interface à configure AdresseIp: L’adresse IP à attribuer MasqueSousReseau : Le masque de sous-réseau Passerelle : La passerelle
Par exemple, la commande
netsh interface ipv4 set address name="Connexion au réseau local" static 172.16.3.10 255.255.255.0 172.16.3.254


attribu…

Envoi d’un fichier par mail à un temps spécifique en Python

Image
Objectif :
Ecrire un script en Python pour envoyer un message contenant un fichier joint à une adresse mail
Procédure :
Pour réaliser ce script nous aurons besoin de la librairie email. En particulier, nous avons besoin des classes MIMEBase et MIMEMultipart, et du module encoders. Nous allons aussi utiliser smtplib pour envoyer les mails à travers les serveurs de Google. Pour cela plusieurs solutions sont possibles (voir https://support.google.com/a/answer/176600?hl=en)

On pourra envoyer jusqu’à 2000 messages par jour si on utilise le serveur smtp.gmail.com. Pour cela il suffit d’utiliser une adresse Gmail (ou adresse G Suite) pour s’authentifier.
On commence par importer ces éléments import smtplib from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders
Nous allons envoyer le mail via les serveurs de google. Pour cela nous avons besoin de spécifier un compte et un mot de passe valides.
monMail="utilisateur@gmail.com" #…