Обновить
5
0

программист

Отправить сообщение

Моя теория множеств на языке С++

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.7K

 Все теории множеств, о которых я читал, мне не нравились по разным причинам, но в основном из-за того, что у них были различные типы бесконечностей ( счётная, континуум и т.д. ). Поэтому я решил создать свою теорию с одним типом бесконечности. К тому же появилась идея изложить её при помощи языка С++. Для программистов это будет нагляднее, чем на языке логики. Конечно, это не полная теория, а набор отдельных положений представляющих общую идею.

Читать далее

Медианы чисел

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.9K

Пусть дано нечётное количество чисел. Обозначим его через n = 2k + 1. Будем считать, что все числа разные. Медианой считается то число из них, для которого есть k чисел меньше его и k чисел больше. Далее будут рассматриваться алгоритмы поиска медиан при небольших значений n.

Читать далее

Интересное равенство с двойными суммами

Уровень сложностиСредний
Время на прочтение1 мин
Количество просмотров2.9K

Это равенство интересно тем, что выражения слева и справа отличаются верхними пределами суммирования. Слева стоят бесконечные суммы, справа - конечные. Тем не менее, эти выражения равны при любых действительных x и целых неотрицательных n.
Докажем это.

Читать далее

Параметрические сплайны на плоскости

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.6K

Рассмотрим задачу: на плоскости дан набор точек и по ним надо, при помощи параметрических сплайнов, построить кривую ( замкнутую или незамкнутую ).
Обычно в таких случаях применяют кубические сплайны, я же рекомендую квадратичные, как более простые.

Читать далее

Увеличение лидирующих нулей в симметричной разреженной матрице

Уровень сложностиСложный
Время на прочтение6 мин
Количество просмотров1.1K

В предыдущей статье было показано, что при решении СЛАУ с симметричной разреженной матрицей наличие лидирующих нулей приводит к уменьшению количества вычислений. В этой статье будет представлен алгоритм, предназначенный для увеличения количества лидирующих нулей данной матрицы. Если переставить i-ую и j-ую строки, а также i-ый и j-ый столбцы, то матрица останется симметричной. Такие перестановки называют симметричными. Они могут менять количество лидирующих нулей и, если их правильно применять, то количество лидирующих нулей можно увеличить. Другими словами, нам надо сделать так, чтобы все ненулевые члены по возможности находились возле главной диагонали. В частности, если известно, что матрица - ленточная, то делать ничего не надо.

Предлагается следующий алгоритм.

Вначале выбираем столбец ( или строку, что неважно, так как матрица симметричная ) с минимальным числом ненулевых элементов. Если таких столбцов несколько, то выбирается какой-то из них. При помощи симметричной перестановки делаем этот столбец первым.

Таким образом количество нулей в этом столбце будет максимальным. Далее строки в которых были не нули игнорируем. Находим столбец с минимальным числом ненулевых элементов без учёта этих строк и делаем его следующим. И так далее пока не пройдём всю матрицу.

Ниже помимо краткого текстового описания программы приводится много кода на С++, который сам по себе является точным описанием алгоритма.

Читать далее

Решение СЛАУ с симметричной разреженной матрицей

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.3K

В этой статье мы будем рассматривать решения СЛАУ вида Ax = b, где A - симметричная разреженная матрица. Такие матрицы появляются, например, при решении задач методом наименьших квадратов. Для симметричных СЛАУ разработаны специальные методы, такие, как метод Холецкого и LDLT разложение. Так как первый из них применим к более узкому классу матриц, чем второй, поэтому далее будем рассматривать только LDLT разложение, хотя выводы этой статьи применимы к обоим методам.

Читать далее

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Десктоп разработчик