Библиотека матричных вычислений
Приветствуем всех!
Это работа одного из наших посетителей которая около двух недель лежала у нас на винте, уже много времени хотели её выложить но никак не получалось, то одно то другое. Но наконец добрались и выложили:
Сама работа — библиотека матричных вычислений. Может сильно облегчить работу всем кто с ними связан. Язык реализации С#.
( стол компьютерный купить)
Матричные вычисления используются практически везде, даже в отображении 3х мерного пространства на плоскость матрицы преобразования координат. Автор частенько использует эту библиотеку для работы с линейными кодами, такими как коды Хэмминга к примеру.
Вот исходники с подробными комментариями: скачать исходники
Библиотека включающая в себя класс матрицы, с возможностью использования основных алгебраических операций, как сложение матриц, умножение, вычисление определителя и другие.
Данный класс можно использовать для решения многих задач, не требующих особой точности.
Примером одной из таких задач может быть обыкновенная система уравнений
x+y+3z=11
x-2y+2z=4
x+y=8
x+y+z=9
Зададим матрицу данной системы
1 1 3 11
1 -2 2 4
1 1 0 8
1 1 1 9
Далее приведём матрицу к треугольному виду ,методом triangle
Треугольный вид будет следующий :
1 1 3 11
0 -3 -1 -7
0 0 -3-3
0 0 0 0
Откуда выписал систему :
x+y+3z=11
-3y-z=-7
-3z=-3
0=0
Последнее равенство не учитывается, так как в нём сокращены все коэффициенты
В итоге z=1,y=2,x=6
0=0 означает, что решение существует, для данной квадратной матрицы. Если же мы получим 0=2 или что-то подобное, то очевидно решения нет, так как все преобразования матрицы ,это сложение и вычитание строк. Такая ситуация может возникнуть например при условии :
x+y=1;
2x+2y=1;
Очевидно
-x-y+2x+2y=0;
это x+y=0
Что противоречит условию.
Это один из простых примеров использования данного класса, примеров же можно привести очень много. Как преобразование координат для проекции трёхмерного пространства на плоскость , используя перемножение матриц ,так и другие.
Автор:Владислав Рулинский
VK: vk.com/defit
С уважением, Центр Программирования Артёма Кашеварова.
Понравилась статья? Жми: | Поделиться в соц. сетях |