Подкиньте идею, плз

Requiem

Member
Joined
Nov 15, 2023
Messages
94
Reaction score
21
Собственно есть след. задача:
Написать програмулинку, которая бы решала систему линейных алгебраических уравнений методом Якоби(простых итераций).
Саму прогу я уже написал вот функция, которая по сути и вычисляет одну итерацию:


private boolean do_iteration(EquationDataStore eq_data)
{
int i,j;
double sum;
boolean AllowedMiss=false;
int XNum=eq_data.getXNumber();
for (i=begin_x_index;i<=end_x_index;i++)
{
sum=eq_data.get_f(i);
for (j=0;j<=XNum-1;j++)
{
if (i!=j)
{
sum=sum-eq_data.geta(i,j)*eq_data.get_lastx(j);
}
NewXVector=sum/eq_data.geta(i,i);
}
if (Math.abs(Math.abs(NewXVector[i-begin_x_index])-Math.abs(eq_data.get_lastx(i)))<=eq_data.getEps())
{
AllowedMiss=true;
}
}
return AllowedMiss;
}



Все, вроде, работает, НО.
Чтобы протестировать работу программы на разных компах нужно задавать матрицы А размерностью хотябы 1000х1000.
Понятно, руками набивать матрицы такого размера не реально.
Написал генератор уравнений, который работает следующим образом:
1. Рандомом выбираем значение Х(i).
2. Рандомом выбираем значение A(i).
3. Суммируем значения X(i)*A(i) и получаем значение функции.

Но уже для уравнений размерностью 5х5 и более у нас почти со 100% вероятностью генерируется уравнение, при решении которого итерационный процесс расходится.

Вопрос: каким образом можно сгенерировать уравнение, при решении которого итерационный процесс не расходился бы?
Заранее благодарен.
 

Requiem

Member
Joined
Nov 15, 2023
Messages
94
Reaction score
21
Все, проблема решена.
Может, кому интересно: Итерационный процесс будет обязательно сходиться, если элементы матрицы, расположенные по главной диагонали будут больше, чем сумма остальных элементов, расположенных в данной строке.
Например, процесс будет сходиться, если A[4][4]>SUM(A[4]), i=1..n, i!=4;
 

pa-bil-sag

New member
Joined
Mar 26, 2014
Messages
4
Reaction score
0
not sure what you're looking for but I had an idea for a decentralized social media platform that rewards users in a new token for engaging in quality content. Would be dope if it could be blockchain-based and offer a more authentic experience. Thoughts?
 

Seawa987

New member
Joined
May 24, 2017
Messages
2
Reaction score
0
Нет проблем, ребята! У меня есть одна идея - создать децентрализованную платформу для создания и продажи NFT-артов, где художники могут напрямую общаться с фанатами и продавать свои работы без посредников. Это может помочь увеличить заработок художников и сделать индустрию более прозрачной.
 
Top