LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
inequality_solver_polynomial.cpp 文件参考
#include "inequality_solver.hpp"
#include "internal/symbolic_ast.hpp"
#include "poly_utils.hpp"
#include "solve_polynomial.hpp"
#include "solve_strategies.hpp"
#include "newton_raphson.hpp"
#include "root_of_utils.hpp"
#include "internal/exact_algebraic.hpp"
#include "internal/inequality_solver_support.hpp"
#include "internal/expression_transform.hpp"
#include "internal/rewrite_budget.hpp"
#include <algorithm>
#include <cmath>
#include <limits>
#include <memory>
#include <optional>
#include <utility>
#include <vector>
inequality_solver_polynomial.cpp 的引用(Include)关系图:

浏览该文件的源代码.

类

struct  LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::ExactInequalityRoot
struct  LMCAS::QuadraticBoundaries

命名空间

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

函数

Result< void > LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::append_exact_factor_roots (std::vector< ExactInequalityRoot > &roots, const Polynomial< Rational > &factor, int multiplicity, const std::string &variable, detail::RewriteBudget &budget, std::size_t &root_nodes)
void LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::check_interval_forest (const std::vector< Interval > &intervals, detail::RewriteBudget &budget)
bool LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::constant_satisfies (const Rational &value, InequalityType type)
static Result< std::vector< Interval > > LMCAS::double_root_inequality_intervals (const Polynomial< Rational > &polynomial, const Rational &rational_part, bool wants_positive, bool leading_positive, bool strict, detail::RewriteBudget &budget)
std::vector< Interval > LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::exact_polynomial_sign_intervals (const Polynomial< Rational > &polynomial, const std::vector< ExactInequalityRoot > &roots, InequalityType type)
Endpoint LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::finite_endpoint (const std::shared_ptr< SymbolicExpr > &value, bool strict)
bool LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::rational_is_negative (const Rational &value)
std::shared_ptr< SymbolicExpr > LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::rational_polynomial_expression (const Polynomial< Rational > &polynomial, detail::RewriteBudget &budget)
Result< IntervalUnion > LMCAS::detail::inequality_support::solve_exact_affine_inequality (const Polynomial< Rational > &polynomial, InequalityType type, ComputationContext &context)
Result< IntervalUnion > LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::solve_exact_affine_inequality_impl (const Polynomial< Rational > &polynomial, InequalityType type, ComputationContext &context)
Result< IntervalUnion > LMCAS::detail::inequality_support::solve_exact_polynomial_inequality (const Polynomial< Rational > &polynomial, InequalityType type, ComputationContext &context)
Result< IntervalUnion > LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::solve_exact_polynomial_inequality_impl (const Polynomial< Rational > &polynomial, InequalityType type, ComputationContext &context)
Result< void > LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::sort_exact_inequality_roots (std::vector< ExactInequalityRoot > &roots, ComputationContext &context)
static Result< QuadraticBoundaries > LMCAS::verified_quadratic_boundaries (const Polynomial< Rational > &polynomial, const Rational &rational_part, const Rational &denominator, const Rational &discriminant, detail::RewriteBudget &budget)
Result< void > LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::verify_quadratic_boundary (const Polynomial< Rational > &polynomial, const std::shared_ptr< SymbolicExpr > &boundary, const Rational &rational_part, const Rational &radical_coefficient, const Rational &radicand, ComputationContext &context)

变量

constexpr const char * LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::kCheckedInequalityOperation = "solve_inequality_checked"

类说明

◆ LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::ExactInequalityRoot

struct LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::ExactInequalityRoot

在文件 inequality_solver_polynomial.cpp 第 299 行定义.

LMCAS::anonymous_namespace{inequality_solver_polynomial.cpp}::ExactInequalityRoot 的协作图:
类成员
ExactRealAlgebraic algebraic
shared_ptr< SymbolicExpr > expression
int multiplicity = 1

◆ LMCAS::QuadraticBoundaries

struct LMCAS::QuadraticBoundaries

在文件 inequality_solver_polynomial.cpp 第 126 行定义.

LMCAS::QuadraticBoundaries 的协作图:
类成员
shared_ptr< SymbolicExpr > first
shared_ptr< SymbolicExpr > second