math - 获取方程的分支点

标签 math wolfram-mathematica

如果我有一个通用函数,f(z,a)za都是实数,并且函数f会为所有z取真实值,但在一定间隔(z1,z2)中会变得复杂。我如何使用Mathematica确定z1z2(将以a表示)(或者这可能)?有什么限制?

对于测试示例,请考虑函数f[z_,a_]=Sqrt[(z-a)(z-2a)]。对于实数za,它采用实数值,但在(a,2a)区间中除外,该区间变为虚数。我如何在Mathematica中找到这个间隔?

总的来说,我想知道在一般情况下如何数学上找到它。对于仅具有两个这样的变量的函数,对Riemann曲面进行轮廓绘制并观察分支切割可能很简单。但是,如果它是一个多元函数呢?有没有可以采取的一般方法?

最佳答案

您所看到的似乎是由'a'参数化的Riemann曲面。考虑代数(或解析)关系g(a,z)= 0,它将从参数化Riemann曲面的此分支产生。在这种情况下,它只是g ^ 2-(z-a)*(z-2 * a)==0。更一般地,可以使用Groebnerbasis来获得它,如下所示(不保证在没有一定数量用户的情况下,它总是可以工作的)干涉)。

grelation = First[GroebnerBasis[g - Sqrt[(z - a)*(z - 2*a)], {x, a, g}]]

Out [472] = 2 a ^ 2-g ^ 2-3-3 a z + z ^ 2

作为参数“a”的函数的分支点的必要条件是,为“g”设置的零在此类点的附近不会给出(单值)函数。反过来,这意味着相对于g的这种关系的偏导数消失了(这来自多变量演算的隐函数定理)。因此,我们找到了总归结和其导数都消失的地方,并将“z”作为“a”的函数进行求解。
Solve[Eliminate[{grelation == 0, D[grelation, g] == 0}, g], z]

Out [481] = {{z-> a},{z-> 2 a}}

丹尼尔·里奇布劳
Wolfram研究

关于math - 获取方程的分支点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5335006/

相关文章:

wolfram-mathematica - 找到两条曲线的交点和交点右侧曲线下的面积 w/Mathematica

math - 在坐标上添加距离

list - 将值 append 到导出的 .dat 的最快方法

javascript - 如何将 Mathematica 语法转换为 latex ?

iphone - 获取数字的第一位小数

数学中最小化函数的向量不等式约束

wolfram-mathematica - 如何在mathematica中提取有单位的数字?

php - 多列整数排序

c# - .NET 及更高版本 : best practices for using double arithmetic

java - 如何在java中使用高斯分布计算靶心上的随机点