Угу, линейная алгебра и что-то с вероятностями.
Алгоритм такой.
Первый этап: проверка |t-E| = 0
Равенство wt=w равносильно:
w(t-E) = 0, где Е - единичная матрица
Поскольку вектор w ненулевой, равенство выполняется только при условии, что определитель:
|t-E| = 0
(Т.о., необходима подпрограмма для вычисления определителя.)
В данном случае из исходной матрицы получаем:
-0,5; 0,5; 0
0,1; -0,9; 0,8
0; 0,7; -0,7
Определитель равен 0. Можно переходить ко второму этапу
(Если определитель не равен 0, выводим сообщение, что вектора w не существует. End)
*****************************
Второй этап: решение системы
Определитель равен 0, значит система из трех первых уравнений избыточна. Отбрасываем одно из них (по вкусу). При размерностях n>3 поступаем так же - отбрасываем одно из первых n уравнений.
Решаем оставшуюся систему.
(Для небольших размерностей - методом Крамера, используя все ту же подпрограмму для вычисления определителя)
В данном случае отбросим первое уравнение и решаем:
0,1x-0,9у+0,8z=0
0x+0,7y-0,7z=0
x+y+z=1
Решение: x=y=z = 1/3, т.е w = (1/3;1/3;1/3)
Условие нормировки выполнено, поскольку мы его включили в систему.