LMCAS
Lamina Computer Algebra System
Toggle main menu visibility
载入中...
搜索中...
未找到
solver_support.hpp
浏览该文件的文档.
1
#pragma once
2
3
#include "
symbolic.hpp
"
4
#include "
internal/symbolic_ast.hpp
"
5
#include <map>
6
7
namespace
LMCAS::solver_detail
{
8
9
inline
lmmc_real_t
finite_midpoint
(lmmc_real_t
lower
, lmmc_real_t
upper
) {
10
if
(
lower < 0.0 && upper >
0.0) {
11
return
lower
* 0.5 +
upper
* 0.5;
12
}
13
return
lower
+ (
upper
-
lower
) * 0.5;
14
}
15
16
std::shared_ptr<SymbolicExpr>
to_ptr
(
const
SymbolicExpr& expression);
17
std::map<std::string, SymbolicExpr>
solve_linear_system_impl
(
18
const
std::vector<SymbolicExpr>& equations,
19
const
std::vector<std::string>& variables,
ComputationContext
&
context
);
20
std::map<std::string, SymbolicExpr>
project_unconditional_linear_system
(
21
const
std::vector<SymbolicExpr>& equations,
22
const
std::vector<std::string>& variables,
ComputationContext
&
context
);
23
std::shared_ptr<SymbolicExpr>
multiply_no_expand
(
24
const
std::shared_ptr<const SymbolicNode>& term,
25
const
std::vector<std::shared_ptr<const SymbolicNode>>& denominator_factors);
26
bool
is_polynomial_node
(
const
std::shared_ptr<const SymbolicNode>& node);
27
bool
collect_denominator_factors
(
28
const
std::shared_ptr<const SymbolicNode>& node,
29
std::vector<std::shared_ptr<const SymbolicNode>>& denominator_factors,
30
std::vector<std::shared_ptr<SymbolicExpr>>& denominator_constraints);
31
32
bool
contains_imaginary
(
const
std::shared_ptr<SymbolicExpr>& expression);
33
bool
solver_number_value
(
const
NumberNode
& number,
double
&
value
);
34
35
}
// namespace LMCAS::solver_detail
LMCAS::ComputationContext
定义
computation_context.hpp:99
LMCAS::NumberNode
定义
numbers.hpp:8
LMCAS::solver_detail
定义
solver_support.hpp:7
LMCAS::solver_detail::is_polynomial_node
bool is_polynomial_node(const std::shared_ptr< const SymbolicNode > &node)
定义
solver_linear.cpp:141
LMCAS::solver_detail::solver_number_value
bool solver_number_value(const NumberNode &number, double &value)
定义
solver_imaginary.cpp:6
LMCAS::solver_detail::multiply_no_expand
std::shared_ptr< SymbolicExpr > multiply_no_expand(const std::shared_ptr< const SymbolicNode > &term, const std::vector< std::shared_ptr< const SymbolicNode > > &denominator_factors)
定义
solver_linear.cpp:79
LMCAS::solver_detail::solve_linear_system_impl
std::map< std::string, SymbolicExpr > solve_linear_system_impl(const std::vector< SymbolicExpr > &equations, const std::vector< std::string > &variables, ComputationContext &context)
定义
solver_linear.cpp:313
LMCAS::solver_detail::project_unconditional_linear_system
std::map< std::string, SymbolicExpr > project_unconditional_linear_system(const std::vector< SymbolicExpr > &equations, const std::vector< std::string > &variables, ComputationContext &context)
定义
solver_linear.cpp:298
LMCAS::solver_detail::contains_imaginary
bool contains_imaginary(const std::shared_ptr< SymbolicExpr > &expression)
定义
solver_imaginary.cpp:226
LMCAS::solver_detail::collect_denominator_factors
bool collect_denominator_factors(const std::shared_ptr< const SymbolicNode > &node, std::vector< std::shared_ptr< const SymbolicNode > > &denominator_factors, std::vector< std::shared_ptr< SymbolicExpr > > &denominator_constraints)
定义
solver_linear.cpp:225
LMCAS::solver_detail::finite_midpoint
lmmc_real_t finite_midpoint(lmmc_real_t lower, lmmc_real_t upper)
定义
solver_support.hpp:9
LMCAS::solver_detail::to_ptr
std::shared_ptr< SymbolicExpr > to_ptr(const SymbolicExpr &expression)
定义
solver_linear.cpp:26
LMCAS::upper
__attribute__((visibility("default"))) ExprResult function(const std __attribute__((visibility("default"))) ExprResult finite_set(std ExprPtr upper
定义
expr.hpp:148
LMCAS::context
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context
定义
exact_factorization.hpp:65
LMCAS::lower
const ExprPtr & lower
定义
expr.hpp:255
LMCAS::value
const std::string const ExprPtr & value
定义
expr.hpp:293
symbolic.hpp
符号表达式主类 SymbolicExpr 及其工厂方法,运算接口.
symbolic_ast.hpp
内部 AST 定义。
src
internal
solver_support.hpp
生成于
, 为 LMCAS使用
1.18.0