2013-06-05 54 views
-2

您能否给我一个算法(最好是类似C的语言),它能够枚举所有的algebraic numbers?维基百科表示这些数字是可数的(与实数不同)。我已经问过一个similar question on MathExchange,但它对我没有多大帮助。枚举所有的代数数字

+1

这不是一个纯粹的数学问题吗?在完成算法之后编写代码应该是小菜一碟,但我会收集你会在数学相关网站上获得更多帮助。 –

+3

我希望你知道有无限多的代数... – 2013-06-05 10:34:25

+0

此外,这是网站的程序员不是数学家,所以这将是很好,如果你已经提供*代数*的定义在这里或至少有链接到维基百科条目定义它们。当你提出问题时,你的目标应该是尽量减少那些试图回答你的问题的人的努力...... – plesiv

回答

3

没有办法以与定义所说的完全不同的方式表示代数数字:一个整数系数多项式可以为零的数字。尤其是,并非所有的代数数字都可以通过对整数迭代地应用加法,除法,乘法,减法和* n * th来表示。

基本上枚举所有代数数字的唯一方法是列举具有整数系数的所有多项式。这是微不足道的。

0

有一种方法可以将非负整数(a1,a2,...,an)的有序集合转换为单个整数B.整数B以二进制形式表示时应如下所示:

100..00100..00...100..00 
|-a0-| |-a1-| |-an-| 

我有一种感觉,这可以帮助你,但不知道如何,因为你没有正确定义代数是什么,以及它是如何构造的,等等。

+1

代数数是存在整数系数的多边形* p *的数* a *,使得* p(a)== 0 *。 – Oswald