You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求推荐替代RootsAndPoles.jl的Julia极点与根查找包

Julia 复变函数极点与根查找替代包推荐

1. ComplexRoots.jl

  • 专注复平面内的根查找,支持指定区域搜索;若要找极点,可通过将目标函数取倒数,把极点转化为新函数的根来处理。
  • 简单用法示例:
    using ComplexRoots
    # 示例函数:根在±1,极点在±im
    f(z) = (z^2 - 1)/(z^2 + 1)
    # 指定区域内查找根
    roots = find_roots(f, -2-2im, 2+2im)
    # 转换后查找极点
    poles = find_roots(z -> 1/f(z), -2-2im, 2+2im)
    
  • 特点:API简洁直观,搜索精度可配置,对常见复变函数适配性良好。

2. Roots.jl

  • 虽主打实函数求解,但完全支持复根查找;同样可通过倒数转换的方式处理极点问题,结合区域约束实现指定域内的搜索。
  • 简单用法示例:
    using Roots
    f(z) = (z^3 - 8)/(z^2 + 4)
    # 指定区域内查找根
    roots = find_zeros(f, -3-3im, 3+3im)
    # 转换后查找极点
    poles = find_zeros(z -> 1/f(z), -3-3im, 3+3im)
    
  • 特点:社区活跃度高,文档完善,支持多种求解算法,能灵活调整参数控制搜索范围与精度。

3. PolynomialRoots.jl

  • 针对多项式类复变函数优化,适合处理多项式分式函数的根与极点问题(极点对应分母多项式的根)。
  • 简单用法示例:
    using PolynomialRoots
    # 分子多项式:z² - 1
    numerator = [1, 0, -1]
    # 分母多项式:z² + 1
    denominator = [1, 0, 1]
    # 获取原函数的根(分子的根)
    roots = roots(numerator)
    # 获取原函数的极点(分母的根)
    poles = roots(denominator)
    # 按指定区域筛选结果
    filtered_roots = [r for r in roots if abs(real(r)) ≤2 && abs(imag(r)) ≤2]
    filtered_poles = [p for p in poles if abs(real(p)) ≤2 && abs(imag(p)) ≤2]
    
  • 特点:针对多项式场景做了性能优化,求解速度快、精度高,适合多项式分式复变函数的分析需求。

内容的提问来源于stack exchange,提问作者Bernd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 20:05:16