LMCAS
Lamina Computer Algebra System
载入中...
搜索中...
未找到
vector_calculus_curves.hpp
浏览该文件的文档.
1#pragma once
2
4
5namespace LMCAS {
6
7/**
8 * @brief 计算第一类曲线积分(标量场沿曲线的积分)。
9 *
10 * 计算 ∫ₐᵇ f(r(t))·|r'(t)| dt,其中 r(t) 为参数化曲线。
11 *
12 * @param[in] f 标量函数表达式(以曲线参数化中的坐标变量表示)
13 * @param[in] parametrization 参数化曲线 [x(t), y(t)] 或 [x(t), y(t), z(t)]
14 * @param[in] t 参数变量名
15 * @param[in] a 参数下界
16 * @param[in] b 参数上界
17 * @return 曲线积分结果表达式
18 */
20 const std::shared_ptr<SymbolicExpr>& f, const VectorField& parametrization,
21 const std::string& t, const std::shared_ptr<SymbolicExpr>& a,
22 const std::shared_ptr<SymbolicExpr>& b,
24
25/** @brief 使用默认上下文计算第一类曲线积分,报告无效输入与未覆盖域。 */
27 const std::shared_ptr<SymbolicExpr>& f, const VectorField& parametrization,
28 const std::string& t, const std::shared_ptr<SymbolicExpr>& a,
29 const std::shared_ptr<SymbolicExpr>& b);
30
31LMCAS_API std::shared_ptr<SymbolicExpr> curve_integral_scalar(
32 const std::shared_ptr<SymbolicExpr>& f, const VectorField& parametrization,
33 const std::string& t, const std::shared_ptr<SymbolicExpr>& a,
34 const std::shared_ptr<SymbolicExpr>& b);
35
36/**
37 * @brief 计算第二类曲线积分(向量场沿曲线的积分)。
38 *
39 * 计算 ∫ₐᵇ F(r(t))·r'(t) dt,其中 r(t) 为参数化曲线。
40 *
41 * @param[in] F 向量场(各分量以坐标变量表示)
42 * @param[in] parametrization 参数化曲线 [x(t), y(t)] 或 [x(t), y(t), z(t)]
43 * @param[in] t 参数变量名
44 * @param[in] a 参数下界
45 * @param[in] b 参数上界
46 * @return 曲线积分结果表达式
47 */
50 const std::string& t, const std::shared_ptr<SymbolicExpr>& a,
51 const std::shared_ptr<SymbolicExpr>& b,
53
54/** @brief 使用默认上下文计算第二类曲线积分,报告无效输入与未覆盖域。 */
57 const std::string& t, const std::shared_ptr<SymbolicExpr>& a,
58 const std::shared_ptr<SymbolicExpr>& b);
59
60LMCAS_API std::shared_ptr<SymbolicExpr> curve_integral_vector(
62 const std::string& t, const std::shared_ptr<SymbolicExpr>& a,
63 const std::shared_ptr<SymbolicExpr>& b);
64
65}
#define LMCAS_API
VectorCalculusExprResult curve_integral_scalar_checked(const std::shared_ptr< SymbolicExpr > &f, const VectorField &parametrization, const std::string &t, const std::shared_ptr< SymbolicExpr > &a, const std::shared_ptr< SymbolicExpr > &b, ComputationContext &context)
const std::vector< Polynomial< BigInt > > const BigInt ComputationContext & context
VectorCalculusExprResult curve_integral_vector_checked(const VectorField &F, const VectorField &parametrization, const std::string &t, const std::shared_ptr< SymbolicExpr > &a, const std::shared_ptr< SymbolicExpr > &b, ComputationContext &context)
const MultiPoly & b
__attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) std const VectorField const std::string const std::shared_ptr< SymbolicExpr > & a
std::vector< std::shared_ptr< SymbolicExpr > > VectorField
向量场由标量表达式组成。
__attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) std const VectorField & parametrization
Result< std::shared_ptr< SymbolicExpr > > VectorCalculusExprResult
std::shared_ptr< SymbolicExpr > curve_integral_vector(const VectorField &F, const VectorField &parametrization, const std::string &t, const std::shared_ptr< SymbolicExpr > &a, const std::shared_ptr< SymbolicExpr > &b)
std::shared_ptr< SymbolicExpr > curve_integral_scalar(const std::shared_ptr< SymbolicExpr > &f, const VectorField &parametrization, const std::string &t, const std::shared_ptr< SymbolicExpr > &a, const std::shared_ptr< SymbolicExpr > &b)
__attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) VectorCalculusExprResult curve_integral_scalar_checked(const std __attribute__((visibility("default"))) std const VectorField const std::string & t