2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3, 4  След.
 
 Перманент матрицы
Сообщение03.07.2023, 14:44 
Аватара пользователя


22/11/13
502
Дана матрица $n\times n$ с элементами $a_{i,j}=\min(i,j)$. Пусть также $b(n)$ - перманент данной матрицы.

Задача: написать алгоритм и вычислить первые $500$ значений $b(n)$.

Ограничения: алгоритм должен вычислять вышеуказанное количество членов максимум за минуту.

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение03.07.2023, 17:24 


18/09/21
1685
A204262

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 08:53 


23/02/12
3146
kthxbye в сообщении #1599718 писал(а):
Ограничения: алгоритм должен вычислять вышеуказанное количество членов максимум за минуту.
Это ограничения не для алгоритма, а для вычислительной программы и производительности компьютера.

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 11:43 
Аватара пользователя


22/11/13
502
zykov, все верно, это та самая последовательность. Эффективных алгоритмов там пока нет.

vicvolf, вы правы. Я плохо знаком с нотацией "О" большое, иначе сразу бы указал сложность, соответствующую моему алгоритму. Википедия говорит, что по формуле Райзера лучший результат, который можно достичь это $O(2^n n)$. Тогда решением можно считать вычисление за меньшее время. Если таковое будет найдено, я сразу же поделюсь своим.

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 12:29 
Заслуженный участник
Аватара пользователя


01/09/13
4322
Кстати, а сколько цифр в числе $b(500)$?

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 12:50 
Заслуженный участник
Аватара пользователя


16/07/14
8488
Цюрих
У нас $500!$ слагаемых, каждое не меньше чем $1^2 \cdot 2^2 \cdot \ldots 250^2$ и не больше чем $500!$. Чуть больше $2000$ десятичных разрядов выходит.

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 13:23 
Аватара пользователя


22/11/13
502
Geen в сообщении #1599785 писал(а):
Кстати, а сколько цифр в числе $b(500)$?

Судя по всему $2172$.

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 14:11 


05/09/16
11548
zykov в сообщении #1599730 писал(а):

Там программа на pari устарела.
Их текст:
a(n)={my(S, z, v=vector(n)); for(i=0, n!-1, v=numtoperm(n, i); z=1; for(j=1, n, z*= n+1-max(j, v[j])); S+=z); return(S)}
"Прямой" текст
b(n)=matpermanent(matrix(n,n,i,j,min(i,j)))
Считает немного быстрее (на несколько порядков), но не так, чтобы удовлетворить запрос ТС о минуте.
Текст из oeis в минуту укладывается максимум $b(10)$; "прямой" текст за минуту считает максимум $b(26)$
Судя по всему, ТС намекает что вычисляться может рекурсивно как-то, раз он просит за минуту вычислить не $b(500)$ а все $b(n)$ от $n=1$ до $n=500$.

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 15:07 
Аватара пользователя


22/11/13
502
wrest в сообщении #1599797 писал(а):
b(n)=matpermanent(matrix(n,n,i,j,min(i,j)))

Аналогичный код можно обнаружить в A204256.

wrest в сообщении #1599797 писал(а):
Судя по всему, ТС намекает что вычисляться может рекурсивно как-то, раз он просит за минуту вычислить не $b(500)$ а все $b(n)$ от $n=1$ до $n=500$.

Верное предположение.

Кстати, я тут заглянул в англоязычную Википедию, там оценка чуточку отличается. Следовательно отмечу, что формулу Райзера предлагать не надо, ровно как и любую из формул товарищей Balasubramanian–Bax–Franklin–Glynn.

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 16:22 


05/09/16
11548
kthxbye в сообщении #1599808 писал(а):
Следовательно отмечу, что формулу Райзера предлагать не надо,

Ну ясно, именно по ней matpermanent() и считает, за минуту до $b(30)$ там не добраться даже...

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 16:42 
Заслуженный участник


12/08/10
1629
Пусть $f_{n,l}(x)$ - определитель матрицы $n\times n$
$$c_{i,j}=\begin{cases}
\min(i,j),&\text{если $\min(i,j)\le l$;}\\
x,&\text{если $\min(i,j)> l$;}\
\end{cases}$$
Тогда
1.$f_{n,l}(l)=f_{n,l-1}(l)$
2.$f'_{n,l}(x)=(n-l)^2f_{n-1,l}(x)$
3. $f_{n,0}(x)=n!x^n$
4. $f'_{n,n-1}(x)=f_{n-1,n-2}(n-1)$
можно считать многочлены $f_{n,l}(x)$ в явном виде.
$b(n)=f_{n,n-1}(n)$

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 17:17 
Модератор
Аватара пользователя


11/01/06
5660
Null, добавьте плз эту формулу в A204262, а также желательно и b-file с 100 (или 1000) членов.

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 17:36 


05/09/16
11548
Null в сообщении #1599814 писал(а):
Пусть $f_{n,l}(x)$ - определитель матрицы $n\times n$
$$c_{i,j}=\begin{cases}
\min(i,j),&\text{если $\min(i,j)\le l$;}\\
x,&\text{если $\min(i,j)> l$;}\
\end{cases}$$

Хотелось бы уточнить нотацию.
Допустим, $n=4,l=3,x=4$, тогда соответствующая матрица будет
1 1 1 1
1 2 2 2
1 2 3 3
1 2 3 4

Верно? И её определитель $f_{4,3}(4)=1$
Если я правильно понял нотацию, то $f_{n,n-1}(n) \equiv 1$ т.к. это как раз та матрица, перманент которой считает ТС, а её определитель равен единице всегда...

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 17:47 
Аватара пользователя


22/11/13
502
Null, благодарю за комментарий! Вы не могли бы уточнить как вычисляется ваша функция? Ну т.е. каковы формулы для базовых и общего случая. А то я совсем не не совсем понимаю.

 Профиль  
                  
 
 Re: Перманент матрицы
Сообщение04.07.2023, 18:09 
Заслуженный участник


12/08/10
1629
wrest в сообщении #1599829 писал(а):
И её определитель

Имеется в виду перманент.

-- Вт июл 04, 2023 18:12:07 --

maxal, нужно чтобы кто-нибудь проверил хотя-бы.

-- Вт июл 04, 2023 18:35:10 --

$f_{1,0}(x)=x, f_{1,1}(x)=1$
$f_{2,0}(x)=2x^2, f_{2,1}(x)=x+1, f(2,2)(x)=3$
$f_{3,0}(x)=Prem\left( \begin{array}{ccc}
x & x& x\\
x & x &x \\
x & x &x 
\end{array}\right)=6x^3$
$f_{3,1}(x)=Prem\left( \begin{array}{ccc}
1 & 1& 1\\
1 & x &x \\
1 & x &x 
\end{array}\right)=\int 2^2 f_{2,1}(x)dx+C=2x^2+4x+C$
C учетом $f_{3,1}(1)=f_{3,0}(1)$ получим $C=0$
$f_{3,2}(x)=Prem\left( \begin{array}{ccc}
1 & 1& 1\\
1 & 2 &2 \\
1 & 2 &x 
\end{array}\right)=\int 1^2 f_{2,2}(x)dx+C=3x+C$
C учетом $f_{3,2}(2)=f_{3,1}(2)$ получим $C=10$
$f_{3,3}(x)=Prem\left( \begin{array}{ccc}
1 & 1& 1\\
1 & 2 &2 \\
1 & 2 &3 
\end{array}\right)=f_{3,2}(3)=19$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу 1, 2, 3, 4  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group