Goulib.math2模块 ¶
-
Goulib.math2。 xgcd公司 ( 一 , b ) [来源] ¶ 扩展GCD 退货: (gcd,x,y)其中gcd是a和b的最大公约数 如果b非零,用b的符号;如果b为0,用a的符号。 数字x,y是这样的:gcd=ax+by。
-
Goulib.math2。 卡迈克尔 ( n个 ) [来源] ¶ Carmichael函数 :return:int最小正整数m,这样,对于1到n之间的每一个与n互素的整数a,a ^m mod n=1。 :参数n:int :参见: https://en.wikipedia.org/wiki/Carmichael_function网站 :参见: https://oeis.org/A002322 也被称为减少的totient函数或最小通用指数函数。
-
Goulib.math2。 四边形 ( 一 , b , c(c) , allow_complex=假 ) [来源] ¶ 求解二次方程aX^2+bX+c=0 参数: 一 , b , c(c) –浮动 allow_complex(允许复合) –如果为True,函数将返回复数根
退货: x1、x2实际或复杂解决方案
-
Goulib.math2。 介绍者 ( n个 , r=2 ) [来源] ¶ 整数r-次方根 退货: int,小于或等于n的r次方根的最大整数。 对于负n,返回大于或等于n的r次方根的最小整数,如果r是偶数,则返回None。
-
Goulib.math2。 乘 ( x个 , 年 ) [来源] ¶ Karatsuba快速乘法算法 https://en.wikipedia.org/wiki/Karatsuba_algorithm 版权所有(c)2014 Nayuki项目 http://www.nayuki.io/page/karatsuba-multiplication
-
Goulib.math2。 累加 ( 它 ) ¶ 产生可迭代的累计和:accsum(count(1))->1,3,6,10,…
-
Goulib.math2。 0 ( 形状 ) [来源] ¶ 请参见: https://docs.scipy.org/doc/numpy/reference/generated/numpy.zeros.html
-
Goulib.math2。 诊断 ( v(v) ) [来源] ¶ 创建一个二维数组,将展平的输入作为对角线。 参数: v(v) –如果v是二维数组,则返回其对角线的副本。 如果v是一维数组,则返回对角线上有v的二维数组 请参见: https://docs.scipy.org/doc/numpy/reference/generated/numpy.diag.html#numpy.diag
-
Goulib.math2。 眼睛 ( n个 ) ¶
-
Goulib.math2。 最大限度 ( 米 ) [来源] ¶ 比较N个数组并返回一个包含元素最大值的新数组 参数: 米 –阵列列表(矩阵) 退货: m每列中的最大值列表 请参见: http://docs.scipy.org/doc/numpy/reference/generated/numpy.maximum.html
-
Goulib.math2。 最低限度 ( 米 ) [来源] ¶ 比较N个数组并返回一个新数组,该数组包含元素方向的最小值 参数: 米 –阵列列表(矩阵) 退货: m每列中的最小值列表 请参见: http://docs.scipy.org/doc/numpy/reference/generated/numpy.miminum.html
-
Goulib.math2。 规范 ( v(v) , 订单=2 ) [来源] ¶ 请参见: http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.norm.html
-
Goulib.math2。 集合_分布 ( 一 , b ) [来源] ¶ 请参见: http://stackoverflow.com/questions/11316539/calculating-the-distance-between两个无序集
-
Goulib.math2。 集合_levenshtein ( 一 , b ) [来源] ¶ 集合上的levenshtein距离 请参见: http://en.wikipedia.org/wiki/Levenshtein_distance
-
Goulib.math2。 列文施泰因 ( 序列1 , 序列2 ) [来源] ¶ levenshtein距离 退货: 两个迭代器之间的距离 请参见: http://en.wikipedia.org/wiki/Levenshtein_distance
-
Goulib.math2。 primitive_triples(基元_三元组) ( ) [来源] ¶ 生成原始勾股三元组x<y<z 按斜边z排序,然后按最长边y排序 通过Berggren矩阵和三叉树的宽度优先遍历 :参见: https://en.wikipedia.org/wiki/Tree_of_primitive_Pythagorean_triples网站
-
Goulib.math2。 筛子,筛子 ( n个 , oneisprime=错误 ) [来源] ¶ 从2到素数<n 非常快(n<10000000),只需0.4秒。 例子: >>>主索(25) [2, 3, 5, 7, 11, 13, 17, 19, 23] 算法与Python来源:Robert William Hanks http://stackoverflow.com/questions/17773352/python-sieve-prime-numbers
-
Goulib.math2。 是首选项(_E) ( n个 , eb=(2 , ) ) [来源] ¶ 欧拉素性检验 参数: n个 –要测试的int数字 电子束 –测试依据
退货: 非素数为假,素数为真,但也适用于许多伪素数… 请参见:
-
Goulib.math2。 是素数(_P) ( n个 , oneisprime=错误 , tb=(3 , 5 , 7 , 11) , eb=(2 , ) , mrb=无 ) [来源] ¶ 主素性测试。 参数: n个 –要测试的int数字 一个罪 –bool如果1应该被视为prime,则为True(很久以前是这样的) 结核 –试验划分依据 电子束 –欧拉试验依据 磁共振波谱 –Miller-Rabin基础,无自动
请参见: https://en.wikipedia.org/wiki/Baillie%E2%80%93PSW_primality_test 这是BPSW测试的一个实现(Baillie-Pomerance-Selfrigge-Wagstaff) 对于速度有一些预置,对于所有小于2^64的数字都是确定的 事实上,虽然人们推测存在无限多的假阳性, 目前还没有发现假阳性。 预过滤器包括针对2的试验划分和元组tb的元素, 检查n是否平方,并对元组eb中的基进行Euler素性测试。 如果数字小于3825123056546413051,我们使用Miller-Rabin检验 基于一组已知在该范围内测试具有确定性的基础。
-
Goulib.math2。 euler_phi ( n个 ) [来源] ¶ 欧拉指向函数 请参见: http://stackoverflow.com/questions/10109040/如何使用many-numbers-below-nare-coprimes-to-n
-
Goulib.math2。 托蒂恩 ( n个 ) ¶ 欧拉指向函数 请参见: http://stackoverflow.com/questions/1019040/how-many-numbers-blow-n-are-coprimes-to-n
-
Goulib.math2。 坎普纳 ( n个 ) [来源] ¶ Kempner函数,也称为Smarandache函数 退货: int最小正整数m,以便n除以m!。 参数: n个 –整数 请参见: https://en.wikipedia.org/wiki/Kempner_function网站 请参见: http://mathworld.wolfram.com/SmarandacheFunction.html
-
Goulib.math2。 prime_k倍 ( 星座 ) [来源] ¶ 生成具有指定差异的素数元组 参数: 星座 –要返回的素数之间的int差异是可迭代的 注: 负int表示差值不能是质数 请参见: https://en.wikipedia.org/wiki/Prime_k-tuple(英文) (0,2)双素数 (0,4)类素数 (0,6)性感素数 (0,2,6),(0,4,6)素数三元组 (0,6,12,-18)性感三胞胎 (0,2,6,8)素数四胞胎 (0,6,12,18)性感四胞胎 (0,2,6,8,12),(0,4,6,10,12)五组素数 (0,4,6,10,12,16)六重素数
-
Goulib.math2。 数字和 ( 号码 , f=无 , 基数=10 ) [来源] ¶ 位数总和 参数: 号码 –数量 (f) –对每个数字应用int幂或函数 基础 –可选底座
退货: num的f(数字)之和 数字和(num)->数字和 digsum(num,base=2)->num二进制表示中的1位数 数字和(num,2)->数字平方和 digsum(num,f=lambda x:x**x)->被提升到其自身幂的数字之和
-
Goulib.math2。 整数_指数 ( 一 , b=10 ) [来源] ¶ 退货: int除以a的b的最大幂。 请参见: https://reference.wolfram.com/language/ref/IntegerExponent.html
-
Goulib.math2.好的。 追踪_零 ( 一 , b=10 ) ¶ 退货: int除以a的b的最大幂。 请参见: https://reference.wolfram.com/language/ref/IntegerExponent.html
-
Goulib.math2。 电源 ( v(v) ) [来源] ¶ 退货: v[0]**v[1]**v[2]… 请参见: http://ajcr.net#巨蟒 -功率消耗/
-
Goulib.math2。 动力传动系统 ( n个 ) [来源] ¶ 退货: v[0]**v[1]*v[2]**v[3]…**(v[-1]或0) 作者: #Chai Wah Wu,2017年6月16日 请参见: http://oeis.org/A133500
-
Goulib.math2。 字符串基础(_B) ( 数量 , 基数=10 , 数字='0123456789abcdefghijklmnopqrstuvwxyz' ) [来源] ¶ 退货: num在base中的字符串表示 参数: 号码 –int数字(十进制) 基础 –int基数,默认为10 数字 –字符串,所有字符表示基数中的数字。 忽略base-th后的字符
-
Goulib.math2。 有弹性的 ( n个 , up=假 , down=错误 ) [来源] ¶ 参数: n个 –要测试的整数 向上的 –布尔 向下 –布尔
bouncy(x)对bouncy数返回True(数字构成严格非单调序列)(A152054) bouncy(x,True,None)对数字顺序不减的数字返回True(OEIS A009994) bouncy(x,None,True)对数字按非递增顺序排列的数字返回True(OEIS A009996)
-
Goulib.math2。 理性形式 ( 分子 , 分母 ) [来源] ¶ 关于有理数的十进制表示的信息。 退货: 5整数:整数、小数、移位、重复、循环 shift是小数长度,如果有前导零 循环是重复的长度,如果有前导零的话
-
Goulib.math2。 理性周期 ( 号码 , 兽穴 ) [来源] ¶ num/den十进制展开式的周期部分。 任何初始0都放置在循环结束时。 请参见: https://oeis.org/A036275
-
Goulib.math2。 四面体的 ( n个 ) [来源] ¶ 退货: int第n个四面体数 请参见: https://en.wikipedia.org/wiki/Tetrahedral_number(网址:https://en.wikipedia.org/wiki/Tetrahedral_number)
-
Goulib.math2。 平方和 ( n个 ) [来源] ¶ 退货: 1^2+2^2+3^2+…+n^2 请参见: https://en.wikipedia.org/wiki/Square_pyramdial_number(英文)
-
Goulib.math2。 金字塔形的 ( n个 ) ¶ 退货: 1^2+2^2+3^2+…+n^2 请参见: https://en.wikipedia.org/wiki/Square_pyramdial_number(英文)
-
Goulib.math2。 多维数据集总和 ( n个 ) [来源] ¶ 退货: 1^3+2^3+3^3+…+n^3 请参见: https://en.wikipedia.org/wiki/Squared_triangular_number
-
Goulib.math2。 伯努利根 ( 初始化=1 ) [来源] ¶ 贝努利数发生器 参数: 初始化 –int-1或+1。 -B1=-1/2的“第一伯努利数”为1 +B1=+1/2的“第二伯努利数”为1
https://en.wikipedia.org/wiki/Bernoulli_number(英文) https://rosettacode.org/wiki/Bernoulli_numbers#Python:_Optimised_task_algorithm
-
Goulib.math2。 福勒哈伯 ( n个 , 第页 ) [来源] ¶ 前n个正整数的p次幂之和 退货: 1^p+2^p+3^p+…+n^p 请参见: https://en.wikipedia.org/wiki/Faluhaber%27s_formula
-
Goulib.math2。 荔枝计数 ( n个 , 极限=96 ) [来源] ¶ n变成回文之前的lychrel迭代次数 参数: n个 –要测试的int数字 限制 –int最大循环数。 默认值96对应于已知的最迟钝的非莱氏数
警告: 有回文lychrel数,如4994
-
Goulib.math2。 三角形 ( n个 ) [来源] ¶ 退货: 第n个三角形数,定义为[1,n]个值的总和。 请参见: http://en.wikipedia.org/wiki/Triangular_number
-
Goulib.math2。 三角形 ( n个 ) ¶ 退货: 第n个三角形数,定义为[1,n]个值的总和。 请参见: http://en.wikipedia.org/wiki/Triangular_number
-
Goulib.math2。 是三角形的(_T) ( x个 ) ¶ 退货: 如果x是三角形数字,则为True
-
Goulib.math2。 五边形的 ( n个 ) [来源] ¶ 退货: 第n个五边形数 请参见: https://en.wikipedia.org/wiki/Pentagonal_number网站
-
Goulib.math2。 六边形 ( n个 ) [来源] ¶ 退货: 第n六边形数 请参见: https://en.wikipedia.org/wiki/Hexagonal_number(六边形编号)
-
Goulib.math2。 隔板 ( n个 ) [来源] ¶ 配分函数p(n) 给出非负整数n的分区数 转换为正整数。 (将零分为一个正整数, 即空分区,因为空和定义为0。) 请参见: http://oeis.org/wiki/Partition_function网站 https://oeis.org/A000041
-
Goulib.math2。 完美(_P) ( n个 ) [来源] ¶ 退货: -如果n不足,则为1;如果完美,则为0;如果丰富,则为一 请参见: https://en.wikipedia.org/wiki/Perfect_number(英文) , https://en.wikipedia.org/wiki/Abundant_number , https://en.wikipedia.org/wiki/缺陷编号
-
Goulib.math2。 脉轮 ( n个 ) [来源] ¶ 求解x,y整数的x^2-n*y^2=1 https://en.wikipedia.org/wiki/Pell%27s_equation https://en.wikipedia.org/wiki/Chakravala_method
-
Goulib.math2。 工厂 ( n个 , k个 ) [来源] ¶ k阶n的多因子,n(!!…!)。 这是n个跳过k个值的多因素。 例如, factorialk(17,4)=17!!!!= 17 * 13 * 9 * 5 * 1 特别是,对于任何整数 n个 ,我们有 factorialk(n,1)=阶乘(n) factorialk(n,2)=阶乘2(n)
参数: n个 –int计算多因子。 如果 n个 <0,返回值为0。 :param k:int多因子的顺序。 :return:int的Multifactrial n个 .
-
Goulib.math2。 二项式 ( n个 , k个 ) [来源] ¶ 二项式系数“n选择k” :参数:n,k int :return:int,在k中选择n个项目的方法数,无序 请参见: https://en.wikipedia.org/wiki/二项式
-
Goulib.math2。 选择 ( n个 , k个 ) ¶ 二项式系数“n选择k” :参数:n,k int :return:int,在k中选择n个项目的方法数,无序 请参见: https://en.wikipedia.org/wiki/二项式
-
Goulib.math2。 合并 ( n个 , k个 ) ¶ 二项式系数“n选择k” :参数:n,k int :return:int,在k中选择n个项目的方法数,无序 请参见: https://en.wikipedia.org/wiki/二项式
-
Goulib.math2。 伊洛格 ( 一 , b , upper_bound=假 ) [来源] ¶ 离散对数x,使得b^x=a 参数: 一 , b –整数 上限(_B) –bool。 如果为True,则返回b^x>=a的最小x
退货: x整数,例如b^x=a、upper_bound或None
-
Goulib.math2。 角 ( u个 , v(v) , unit=真 ) [来源] ¶ 参数: u个 , v(v) –可迭代向量 单元 –bool如果向量是单位向量,则为True。 假增加计算
退货: u和v单位向量i之间的浮点数角n弧度
-
Goulib.math2。 成比例的 ( 非西亚特 , 投票 ) [来源] ¶ 使用 https://en.wikipedia.org/wiki/Hagenbach-Bishoff_quota 方法 参数: 非西亚特 –int要分配的座位数 投票 –int或float的可迭代加权各方
结果: 分配给各方的ints席位列表
-
Goulib.math2。 中文_维护者 ( 米 , 一 ) [来源] ¶ http://en.wikipedia.org/wiki/Chinese_remainder_theorem 参数: 米 –int模列表 一 –int余数列表
退货: 最小整数x,使得x mod ni=ai
-
Goulib.math2。 mod_binomial(模态_非模态) ( n个 , k个 , 米 , q=无 ) [来源] ¶ 计算大n,k,m的C(n,k)mod m 参数: n个 –int元素总数 k个 –int要拾取的元素数 米 –int模(或内部使用的(m,p)元组的可迭代) q个 –prime m的可选整数幂m,内部使用
-
Goulib.math2。 矩阵_幂 ( M(M) , 权力 , 修改=0 ) ¶
-
Goulib.math2。 修改(_fac) ( n个 , 国防部 , mod_is_prime=假 ) [来源] ¶ 模阶乘 :返回n!% 模 如果模是素数,则使用Wilson定理 https://en.wikipedia.org/wiki/Wilson%27s_ethemation
-
Goulib.math2。 pi_数字_生成 ( ) [来源] ¶ 将π数字生成为整数序列! 使用Jeremy Gibbons插口生成器 :请参阅: http://www.cs.ox.ac.uk/people/jeremy.gibbons/publications/spigot.pdf
-
Goulib.math2。 pfactor(功率因数) ( n个 ) [来源] ¶ sprp的Helper函数。 返回元组(x,y),其中n-1==(2**x)*y和y是奇数。 我们把这个部分分开,这样就不会浪费时间 当我们要根据多个基数检查n时,重新计算每个基数的s和d。
-
Goulib.math2。 sprp(sprp) ( n个 , 一 , s=无 , d=无 ) [来源] ¶ 使用强概率素性测试以a为基础检查n的素性。 如果存在,s和d应分别为第一项和第二项, 函数pfactor(n)返回的元组的
-
Goulib.math2。 雅各比 ( 一 , 第页 ) [来源] ¶ 计算雅可比符号(a|p),其中p是正奇数。 :参见: https://en.wikipedia.org/wiki/Jacobi_symbol
-
Goulib.math2。 民意测验Rho_brent ( n个 ) [来源] ¶ Brent对Pollard的rho算法的改进。 退货: int n如果n是素数 否则,我们会一直吃力,直到找到一个严格介于1和n之间的因子n。 :参见: https://en.wikipedia.org/wiki/Pollard%27s_rho_algorithm
-
Goulib.math2.好的。 投票_pm1 ( n个 , B1=100 , B2=1000 ) [来源] ¶ 波拉德的p+1算法,两阶段版本。 退货: n如果n是素数; 否则,我们会一直打嗝,直到我们找到一个严格在1和n之间的因子n。
-
Goulib.math2。 系数_ecm ( n个 , B1=10 , B2=20 ) [来源] ¶ 因子n使用椭圆曲线法, 使用蒙哥马利曲线和类似算法 波拉德p-1方法的两阶段变体。 :return:n如果n是素数 否则,我们会一直跳,直到找到一个严格介于1和n之间的因子n
-
Goulib.math2。 传说 ( 一 , 第页 ) [来源] ¶ 用于编译Legendre符号(a|p)的函数。 如果p是复合的,则返回值没有意义 :请参阅: https://en.wikipedia.org/wiki/Legendre_symbol
-
Goulib.math2。 传奇2 ( 一 , 第页 ) [来源] ¶ 用于编译Legendre符号(a|p)的函数。 如果p是复合的,则返回值没有意义 :参见: https://en.wikipedia.org/wiki/Legendre_symbol