Метод Гаусса — Зейделя решения системы линейных уравнений

Ме́тод Га́усса — Зе́йделя (метод Зейделя, процесс Либмана, метод последовательных замещений) — является классическим итерационным методом решения системы линейных уравнений.

Назван в честь Зейделя и Гаусса.

Постановка задачи

Возьмём систему: , где

Или

И покажем, как её можно решить с использованием метода Гаусса-Зейделя.

Метод

Чтобы пояснить суть метода, перепишем задачу в виде

Здесь в -м уравнении мы перенесли в правую часть все члены, содержащие , для . Эта запись может быть представлена как

где в принятых обозначениях означает матрицу, у которой на главной диагонали стоят соответствующие элементы матрицы , а все остальные нули; тогда как матрицы и содержат верхнюю и нижнюю треугольные части , на главной диагонали которых нули.

Итерационный процесс в методе Гаусса — Зейделя строится по формуле

после выбора соответствующего начального приближения .

Метод Гаусса — Зейделя можно рассматривать как модификацию метода Якоби. Основная идея модификации состоит в том, что новые значения используются здесь сразу же по мере получения, в то время как в методе Якоби они не используются до следующей итерации:

где

Таким образом, i-я компонента -го приближения вычисляется по формуле

Например, при :

, то есть
, то есть
, то есть

Условие сходимости

Приведём достаточное условие сходимости метода.

Теорема.
Пусть , где – матрица, обратная к . Тогда при любом выборе начального приближения :
  1. метод Гаусса-Зейделя сходится;
  2. скорость сходимости метода равна скорости сходимости геометрической прогрессии со знаменателем ;
  3. верна оценка погрешности: .

Условие окончания

Условие окончания итерационного процесса Зейделя при достижении точности в упрощённой форме имеет вид:

Более точное условие окончания итерационного процесса имеет вид

и требует больше вычислений. Хорошо подходит для разреженных матриц.

Пример реализации на C++

#include <iostream>
#include <cmath>

using namespace std;

// Условие окончания
bool converge(double xk[10], double xkp[10], int n, double eps)
{
	double norm = 0;
	for (int i = 0; i < n; i++)
		norm += (xk[i] - xkp[i]) * (xk[i] - xkp[i]);
	return (sqrt(norm) < eps);
}

double okr(double x, double eps)
{
	int i = 0;
	double neweps = eps;
	while (neweps < 1)
	{
		i++;
		neweps *= 10;
	}
	int okr = pow(double(10), i);
	x = int(x * okr + 0.5) / double(okr);

	return x;
}

bool diagonal(double a[10][10], int n)
{
	int i, j, k = 1;
	double sum;
	for (i = 0; i < n; i++) {
		sum = 0;
		for (j = 0; j < n; j++) sum += abs(a[i][j]);
		sum -= abs(a[i][i]);
		if (sum > a[i][i]) 
		{
			k = 0; 
			cout << a[i][i] << " < " << sum << endl;
		}
		else
		{
			cout << a[i][i] << " > " << sum << endl;
		}
		

	}

	return (k == 1);

}

int main()
{
	setlocale(LC_ALL, "");

	double eps, a[10][10], b[10], x[10], p[10];
	int n, i, j, m = 0;
	int method;
	cout << "Введите размер квадратной матрицы: ";
	cin >> n;
	cout << "Введите точность вычислений: ";
	cin >> eps;
	cout << "Заполните матрицу А: " << endl << endl;
	for (i = 0; i < n; i++)
		for (j = 0; j < n; j++)
		{
			cout << "A[" << i << "][" << j << "] = ";
			cin >> a[i][j];
		}
	cout << endl << endl;
	cout << "Ваша матрица А: " << endl << endl;
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < n; j++)
			cout << a[i][j] << " ";
		cout << endl;
	}

	cout << endl;

	cout << "Заполните столбец свободных членов: " << endl << endl;
	for (i = 0; i < n; i++)
	{
		cout << "В[" << i + 1 << "] = ";
		cin >> b[i];
	}

	cout << endl << endl;


	/*
	Ход метода, где:
	a[n][n] - Матрица коэффициентов
	x[n], p[n] - Текущее и предыдущее решения
	b[n] - Столбец правых частей
	Все перечисленные массивы вещественные и
	должны быть определены в основной программе,
	также в массив x[n] следует поместить начальное
	приближение столбца решений (например, все нули)
	*/

	for (int i = 0; i < n; i++)
		x[i] = 1;

	cout << "Диагональное преобладание: " << endl;
	if (diagonal(a, n)) {
		do
		{
			for (int i = 0; i < n; i++)
				p[i] = x[i];
			for (int i = 0; i < n; i++)
			{
				double var = 0;
				for (int j = 0; j < n; j++)
                    if(j!=i) var += (a[i][j] * x[j]);
				
				x[i] = (b[i] - var) / a[i][i];
			}
			m++;
		} while (!converge(x, p, n, eps));



		cout << "Решение системы:" << endl << endl;
		for (i = 0; i < n; i++) cout << "x" << i << " = " << okr(x[i], eps) << "" << endl;
		cout << "Итераций: " << m << endl;
	}
	else {
		cout << "Не выполняется преобладание диагоналей" << endl;
	}

	system("pause");
	return 0;
}

Пример реализации на Python

import numpy as np

def seidel(A, b, eps):
    n = len(A)
    x = np.zeros(n)  # zero vector

    converge = False
    while not converge:
        x_new = np.copy(x)
        for i in range(n):
            s1 = sum(A[i][j] * x_new[j] for j in range(i))
            s2 = sum(A[i][j] * x[j] for j in range(i + 1, n))
            x_new[i] = (b[i] - s1 - s2) / A[i][i]

        converge = np.linalg.norm(x_new - x) <= eps
        x = x_new

См. также

Примечания

Ссылки

Read other articles:

Manuel Kerhe Informasi pribadiNama lengkap Manuel KerheTanggal lahir 30 Mei 1987 (umur 36)Tempat lahir AustriaPosisi bermain GelandangInformasi klubKlub saat ini Wolfsberger ACNomor 3Karier senior*Tahun Tim Tampil (Gol)2007–2008 SV Bad Aussee 22 (1)2008–2009 SV Grödig 28 (0)2009– Wolfsberger AC 98 (9) * Penampilan dan gol di klub senior hanya dihitung dari liga domestik dan akurat per 14:47, 1 Agustus 2012 (UTC) Manuel Kerhe (lahir 30 Mei 1987) adalah pemain sepak bola asal ...

 

 

Cet article est une ébauche concernant le Concours Eurovision de la chanson et l’Arménie. Vous pouvez partager vos connaissances en l’améliorant (comment ?) ; pour plus d’indications, visitez le projet Eurovision. Arménieau Concours Eurovision 2013 Données clés Pays  Arménie Chanson Lonely Planet Interprète Dorians Compositeur Tony Iommi[1] Parolier Gor Soudjian Langue Anglais Sélection nationale Type de sélection Sélection interne (chanteur) /Émission télé...

 

 

Pembasuhan orang Etiopia (atau orang Moor) adalah salah satu Fabel Aesop dan diberi nomor 393 dalam Perry Index.[1] Fabel tersebut hanya ditemukan dalam sumber-sumber Yunani dan ketidakmungkinan dari upaya semacam itu dijadikan kesengajaan pada masa awal. Kisah tersebut beredar di Eropa pada zaman Renaisans yang tercantum dalam buku-buku emblem dan kemudian masuk budaya populer. Cerita tersebut sering kali dipakai untuk membenarkan sikap rasis. Fabel dan pengartiannya Ilustrasi Milo W...

Collection of stories by Larry Niven First edition (publ. Tor Books) Scatterbrain a collection of short stories, novel excerpts and essays by Larry Niven. It was published in 2003, as a sequel to N-Space and Playgrounds of the Mind. Contents Introduction: Where Do I Get My Crazy Ideas Destiny's Road (Excerpt from the novel) The Ringworld Throne (Excerpt from the novel) The Woman in Del Ray Crater Loki Procrustes Mars: Who Needs It? (Non-fiction for Space.com) How to Save Civilization and Sav...

 

 

District of Timișoara in RomaniaFabric Gyárváros (Hungarian)Fabrikstadt (German)Фабрик (Serbian)District of TimișoaraTrajan Square in FabricNickname: The merchants' district[1]Coordinates: 45°45′26″N 21°14′56″E / 45.75722°N 21.24889°E / 45.75722; 21.24889CountryRomaniaCountyTimișCityTimișoaraEstablished1744Founded byClaude Florimond de Mercy[2]Area[3] • Total10.17 km2 (3.93 sq mi) Fabric (H...

 

 

Manio Tullio LongoConsole della Repubblica romanaNome originaleManius Tullius Longus Morte500 a.C. GensTullia Consolato500 a.C. Manio Tullio Longo[1] (... – 500 a.C.) è stato uno dei primi consoli romani, eletto nel 500 a.C. assieme a Servio Sulpicio Camerino. Biografia Eletto nel 500 a.C. con Servio Sulpicio Camerino[2], fu uno dei primi consoli romani. Tito Livio ne descrive il consolato con una sola riga: (LA) «Consules Ser. Sulpicius M. Tullius: nihil dignum memor...

American auto racing team For this team's complete NASCAR history, see Chip Ganassi Racing (NASCAR). Chip Ganassi RacingOwner(s)Chip GanassiPrincipal(s)Mike Hull (IndyCar/IMSA)Dave Berkenfield (Extreme E)[1]BaseIndianapolis, IndianaSeriesIndyCar SeriesWeatherTech SportsCar ChampionshipFIA World Endurance ChampionshipRace driversIndyCar:4. Kyffin Simpson (R)8. Linus Lundqvist (R)9. Scott Dixon10. Álex Palou11. Marcus ArmstrongWeatherTech SportsCar Championship:01. Sébastien Bourdais ...

 

 

This article's lead section may be too short to adequately summarize the key points. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. (November 2021) City in Illinois, United StatesElmhurst, IllinoisCity FlagSealMottoes: Close to Everything, Unlike AnythingIdeal for your business, your family, your lifeLocation of Elmhurst in DuPage County, Illinois.Coordinates: 41°53′58″N 87°56′25″W / 41.89947°N 87.9...

 

 

Почтовая карточка Отрасль почта Заменил Offene Karte[d] Собрание работ Всемирный музей[1] и Netherlands Photo Museum[d][1]  Медиафайлы на Викискладе Односторонняя почтовая карточка с оригинальной маркой (Россия, 2006); номинал в 4 рубля 15 копеек соответствует тарифу 2006 года Почт...

Pour les articles homonymes, voir Brune. Charles BruneCharles Brune en 1952.FonctionsMinistre de l'IntérieurGouvernement René Mayer8 janvier - 21 mai 1953Charles BruneLéon Martinaud-DéplatMinistre de l'IntérieurGouvernement Antoine Pinay8 mars - 23 décembre 1952Charles BruneCharles BruneMinistre de l'IntérieurGouvernement Edgar Faure I20 janvier - 28 février 1952Charles BruneCharles BruneMinistre de l'IntérieurGouvernement René Pleven II11 août 1951 - 7 janvier 1952Henri QueuilleC...

 

 

2016年美國總統選舉 ← 2012 2016年11月8日 2020 → 538個選舉人團席位獲勝需270票民意調查投票率55.7%[1][2] ▲ 0.8 %   获提名人 唐納·川普 希拉莉·克林頓 政党 共和黨 民主党 家鄉州 紐約州 紐約州 竞选搭档 迈克·彭斯 蒂姆·凱恩 选举人票 304[3][4][註 1] 227[5] 胜出州/省 30 + 緬-2 20 + DC 民選得票 62,984,828[6] 65,853,514[6]...

 

 

The New York Times AlmanacCover of The New York Times Encyclopedia Almanac 1970EditorJohn W. Wright (1998–2011)PublisherThe New York Times (1969–1972, 1998–)Associated Press (1973–1975)CBS News (1976–1978)Hammond Almanac, Inc. (1979–1997)FounderThe New York TimesFounded1969Final issue2011CompanyThe New York TimesLanguageEnglishWebsitehttps://nytimesalmanac.com/ The New York Times Almanac (NYTA) was an almanac published in the United States.[1][2] There were two sep...

German footballer (born 1993) Nico Schulz Schulz with Germany in 2019Personal informationFull name Nico SchulzDate of birth (1993-04-01) 1 April 1993 (age 31)Place of birth Berlin, GermanyHeight 1.81 m (5 ft 11 in)[1]Position(s) Left-backYouth career BSC Rehberge Berlin2000–2010 Hertha BSCSenior career*Years Team Apps (Gls)2010–2012 Hertha BSC II 23 (0)2010–2015 Hertha BSC 92 (2)2015–2017 Borussia Mönchengladbach 13 (1)2017–2019 1899 Hoffenheim 57 (2)201...

 

 

Untruth propagated to strengthen social harmony This article contains too many or overly lengthy quotations. Please help summarize the quotations. Consider transferring direct quotations to Wikiquote or excerpts to Wikisource. (February 2024) P. Oxy. 3679, a manuscript from the 3rd century AD, containing fragments of Plato's Republic. In Plato's The Republic, a noble lie is a myth or a lie knowingly propagated by an elite to maintain social harmony.[1] Plato presented the noble lie (�...

 

 

Schools once meant for African Americans Part of a series onAfrican Americans History Periods Timeline Atlantic slave trade Abolitionism in the United States Slavery in the colonial history of the US Revolutionary War Antebellum period Slavery and military history during the Civil War Reconstruction era Politicians Juneteenth Civil rights movement (1865–1896) Jim Crow era (1896–1954) Civil rights movement (1954–1968) Black power movement Post–civil rights era Aspects Agriculture histo...

صخور كتلة الرئيسي للAvalonia من حيث صلتها السواحل الحديثة والحدود ولكن في المواقف النسبية كما كانت في نهاية الكربوني، قبل أن يفصل أوروبا وأمريكا الشمالية مرة أخرى. وترد أسماء بأشكالها الفرنسية. أفالونيا كانت قارة في حقب الحياة القديمة، من شظايا القشرة الأرضية من هذا الأولى تك...

 

 

اضغط هنا للاطلاع على كيفية قراءة التصنيف نبات وعائيالعصر: السيلوري–الآن قك ك أ س د ف بر ث ج ط ب ن المرتبة التصنيفية شعبة[1]  التصنيف العلمي النطاق: حقيقيات النوى المملكة: نباتات أصلية غير مصنف: نباتات خضراء غير مصنف: نباتات ملتوية غير مصنف: نباتات جنينية غير مصنف: نباتا...

 

 

Ukrainian actor and singer In this name that follows Eastern Slavic naming customs, the patronymic is Serhiiovych and the family name is Lohai. Artur LohaiLohai in 2015BornArtur Serhiiovych Lohai (1993-09-12) 12 September 1993 (age 30)Vesele, Zaporizhzhia Oblast, UkraineNationalityUkrainianOccupationsActorsingerYears active2014–presentKnown for Kiev Day and Night X Factor participant in Ukrainian version Spouse Yevheniia Lohai ​(m. 2018)​Chil...

1990 studio album by Jack DeJohnetteParallel RealitiesStudio album by Jack DeJohnetteReleased1990Recorded1990GenreJazz, jazz fusionLength53:59LabelMCAProducerJack DeJohnette, Pat MethenyJack DeJohnette chronology Audio-Visualscapes(1988) Parallel Realities(1990) Earthwalk(1991) Professional ratingsReview scoresSourceRatingAllmusic[1] Parallel Realities is an album by drummer Jack DeJohnette with guitarist Pat Metheny and pianist Herbie Hancock recorded in 1990 and released on ...

 

 

Questa voce o sezione deve essere rivista e aggiornata appena possibile. Sembra infatti che questa voce contenga informazioni superate e/o obsolete. Se puoi, contribuisci ad aggiornarla. FIBA Asia CupSport Pallacanestro FederazioneFIBA Asia, FIBA Oceania ContinenteAsia, Oceania OrganizzatoreFIBA Asia TitoloCampione d'Asia CadenzaBiennale (fino al 2017), Quadriennale Partecipanti16 Sito Internethttp://www.fibaasia.net/ StoriaFondazione1960 Detentore Australia Record vittorie Cina (16) Modific...