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

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式,以r为参数:

p[z_, r_] := z^3 + (r - 1) z - r;
roots[r_] := z /. Solve[p[z, r] == 0, z];

此多项式的根为:

尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式的。此时的Newton-Raphson映射为:

此时,可以编写带有参数r的收敛速度计数函数:

NewNewtonCounter = Compile[{{z, _Complex}, {r, _Real}, {otherroot, _Complex}},Module[{counter = 0, zold = N[z] + 1, znew = N[z]},If[Abs[znew] < 10^(-9), znew = 10^(-9) + 0.0 I,znew = znew];For[counter = 0,(Abs[zold - znew] > 10^(-6)) && (counter < 85), counter++,(zold = znew; znew = (r + 2*zold^3)/(-1 + r + 3*zold^2))];Which[Abs[znew - 1] < 10^(-4), counter,Abs[znew - otherroot] < 10^(-4), 85 + counter,Abs[znew - Conjugate[otherroot]] < 10^(-4), 170 + counter,True, 255]]];(*返回给定区域中的每个点相应的收敛计数*)  NewNewtonArray[r_, {{remin_, remax_}, {immin_, immax_}}, steps_] :=Module[{croot = -N[(1 + Sqrt[1 - 4 r])/2]},Table[NewNewtonCounter[x + y I, r, croot],{y, immin, immax, (immax - immin)/steps},{x, remin, remax, (remax - remin)/steps}]]
region = NewNewtonArray[2, {{-2, 2}, {-2, 2}}, 1000];
NewtonPlot1[{{-2, 2}, {-2, 2}}, region, NewtonColorRGB]

region = NewNewtonArray[0.05, {{-2, 2}, {-2, 2}}, 1000];
NewtonPlot1[{{-2, 2}, {-2, 2}}, region, NewtonColorRGB]

http://www.lqws.cn/news/182917.html

相关文章:

  • SCAU数值计算OJ
  • Elasticsearch集群手动分片分配指南:原理与实践
  • 国芯思辰| AD7894的优质替代方案:SC1424模数转换器在分布式控制系统中的应用优势
  • c++中的输入输出流(标准IO,文件IO,字符串IO)
  • 2025年6月6日 奇门遁甲与股市
  • 加密货币钱包开发指南:多链资产管理与非托管安全范式
  • 在SpringBoot中使用AWS SDK实现邮箱验证码服务
  • AWS API Gateway配置日志
  • 强化学习基础概念图文版笔记
  • SpringCloud学习笔记-3
  • 《UE5_C++多人TPS完整教程》学习笔记37 ——《P38 变量复制(Variable Replication)》
  • Python打卡DAY46
  • [论文阅读] 人工智能 | 利用负信号蒸馏:用REDI框架提升LLM推理能力
  • 基于tensorflow实现的猫狗识别
  • 程序代码篇---智能家居传感器
  • 用Cursor与Chrome插件爬取网页数据
  • CDN:静态资源如何加速?
  • 埃文科技智能数据引擎产品入选《中国网络安全细分领域产品名录》
  • Curtain MonGuard:智能水印颜色适配,提升屏幕信息安全
  • dfn序的应用 (P1273 有线电视网题解)
  • 12.vite,webpack构建工具
  • 大模型与 NLP、Transformer 架构
  • 第四章 信息系统管理-4.1 管理方法
  • ✅ 常用 Java HTTP 客户端汇总及使用示例
  • 【计算机网络】HTTP
  • 香港科技大学(广州) | 生命科学与生物医学工程学域博士夏令营报名召集!
  • EditPlus中.nut文件高亮--stx配置文件解释
  • 代码安全规范1.1
  • Day46
  • Ubuntu 系统.sh脚本一键部署内网Java服务(组件使用docker镜像,宕机自启动)