Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Сандық сызықтық алгебрада Якобидің өзіндік мәні алгоритмі - нақты симметриялық матрицаның өзіндік мәні мен өзіндік векторларын есептеудің итеративтік әдісі (диагонализация деп аталатын процесс). Бұл әдіс 1846 жылы алғаш рет ұсынған Карл Густав Якоб Якобидің есімімен аталған, бірақ 1950 жылдары компьютерлердің пайда болуымен кеңінен қолданыла бастады.
In numerical linear algebra, the Jacobi eigenvalue algorithm is an iterative method for the calculation of the eigenvalues and eigenvectors of a real symmetric matrix (a process known as diagonalization). It is named after Carl Gustav Jacob Jacobi, who first proposed the method in 1846, but only became widely used in the 1950s with the advent of computers.
Құны
Әрбір Якоби айналуын O ((n) қадаммен, егер півоттық элемент p белгілі болса, жасауға болады. Алайда p іздеу барлық N ≈ n2 диагональ элементтерін тексеруді талап етеді. Біз оны O ((n) күрделілікке дейін төмендетуімізге болады, егер біз қосымша индекс массивін енгізу арқылы i, (i = 1, , n − 1) қатарындағы ең үлкен элементтің индексі болып табылатын қасиетті енгізсек. Содан кейін півоттың индекстері (k, l) жұптардың бірі болуы керек. Сондай-ақ индекс массивін жаңартуды O ((n) орташа жағдайдағы күрделілікпен жасауға болады: Біріншіден, k және l жаңартылған жолдардағы ең үлкен жазуды O ((n) қадамдарда табуға болады. Басқа i жолдарында k және l бағандарындағы жазулар ғана өзгертіледі. Егер k және l емес болса, онда жаңа жазулармен бұрынғы ең жоғары бағаны салыстыру және қажет болса жаңарту жеткілікті. Егер k немесе l-ге тең болса және жаңарту кезінде сәйкес келетін жазу азайса, i-жолдағы ең үлкені O ((n) күрделілігімен нөлден табылуы керек. Алайда, бұл айналымда орташа есеппен бір рет қана болады. Осылайша, әрбір айналымда O ((n) және бір sweep O ((n3) орташа жағдай күрделілігі бар, бұл бір матрица көбейтуіне тең. Сонымен қатар, процесс басталғанға дейін инициализациялау керек, бұл n2 қадамда орындалуы мүмкін. Якоби әдісі әдетте сандық дәлдікте аз санда sweep-тен кейін жиналады. Бірнеше меншікті мәндер қайталау санын азайтатынын ескеріңіз .
Each Jacobi rotation can be done in O(n) steps when the pivot element p is known. However the search for p requires inspection of all N ≈ n2 off diagonal elements. We can reduce this to O(n) complexity too if we introduce an additional index array with the property that is the index of the largest element in row i, (i = 1, , n − 1) of the current S. Then the indices of the pivot (k, l) must be one of the pairs Also the updating of the index array can be done in O(n) average case complexity: First, the maximum entry in the updated rows k and l can be found in O(n) steps. In the other rows i, only the entries in columns k and l change. Looping over these rows, if is neither k nor l, it suffices to compare the old maximum at to the new entries and update if necessary. If should be equal to k or l and the corresponding entry decreased during the update, the maximum over row i has to be found from scratch in O(n) complexity. However, this will happen on average only once per rotation. Thus, each rotation has O(n) and one sweep O(n3) average case complexity, which is equivalent to one matrix multiplication. Additionally the must be initialized before the process starts, which can be done in n2 steps. Typically the Jacobi method converges within numerical precision after a small number of sweeps. Note that multiple eigenvalues reduce the number of iterations since .