LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
numerical_integration.cpp 文件参考

数值积分实现. 更多...

#include "numerical_integration.hpp"
#include "internal/lmmc_lifecycle.hpp"
#include "lmmc/quadrature.h"
#include "symbolic.hpp"
#include "internal/symbolic_ast.hpp"
#include <algorithm>
#include <cmath>
#include <limits>
#include <optional>
#include <string>
numerical_integration.cpp 的引用(Include)关系图:

浏览该文件的源代码.

类

struct  LMCAS::anonymous_namespace{numerical_integration.cpp}::NormalizedInterval
struct  LMCAS::anonymous_namespace{numerical_integration.cpp}::QuadratureCallback

命名空间

namespace  LMCAS
namespace  LMCAS::anonymous_namespace{numerical_integration.cpp}

函数

Result< QuadratureEstimate > LMCAS::adaptive_simpson_numeric (const std::shared_ptr< SymbolicExpr > &function, const std::string &variable, const std::shared_ptr< SymbolicExpr > &lower, const std::shared_ptr< SymbolicExpr > &upper, ComputationContext &context, double tolerance, int max_depth)
Result< QuadratureEstimate > LMCAS::adaptive_simpson_numeric (const std::shared_ptr< SymbolicExpr > &function, const std::string &variable, const std::shared_ptr< SymbolicExpr > &lower, const std::shared_ptr< SymbolicExpr > &upper, double tolerance, int max_depth)
Result< double > LMCAS::anonymous_namespace{numerical_integration.cpp}::checked_finite_value (Result< ApproxReal > value, const std::string &operation)
Result< QuadratureEstimate > LMCAS::anonymous_namespace{numerical_integration.cpp}::estimated_quadrature_result (double value, double estimated_error, double sign, const std::string &operation)
Result< double > LMCAS::anonymous_namespace{numerical_integration.cpp}::eval_bound_checked (const std::shared_ptr< SymbolicExpr > &expr, ComputationContext &context, const std::string &operation)
Result< NormalizedInterval > LMCAS::anonymous_namespace{numerical_integration.cpp}::evaluate_interval (const std::shared_ptr< SymbolicExpr > &lower, const std::shared_ptr< SymbolicExpr > &upper, ComputationContext &context, const std::string &operation)
double LMCAS::anonymous_namespace{numerical_integration.cpp}::evaluate_quadrature_callback (double x, void *user_data)
CasErrc LMCAS::anonymous_namespace{numerical_integration.cpp}::quadrature_error_code (lmmc_status_t status)
template<typename T>
Result< T > LMCAS::anonymous_namespace{numerical_integration.cpp}::quadrature_failure (lmmc_status_t status, const std::string &operation)
Result< QuadratureEstimate > LMCAS::quadrature_gaussian_numeric (const std::shared_ptr< SymbolicExpr > &function, const std::string &variable, const std::shared_ptr< SymbolicExpr > &lower, const std::shared_ptr< SymbolicExpr > &upper, ComputationContext &context, int order)
Result< QuadratureEstimate > LMCAS::quadrature_gaussian_numeric (const std::shared_ptr< SymbolicExpr > &function, const std::string &variable, const std::shared_ptr< SymbolicExpr > &lower, const std::shared_ptr< SymbolicExpr > &upper, int order)
Result< QuadratureEstimate > LMCAS::quadrature_simpson_numeric (const std::shared_ptr< SymbolicExpr > &function, const std::string &variable, const std::shared_ptr< SymbolicExpr > &lower, const std::shared_ptr< SymbolicExpr > &upper, ComputationContext &context, int subdivisions)
Result< QuadratureEstimate > LMCAS::quadrature_simpson_numeric (const std::shared_ptr< SymbolicExpr > &function, const std::string &variable, const std::shared_ptr< SymbolicExpr > &lower, const std::shared_ptr< SymbolicExpr > &upper, int subdivisions)
Result< void > LMCAS::anonymous_namespace{numerical_integration.cpp}::validate_quadrature_args (const std::shared_ptr< SymbolicExpr > &function, const std::string &variable, const std::shared_ptr< SymbolicExpr > &lower, const std::shared_ptr< SymbolicExpr > &upper, const std::string &operation)
QuadratureEstimate LMCAS::anonymous_namespace{numerical_integration.cpp}::zero_quadrature_result ()

详细描述

数值积分实现.

在文件 numerical_integration.cpp 中定义.


类说明

◆ LMCAS::anonymous_namespace{numerical_integration.cpp}::NormalizedInterval

struct LMCAS::anonymous_namespace{numerical_integration.cpp}::NormalizedInterval

在文件 numerical_integration.cpp 第 67 行定义.

LMCAS::anonymous_namespace{numerical_integration.cpp}::NormalizedInterval 的协作图:
类成员
double lower = 0.0
double sign = 1.0
double upper = 0.0

◆ LMCAS::anonymous_namespace{numerical_integration.cpp}::QuadratureCallback

struct LMCAS::anonymous_namespace{numerical_integration.cpp}::QuadratureCallback

在文件 numerical_integration.cpp 第 94 行定义.

LMCAS::anonymous_namespace{numerical_integration.cpp}::QuadratureCallback 的协作图:
类成员
ComputationContext * context = nullptr
optional< CasError > error
const shared_ptr< SymbolicExpr > * function = nullptr
const char * operation = nullptr
const string * variable = nullptr