wayne 发表于 2019-10-5 10:54:38

Solve/NSolve都是函数,返回的根的顺序没啥研究价值.用Root表达的根是原子性的,是带有编号的解析表达, 其顺序倒是值得一说. 比如 $x^3-3x-1=0$的三个根:
Root[-1 - 3 # + #^3& , 1] = -1.53209,
Root[-1 - 3 # + #^3& , 2] =-0.347296,
Root[-1 - 3 # + #^3& , 3] = 1.87939

wayne 发表于 2019-10-5 11:58:17

咱们进一步拓深拓宽, 前面说的给多项式方程的根进行排序. 本质上其实是在给根命名, 做编号,Mathematica这么做的好处就是可以像对待常用的数学常数$\pi, \sqrt{2}$一样能同等地位的准确指代它, 进而做任意精度的运算,更加复杂的代数层面的复合的推导.
再后来,Mathematica嫌Root只是表达多项式方程的根可玩的空间太有限,不过瘾, 它还要表达任意方程的根, 包括超越方程, : https://blog.wolfram.com/2008/12/18/mathematica-7-johannes-kepler-and-transcendental-roots/

所以,,我们就有了新的能力, 比如,我想求方程$x = 1 + 10 \sin(x)$的根,假如就是t了, 然后求$f(t) = \cos(t)+t^3$的任意精度的值.

ans = Cos + x^3 /. Solve, x, Reals];
{Length, N], 100]}
不用画图, 就可以得到方程有7个实根. 然后这7个根的复合表达都轻轻松松算出来了, 整个过程非常简洁,正应了Wolfram说的代数系统里面一切都是符号的理念.
.

zeroieme 发表于 2019-10-5 13:07:46

本帖最后由 zeroieme 于 2019-10-5 13:08 编辑

dlpg070 发表于 2019-10-5 08:59
解的顺序的确不重要,而且不是只有一种排列顺序
大家讨论的是用Solve解方程时解的顺序
如果用NSolve解方 ...

我想了解如果对认定的某个代数数做记号。
比如\(x^2=2\),可以不在乎解的顺序。不论记作\(x_1=\sqrt{2}\)或\(x_2=-\sqrt{2}\);又或者反过来标解的顺序。这是低次方程可以用根式写出,对于高次方程无法用根式表达,但还是有n个解在哪里,总该有个记号标饰起来。

zeroieme 发表于 2019-10-5 13:17:39

还是wayne跟我的思路比较贴近,我想了解的就是代数数的命名规范,好到当成一个确定的常数。如同\(\sqrt2\)、\(pi\)、\(e\)。

dlpg070 发表于 2019-10-5 16:16:49

本帖最后由 dlpg070 于 2019-10-5 16:28 编辑

zeroieme 发表于 2019-10-5 13:17
还是wayne跟我的思路比较贴近,我想了解的就是代数数的命名规范,好到当成一个确定的常数。如同\(\sqrt2\) ...

你想了解代数数的命名规范,请教专家吧
我只知道代数数的定义,不知有命名规范
数有多种分类法

{代数数 超越数}
是其中之一

超越数也只有少数有名字,没有命名规范
我认为代数数也没有命名规范
盼望专家指点迷津




wayne 发表于 2019-10-5 19:12:33

zeroieme 发表于 2019-10-5 13:17
还是wayne跟我的思路比较贴近,我想了解的就是代数数的命名规范,好到当成一个确定的常数。如同\(\sqrt2\) ...

ans = x /. Solve;
N]
{3.14159, 3.14159, 0., 0., -2.68894, 2.68894, -2.23926, 2.23926, -1.79259, 1.79259, -1.34711, 1.34711, -0.900673, 0.900673, -0.451617, 0.451617}
用代码测试了一下. 排序规则就是分成两大组,实根组和复数根组. 实根组在前[组内排序规则就是实数的从小到大]. 然后复数根组 以一个一个的共轭对的形式 排列. 共轭组内的负数幅角值的在前, 组间按照幅角绝对值从大到小给共轭组排列[理解成顺时针].

/

/

wayne 发表于 2019-10-5 19:27:59

wikipedia 和 mathworld 关于连分数和 广义的连分数的介绍都很丰富.
连分数好像又可以跟 Padé Approximant 互换.

zeroieme 发表于 2019-10-6 22:23:40

wayne 发表于 2019-10-5 19:27
wikipedia 和 mathworld 关于连分数和 广义的连分数的介绍都很丰富.
连分数好像又可以跟 Padé Approximan ...

Generalized continued fraction与 Algebraic Number各自能搜到不少资料,包括wikipedia 和 mathworld 上的。
Generalized continued fraction和Algebraic Number一起就得不到我想要的方向。

无心人 发表于 2019-10-7 08:47:44

代数数是
\( a_i \in \ZZ, a_n \gt 0, \sum_{i=0}^{n} {a_i x^i } = 0 \) 的解
特别的,如果\( a_n \)是1,则叫代数整数

zeroieme 发表于 2019-10-7 12:34:22

无心人 发表于 2019-10-7 08:47
代数数是
\( a_i \in \ZZ, a_n \gt 0, \sum_{i=0}^{n} {a_i x^i } = 0 \) 的解
特别的,如果\( a_n \)是1 ...

我需要知道具体每个代数数的符号,
比如\(x^2=1\)有2个解,分别是\(\sqrt2\)与\(-\sqrt2\)。这个很简单。
而高次方程如,\(x^7+5 x-1=0\)有7个解,怎么表示它们?虽然没有根式表示,但还是需要有符号记录下来。
12#wayne说的,这些代数数需要像对待常用的数学常数\(\pi\)一样能同等地位的准确指代它, 进而做任意精度的运算,更加复杂的代数层面的复合的推导
页: 1 [2] 3 4
查看完整版本: 关于代数数的两个疑问