Files
ANum/QUESTION13.ipynb
2024-12-10 14:49:54 +01:00

200 lines
24 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 9,
"id": "349bd8d2-2bc8-45e3-9f8a-7d60f7dedd39",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "885fccca-d36b-4d94-ba40-03eb06df2c57",
"metadata": {},
"outputs": [],
"source": [
"def getA(n):\n",
" A = np.zeros((n, n))\n",
" for i in range(n):\n",
" if i-1>=0:\n",
" A[i,i-1] = 1\n",
" A[i,i] = 2\n",
" if i+1<n:\n",
" A[i, i+1] = 1\n",
" return A"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "69c3443f-b60c-4ebd-a640-c187eedc0e69",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def decompoQR(A):\n",
" return np.linalg.qr(A) # tkt"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "0a1a13da-c084-4a5d-945f-b9edd39b5a24",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"def algoQR(A, maxiter=10**3):\n",
" B = A\n",
" Q = np.identity(A.shape[0])\n",
" print('init', 'B=',B,'Q=', Q)\n",
" for k in range(maxiter):\n",
" Qk, Rk = decompoQR(B)\n",
" B = Rk@Qk\n",
" Q = Q@Qk\n",
" \n",
" return B"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "0662681f-fac3-4db2-b296-a6720eb41ad2",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[2. 1. 0. 0.]\n",
" [1. 2. 1. 0.]\n",
" [0. 1. 2. 1.]\n",
" [0. 0. 1. 2.]]\n",
"Valeur propres [3.61803399 2.61803399 0.38196601 1.38196601]\n",
"init B= [[2. 1. 0. 0.]\n",
" [1. 2. 1. 0.]\n",
" [0. 1. 2. 1.]\n",
" [0. 0. 1. 2.]] Q= [[1. 0. 0. 0.]\n",
" [0. 1. 0. 0.]\n",
" [0. 0. 1. 0.]\n",
" [0. 0. 0. 1.]]\n",
"[3.61803399 2.61803399 1.38196601 0.38196601]\n"
]
}
],
"source": [
"A = getA(4)\n",
"print(A)\n",
"print('Valeur propres', np.linalg.eigvals(A))\n",
"Q = algoQR(A)\n",
"print(np.diag(Q))\n",
"\n",
"#Q,R =decompoQR(A)\n",
"#print(np.linalg.norm(Q@R-A))"
]
},
{
"cell_type": "code",
"execution_count": 67,
"id": "bfde5aa5-407f-400f-9347-3e1a7a9a47e4",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"init B= [[2. 1. 0. ... 0. 0. 0.]\n",
" [1. 2. 1. ... 0. 0. 0.]\n",
" [0. 1. 2. ... 0. 0. 0.]\n",
" ...\n",
" [0. 0. 0. ... 2. 1. 0.]\n",
" [0. 0. 0. ... 1. 2. 1.]\n",
" [0. 0. 0. ... 0. 1. 2.]] Q= [[1. 0. 0. ... 0. 0. 0.]\n",
" [0. 1. 0. ... 0. 0. 0.]\n",
" [0. 0. 1. ... 0. 0. 0.]\n",
" ...\n",
" [0. 0. 0. ... 1. 0. 0.]\n",
" [0. 0. 0. ... 0. 1. 0.]\n",
" [0. 0. 0. ... 0. 0. 1.]]\n"
]
},
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Les 100 valeurs propres')"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGxCAYAAACwbLZkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA5MUlEQVR4nO3de3TU1b3//9dAkkm4ZCBALpAAoVVEYpQmKqFyTYVDlKNFrbWVi6inQRAh0groUttqQ1vpAY9cikUspYLVoKJSSxAIWEIFDIIKVL8iiTERUUkAS0KS/fuDX0YmmSQzk0nm9nysNYs1e/ZnPns2M595Z+/33mMxxhgBAAD4SAdfNwAAAIQ2ghEAAOBTBCMAAMCnCEYAAIBPEYwAAACfIhgBAAA+RTACAAB8imAEAAD4FMEIAADwKYIRhKxnn31WFotFe/fu9Wk7Fi9erIkTJyo5OVkWi0WjRo1qsu7x48c1depU9ezZU506dVJGRobefPNNp3W3bNmijIwMderUST179tTUqVN1/PjxNnoVzevfv7+mTp3qk3MD8H8EI4CPrVixQseOHdOYMWPUq1evJutVVVUpMzNTb775ppYsWaJXXnlFcXFx+q//+i8VFBQ41C0oKND48eMVFxenV155RUuWLNGWLVuUmZmpqqqqtn5JAOCWMF83AAh1H3zwgTp0OP93QUpKSpP1Vq1apffee0+7du1SRkaGJGn06NG6/PLL9Ytf/EL/+te/7HV//vOf6+KLL9aLL76osLDzH/Pk5GR9//vf1zPPPKPp06e34SvyH9988406derkk3MbY3T27FlFRUW1y/l8+VqB1mJkBGjBhx9+qJ/85CeKjY2V1WrVoEGDtHTpUoc6dXV1euyxxzRw4EBFRUWpW7duSk1N1ZIlS1p8/vpApCUvvfSSBg4caA9EJCksLEy333673n77bZWWlkqSSktLtWfPHk2aNMkeiEjSsGHDdPHFF+ull15q8hznzp1TbGysJk2a1OixkydPKioqSjk5OZKks2fP6v7779cVV1whm82mmJgYZWRk6JVXXnHp9VRWVmru3LlKTk5WRESE+vTpo9mzZ+vMmTP2Op988oksFoueffbZRsdbLBY9+uij9vuPPvqoLBaL3nnnHd18883q3r27vvOd70iSPv74Y/34xz9W7969ZbVaFRcXp8zMTO3fv7/ZNk6dOlVdunTR+++/r8zMTHXu3Fm9evXSzJkz9c033zRqz8yZM7VixQoNGjRIVqtVf/7znyVJb731ljIzM9W1a1d16tRJw4YN0+uvv+5wfP20YX5+vu644w7FxMSoc+fOmjBhgj7++GOHuqNGjVJKSop27NihYcOGqVOnTpo2bZrL/SpJL7zwgq6++mrZbDZ16tRJAwYMsD8H0N4YGQGa8cEHH2jYsGHq27evFi1apPj4eP3jH//QrFmzdOLECT3yyCOSpN/97nd69NFH9dBDD2nEiBE6d+6cDh8+rJMnT3qtLe+9956GDx/eqDw1NVWS9P7776tPnz567733HMob1v3nP//Z5DnCw8N1++23a8WKFVq6dKmio6Ptj61bt05nz57VHXfcIen8tNFXX32luXPnqk+fPqqurtaWLVs0ceJErV69WpMnT27yPN98841GjhypTz/9VAsWLFBqaqref/99Pfzwwzp48KC2bNkii8XiWsc0MHHiRP34xz9Wdna2/Qs4KytLtbW1+t3vfqe+ffvqxIkT2rVrl0v/P+fOnVNWVpZ+9rOfad68edq1a5cee+wxHTt2TK+++qpD3Zdfflk7d+7Uww8/rPj4eMXGxqqgoEDXXnutUlNTtWrVKlmtVi1btkwTJkzQunXrdOuttzo8x5133qlrr71Wzz33nEpKSvTQQw9p1KhROnDggLp162avV1ZWpttvv12/+MUv9Jvf/EYdOnRwuV8LCwt166236tZbb9Wjjz6qyMhIHTt2TFu3bvWoz4FWM0CIWr16tZFk9uzZ02SdcePGmcTERFNRUeFQPnPmTBMZGWm++uorY4wx119/vbniiita3abBgwebkSNHOn0sPDzc/OxnP2tUvmvXLiPJPPfcc8YYY/76178aSaawsLBR3f/5n/8xERERzbbhwIEDRpJZuXKlQ/lVV11l0tLSmjyupqbGnDt3ztx5551myJAhDo/169fPTJkyxX4/NzfXdOjQoVHfv/jii0aS2bRpkzHGmKNHjxpJZvXq1Y3OJ8k88sgj9vuPPPKIkWQefvhhh3onTpwwkszixYube9lOTZkyxUgyS5YscSh//PHHjSTz1ltvObTHZrPZ3xP1hg4damJjY82pU6fsZTU1NSYlJcUkJiaauro6Y8y378cf/vCHDsf/85//NJLMY489Zi8bOXKkkWTefPNNh7qu9usTTzxhJJmTJ0+62yVAm2CaBmjC2bNn9eabb+qHP/yhOnXqpJqaGvstKytLZ8+e1e7duyVJV111ld59913dc889+sc//qHKyso2aVNzowUNH2uqbksjDpdddpnS0tK0evVqe9mhQ4f09ttvNxrGf+GFF/T9739fXbp0UVhYmMLDw7Vq1SodOnSo2XO89tprSklJ0RVXXOHQr+PGjZPFYtH27dubPb45N910k8P9mJgYfec739Hvf/97/eEPf1BRUZHq6urces6f/vSnDvd/8pOfSJK2bdvmUD5mzBh1797dfv/MmTP617/+pZtvvlldunSxl3fs2FGTJk3Sp59+qiNHjjR7rmHDhqlfv36NztW9e3eNGTPGoczVfr3yyislST/60Y/0t7/9zT7FB/gKwQjQhC+//FI1NTX6v//7P4WHhzvcsrKyJEknTpyQJM2fP19PPPGEdu/erfHjx6tHjx7KzMz06rLhHj166Msvv2xU/tVXX0k6/6VbX6++/c7q1tdrzrRp01RYWKjDhw9LklavXi2r1arbbrvNXmfDhg360Y9+pD59+mjt2rUqLCzUnj17NG3aNJ09e7bZ5//888914MCBRv3atWtXGWPs/eqJhIQEh/sWi0Vvvvmmxo0bp9/97nf63ve+p169emnWrFk6depUi88XFhZm79N68fHxkhr3ccNzf/311zLGNCqXpN69ezt9jvrnbljW0rkk1/t1xIgRevnll1VTU6PJkycrMTFRKSkpWrdundM+ANoaOSNAE7p3727/C3bGjBlO6yQnJ0s6/4WVk5OjnJwcnTx5Ulu2bNGCBQs0btw4lZSUeGWVw2WXXaaDBw82Kq8vq1+JU//vwYMH7UHThXWbW7FT77bbblNOTo6effZZPf744/rLX/6iG2+80eGv/rVr1yo5OVnPP/+8w2iLK0uHe/bsqaioKD3zzDNNPi5JkZGRTp/TWaBVz9nIT79+/bRq1SpJ0r///W/97W9/06OPPqrq6mqtWLGi2bbW1NToyy+/dAhIysvLJalRkNLw3N27d1eHDh1UVlbW6Hk/++wzSd++1obP3bDsu9/9brPnqn8uV/pVkm644QbdcMMNqqqq0u7du5Wbm6uf/OQn6t+/v0OSNNAeGBkBmtCpUyeNHj1aRUVFSk1NVXp6eqNbwy8jSerWrZtuvvlmzZgxQ1999ZU++eQTr7Tnhz/8oQ4fPuywhLempkZr167V1Vdfbf9Lu0+fPrrqqqu0du1a1dbW2uvu3r1bR44c0cSJE1s8V/fu3XXjjTdqzZo1eu2111ReXt5oisZisSgiIsLhS7G8vNyl1TTXX3+9/t//+3/q0aOH037t37+/JCkuLk6RkZE6cOCAw/Gurthx5uKLL9ZDDz2kyy67TO+8845Lx/z1r391uP/cc89JUrMb1ElS586ddfXVV2vDhg36z3/+Yy+vq6vT2rVrlZiYqIsvvrjZc+3atUvHjh1r8VyS6/16IavVqpEjR+q3v/2tJKmoqKjF8wDexsgIQt7WrVudBgxZWVlasmSJrrnmGg0fPlzTp09X//79derUKX300Ud69dVX7asPJkyYoJSUFKWnp6tXr146duyYFi9erH79+umiiy5q9vx79+61n7+yslLGGL344ouSzs/t9+vXT9L5qZOlS5fqlltu0cKFCxUbG6tly5bpyJEj2rJli8Nz/va3v9W1116rW265Rffcc4+OHz+uefPmKSUlxb4apiXTpk3T888/r5kzZyoxMVE/+MEPHB6//vrrtWHDBt1zzz26+eabVVJSol//+tdKSEjQhx9+2Oxzz549W3l5eRoxYoTmzJmj1NRU1dXVqbi4WJs3b9b999+vq6++WhaLRbfffrueeeYZfec739Hll1+ut99+2x4MuOLAgQOaOXOmbrnlFl100UWKiIjQ1q1bdeDAAc2bN6/F4yMiIrRo0SKdPn1aV155pX01zfjx43XNNde0eHxubq6uvfZajR49WnPnzlVERISWLVum9957T+vWrWs0wrF3717ddddduuWWW1RSUqIHH3xQffr00T333NPiuVzt14cffliffvqpMjMzlZiYqJMnT2rJkiUKDw/XyJEjWzwP4HW+zZ8FfKd+9UJTt6NHjxpjzq/omDZtmunTp48JDw83vXr1MsOGDXNY3bBo0SIzbNgw07NnTxMREWH69u1r7rzzTvPJJ5+02I76FRvObg1XkZSXl5vJkyebmJgYExkZaYYOHWry8/OdPu/mzZvN0KFDTWRkpImJiTGTJ082n3/+ucv9U1tba5KSkowk8+CDDzqts3DhQtO/f39jtVrNoEGDzNNPP21f1XKhhqtpjDHm9OnT5qGHHjIDBw40ERERxmazmcsuu8zMmTPHlJeX2+tVVFSYu+66y8TFxZnOnTubCRMmmE8++aTJ1TRffPGFw3k+//xzM3XqVHPJJZeYzp07my5dupjU1FTzv//7v6ampqbZPpgyZYrp3LmzOXDggBk1apSJiooyMTExZvr06eb06dMOdSWZGTNmOH2enTt3mjFjxpjOnTubqKgoM3ToUPPqq6861Kl/P27evNlMmjTJdOvWzURFRZmsrCzz4YcfOtQdOXKkGTx4sNNzudKvr732mhk/frzp06ePiYiIMLGxsSYrK8vs3Lmz2f4A2orFGGPaOf4BgIAwdepUvfjiizp9+nSbn+vZZ5/VHXfcoT179ig9Pb3Nzwf4E3JGAACATxGMAAAAn2KaBgAA+BQjIwAAwKcIRgAAgE8RjAAAAJ8KiE3P6urq9Nlnn6lr164e/6w4AABoX8YYnTp1Sr1791aHDk2PfwREMPLZZ58pKSnJ180AAAAeKCkpUWJiYpOPB0Qw0rVrV0nnX0x0dLSPWwMAAFxRWVmppKQk+/d4UwIiGKmfmomOjiYYAQAgwLSUYkECKwAA8CmCEQAA4FMEIwAAwKcIRgAAgE8RjAAAAJ8iGAEAAD5FMAIAAHyKYAQAAPgUwQgAAPCpVgUjubm5slgsmj17drP1CgoKlJaWpsjISA0YMEArVqxozWkBAEAQ8TgY2bNnj1auXKnU1NRm6x09elRZWVkaPny4ioqKtGDBAs2aNUt5eXmenhoAAAQRj4KR06dP66c//amefvppde/evdm6K1asUN++fbV48WINGjRId911l6ZNm6YnnnjCowZ7U01tnT7+4rRqaut83RQAAEKWR8HIjBkzdN111+kHP/hBi3ULCws1duxYh7Jx48Zp7969OnfunNNjqqqqVFlZ6XDztpraOk1ctktjFhVo4rJd9oDEWYBC0AIAQNtxOxhZv3693nnnHeXm5rpUv7y8XHFxcQ5lcXFxqqmp0YkTJ5wek5ubK5vNZr8lJSW528wWFX/1jQ6UVkiSDpRWqPirb5wGKE2VEbAAAOAdbgUjJSUluu+++7R27VpFRka6fFzDnw42xjgtrzd//nxVVFTYbyUlJe400yV9YzoptY9NkpSaaFPfmE5OA5SGZUdPnPE4YAEAAI2FuVN53759On78uNLS0uxltbW12rFjh5566ilVVVWpY8eODsfEx8ervLzcoez48eMKCwtTjx49nJ7HarXKarW60zS3hXXsoA33DFPxV9+ob0wnhXXsYA9QDpRW2AMUSQ5lkhoFLA3Ljp44o/v/9u75Y/rYtOGeYQrr2EE1tXUO5wMAAG4GI5mZmTp48KBD2R133KFLLrlEDzzwQKNARJIyMjL06quvOpRt3rxZ6enpCg8P96DJ3hPWsYMG9OricL9hgCLJoUySRwFL35hOmrhsl0OAIongBAAQ8twKRrp27aqUlBSHss6dO6tHjx728vnz56u0tFRr1qyRJGVnZ+upp55STk6O7r77bhUWFmrVqlVat26dl16CdzUMUJyVeRKwOJvucTZ6AgBAqHErGHFFWVmZiouL7feTk5O1adMmzZkzR0uXLlXv3r315JNP6qabbvL2qduNJwFLwykgqfHoyYBeXZjKAQCEHIupzyb1Y5WVlbLZbKqoqFB0dLSvm+OxCwMNSd9O2yTatGH6MMcypnIAAAHO1e9vr4+MoGktjZ58/MVppnIAACGHbzYfqg9O6gOMhsuNJecrd1g2DAAIJoyM+JGGq3mkxomw9XuaMFoCAAgWBCN+xt2pnPrHyCsBAAQqvrn8XEtTOb1tkU5/YwcAgEDByEiAaTiV42wLe5YIAwACCd9SAejC0RJnv7HT1C8SAwDgjxgZCXDOtrB3llfCaAkAwF/xjRQEWsorYbQEAODPGBkJQq6OlrAKBwDgD/gGClKswgEABApGRkKEq6twAABob4yMhJCWVuFIbDUPAGh/jIyEKGd5JWw1DwDwBb5pQljDvBJnUzeMlAAA2hrBCOxIcgUA+ALTNLAjyRUA4AuMjMABSa4AgPbGyAiaRJIrAKA98C2CZrmS5AoAQGsQjMAtTf3uDdM2AABPMU0DtzScupHEtA0AoFX41oDbLpy6YdoGANBaBCNoFVbcAABai2katAorbgAArcU3BFqNFTcAgNYgGIHXseIGAOAOpmngday4AQC4g28EtAlW3AAAXEUwgjbHihsAQHOYpkGbY8UNAKA5bl39ly9frtTUVEVHRys6OloZGRn6+9//3mT97du3y2KxNLodPny41Q1HYGHFDQCgKW6NjCQmJmrhwoX67ne/K0n685//rBtuuEFFRUUaPHhwk8cdOXJE0dHR9vu9evXysLkIFvVTNwdKKxpN3Vw4ggIACH4WY4xpzRPExMTo97//ve68885Gj23fvl2jR4/W119/rW7dunl8jsrKStlsNlVUVDgENQhsDQMPpm4AILi4+v3t8ZW+trZW69ev15kzZ5SRkdFs3SFDhighIUGZmZnatm1bi89dVVWlyspKhxuCD1M3AADJg2Dk4MGD6tKli6xWq7Kzs/XSSy/p0ksvdVo3ISFBK1euVF5enjZs2KCBAwcqMzNTO3bsaPYcubm5stls9ltSUpK7zUQAamrVDQAguLk9TVNdXa3i4mKdPHlSeXl5+tOf/qSCgoImA5KGJkyYIIvFoo0bNzZZp6qqSlVVVfb7lZWVSkpKYpomBDibuiGHBAACk6vTNG4v7Y2IiLAnsKanp2vPnj1asmSJ/vjHP7p0/NChQ7V27dpm61itVlmtVnebhiBQP3UjiRwSAAgRrb6yG2McRjFaUlRUpISEhNaeFiGAHBIACA1ujYwsWLBA48ePV1JSkk6dOqX169dr+/bteuONNyRJ8+fPV2lpqdasWSNJWrx4sfr376/Bgwerurpaa9euVV5envLy8rz/ShB0mlr+CwAILm4FI59//rkmTZqksrIy2Ww2paam6o033tC1114rSSorK1NxcbG9fnV1tebOnavS0lJFRUVp8ODBev3115WVleXdV4Gg5GznVom9SAAg2LR6n5H2wD4jqEceCQAEjjbfZwTwBfJIACD4EIwgoDjbi4Rf/wWAwMav9iKgNMwjkcS0DQAEOK7aCDgXbiPPtA0ABD6CEQQ0tpAHgMDHNA0CGst/ASDwEYwg4F24hbzE8l8ACDRcoRF0yCMBgMBCMIKgQx4JAAQWpmkQdJzlkZBDAgD+i2AEQenCPBJySADAv3FFRtAjhwQA/BvBCIIeOSQA4N+YpkHQYy8SAPBvBCMICexFAgD+i6svQhJ5JADgPwhGEJLIIwEA/8E0DUISe5EAgP8gGEHIYi8SAPAPXG0BkUMCAL5EMAKIHBIA8CWmaQA1vRcJAKDtccUF/n/1OSQXBiI1tXX6+IvTqqmt82HLACC4MTICNIGkVgBoH1xZgSaQ1AoA7YNgBGgCSa0A0D6YpgGawA/sAUD7IBgBmsEP7AFA2+MqCriBPBIA8D6CEcAN5JEAgPcxTQO4gR/YAwDvc+vKuXz5cqWmpio6OlrR0dHKyMjQ3//+92aPKSgoUFpamiIjIzVgwACtWLGiVQ0GfO3CzdHqc0jGLCrQxGW72BwNADzgVjCSmJiohQsXau/evdq7d6/GjBmjG264Qe+//77T+kePHlVWVpaGDx+uoqIiLViwQLNmzVJeXp5XGg/4GjkkANB6FmOMac0TxMTE6Pe//73uvPPORo898MAD2rhxow4dOmQvy87O1rvvvqvCwkKXz1FZWSmbzaaKigpFR0e3prmAVzmsrkm0acN0VtcAQD1Xv789zhmpra3VCy+8oDNnzigjI8NpncLCQo0dO9ahbNy4cVq1apXOnTun8PBwp8dVVVWpqqrKfr+ystLTZgJtih/YA4DWc/vKefDgQXXp0kVWq1XZ2dl66aWXdOmllzqtW15erri4OIeyuLg41dTU6MSJE02eIzc3VzabzX5LSkpyt5lAu+EH9gCgddwORgYOHKj9+/dr9+7dmj59uqZMmaIPPvigyfoWi8Xhfv2sUMPyC82fP18VFRX2W0lJibvNBHyGpFYAcI/b0zQRERH67ne/K0lKT0/Xnj17tGTJEv3xj39sVDc+Pl7l5eUOZcePH1dYWJh69OjR5DmsVqusVqu7TQP8grOk1gt3cQUAOGr1BLcxxiG/40IZGRnKz893KNu8ebPS09ObzBcBAh0bowGAe9waGVmwYIHGjx+vpKQknTp1SuvXr9f27dv1xhtvSDo/vVJaWqo1a9ZIOr9y5qmnnlJOTo7uvvtuFRYWatWqVVq3bp33XwngJ9gYDQDc41Yw8vnnn2vSpEkqKyuTzWZTamqq3njjDV177bWSpLKyMhUXF9vrJycna9OmTZozZ46WLl2q3r1768knn9RNN93k3VcB+JkLf2CPH9cDgOa1ep+R9sA+IwhkH39xWmMWFdjvb71/JDkkAEKCq9/f/HkGtDFySACgefxQHtDG2BgNAJrHVRFoB2yMBgBNY2QE8AGSWgHgW1z9AB/g134B4FsEI4APkNQKAN9imgbwAZJaAeBbXAEBH2mY1EpCK4BQxcgI4AdIaAUQyrjaAX6AhFYAoYxgBPADJLQCCGVM0wB+gIRWAKGMKx7gJ9ilFUCoYmQE8FMktQIIFVzZAD9FUiuAUEEwAvgpkloBhAqmaQA/RVIrgFDB1Q3wY+zSCiAUMDICBAgSWgEEK65kQIAgoRVAsCIYAQIECa0AghXTNECAaCqhtaa2jiRXAAGNYAQIIPUJrfXIIwEQDLhqAQGMPBIAwYBgBAhg5JEACAZM0wABjI3RAAQDrlxAgOPXfgEEOkZGgCBDUiuAQMMVCggyJLUCCDQEI0CQIakVQKBhmgYIMiS1Agg0XKWAIMSv/QIIJG4FI7m5ubryyivVtWtXxcbG6sYbb9SRI0eaPWb79u2yWCyNbocPH25VwwG4pj6hdcyiAk1ctouABIDfcSsYKSgo0IwZM7R7927l5+erpqZGY8eO1ZkzZ1o89siRIyorK7PfLrroIo8bDcB1JLQC8Hdu5Yy88cYbDvdXr16t2NhY7du3TyNGjGj22NjYWHXr1s2l81RVVamqqsp+v7Ky0p1mArhAfULrgdIKEloB+KVW5YxUVJz/aysmJqbFukOGDFFCQoIyMzO1bdu2Zuvm5ubKZrPZb0lJSa1pJhDS6hNat94/Uhums+cIAP9jMcYYTw40xuiGG27Q119/rZ07dzZZ78iRI9qxY4fS0tJUVVWlv/zlL1qxYoW2b9/e5GiKs5GRpKQkVVRUKDo62pPmAgCAdlZZWSmbzdbi97fHwciMGTP0+uuv66233lJiYqJbx06YMEEWi0UbN250qb6rLwaA62pq61j+C6BNufr97dEV6N5779XGjRu1bds2twMRSRo6dKg+/PBDT04NwAtYYQPAn7gVjBhjNHPmTG3YsEFbt25VcnKyRyctKipSQkKCR8cCaD1W2ADwJ26tppkxY4aee+45vfLKK+ratavKy8slSTabTVFRUZKk+fPnq7S0VGvWrJEkLV68WP3799fgwYNVXV2ttWvXKi8vT3l5eV5+KQBcxQobAP7ErWBk+fLlkqRRo0Y5lK9evVpTp06VJJWVlam4uNj+WHV1tebOnavS0lJFRUVp8ODBev3115WVldW6lgPwGFvGA/AnHiewticSWIG2R0IrAG9z9fubH8oDYE9oPVBaodQ+Nm24h/1IALQfrjYASGgF4FMEIwDsCa2SSGgF0O6YpgFAQisAn+KKA0DS+YBkQK8uDoFITW2dPv7iNJuiAWhTjIwAcIqkVgDthSsLAKdIagXQXghGADhFUiuA9sI0DQCnSGoF0F64ugBoUsOkVhJaAbQFRkYAuISEVgBthSsJAJeQ0AqgrRCMAHAJCa0A2grTNABcQkIrgLbC1QSAy9ilFUBbYGQEgMdIagXgDVw1AHiMpFYA3kAwAsBjJLUC8AamaQB4jKRWAN7AlQNAq7BLK4DWYmQEgNeQ0ArAE1wlAHgNCa0APEEwAsBrSGgF4AmmaQB4DQmtADxBMALAq+oTWgHAVfzZAqDNscIGQHMYGQHQplhhA6AlXBEAtClW2ABoCcEIgDbFChsALWGaBkCbYoUNgJZwVQDQ5hpuGS+R1ArgW24FI7m5ubryyivVtWtXxcbG6sYbb9SRI0daPK6goEBpaWmKjIzUgAEDtGLFCo8bDCDw1Se1jllUoInLdhGQACHOrWCkoKBAM2bM0O7du5Wfn6+amhqNHTtWZ86cafKYo0ePKisrS8OHD1dRUZEWLFigWbNmKS8vr9WNBxCYSGoFcCGLMcZ4evAXX3yh2NhYFRQUaMSIEU7rPPDAA9q4caMOHTpkL8vOzta7776rwsJCp8dUVVWpqqrKfr+yslJJSUmqqKhQdHS0p80F4Ccclvsm2rRhOst9gWBUWVkpm83W4vd3qxJYKyrO/2UTExPTZJ3CwkKNHTvWoWzcuHFatWqVzp07p/Dw8EbH5Obm6pe//GVrmgbAj5HUCuBCHl8BjDHKycnRNddco5SUlCbrlZeXKy4uzqEsLi5ONTU1OnHihNNj5s+fr4qKCvutpKTE02YC8FMNk1pJaAVCl8cjIzNnztSBAwf01ltvtVjXYrE43K+fGWpYXs9qtcpqtXraNAABhl1agdDm0af93nvv1caNG7Vt2zYlJiY2Wzc+Pl7l5eUOZcePH1dYWJh69OjhyekBBBkSWoHQ5lYwYozRzJkztWHDBm3dulXJycktHpORkaH8/HyHss2bNys9Pd1pvgiA0MMurUBoc2s1zT333KPnnntOr7zyigYOHGgvt9lsioqKknQ+36O0tFRr1qyRdH5pb0pKin72s5/p7rvvVmFhobKzs7Vu3TrddNNNLp3X1WxcAIGrpraOhFYgyLj6/e3WJ3758uWqqKjQqFGjlJCQYL89//zz9jplZWUqLi62309OTtamTZu0fft2XXHFFfr1r3+tJ5980uVABEBoYJdWIHS1ap+R9sLICBB6SGoFAl+bjIwAQHshqRUIHQQjAPwSSa1A6GjVDqwA0FbYpRUIHXy6AfgtdmkFQgMjIwACAgmtQPDikwwgIJDQCgQvghEAAYGEViB4MU0DICCQ0AoEL4IRAAGjPqEVQHDhTwsAAY0VNkDgY2QEQMBihQ0QHPjUAghYrLABggPBCICAxQobIDgwTQMgYLHCBggOfHIBBDS2jAcCHyMjAIIGCa1AYOJTCiBokNAKBCaCEQBBg4RWIDAxTQMgaJDQCgQmPqkAgkrDhFaJpFbA3zEyAiCokdQK+D8+kQCCGkmtgP8jGAEQ1EhqBfwf0zQAghpJrYD/41MJIOixSyvg3xgZARBSSGgF/A+fQAAhhYRWwP8QjAAIKSS0Av6HaRoAIYWEVsD/8CkEEHLYpRXwL4yMAAh5JLUCvuX2p23Hjh2aMGGCevfuLYvFopdffrnZ+tu3b5fFYml0O3z4sKdtBgCvIqkV8C23g5EzZ87o8ssv11NPPeXWcUeOHFFZWZn9dtFFF7l7agBoEyS1Ar7l9jTN+PHjNX78eLdPFBsbq27durlUt6qqSlVVVfb7lZWVbp8PAFxFUivgW+32iRsyZIgSEhKUmZmpbdu2NVs3NzdXNpvNfktKSmqnVgIIVSS1Ar7T5sFIQkKCVq5cqby8PG3YsEEDBw5UZmamduzY0eQx8+fPV0VFhf1WUlLS1s0EAAf1Sa1jFhVo4rJdBCRAG2rz1TQDBw7UwIED7fczMjJUUlKiJ554QiNGjHB6jNVqldVqbeumAUCTnCW1DujVxcetAoKTTyZGhw4dqg8//NAXpwYAl5DUCrQfn+wzUlRUpISEBF+cGgBcQlIr0H7cDkZOnz6tjz76yH7/6NGj2r9/v2JiYtS3b1/Nnz9fpaWlWrNmjSRp8eLF6t+/vwYPHqzq6mqtXbtWeXl5ysvL896rAIA2UJ/UWq+mto7gBGgDbgcje/fu1ejRo+33c3JyJElTpkzRs88+q7KyMhUXF9sfr66u1ty5c1VaWqqoqCgNHjxYr7/+urKysrzQfABoH+zSCrQdizHG+LoRLamsrJTNZlNFRYWio6N93RwAIejjL05rzKIC+/2t948koRVogavf34T1AOACElqBtsMP5QGAC0hoBdoOnyYAcBG7tAJtg5ERAPAQSa2Ad/CpAQAPOdulFYD7CEYAwEMktQLewTQNAHiIpFbAO/jkAEArNExqJaEVcB8jIwDgJSS0Ap7hUwIAXkJCK+AZghEA8BISWgHPME0DAF5CQivgGT4pAOBF7NIKuI+REQBoQyS1Ai3jEwEAbYikVqBlBCMA0IZIagVaxjQNALQhklqBlvGpAIA2xi6tQPMYGQGAdkRCK9AYnwAAaEcktAKNEYwAQDsioRVojGkaAGhHJLQCjfEpAIB2xi6tgCNGRgDAx0hqRajj3Q4APkZSK0IdwQgA+BhJrQh1TNMAgI85S2qtqa0jyRUhg2AEAPxAfVKrRA4JQg/vbgDwM+SQINQQjACAnyGHBKGGaRoA8DNsjIZQ4/Y7fMeOHZowYYJ69+4ti8Wil19+ucVjCgoKlJaWpsjISA0YMEArVqzwpK0AEDLYGA2hxO1g5MyZM7r88sv11FNPuVT/6NGjysrK0vDhw1VUVKQFCxZo1qxZysvLc7uxABCq6pNaxywq0MRluwhIEFTcnqYZP368xo8f73L9FStWqG/fvlq8eLEkadCgQdq7d6+eeOIJ3XTTTU6PqaqqUlVVlf1+ZWWlu80EgKDiLKm1fvUNEOjafCKysLBQY8eOdSgbN26c9u7dq3Pnzjk9Jjc3VzabzX5LSkpq62YCgF8jqRXBrM2DkfLycsXFxTmUxcXFqaamRidOnHB6zPz581VRUWG/lZSUtHUzAcCv1Se1br1/pDZM/3bfEfJIEAzaZTWNxWJxuG+McVpez2q1ymq1tnm7ACCQXLgxmsTmaAgebf6ujY+PV3l5uUPZ8ePHFRYWph49erT16QEgaLE5GoJFmwcjGRkZys/PdyjbvHmz0tPTFR4e3tanB4CgRR4JgoXb0zSnT5/WRx99ZL9/9OhR7d+/XzExMerbt6/mz5+v0tJSrVmzRpKUnZ2tp556Sjk5Obr77rtVWFioVatWad26dd57FQAQgtgcDcHC7Xfu3r17NWTIEA0ZMkSSlJOToyFDhujhhx+WJJWVlam4uNhePzk5WZs2bdL27dt1xRVX6Ne//rWefPLJJpf1AgBc13BzNBJaEYgspj6b1I9VVlbKZrOpoqJC0dHRvm4OAPglElrhb1z9/uZdCgBBgoRWBCqCEQAIEiS0IlDxq70AECSaSmitqa0jyRV+jWAEAIIIG6MhEPGOBIAgRh4JAgHBCAAEMfJIEAiYpgGAIMbGaAgEvCsBIMixMRr8HSMjABBCSGiFP+IdCAAhhIRW+COCEQAIISS0wh8xTQMAIYSN0eCPCEYAIMSwMRr8De82AAhx5JHA1whGACDEkUcCX2OaBgBCnLM8EnJI0J4IRgAADnkk5JCgvfHuAgA4IIcE7Y1gBADggBwStDemaQAADtiLBO2NYAQA0Ah7kaA98U4CALSIPBK0JYIRAECLnOWR1NTW6eMvTqumts7HrUOgY5oGANCihnkkkpi2gdfwzgEAuKQ+jySsYwembeBVBCMAALex/BfexDQNAMBtLP+FNxGMAAA8wvJfeAvvEgCAV5BHAk8RjAAAvII8EniKaRoAgFeQRwJPefSuWLZsmZKTkxUZGam0tDTt3Lmzybrbt2+XxWJpdDt8+LDHjQYA+KcLl/9K3+aRjFlUoInLdrFBGpxyOxh5/vnnNXv2bD344IMqKirS8OHDNX78eBUXFzd73JEjR1RWVma/XXTRRR43GgAQGMgjgSvcDkb+8Ic/6M4779Rdd92lQYMGafHixUpKStLy5cubPS42Nlbx8fH2W8eOHT1uNAAgMLCNPFzhVs5IdXW19u3bp3nz5jmUjx07Vrt27Wr22CFDhujs2bO69NJL9dBDD2n06NFN1q2qqlJVVZX9fmVlpTvNBAD4CbaRhyvcegecOHFCtbW1iouLcyiPi4tTeXm502MSEhK0cuVK5eXlacOGDRo4cKAyMzO1Y8eOJs+Tm5srm81mvyUlJbnTTACAH2EbebTEo9U0FovF4b4xplFZvYEDB2rgwIH2+xkZGSopKdETTzyhESNGOD1m/vz5ysnJsd+vrKwkIAGAIFA/bXOgtILlv7BzKxjp2bOnOnbs2GgU5Pjx441GS5ozdOhQrV27tsnHrVarrFarO00DAAQAlv/CGbf+xyMiIpSWlqb8/HyH8vz8fA0bNszl5ykqKlJCQoI7pwYABAmW/6Iht6dpcnJyNGnSJKWnpysjI0MrV65UcXGxsrOzJZ2fYiktLdWaNWskSYsXL1b//v01ePBgVVdXa+3atcrLy1NeXp53XwkAICA5yyO58DdvEPzcDkZuvfVWffnll/rVr36lsrIypaSkaNOmTerXr58kqayszGHPkerqas2dO1elpaWKiorS4MGD9frrrysrK8t7rwIAELCc5ZEwbRNaLMYY4+tGtKSyslI2m00VFRWKjo72dXMAAF52YfAhsfw3WLj6/c3/LgDA51j+G9oIRgAAfqWpX/9l59bgxa/2AgD8irPlv/Urbpi6CU78TwIA/E7D5b9M3QQ3ghEAgN/jB/eCG9M0AAC/xw/uBTf+5wAAAYEVN8GLYAQAEHBYcRNcmKYBAAQcVtwEF/6XAAABiRU3wYNgBAAQFFhxE7iYpgEABAVW3AQu/lcAAEHDlRU3jJb4H4IRAEBQamraZuKyXRqzqEATl+0iIPETTNMAAIKSsxU3H39xutFoyYBeXXzcUjAyAgAIWg1X3LA/iX9iZAQAEDLYn8Q/0dsAgJDiyv4kjJS0L4IRAEBIazh109sWSZJrO2OaBgAQ0hpO3TgbKRnQq4tqauscpnfgPfQmACDkXTh1w5Lg9sfICAAAF3B1SXD9KAojJa1H7wEA0EBLS4LJK/EuRkYAAGgBeSVti54CAMAFnuSVsETYNYyMAADgJlfySo6eOKP7//Yum6m5gF4BAMADLeWVSOJXg13EyAgAAF7QcLREklL72M6PjDSYyrlwtERSyOeZEIwAAOAl9aMl9ZjKcU3ovWIAANoJUzmuYWQEAIB24ulUTv2vCwfrdI5Hr2bZsmVKTk5WZGSk0tLStHPnzmbrFxQUKC0tTZGRkRowYIBWrFjhUWMBAAh0F46W1AcnW+8fqQ3TzwcdTf2KsCvLhgN1RMXtYOT555/X7Nmz9eCDD6qoqEjDhw/X+PHjVVxc7LT+0aNHlZWVpeHDh6uoqEgLFizQrFmzlJeX1+rGAwAQ6FqaynG2ydrRE2ecBieeBCz+EMBYjDHGnQOuvvpqfe9739Py5cvtZYMGDdKNN96o3NzcRvUfeOABbdy4UYcOHbKXZWdn691331VhYaFL56ysrJTNZlNFRYWio6PdaS4AAAGn4ZSMw9RNok2Lbrlc1/7vDnv9rfePlCSNWVRgL8ufM6JRcqwkhymgv/1sqH70x91tlkDr6ve3Wzkj1dXV2rdvn+bNm+dQPnbsWO3atcvpMYWFhRo7dqxD2bhx47Rq1SqdO3dO4eHhjY6pqqpSVVWVw4sBACBUNFyV40quScMyyXly7IVl/zr6ldNt7dubW8HIiRMnVFtbq7i4OIfyuLg4lZeXOz2mvLzcaf2amhqdOHFCCQkJjY7Jzc3VL3/5S3eaBgBAUGtp2XDDMqnlgOXq5BinddqbR6tpLBaLw31jTKOyluo7K683f/585eTk2O9XVlYqKSnJk6YCABCUGgYnzspaClicbWvvC24FIz179lTHjh0bjYIcP3680ehHvfj4eKf1w8LC1KNHD6fHWK1WWa1Wd5oGAAAacCVgcVanvbkVAkVERCgtLU35+fkO5fn5+Ro2bJjTYzIyMhrV37x5s9LT053miwAAgNDi9nhMTk6O/vSnP+mZZ57RoUOHNGfOHBUXFys7O1vS+SmWyZMn2+tnZ2fr2LFjysnJ0aFDh/TMM89o1apVmjt3rvdeBQAACFhu54zceuut+vLLL/WrX/1KZWVlSklJ0aZNm9SvXz9JUllZmcOeI8nJydq0aZPmzJmjpUuXqnfv3nryySd10003ee9VAACAgOX2PiO+wD4jAAAEHle/v4Nrc3sAABBwCEYAAIBPEYwAAACfIhgBAAA+RTACAAB8imAEAAD4FMEIAADwKYIRAADgUx79am97q9+XrbKy0sctAQAArqr/3m5pf9WACEZOnTolSUpKSvJxSwAAgLtOnTolm83W5OMBsR18XV2dPvvsM3Xt2lUWi8Vrz1tZWamkpCSVlJSwzXwbo6/bF/3dfujr9kNftx9v9bUxRqdOnVLv3r3VoUPTmSEBMTLSoUMHJSYmttnzR0dH88ZuJ/R1+6K/2w993X7o6/bjjb5ubkSkHgmsAADApwhGAACAT4V0MGK1WvXII4/IarX6uilBj75uX/R3+6Gv2w993X7au68DIoEVAAAEr5AeGQEAAL5HMAIAAHyKYAQAAPgUwQgAAPApghEAAOBTIR2MLFu2TMnJyYqMjFRaWpp27tzp6yYFvNzcXF155ZXq2rWrYmNjdeONN+rIkSMOdYwxevTRR9W7d29FRUVp1KhRev/9933U4uCQm5sri8Wi2bNn28voZ+8qLS3V7bffrh49eqhTp0664oortG/fPvvj9Ld31NTU6KGHHlJycrKioqI0YMAA/epXv1JdXZ29Dn3tmR07dmjChAnq3bu3LBaLXn75ZYfHXenXqqoq3XvvverZs6c6d+6s//7v/9ann37a+saZELV+/XoTHh5unn76afPBBx+Y++67z3Tu3NkcO3bM100LaOPGjTOrV6827733ntm/f7+57rrrTN++fc3p06ftdRYuXGi6du1q8vLyzMGDB82tt95qEhISTGVlpQ9bHrjefvtt079/f5Oammruu+8+ezn97D1fffWV6devn5k6dar517/+ZY4ePWq2bNliPvroI3sd+ts7HnvsMdOjRw/z2muvmaNHj5oXXnjBdOnSxSxevNheh772zKZNm8yDDz5o8vLyjCTz0ksvOTzuSr9mZ2ebPn36mPz8fPPOO++Y0aNHm8svv9zU1NS0qm0hG4xcddVVJjs726HskksuMfPmzfNRi4LT8ePHjSRTUFBgjDGmrq7OxMfHm4ULF9rrnD171thsNrNixQpfNTNgnTp1ylx00UUmPz/fjBw50h6M0M/e9cADD5hrrrmmycfpb++57rrrzLRp0xzKJk6caG6//XZjDH3tLQ2DEVf69eTJkyY8PNysX7/eXqe0tNR06NDBvPHGG61qT0hO01RXV2vfvn0aO3asQ/nYsWO1a9cuH7UqOFVUVEiSYmJiJElHjx5VeXm5Q99brVaNHDmSvvfAjBkzdN111+kHP/iBQzn97F0bN25Uenq6brnlFsXGxmrIkCF6+umn7Y/T395zzTXX6M0339S///1vSdK7776rt956S1lZWZLo67biSr/u27dP586dc6jTu3dvpaSktLrvA+JXe73txIkTqq2tVVxcnEN5XFycysvLfdSq4GOMUU5Ojq655hqlpKRIkr1/nfX9sWPH2r2NgWz9+vV65513tGfPnkaP0c/e9fHHH2v58uXKycnRggUL9Pbbb2vWrFmyWq2aPHky/e1FDzzwgCoqKnTJJZeoY8eOqq2t1eOPP67bbrtNEu/ttuJKv5aXlysiIkLdu3dvVKe1350hGYzUs1gsDveNMY3K4LmZM2fqwIEDeuuttxo9Rt+3TklJie677z5t3rxZkZGRTdajn72jrq5O6enp+s1vfiNJGjJkiN5//30tX75ckydPttejv1vv+eef19q1a/Xcc89p8ODB2r9/v2bPnq3evXtrypQp9nr0ddvwpF+90fchOU3Ts2dPdezYsVEkd/z48UZRITxz7733auPGjdq2bZsSExPt5fHx8ZJE37fSvn37dPz4caWlpSksLExhYWEqKCjQk08+qbCwMHtf0s/ekZCQoEsvvdShbNCgQSouLpbE+9qbfv7zn2vevHn68Y9/rMsuu0yTJk3SnDlzlJubK4m+biuu9Gt8fLyqq6v19ddfN1nHUyEZjERERCgtLU35+fkO5fn5+Ro2bJiPWhUcjDGaOXOmNmzYoK1btyo5Odnh8eTkZMXHxzv0fXV1tQoKCuh7N2RmZurgwYPav3+//Zaenq6f/vSn2r9/vwYMGEA/e9H3v//9RkvU//3vf6tfv36SeF970zfffKMOHRy/mjp27Ghf2ktftw1X+jUtLU3h4eEOdcrKyvTee++1vu9blf4awOqX9q5atcp88MEHZvbs2aZz587mk08+8XXTAtr06dONzWYz27dvN2VlZfbbN998Y6+zcOFCY7PZzIYNG8zBgwfNbbfdxrI8L7hwNY0x9LM3vf322yYsLMw8/vjj5sMPPzR//etfTadOnczatWvtdehv75gyZYrp06ePfWnvhg0bTM+ePc0vfvELex362jOnTp0yRUVFpqioyEgyf/jDH0xRUZF9SwtX+jU7O9skJiaaLVu2mHfeeceMGTOGpb2ttXTpUtOvXz8TERFhvve979mXn8JzkpzeVq9eba9TV1dnHnnkERMfH2+sVqsZMWKEOXjwoO8aHSQaBiP0s3e9+uqrJiUlxVitVnPJJZeYlStXOjxOf3tHZWWlue+++0zfvn1NZGSkGTBggHnwwQdNVVWVvQ597Zlt27Y5vT5PmTLFGONav/7nP/8xM2fONDExMSYqKspcf/31pri4uNVtsxhjTOvGVgAAADwXkjkjAADAfxCMAAAAnyIYAQAAPkUwAgAAfIpgBAAA+BTBCAAA8CmCEQAA4FMEIwAAwKcIRgAAgE8RjAAAAJ8iGAEAAD71/wGQO0NotBq7gQAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"A = getA(100)\n",
"\n",
"n = np.arange(0,100,1)\n",
"\n",
"D = algoQR(A)\n",
"D = np.diag(D)\n",
"sorted(D)\n",
"\n",
"plt.scatter(n, D, s=2)\n",
"\n",
"plt.title(\"Les 100 valeurs propres\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3acd9be1-2873-4969-aa8c-4fe6d021df4e",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}