CylindricalDecomposition

CylindricalDecomposition[expr,{x1,x2,}]

将由语句 expr 表示的区域分解为圆柱分量,其方向依次对应于 xi.

CylindricalDecomposition[expr,{x1,x2,},op]

求对由语句 expr 表示的区域应用拓扑运算的结果的分解.

CylindricalDecomposition[expr,{x1,x2,},"Function"]

将结果表示为 CylindricalDecompositionFunction[][x1,x2,],以便有效运用于以后的计算中.

更多信息和选项

  • 语句 expr 可以是以下内容的逻辑组合:
  • lhs==rhs等式
    lhs!=rhs非等式
    lhs>rhslhs>=rhs 不等式
    CylindricalDecompositionFunction[][x,y,]圆柱代数公式
    ForAll[x,cond,expr]通用量词
    Exists[x,cond,expr]存在量词
  • 等式和不等式可涉及多项式、有理函数或实代数函数.
  • CylindricalDecomposition 假定所有的变量都是实数.
  • CylindricalDecomposition 返回不等式,其边界通常包含代数函数.
  • 拓扑运算 op 可以是下列任何一种:
  • "Boundary"解集的边界
    "Closure"解集的闭包
    "Interior"解集的内部
    "Exterior"解集的外部
    "ClosureOfInterior"解集内部的闭包
    "InteriorOfClosure"解集闭包的内部
    "Components"解集的连通分量
  • CylindricalDecompositionFunction 对象提供半代数集的显式紧凑表示,可有效运用于以后的计算中.
  • CylindricalDecompositionFunction 对象通常用于半代数集的重复计算,包括计算集合的布尔组合,用附加条件限制集合,消除一些变量或优化集合.
  • 含有 x1,,xn 的圆柱代数公式的形式为 ,其中 . 每个 的形式为 ,其中 是在解集 上定义并连续的代数函数. 中的 的解集 被称为 cell. 当 时,cell 上的投影要么不相交,要么相同.
  • 如果没有指定 "Function"CylindricalDecomposition 返回以等式或不等式的布尔组合给出的圆柱代数公式.
  • CylindricalDecompositionFunction 给出圆柱代数公式的压缩 (encapsulated) 表示,当用于 CylindricalDecomposition 的输入时,或用于如 ReduceResolveFindInstanceSolveMinimize 这样的求解器时会更加高效.
  • NormalCylindricalDecompositionFunction 对象转换成等式或不等式的布尔组合.
  • 可将拓扑运算的指定和输出格式组合在一起,如 CylindricalDecomposition[ineqs,{x1,x2,},"BoundaryFunction"] 给出了解集的边界,并将解集 ineqs 表示为 CylindricalDecompositionFunction 对象.

范例

打开所有单元关闭所有单元

基本范例  (2)

找出单位盘的柱形分解:

找到单位圆盘边界的圆柱分解:

范围  (14)

基本用途  (9)

对于单变量多项式结果由区间组成:

通常会出现单点:

这也可以是任何逻辑组合的形式:

对于多变量多项式,结果为柱形 :

通常将生成若干柱形:

利用 RegionPlot 绘制各个柱形:

通过变换变量的顺序,柱形采取形式

绘制各个柱形:

这里维数为 0、2 和 1 的柱形出现在结果中:

三维和四维分解:

CylindricalDecomposition 接受量化的公式:

系数可以包括实代数数:

系数可以包括精确的超越实数:

函数可以是实代数的:

拓扑运算  (5)

求解的区域及其边界的分解:

求解的区域及其闭包的分解:

求解的区域及其内部的分解:

求解的区域及其外部的分解:

求解的区域及其连通分量的分解;

选项  (1)

WorkingPrecision  (1)

由于包含的代数数的高次方,这项计算将需要较长时间:

下面用 WorkingPrecision->1000, 得出一个分解,但结果可能是不正确的:

应用  (2)

求代数曲线的连接分量:

求区域的连通分量:

属性和关系  (8)

利用 RegionPlot 图形显示二维半代数集:

利用 RegionPlot3D 图形显示三维半代数集:

Resolve 完成量词消去,并且可以避免计算柱形分解:

Reduce 也处理不同的定义域和超越函数:

利用 FindInstance 得出满足方程式和不等式的点:

SemialgebraicComponentInstances 将给出每一个柱体中的样本点:

CylindricalDecomposition 合并若干柱体以得到更紧凑的表达式:

GenericCylindricalDecomposition 将仅仅计算全维数部分:

输出和输入作为集合是相等的:

点同时出现在集合内或集合外:

可能存在的问题  (2)

CylindricalDecomposition 需要精确的、无限精度的输入:

Rationalize 将不精确的数字转换为精确的数字:

通常输出可以是更紧凑的嵌套形式:

把结果展平成析取范式而不分离不等式:

巧妙范例  (1)

半代数集是相当普通的:

Wolfram Research (2003),CylindricalDecomposition,Wolfram 语言函数,https://reference.wolfram.com/language/ref/CylindricalDecomposition.html (更新于 2020 年).

文本

Wolfram Research (2003),CylindricalDecomposition,Wolfram 语言函数,https://reference.wolfram.com/language/ref/CylindricalDecomposition.html (更新于 2020 年).

CMS

Wolfram 语言. 2003. "CylindricalDecomposition." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/CylindricalDecomposition.html.

APA

Wolfram 语言. (2003). CylindricalDecomposition. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/CylindricalDecomposition.html 年

BibTeX

@misc{reference.wolfram_2024_cylindricaldecomposition, author="Wolfram Research", title="{CylindricalDecomposition}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/CylindricalDecomposition.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_cylindricaldecomposition, organization={Wolfram Research}, title={CylindricalDecomposition}, year={2020}, url={https://reference.wolfram.com/language/ref/CylindricalDecomposition.html}, note=[Accessed: 21-November-2024 ]}