Свертка Дирихля является особым видом свертка , который выглядит как очень полезным инструмент в теории чисел. Он действует на множестве арифметических функций .
Вызов
Для двух арифметических функций (т.е. функций ) вычисляется свертка Дирихле как определено ниже.
Детали
- Мы используем соглашение .
- Свертка Дирихле двух арифметических функций снова является арифметической функцией, и она определяется как(Обе суммы эквивалентны. Выражение означает делит , поэтому суммирование производится по натуральным делителям числа . Аналогично мы можем заменитьи мы получаем вторую эквивалентную формулировку. Если вы не привыкли к этой нотации, ниже приведен пошаговый пример.) Просто для уточнения (это не имеет непосредственного отношения к этой задаче): определение исходит из вычисления произведения ряда Дирихле :
- Ввод дается в виде двух функций черного ящика . В качестве альтернативы, вы также можете использовать бесконечный список, генератор, поток или что-то подобное, что может привести к неограниченному количеству значений.
- Есть два метода вывода: либо возвращается функция , либо вы можете взять дополнительный вход и вернуть напрямую.
- Для простоты вы можете предположить, что каждый элемент может быть представлен, например, с помощью положительного 32-битного целого числа.
- Для простоты вы также можете предположить, что каждая запись может быть представлена, например, одним действительным числом с плавающей запятой.
Примеры
Давайте сначала определим несколько функций. Обратите внимание, что список чисел под каждым определением представляет первые несколько значений этой функции.
- мультипликативная идентичность ( A000007 )
case
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
- постоянная единичная функция ( A000012 )
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
- функция тождества ( A000027 )
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, ...
- функция Мёбиуса ( A008683 )
1, -1, -1, 0, -1, 1, -1, 0, 0, 1, -1, 0, -1, 1, 1, 0, -1, 0, -1, ...
- функция Эйлера ( A000010 )
1, 1, 2, 2, 4, 2, 6, 4, 6, 4, 10, 4, 12, 6, 8, 8, 16, 6, 18, 8, ...
- функция Лиувилля ( A008836 )
где - число простых множителей подсчитанных с кратностью
1, -1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, 1, 1, 1, -1, -1, -1, ...
- функция суммы делителей ( A000203 )
1, 3, 4, 7, 6, 12, 8, 15, 13, 18, 12, 28, 14, 24, 24, 31, 18, 39, 20, ...
- функция подсчета делителей ( A000005 )
1, 2, 2, 3, 2, 4, 2, 4, 3, 4, 2, 6, 2, 4, 4, 5, 2, 6, 2, 6, 4, 4, 2, 8, ...
- характеристическая функция квадратных чисел ( A010052 )
1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, ...
Тогда у нас есть следующие примеры:
- и
- и
- и
- и
Последнее для является следствием инверсии Мёбиуса : для любого уравнение эквивалентно .
Шаг за шагом Пример
Это пример, который вычисляется шаг за шагом для тех, кто не знаком с обозначениями, используемыми в определении. Рассмотрим функции и . Теперь оценим их свертку при . Их первые несколько терминов перечислены в таблице ниже.
Сумма повторяется по всем натуральным числам которые делят , поэтому принимает все натуральные делители числа . Это . В каждом слагаемом мы оцениваем при и умножаем его на вычисленный при . Теперь мы можем сделать вывод
fun
?