最近在看CKKS方案,里面的编码/解码用到了n次单位根,感觉基于环上的加密,很多都会用到,现在系统的学习一下!

定义

先看定义:

\[z^n=1,(n=1,2,3,...)
\]

该方程的根z为n次单位根,就是说这些根是复数!

简单说:n次方根,就是多项式\(x^n-1\)或方程\(x^n-1=0\)在复数域内的n个不同的根,简称单位根

具体来讲,单位根有n次根的有n个:$$z_i=e^{2\pi ki/n },(k=0,1,2,..,n-1)$$

复数域内:$$x_k=cos(2k\pi/n)+sin(2k\pi/n)I,(k=0,1,2,..,n-1),i是虚数单位$$

举个例子:

其中提到了“本源根”,后面再去单独介绍!

性质

1、对于方程\(x^n-1=0\),不同的我单位根只有n个

例如:取k=0,1,2,..,n-1,就得到n个不同的n次单位根

取\(k=q*n+m,(q\in \mathbb{Z}^+,m=(0,1,...,n-1))\)时,\(x_k=x_{q*n+m}=x_m\)

2、n次单位根的模为1,即\(|x_k|=1\)

3、两个n次单位根(\(x_i,x_j\))的乘积,仍是一个n次单位根\(w_i*w_j=W_{i+j}\),则:

(1)\((x_i)^{-1}=x_{-I}\)

(2)\((x_m)^{k}=x_{m*k}\),(m,k是任意整数,当k=0时,\((x_m)^{0}=1=x_{0}\))

(3)\(x_{m}=x_l\):需要gcd(m,l)=1

(4)任何一个单位根都可以写为\(x_0\)的幂,如\(x_m=(x_1)^m\),这种根叫做n次本原单位根,简称n次原根或原根。当p和n互素且\(1 \leqslant p < n\)时,\(x_1^p\)都是n次本原单位根

(5)一个n次单位根的共轭复数也是一个n次单位根,记 \(\overline{x}=x_{n-m}\)

(6)对于任意的l和r,都有\((x_i)^r=(x_r)^l\)

(7)若a是整数,则

\[1+x_1^a+x_2^a+...+x_{n-1}^a=\left\{\begin{matrix}
\\n,gcd(a,n)=1
\\
\\
\\0,gcd(a,n)\neq 1
\end{matrix}\right.\]

(8)全部单位根把复数平面的单位圆周(|z|=1)n等分了,构成了外接圆半径为1的正n边形的顶点,其中一个顶点为 \(x_0(1,0)\)

举例:

n次单位根(n-th unit root)的更多相关文章

  1. Unable to resolve persistence unit root URL

    异常信息 时间:2017-03-07 11:46:05,516 - 级别:[ WARN] - 消息: [other] The web application [ROOT] appears to hav ...

  2. DFT/FFT/NTT

    在Seal库和HElib库中都用到了NTT技术,用于加快多项式计算,而NTT又是FFT的优化,FFT又来自于DFT,现在具体学习一下这三个技术! 基础概念 名词区分 1.DFT:离散傅立叶变换 2.F ...

  3. 计量经济与时间序列_ADF单位根检验步骤

    1 ADF检验也叫扩展的迪克富勒检验,主要作用是检测序列的平稳性,也是最常用检测序列平稳性的检验方法. 2 何为:平稳性?单位根?(略),见这部分随便的其他内容有讲解.是建模对数据的先决条件. 3 A ...

  4. nginx unit PHP

    2018-12-26 14:20:33 星期三 综述: nginx unit php 的关系: nginx -> 转发请求到 8300端口 -> unit 转发 8300 收到的请求 -& ...

  5. Systemd unit generators unit

    systemd.generator(7) - Linux manual page http://man7.org/linux/man-pages/man7/systemd.generator.7.ht ...

  6. python时间序列分析

              题记:毕业一年多天天coding,好久没写paper了.在这动荡的日子里,也希望写点东西让自己静一静.恰好前段时间用python做了一点时间序列方面的东西,有一丁点心得体会想和大家 ...

  7. spring boot 部署为jar

    前言 一直在ide中敲代码,使用命令行mvn spring-boot:run或者gradlew bootRun来运行spring boot项目.想来放到prod上面也应该很简单.然而今天试了下,各种问 ...

  8. POJ 3342 - Party at Hali-Bula 树型DP+最优解唯一性判断

    好久没写树型dp了...以前都是先找到叶子节点.用队列维护来做的...这次学着vector动态数组+DFS回朔的方法..感觉思路更加的清晰... 关于题目的第一问...能邀请到的最多人数..so ea ...

  9. 概率论:假设检验-t检验和Augmented Dickey–Fuller test

    http://blog.csdn.net/pipisorry/article/details/51184556 T检验 T检验,亦称student t检验(Student's t test),学生t检 ...

随机推荐

  1. Centos更换阿里云源

    1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS-Base ...

  2. 【Java】代码块

    代码块 代码块的作用:用来初始化类.对象 代码块如果有修饰的话,只能使用static 分类:静态代码块.非静态代码块 静态代码块 static{ } 内部可以有输出语句 随着类的加载而执行,而且只执行 ...

  3. Rancher Fleet使用教程

    官方文档: https://fleet.rancher.io/ https://github.com/rancher/fleet 博客截止日期为:20201204 当前官网版本为v0.3.0,但在实践 ...

  4. JSON串、JSON对象、Java对象的相互转换

    对象类型转换2: com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串.JSON对象,JSON串转成java对象.JSON对象,JSO ...

  5. Servlet Filter(过滤器)

    Servlet Filter 又称 Servlet 过滤器,它是在 Servlet 2.3 规范中定义的,能够对 Servlet 容器传给 Web 资源的 request 对象和 response 对 ...

  6. 3D建模服务提供更高效、专业的能力,“筑”力开发者

    3D建模服务(3D Modeling Kit)是HMS Core在图形图像领域又一技术开放.3D建模产品的定位就是要做快速.简洁.低成本的3D制作能力,并陆续开放给有3D模型.动画游戏制作等能力诉求的 ...

  7. 不难懂——th: 的常用标签

    关键字>       功能介绍    >      案例 th:id 替换id <input th:id="'xxx' + ${collect.id}"/> ...

  8. 【webpack4.0】---webpack的基本使用(一)

    一.初识webpack 1.什么是webpack? WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss ...

  9. Clang-Format 个人常用配置

    Clang-Format 个人常用配置 本文记录 Clang-Format 个人常用配置. 欲了解更多配置选项,可查阅 官方文档. BasedOnStyle: Google AccessModifie ...

  10. Kubernetes的Controller进阶(十二)

    一.Controller 既然学习了Pod进阶,对于管理Pod的Controller肯定也要进阶一下,之前我们已经学习过的Controller有RC.RS和Deployment,除此之外还有吗,如果感 ...