SLV: a software for real root isolation

Elias P. Tsigaridas
{"title":"SLV: a software for real root isolation","authors":"Elias P. Tsigaridas","doi":"10.1145/3015306.3015317","DOIUrl":null,"url":null,"abstract":"The problem of isolating the real roots of a univariate polynomial with integer coefficients is an important problem in computational mathematics. Given a polynomial with integer coefficients, [EQUATION], the objective is to isolate the real roots of f, that is to compute intervals with rational endpoints that contain one and only one root of f. SLV is an open source software package written in C that provides functions for isolating the real roots of univariate polynomials with integer coefficients. It also provides functionality to approximate the isolated roots up to an arbitrary precision. Currently, it is realizes a subdivision algorithm based on Descartes' rule of sign, with modifications to improve its performance. SLV assumes that the input is a square-free polynomial. It performs all the operations using exact arithmetic based on the library gmp and it exploits as much as possible computations with dyadic numbers, that is numbers of the form a/2k where a and k are integers. It builds upon a constant memory variant of Descartes' rule of sign [3]. To minimize the number of allocations in the memory we wrote a small wrapper to use the queue.h library of OpenBSD, in order to have access to a fast implementation of lists and queues. Even though queue.h is written in C, it is a library that follows the generic programming paradigm, and if it is programmed carefully, it could be used with various data sets.","PeriodicalId":7093,"journal":{"name":"ACM Commun. Comput. Algebra","volume":"25 1","pages":"117-120"},"PeriodicalIF":0.0000,"publicationDate":"2016-11-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ACM Commun. Comput. Algebra","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3015306.3015317","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7

Abstract

The problem of isolating the real roots of a univariate polynomial with integer coefficients is an important problem in computational mathematics. Given a polynomial with integer coefficients, [EQUATION], the objective is to isolate the real roots of f, that is to compute intervals with rational endpoints that contain one and only one root of f. SLV is an open source software package written in C that provides functions for isolating the real roots of univariate polynomials with integer coefficients. It also provides functionality to approximate the isolated roots up to an arbitrary precision. Currently, it is realizes a subdivision algorithm based on Descartes' rule of sign, with modifications to improve its performance. SLV assumes that the input is a square-free polynomial. It performs all the operations using exact arithmetic based on the library gmp and it exploits as much as possible computations with dyadic numbers, that is numbers of the form a/2k where a and k are integers. It builds upon a constant memory variant of Descartes' rule of sign [3]. To minimize the number of allocations in the memory we wrote a small wrapper to use the queue.h library of OpenBSD, in order to have access to a fast implementation of lists and queues. Even though queue.h is written in C, it is a library that follows the generic programming paradigm, and if it is programmed carefully, it could be used with various data sets.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
SLV:实现真正根隔离的软件
整数系数单变量多项式的实根分离问题是计算数学中的一个重要问题。给定一个整数系数多项式[EQUATION],目标是隔离f的实根,即计算具有包含且仅包含f的一个根的有理端点的区间。SLV是一个用C编写的开源软件包,提供了隔离整数系数单变量多项式的实根的函数。它还提供了将孤立根近似到任意精度的功能。目前,它实现了一种基于笛卡儿符号规则的细分算法,并对其进行了改进以提高其性能。SLV假设输入是一个无平方多项式。它使用基于库gmp的精确算术来执行所有操作,并利用尽可能多的二进数计算,即形式为a/2k的数字,其中a和k是整数。它建立在笛卡尔符号规则b[3]的恒定记忆变体上。为了尽量减少内存中的分配数量,我们编写了一个小包装器来使用OpenBSD的queue.h库,以便访问列表和队列的快速实现。尽管queue.h是用C编写的,但它是一个遵循泛型编程范例的库,如果对它进行仔细编程,它可以用于各种数据集。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Multivariate ore polynomials in SageMath Certifying operator identities via noncommutative Gröbner bases A Kenzo interface for algebraic topology computations in SageMath The conference "computer algebra" in Moscow Computing generic bivariate Gröbner bases with Mathemagix
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1