用户:Stanislav Sykora
PARI/GP脚本
1.所有脚本都使用最新的PARI版本进行了测试。 然而,如果你发现任何问题,请告诉我。 2.免费PARI和GP软件位于 http://pari.math.u-bordeaux.fr/ . 3.与PARI库中的函数不同,此处定义的所有函数名称都以大写字母开头。 4.以D开头的函数名,如Dname(x),表示导数,如name(x”)。 5.以AD开头的函数名,如ADname(x),表示反导数,如name(x”)。 6.反导数在常数范围内是唯一的; 它们是用来计算定积分的。
该文件定义了两个全局变量Eps_和MaxIter_,在作者的许多PARI/GP脚本中使用。 Eps_主要用于测试REAL值的近似相等性,MaxIter_用于停止失控迭代。 加载时,它将当前的realprecision设置为50位,并相应地初始化Eps_和MaxIter_。 要更改设置,请使用SetEbDefaults功能。
设置B默认值 (dgs=-1,eps=0.0,imx=-1)-设置所需的默认精度以及全局变量eps_和MaxIter_ 地板 (z) -将PARI楼层函数扩展到所有数值类型参数(包括t_COMPLEX) 圆形 (z) -实现t_REAL和t_COMPLEX参数的绝对值舍入 国际证券交易协会 (z) -测试z是否匹配整数(在+-Eps_tolerance间隔内) IsIntLt0公司 (z) -测试z是否与负整数匹配(在+-Eps_收费区间内) IsIntLe0 (z) -测试z是否匹配非正整数(在+-Eps_tolerance间隔内) 发布Gt0 (z) -测试z是否与正整数匹配(在+-Eps_收费区间内) 发行IntGe0 (z) -测试z是否匹配非负整数(在+-Eps_tolerance间隔内) IsEq公司 (z1,z2)-测试z1和z2是否相互匹配(在+-Eps_公差间隔内)
支持各种类型的格式化输出到其他地方使用的文件中(例如,作为Excell.Matlab的输入或作为OEIS条目等)。 目前仅包含输出(转储)功能。
ExpFormat(ExpFormat) (z,d=0,head=“”,sep=“”、tail=“”)-返回一个字符串,其数值参数格式为带d位数字的尾数指数。 Real2ExpFormat(实际2Exp格式) (x,d=0)-返回一个字符串,其t_REAL参数x格式为带有d位数字的尾数指数。 选项卡FuncArr (f,x,d=0,s=“”,file=“”、head=“”)-为参数数组列出函数的值。 选项卡FuncLinX (f、xini、xstep、xend、d=0、s=“”、file=“”,head=“”)-将根据线性参数网格计算的函数值制成表格。 实际2OEIS (file,cnst,dgts=1000)-将所有需要提交给OEIS的实际常量写入文件。 国际Seq2OEIS (file,vect,offset,dumpall=0)-将所有需要提交给OEIS的整数序列写入文本文件。
测试和处理各种类型向量的实用程序
-测试矢量 : IsIncreasing矢量 (v,strict=0)-测试v的单调性(递增或非递减)。 IsDecreasingVector(Is递减向量) (v,strict=0)-测试v的单调性(递减或非递增)。
-矢量比较 : 矢量DifferAt (v1,v2)-返回第一个索引k,其中v1[k]= v2[k](如果没有,则为0)。 矢量匹配位置 (v1,v2)-返回第一个索引k,其中v1[k]==v2[k](如果没有,则返回0)。 矢量LtVectorAt (v1,v2)-返回第一个索引k,其中v1[k]<v2[k](如果没有,则返回0)。 矢量LeVectorAt (v1,v2)-返回第一个索引k,其中v1[k]<=v2[k](如果没有,则返回0)。 矢量GtVectorAt (v1,v2)-返回第一个索引k,其中v1[k]>v2[k](如果没有,则返回0)。 矢量GeVectorAt (v1,v2)-返回第一个索引k,其中v1[k]>=v2[k](如果没有,则返回0)。 矢量LtExprAt (v1,expr)-返回第一个索引k,其中v1[k]<expr(k)(如果没有,则返回0)。 矢量LeExprAt (v1,expr)-返回第一个索引k,其中v1[k]<=expr(k)(如果没有,则返回0)。 矢量GtExprAt (v1,expr)-返回第一个索引k,其中v1[k]>expr(k)(如果没有,则返回0)。 矢量GeExprAt (v1,expr)-返回第一个索引k,其中v1[k]>=expr(k)(如果没有,则返回0)。
-矢量运算 : 反转矢量(ReverseVector) (v) -返回元素1..#v(或i.j)顺序相反的向量。 运行总和 (v) -返回v的运行和。 运行SumInverse (v) -求和映射的逆运算。 跑步产品 (v) -返回v的运行乘积。 运行ProductInverse (v) -与正在运行的产品映射相反。
-满足条件的自然数1<=a(n)<=nmax的列表 : 列表绑定0 (nmax,condition,anmax=0)-列出满足简单条件(n)且无参数的自然数。 当n达到anmax(如果anmax>0)或找到nmax条目时停止。 列表VFCond0 (cond,file,fmonit,monit=1000,nini=1,idxini=1,nmax=0,idxmax=0)-如上所述,但将结果写入文件并允许从任何初始值开始。 可选地允许监控进度。 密度NCond0 (nmax,condition,monit=0)——满足条件的数密度,其中n=1..nmax; 带有可选的进度监控。 列表NCond1 (nmax,condition,p,anmax=0)-列出满足条件(n,m)和可设置参数p的自然数。当n达到anmax(如果anmax>0)或找到nmax条目时停止。 列表VFCond1 (cond,p,file,fmonit,monit=1000,nini=1,idsini=1,nmax=0,idxmax=0)-如上所述,但将结果写入文件并允许从任何初始值开始; 带有可选的进度监控。 密度NCond1 (nmax,condition,m,monit=0)-满足条件的数密度,其中n=1..nmax; 带有可选的进度监控。
-生成功能管理 : 示例2系数序列 (func,nc=20,file=“”,c0=0.12345)-生成解析函数func(z)的实数向量,例如系数。 显示(监视)进度,并可选择将结果写入可选文件。
与素数和因式分解相关的脚本,大多非常简单:
-布尔素数相关函数 : IsNotPrime(非优质) (n) IsOddButNotPrime(奇数非素数) (n)
上一个IsPrime (n) 下一个IsPrime (n)
IsTwin时间 (n) IsLowerOfTwin时间 (n) IsUpperOfTwinTimes时间 WinPrimes之间的Is (n) 是Prime的邻居 (n)
IsBiPrime公司 (n) IsTriPrime公司 (n) IsTetraPrime公司 (n) IsPentaPrime公司 (n)
具有2个不同的PrimeFactors (n) Has3DistinctPrimeFactors公司 (n) Has4差异主要因素 (n) 具有5DistinctPrimeFactors (n)
IsMoebius减去1 (n) IsMoebiusPlus公司1 (n) IsMoebiusZero公司 (n) -相当于“可被平方整除”。 IsMoebius非零 (n) -相当于“不可被正方形整除”。
IsSqrtPrime软件 (n) IsPwrPrime公司 (n,realp)
-整值素数相关函数 : 最大PrimeFactor (n) -也称为gpf(n)。 基本因子总和 (n) -具有多重性。 基本因子总和N (n) -无多重性。 主要因素产品N (n) -没有多重性(否则结果总是n)。 上一个Prime (n) -作为precprime(n-1),但对于n<=2,返回n。 跟随素数 (n) -作为下一个素数(n+1),但对于n<2,返回n。 非互质数 (n) -m的数量,1<m<n,不与n互素。 IntervalPrimes产品 (m,n)-区间(m,n])中所有素数的乘积。 兰姆达 (n) -中心二项式(n,(n\2)),清除所有超过(n+1)\2的素因子。 A233511型 (n) -将大于2的最大素数因子(如果有)替换为PreceedingPrime。 A233570型 (n) -将最小素数因子(如果有)替换为FollowingPrime。 AltSum1偏差初始功率 (x,eps)-有助于计算序列C(x)=-总和[k]((-1)^k/p(k)^x),其中p(k)是第k个素数。
-这些使用DigitBasedFunctions.txt : IsReversedPrime(反转质数) (n,b)-如果通过倒置以b为基数的数字从n获得的数字是素数,则返回1。 IsReversiblePrime软件 如果n是质数且IsReversedPrime(n,b)返回1,则(n,b)-返回1。
与素数和因子分解有关的序列的生成器:
PrimeByMplusD (nmax,m,d)-列出素数p,其中m*p+d也是素数(草稿) 编码素数序列 (nmax)-非双素数(奇数或2),或由双素数包围的数(偶数>2)。
这些函数依赖于扩展基(默认值通常为10):
数字到数字 (d,b)-将数字d的矢量转换为整数,假设以b为基数。 反转数字 (n,b)-以b为基数,颠倒n的数字。 IsReversedGE公司 (n,b)-测试,如果在基数b中,倒数(n)>=n。 伊斯帕林多姆 (n,b)-测试,如果在基数b中,倒数(n)==n。 数字位数 (n,b)-以b为基数的n的位数。 数字总和 (n,b)-以b为基数的n的位数之和。 数字产品 (n,b)-以b为基数的n位数的乘积。 数字SumProduct (n,b)-n的位数之和乘以其乘积,以b为基数。 数字根 (n,b)-以b为基数的n的数字迭代和的极限。 RTruncIs互质 (n,b)-当n与通过截断以b为基数的最右边的数字而获得的数互素时为真。 RTruncIs非互质 RTruncIsCoprime(n,b)的逻辑否定。
-这些是指二进制扩展数字 : 奇偶校验 (n) 当二进制数字之和为奇数时,-返回1;当二进制数字为偶数时,返回0。 灰色代码 (n) -对应于n的二进制格雷码。 灰度解码 (g) -与上述相反; 对应格雷码g的数字n。
自同态E(n)->n\b的序列:
GT_Trunc1(nmax,属性,b) -以b为基数的财产(n)的权利保护。 GT_Trunc2(nmax,属性,b) -以b为基数的财产(n,b)的右转保全。 GT_Trunc3(bmin、bmax、property、outfile) -以bmin为基数,在权利行使下保留财产(n,b)。。 bmax; 多数据输出。
各种整数序列的生成器(有关序列号,请参阅文件):
LiMinusNpDivq(nmax,p,q) (n) -与多对数Li(阶,x)相关:a(n)=Li(-n,-p/q)*(p+q)^(n+1)/q。
各种优化任务的功能(搜索最小值、最大值等):
最小搜索 (ax,bx,cx,f,monit=0,itermax=10000)-搜索具有一个实数参数的函数的最小值。
与Lambert W函数相关的函数:
兰伯特W0 (x) -上部分支。 兰伯特W1 (x) -下部分支。 DLambertW0型 (x) -LambertW0的导数。 D琥珀色W1 (x) -LambertW1的衍生物。 ADLambertW0型 (x) -LambertW0的反衍生物。 ADLambertW1型 (x) -LambertW1的反衍生物。
与带单位方差的中心正态(高斯)误差分布相关的函数:
正常错误Df (x) -正常误差密度函数。 正常错误PDF (x) -正态误差累积分布函数,也称为 菲律宾比索 (x) ●●●●。 正常错误百分比 (p) -正常误差百分比函数,也称为 探险家 (p) ●●●●。 RngNormal(平均值,标准偏差) (z) -具有正态分布的随机值生成器。 Erf公司 (z) -基本错误函数(PARI库仅包含互补erfc(z)。 误差函数 (z)- 想像的 错误函数。 法迪沃 (z) -Fadeeva w(z)函数。 DErf公司 -erf(z)的一阶导数。 Derfc公司 (z) -erfc(z)的一阶导数。 ADErf公司 (z) -erf(z)的反衍生物。 ADerfc公司 (z) -erfc(z)的抗衍生物。 道森 (z) -道森积分F(z)。 迪沃森 (z) -道森积分的一阶导数。 D2道森 (z) -道森积分的二阶导数。
非强制计算 无限功率塔 x的值,即T(x)=lim[n->inf]x^^n。
使用前,请咨询 Blazys展开和连分式 . 尤其要注意输入值的精度要求。
Bx公司 (x,nmax)-返回无理x的Blazys展开的nmax整数。 息税前利润 (x,nmax)-相同,但使用扩展扩展。 Bf公司 (v) -Bx的逆; 计算Blazys连分数。 电子束流 (v) -同上,但使用扩展版本。 Bx周期SqrtN (nmax)-列出数字n,其中Bx(sqrt(n))是周期性的。 Bx非周期性SqrtN (nmax)-列出数字n,其中Bx(sqrt(n))是一个周期。
与指数积分和对数积分有关的函数。 (复杂值,接受任何实数或复杂参数)。
工程安装 (z) -指数积分函数。 锂 (z) -对数积分函数。 硅 (z) -正弦积分函数。 Ci公司 (z) -余弦积分函数。 中国 (z) -整个余弦积分函数。