- •1Графика
- •1.1Алгоритм Сазерленда-Кохена, отсечение отрезка прямоугольным окном
- •1.2Алгоритм Лианга-Барски, отсечение отрезка прямоугольным окном
- •2Представление разреженных матриц.
- •2.1Форматы представления разреженных матриц
- •2.2Конвертация разреженной матрицы из нормальной формы в формат rr(c)o
- •2.3Конвертация разреженной матрицы, представленной в формате rr(c)u в нормальную форму
- •2.4Транспонирование разреженной матрицы, заданной в формате rr(c)u
- •2.5Сложение двух матриц, заданных в формате rr(c)u.(1-й способ)
- •2.6Сложение двух матриц, заданных в формате rr(c)u.(2-й способ)
- •2.7Умножение двух матриц, заданных в формате rr(c)u.(1-й способ)
- •2.8Умножение двух матриц, заданных в формате rr(c)u.(2-й способ)
- •3Интегральные уравнения.
- •3.1Введение
- •3.2Уравнение Вольтерра первого рода
- •3.3Линейное уравнение Вольтерра второго рода
- •3.4Уравнение Фредгольма второго рода
- •4Методы оптимизации
- •4.1Метод наискорейшего спуска
- •4.2Минимизация функции многих переменных методом конфигураций
- •5Теория графов
- •5.1Способы задания графа
- •5.2Путь с минимальным количеством промежуточных вершин.(волновой алгоритм)
- •5.3Путь минимальной суммарной длины во взвешенном графе с произвольными весами для всех пар вершин.(алгоритм Флойда)
- •5.4Нахождение k путей минимальной суммарной длины во взвешенном графе с неотрицательными весами.(Алгоритм Йена)
- •5.5Построения минимального остовного дерева (Алгоритм Краскала)
- •6Сетевое программирование
2.7Умножение двух матриц, заданных в формате rr(c)u.(1-й способ)
Алгоритм перемножает матрицы A размера n*m и B (m*q), заданные в формате RR(C)U и результат помещает в матрицу C. На вход подаются переменные n,m,q - соответствeющие размерности матриц, IA,JA,AN - массивы используемые в представлении RR(C)U матрицы A. IB,JB,AB - массивы используемые в представлении RR(C)U матрицы B. На выходе получаем массивы IC,JC,CN содержащий искомую матрицу в форме RR(C)U.
Известно, что элементы матрицы С получаются по формулам:
сik=ai1b1k+...+aimbmk для i=1..n;k=1..q
Эта формула выражает элемент ci k как скалярное произведение i-й строки матрицы A на k- й столбец матрицы B. Однако поскольку матрица B задана строчным форматом, то к ее столбцам нет непосредственного доступа. Эту трудность можно обойти измененив порядок вычислений попарных произведений. При вычислении cik: при фиксированных i и j элемент ai j умножается на все элементы bjk j -й строки матрицы B; полученные произведения прибавляются к соответствующим компонентам вещественного вспомогательного массива X, начальные значения которых равны нулю. Когда таким образом обработаны все элементы i-й строки матрицы A, массив X содержит полную i-ю строку матрицы C.
Как и в первом способе сложения матриц данный алгоритм вначале вычисляет портрет результирующей матрицы C, а затем заполняет массив CN соответствующими значениями элементов. В связи с этим возможна ситуация (она даже более вероятна, чем при сложении), когда в массиве CN появятся нулевые элементы, чтобы исключить такую неприятность используйте второй способ умножения.
Результирующая матрица представлена в формате RR(C)U, т.е. неупорядоченная по столбцам.
2.8Умножение двух матриц, заданных в формате rr(c)u.(2-й способ)
Алгоритм перемножает матрицы A размера n*m и B (m*q), заданные в формате RR(C)U и результат помещает в матрицу C, описание формата RR(C)U есть в статье о разреженных матрицах. На вход подаются переменные n,m,q - соответствeющие размерности матриц, IA,JA,AN - массивы используемые в представлении RR(C)U матрицы A. IB,JB,AB - массивы используемые в представлении RR(C)U матрицы B. На выходе получаем массивы IC,JC,CN содержащий искомую матрицу в форме RR(C)U.
Принципиально алгоритм основан на тех же соображениях, что и предыдущий, однако данный алгоритм заполняет массивы IC,JC,NC за один проход, к тому же он не допускает появления в массиве CN нулевых элементов.
Результирующая матрица представлена в формате RR(C)U, т.е. неупорядоченная по столбцам.
3Интегральные уравнения.
3.1Введение
Интегральными уравнениями называются функциональные уравнения, содержащие интегральные преобразования над неизвестной функцией y(x). Интегральное уравнение называется однородным, если ay(x) есть решение уравнения для произвольного a. Линейное интегральное уравнение в общем виде может быть представлено:
где k(x,s)- ядро интегрального преобразования, правая часть f(x) и g(x) являются заданными функциями, a - параметр уравнения. Область интегрирования V может быть фиксированной (интегральные уравнения типа фредгольмовых) или переменной (интегралные уравнения типа вольтерровых).
Линейное интегральное уравнение первого рода получается при g(x)=0, a=-1 и имеет вид:
Однородное линейное интегральное уравнение второго рода получается при f(x)=0,g(x)=1 и имеет вид:
Неоднородное интегральное уравнение второго рода получается при g(x)=1 и имеет вид
Уравнения вида
являются неоднородными.