当前位置: 首页 > news >正文

【数论4】求解线性同余方程和方程组

目录

前言

线性同余方程

扩展欧几里得算法求逆元

中国剩余定理


前言

今天要讲的内容是扩展欧几里得定理的简单应用(求解线性同余方程),中国剩余定理(多元线性同余方程组求解)


线性同余方程

先来讲一下什么是线性同余方程线性同余方程和一次方程是等同的,只不过线性同余方程是在模意义下,比如下面这个方程:

a * x mod m = b

要求解x,首先要将模意义下转化成非模意义下:

a * x = b - k * m

移项:

a * x + k * m = b

是不是和扩展欧几里得算法特别像,所以这个方程可以使用扩展欧几里得算法来求解,但是有个前提:

b必须是gcd(a, m)的整数倍,当b不是gcd(a, m)的整数倍的时候就不可以扩展欧几里得算法求解,或者说无解

因此我们只需要求出利用扩展欧几里得算法求出x, k最后成比例变换就可以了,是不是很简单(代码我没来得及写QAQ),大家凑合看吧。


扩展欧几里得算法求逆元

我们知道快速幂配合费马小定理是可以求逆元的,但是那仅限于m是质数的情况,而要利用欧拉函数实现一般情况下求逆元的话显然太复杂,而且效率也不高,所以一般情况下m不是质数时我们选择使用扩展欧几里得算法求逆元
b*b^{-1} \equiv 1(mod m)

我们知道满足这样的式子就可以说bb^-1互为逆元。我们将逆元b-1设为x得到

b * x \equiv 1(mod m)

将模意义下转化成一般意义下。
b * x + y * m = 1

因为逆元存在的条件就是bm互质,所以gcd(b, m) = 1,如上式子是必定满足的,随后就可以使用扩展欧几里得算法求x(不过不要忘记最后要再将x转化回模意义下哦)


中国剩余定理

中国剩余定理是用来解决这样的问题的,给定一个线性同余方程组(其中m1, m2, ... , mn两两互质):

x = a1 mod m1

x = a2 mod m2

.

.

.

x = an mod mn

要求x,我们设

M = m1 * m2 * ... * mn

M1 = M/mi

因为M1m1是互质的,所以M1必定存在m1下的逆元m1^-1,同理,其他项也是一样

最终我们可以得到

x = a1 * M1 * M1-1 + a2 * M2 * M2-2 + ...

具体如何推导的我不得而知,但是我们可以判断其是否正确,当x mod m1时:因为m2, m3, m4...均包含m1,所以后面的所有项结果都是0

第一项的M1 * M1-1在模m1的意义下结果是1,所以x mod m1 = a1

相关文章:

  • FPGA | 等精度测频应用与实践
  • RSTP --- 快速生成树
  • 如何成功点亮LED灯并实现闪烁效果
  • ROS软路由多wifi多IP搭建一览表
  • 红黑树剖析
  • DirectX修复工具免费版下载安装教程(附安装包)
  • 蓝桥杯 XYZ
  • elementui中el-form自定义表单校验规则
  • Java后端开发(十八)-- 使用JAXB,将JavaBean转换XML文本
  • 基础知识专题整理-----持续更新
  • lib-zo,C语言另一个协程库,整理
  • leetcode0704. 二分查找-easy
  • 关于labview中路径的问题
  • 一款功能强大的手机使用情况监控工具
  • 探访 DINO 家族 Part 4:融合多模态大语言模型的视觉模型基础 RexSeek
  • 【计算机网络】记录一次校园网无法上网的解决方法
  • Android 地区选择器或者其他选择器
  • 【蓝桥杯14天冲刺课题单】Day 1
  • 指针函数、函数指针和指针函数指针的全面总结
  • MySQL表缺乏主键或唯一索引对主从复制的深度影响及解决方案
  • 做临时工看哪个网站/整合营销沟通
  • 邢台各种类型网站建设售后完善/网站关键词如何优化
  • 最容易做流量的网站/自助建站系统
  • 美业门店管理系统/seo优化技术是什么
  • 免费做一建或二建题目的网站/三叶草gw9356
  • photoshop做网站设计/网站运营推广选择乐云seo