首页 > 其他分享 >线性变换相关

线性变换相关

时间:2023-02-18 09:44:36浏览次数:48  
标签:span 正交 FWT 异或 线性 相关 线性变换 向量

FWT

快速沃尔什变换,与 FFT 有极大相似之处。

用于做一类形如 \(F_c\sum_{a \oplus b=c}A_a\times B_b\) 的问题,其中 \(\oplus\) 是一种线性变换,即 \(a \oplus b\) 是将 \(a,b\) 两个二进制数的第 \(i\) 分别做变换 \(\oplus_i\)(一般是异或,与,或中的一种)。

做法和 FFT 类似,计算 \(A * B\) 只需要先 \(FWT(A),FWT(B)\) 然后将对应位的点值乘起来得到 \(C\),则 \(F=IFWT(C)\)。

证明懒得写。这玩意的本质是对于这种线性变换的每一位构造出一个变换矩阵,也就是按位独立。

所以可以只对部分位做,也可以对某一位做不同的运算。

板子

矩阵树定理+按位FWT

线性基/正交线性基

将若干个 \(k\) 位二进制数看成一堆 \(k\) 维向量,每维坐标取值只有 \(0,1\)。

定义向量加法 \(a+b\) 为不进位加法,即二进制下的异或。

则可以定义线性基 \(A\) 就是若干 \(k\) 维向量张成的线性空间 \(span(A)\),也就是任选向量做加法所能得到的向量的集合。

定义向量内积 \(a·b\) 为 \(popcount(a\&b)\mod 2\),则有结合律 \(w·(a+b)=w·a+w·b\)。

称两数 \(a,b\) 正交当且仅当 \(a·b=0\)。

这个结合律也可以用来证明 FWT 异或卷积。

线性基的秩:可以简单理解成构造出的线性基中插入的数的数量。

线性基的性质:对于线性基通过线性基中任意数异或得到的数 \(v\),有 \(2^{m-k}\) 种选子集异或和的方法得到,其中 \(m\) 是向量个数。

集合幂级数

可以看作二进制意义下的生成函数。

正交线性基

设 \(A\) 的正交线性基 \(A'\) 满足:\(span(A')\) 是 \(span(A)\) 的正交补空间,也即 \(span(A')\) 中所有数和 \(span(A)\) 中所有数正交。正交线性基满足:对于 \(n\) 维向量构成的秩为 \(k\) 的线性基 \(A\),其正交线性基 \(A'\) 的秩是 \(n-k\)。不难看出通过这一点,可以将复杂度优化成 \(2^{\frac{n}{2}}\)。

构造方法:首先正交线性基按每个数的最低二进制位存储,这些位恰好对应按高位存储的原线性基没有插入的几个位。对于一个最低位 \(i\),其第 \(j\) 位为 1 当且仅当原线性基中最高位是 \(j\) 的,第 \(i\) 位也是 1。不难发现构造复杂度 \(O(n^2)\)。

线性基求交(其实很直观):对于若干线性基求交,答案是这些线性基的正交线性基的并的正交线性基。

正交线性基性质:

对于线性基 \(A\),设其秩是 \(k\),设其集合幂级数=如下:若 \(u\subset span(A)\),则 \([x^u]A=1\),那么对 \(A\) 做 FWT 之后得到的 \(A_1\) 有什么性质?

结论是 \(A_1\) 的每个系数要么是 \(2^k\),要么是 \(0\),且满足 \([x^w]A_1=2^k\) 的 \(w\) 的所有取值就是 \(span(A')\),其中 \(A'\) 是 \(A\) 的正交线性基。

CF1336E1/2

标签:span,正交,FWT,异或,线性,相关,线性变换,向量
From: https://www.cnblogs.com/infinities/p/17131998.html

相关文章

  • VUE组件相关知识
    目录VUE组件/组件数据传递组件间数据传递父传子组件间数据传递子传父更方便的父子组件数据-ref(推荐)基础方法实现导航栏动态组件实现导航/和keep_alive方法keep_alive方......
  • 多项式相关算法学习笔记(持续更新)
    第一次用博客园写学习笔记,写的不好请见谅~欢迎各位OIer在评论区说一下自己对这篇博客的建议!有关多项式的基本概念对于求和式\(\suma_nx^n\),如果是有限项相加,称为多项......
  • 调度器30—调度相关结构体—p->flags
    一、PF_EXITING1.赋值路径各驱动和内核机制中直接调用SYSCALL_DEFINE1(exit,int,error_code)//exit.cdo_exit(code);//exit.cexit_signals(tsk);/......
  • 使用Python读取Excel中的数据并进行相关性分析
    在进行数据相关分析的时候,往往面对的是复杂所庞大的数据集,这个时候,Python所完成的脚本能够帮助你方便且快捷地整理很多数据!1.你所需要的第三方库在本次实验中,你所需要的......
  • c# 的网络请求相关类
    c#的请求类主要包括HttpWebRequest;WebClient;HttpClient,RestSharp,其中RestSharp是社区的网络请求方案,这里主要是讨论各自的特定HttpWebRequest这个类是.net比较早......
  • Java获取服务器相关信息
    Java获取服务器相关信息importcom.sun.management.OperatingSystemMXBean;importorg.springframework.util.ClassUtils;importjava.io.BufferedReader;importjava......
  • 随机森林算法相关研究安装
    Ubuntu中ssh、mysql、anaconda相关安装操作SSH服务安装1.安装ssh服务Ubuntu下安装OpenSSHServer是无比轻松的一件事情,需要的命令只有一条:sudoapt-getinstallopenssh......
  • 自举电路的说明及相关计算
    自举电路 说起自举电路估计离不开mos管,先来了解一下MOS管,MOS有N沟道和P沟道之分。对于N沟道的MOS管,导通时需要Ugs>Ugs(th),P沟道则相反,Ugs<Ugs(th)时导通。下面来看看P沟......
  • 算法17:堆结构_相关面试题
    什么是堆结构1)堆结构就是用数组实现的完全二叉树结构2)完全二叉树中如果每棵子树的最大值都在顶部就是大根堆3)完全二叉树中如果每棵子树的最小值都在顶部就是小根堆4)堆结构......
  • [20230214]访问asm相关视图缓慢的分析2.txt
    [20230214]访问asm相关视图缓慢的分析2.txt--//前段时间做awr信息删除时看到的情况,当时主要精力放在整理awr信息上,对于遇到的问题放在一边,等到我想分析时,--//crscrash......