Количество простых узлов с n пересечениями

9

Премьер узел является:

нетривиальный узел, который не может быть записан как сумма узлов двух нетривиальных узлов.

Объяснение суммы узлов : поместите два узла рядом,

введите описание изображения здесь

... затем проведите две линии между ними, к одной и той же нити с каждой стороны, и удалите часть между линиями, которые вы только что нарисовали. Эта композиция из двух узлов образует новый, не простой узел.

введите описание изображения здесь

Вот все простые узлы с 7 или менее пересечениями (Unknot не простое):

введите описание изображения здесь

Вам необходимо вывести количество уникальных простых узлов для заданного количества пересечений.

1   0
2   0
3   1
4   1
5   2
6   3
7   7
8   21
9   49
10  165
11  552
12  2176
13  9988
14  46972
15  253293
16  1388705

Я не думаю, что значения известны для входных данных, больших, чем 16если бы, но при наличии таких входных данных ваш код должен был бы найти правильный результат при достаточном времени.

OEIS - A002863

mbomb007
источник
1
Возможно, кто-то найдет эту библиотеку Mathematica полезной.
mbomb007

Ответы:

2

Mathematica + KnotTheory` , 13 байтов

NumberOfKnots

Я не знал, что эта встроенная функция существует, когда я прокомментировал, что пакет может быть полезен. Все остальные имели равные шансы найти его, так как я прокомментировал библиотеку. Я нашел это в списке слегка документированных функций . Тем не менее, я не приму этот ответ, так как я хочу видеть ответы других людей.

mbomb007
источник
1
Учитывая, что документация очень плохая, вы уверены, что это работает для чисел больше 16?
Специальный охотник за
@WheatWizard Нет, я не знаю, как сказать. Это займет слишком много времени, чтобы дойти до завершения. Есть ли способ узнать, как это реализовано?
mbomb007 22.12.16
1
Вы пытались запустить его? Это может просто вернуть ошибку. Я не могу запустить Mathematica прямо сейчас, но я бы проверил, останавливается ли он, когда вы пытаетесь запустить его.
Специальный охотник за
@WheatWizard Я тоже не могу проверить. Дай мне знать, если попробуешь.
mbomb007
Я немного просмотрел исходный код, искал его, но не нашел определения. Репозиторий общедоступен. katlas.math.toronto.edu/svn/KnotTheory/trunk/KnotTheory
mbomb007