LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
symbolic_quadric_classification.cpp 文件参考
#include <stdexcept>
#include "internal/expression_transform.hpp"
#include "internal/symbolic_quadric_classification.hpp"
#include "numeric_evaluation.hpp"
#include "internal/symbolic_ast.hpp"
#include <algorithm>
#include <cmath>
#include <limits>
#include <utility>
symbolic_quadric_classification.cpp 的引用(Include)关系图:

浏览该文件的源代码.

类

struct  LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::CenteredQuadric
struct  LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::SymmetricEigen3

命名空间

namespace  LMCAS
namespace  LMCAS::detail
 多元 Hensel 提升(单变量步)
namespace  LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}

函数

Result< CenteredQuadric > LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::center_quadric (const SymmetricEigen3 &principal, const double linear[3], double constant, const std::string &operation)
VectorStringResult LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::classify_centered_locus (const SymmetricEigen3 &principal, int rank, double centered_constant, double zero_tolerance, const std::string &operation)
VectorStringResult LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::classify_definite_locus (const SymmetricEigen3 &principal, int positive, int negative, double centered_constant, double zero_tolerance, const std::string &operation)
VectorStringResult LMCAS::detail::classify_quadric_impl (const SurfaceSymbolic &surf, ComputationContext &context, const std::string &operation)
VectorStringResult LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::classify_rank_two_locus (int positive, int negative, double centered_constant, double zero_tolerance, const std::string &operation)
VectorStringResult LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::classify_translated_quadric (const SymmetricEigen3 &principal, int rank, const double linear[3], const std::shared_ptr< SymbolicExpr > &expanded, const std::vector< std::string > &vars, ComputationContext &context, const std::string &operation)
Result< double > LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::coefficient_of_constant (const std::shared_ptr< SymbolicExpr > &expanded, const std::vector< std::string > &vars, ComputationContext &context, const std::string &operation)
Result< double > LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::coefficient_of_linear (const std::shared_ptr< SymbolicExpr > &expanded, const std::string &variable, const std::vector< std::string > &vars, ComputationContext &context, const std::string &operation)
Result< double > LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::coefficient_of_square (const std::shared_ptr< SymbolicExpr > &expanded, const std::string &variable, ComputationContext &context, const std::string &operation)
SymmetricEigen3 LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::diagonalize_symmetric_3x3 (const double input[3][3])
bool LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::extract_axis_coefficients (const std::shared_ptr< SymbolicExpr > &expanded, const std::vector< std::string > &vars, ComputationContext &context, const std::string &operation, double quadratic_matrix[3][3], double linear[3], CasError &error)
bool LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::extract_mixed_coefficients (const std::shared_ptr< SymbolicExpr > &expanded, const std::vector< std::string > &vars, ComputationContext &context, const std::string &operation, double quadratic_matrix[3][3], CasError &error)
Result< double > LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::finite_numeric_coeff (const std::shared_ptr< SymbolicExpr > &expression, ComputationContext &context, const std::string &operation, const std::string &message)
bool LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::has_null_axis_linear_term (const SymmetricEigen3 &principal, const double linear[3], const double linear_tolerance[3])
double LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::largest_off_diagonal (const double matrix[3][3], size_t &p, size_t &q)
bool LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::project_linear_coefficients (const SymmetricEigen3 &principal, const double coefficients[3], double linear[3], double linear_tolerance[3], const std::string &operation, CasError &error)
void LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::rotate_principal_axes (double matrix[3][3], double vectors[3][3], size_t p, size_t q)

类说明

◆ LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::CenteredQuadric

struct LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::CenteredQuadric

在文件 symbolic_quadric_classification.cpp 第 379 行定义.

LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::CenteredQuadric 的协作图:
类成员
double constant
double zero_tolerance

◆ LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::SymmetricEigen3

struct LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::SymmetricEigen3

在文件 symbolic_quadric_classification.cpp 第 16 行定义.

LMCAS::detail::anonymous_namespace{symbolic_quadric_classification.cpp}::SymmetricEigen3 的协作图:
类成员
double coefficient_scale
bool unresolved_rank
double values[3]
double vectors[3][3]
double zero_tolerance