LMCAS
Lamina Computer Algebra System
Toggle main menu visibility
载入中...
搜索中...
未找到
symbolic_geometry_quadric.hpp
浏览该文件的文档.
1
#pragma once
2
#include "
symbolic_geometry_vector.hpp
"
3
4
namespace
LMCAS
{
5
6
/** @brief 隐式曲面 F(x,y,z) = 0。 */
7
struct
SurfaceSymbolic
{
8
std::shared_ptr<SymbolicExpr>
F
;
/**< 曲面方程左端,等于零。 */
9
std::vector<std::string>
vars
;
/**< 坐标变量名 {x,y,z}。 */
10
};
11
12
/**
13
* @brief 对二次曲面进行分类。
14
* 对称特征分解将含混合项的二次型旋转到主轴,再完成平方,
15
* 依据中心常数和惯性判定实数轨迹。零空间线性分量采用逐主轴点积误差界,
16
* 使抛物方向的判定独立于其他轴的大系数;秩一非中心二次型归为抛物柱面。
17
* 非零特征值落入特征分解反向误差界时返回 `Inconclusive`,保持原秩;
18
* 空集、单点、直线和平面对按退化情形处理。
19
* @param surf 隐式曲面。
20
* @return 分类字符串:"sphere"、"ellipsoid"、"paraboloid"、"hyperboloid"、
21
* "cone"、"cylinder"、"unknown"。
22
*/
23
24
LMCAS_API
VectorStringResult
classify_quadric_checked
(
25
const
SurfaceSymbolic
& surf,
26
ComputationContext
&
context
27
);
28
29
LMCAS_API
VectorStringResult
classify_quadric_checked
(
30
const
SurfaceSymbolic
& surf
31
);
32
33
}
LMCAS::ComputationContext
定义
computation_context.hpp:99
LMCAS_API
#define LMCAS_API
定义
lmcas_export.hpp:13
LMCAS
定义
assumption.hpp:11
LMCAS::context
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context
定义
exact_factorization.hpp:65
LMCAS::classify_quadric_checked
VectorStringResult classify_quadric_checked(const SurfaceSymbolic &surf, ComputationContext &context)
定义
symbolic_geometry_quadric.cpp:10
LMCAS::VectorStringResult
Result< std::string > VectorStringResult
定义
symbolic_geometry_vector.hpp:13
LMCAS::SurfaceSymbolic::F
std::shared_ptr< SymbolicExpr > F
曲面方程左端,等于零。
定义
symbolic_geometry_quadric.hpp:8
LMCAS::SurfaceSymbolic::vars
std::vector< std::string > vars
坐标变量名 {x,y,z}。
定义
symbolic_geometry_quadric.hpp:9
LMCAS::SurfaceSymbolic
隐式曲面 F(x,y,z) = 0。
定义
symbolic_geometry_quadric.hpp:7
symbolic_geometry_vector.hpp
include
symbolic_geometry_quadric.hpp
生成于
, 为 LMCAS使用
1.18.0