首页 > 其他分享 >循环矩阵行列式

循环矩阵行列式

时间:2023-07-07 22:22:35浏览次数:46  
标签:det 矩阵 cdots 循环 行列式 bmatrix 1f omega vdots

令 \(f(x)=a_0+a_1x+\cdots+a_{n-1}x^{n-1}\).

\[\begin{bmatrix} a_0 & a_1 & \cdots & a_{n-1}\\ a_{n-1} & a_0 & \cdots & a_{n-2}\\ \vdots & \vdots & \ddots & \vdots\\ a_1 & a_2 & \cdots & a_0 \end{bmatrix} \begin{bmatrix} 1 & 1 & \cdots & 1\\ 1 & \omega_n^1 & \cdots & \omega_n^{n-1}\\ \vdots & \vdots & \ddots & \vdots\\ 1 & \omega_n^{n-1} & \cdots & \omega_n^{(n-1)^2} \end{bmatrix} = \begin{bmatrix} 1f(1) & 1f(\omega_n^1) & \cdots & 1f(\omega_n^{n-1})\\ 1f(1) & \omega_n^1f(\omega_n^1) & \cdots & \omega_n^{n-1}f(\omega_n^{n-1})\\ \vdots & \vdots & \ddots & \vdots\\ 1f(1) & \omega_n^{n-1}f(\omega_n^1) & \cdots & \omega_n^{(n-1)^2}f(\omega_n^{n-1}) \end{bmatrix} \]

也就是将要求行列式的矩阵 \(A\) 乘上 dft 的那个范德蒙德矩阵 \(B\).

左右两边行列式:

\(LHS=\det(AB)=\det(A)\det(B)\)

\(RHS=\prod\limits_{i=0}^{n-1}f(\omega_n^i)\det(B)\)

而 \(\det(B)=\prod_{0\leq j<i<n}(\omega_n^i-\omega_n^j)\),由于 \(n\) 次单位根两两不同,这个值不为 \(0\),所以可以两边同时约去。

那我们所求的就是 \(\prod\limits_{i=0}^{n-1}f(\omega_n^i)\).

需要 Bluestein's Algorithm,这我还不会。

标签:det,矩阵,cdots,循环,行列式,bmatrix,1f,omega,vdots
From: https://www.cnblogs.com/do-while-true/p/17536188.html

相关文章

  • 2679. 矩阵中的和
    给你一个下标从0 开始的二维整数数组 nums 。一开始你的分数为 0 。你需要执行以下操作直到矩阵变为空:矩阵中每一行选取最大的一个数,并删除它。如果一行中有多个最大的数,选择任意一个并删除。在步骤1删除的所有数字中找到最大的一个数字,将它添加到你的分数 中。请你......
  • 多线程知识:三个线程如何交替打印ABC循环100次
    本文博主给大家讲解一道网上非常经典的多线程面试题目。关于三个线程如何交替打印ABC循环100次的问题。下文实现代码都基于Java代码在单个JVM内实现。问题描述给定三个线程,分别命名为A、B、C,要求这三个线程按照顺序交替打印ABC,每个字母打印100次,最终输出结果为:ABCABC.......
  • 循环产生若干个子进程
    #include<stdlib.h>#include<stdio.h>#include<unistd.h>intmain(){intn;scanf("%d",&n);//循环创建n个进程inti;for(i=0;i<n;i++){if(fork()==0){break;}}if(i==n){......
  • 终止forEach循环以及其他循环
    https://blog.csdn.net/qq_37899792/article/details/97117010https://blog.csdn.net/weixin_46369590/article/details/126820828......
  • 优化代码,满足条件时,立即跳出循环
    在做数组作业的过程中,遇到了一个问题,题目是定义一个数组其中包含多个数字。用自己的方式最终实现,奇数放在数组的左边,偶数放在数组的右边。(可以创建其他数组,不必须在原数组中改变)。如果创建其他数组的话,解题的方法当然就很简单了,创建一个新数组,奇数从前往后插入,偶数从后往前插入,核......
  • 循环语句 + else
    说明除了if可以跟else搭配使用,while、for也可以与else搭配使用,表示循环正常结束,后执行else语句。 while-else语法1while条件:2#循环体3#在这里执行需要重复的操作4else:5#循环条件为False时执行的代码在这个语法中:条件 是一个布尔表达式......
  • 循环语句for循环
    语法1for变量in可迭代对象:2#循环体3#在这里执行需要重复的操作在这个语法中:变量 是用于表示可迭代对象中的每个元素的临时变量名。在每次迭代时,变量将被赋值为可迭代对象的下一个元素。可迭代对象可以是列表、元组、字符串、字典或其他任何可迭代的数......
  • 【DSY 4484】矩阵 题解(带限错排)
    DSY传送门。(带限制)错排问题。神仙题。Solution根据题目的问法,发现我们只想统计比给定矩阵\(A\)小的矩阵,记这个矩阵为\(B\)。显然,\(B\)的第\(i\)行一定从某个位置开始小于\(A\)的第\(i\)行,且前面的内容和\(A\)都是一样的。所以我们只需要枚举这个“开始变小”......
  • 循环语句-while-练习题
    1'''2练习while循环3其实就是练习手感,不停的敲4'''56'''71.打印星号(三⻆形)8*9**10***11****12*****13找规律,弄懂需求:5行5列,只显示了column<=row。显示的内容是*14解决:2个循环搞定15'''1617row=118whi......
  • 小程序两层循环
    <viewwx:for="{{projectList}}"wx:key="index"class="list"bindtap="detail"data-id="{{item.project_id}}"><viewclass="flow_status_name_list"wx:for="{{item.classify_list}}&q......