LMCAS
Lamina Computer Algebra System
Toggle main menu visibility
载入中...
搜索中...
未找到
vector_calculus_vectors.hpp
浏览该文件的文档.
1
#pragma once
2
3
#include "
vector_calculus_types.hpp
"
4
5
namespace
LMCAS
{
6
7
/**
8
* @brief 计算两个向量的点积 a·b = ∑aᵢbᵢ。
9
* @param[in] a 向量 a
10
* @param[in] b 向量 b(维度需与 a 相同)
11
* @return 点积标量表达式
12
*/
13
LMCAS_API
VectorCalculusExprResult
dot_product
(
14
const
VectorField
&
a
,
const
VectorField
&
b
);
15
16
/**
17
* @brief 计算两个三维向量的叉积 a×b。
18
* @param[in] a 三维向量 a
19
* @param[in] b 三维向量 b
20
* @return 叉积向量(三分量)
21
*/
22
LMCAS_API
VectorCalculusFieldResult
cross_product
(
23
const
VectorField
&
a
,
const
VectorField
&
b
);
24
25
/**
26
* @brief 计算向量 a 在向量 b 上的投影向量 proj_b(a) = (a·b / b·b)·b。
27
* @param[in] a 被投影向量
28
* @param[in] b 投影方向向量
29
* @return 投影向量;b 为零向量时返回零向量
30
*/
31
LMCAS_API
VectorCalculusFieldResult
vector_project
(
32
const
VectorField
&
a
,
const
VectorField
&
b
);
33
34
/**
35
* @brief 计算向量 a 在向量 b 上的标量投影 a·b / |b|。
36
* @param[in] a 被投影向量
37
* @param[in] b 投影方向向量
38
* @return 标量投影表达式;b 为零向量时返回 nullptr
39
*/
40
LMCAS_API
VectorCalculusExprResult
scalar_project
(
41
const
VectorField
&
a
,
const
VectorField
&
b
);
42
43
/**
44
* @brief 计算两个向量夹角 arccos(a·b / (|a|·|b|))。
45
* @param[in] a 向量 a
46
* @param[in] b 向量 b
47
* @return 夹角表达式(弧度);任一向量为零时返回 nullptr
48
*/
49
LMCAS_API
VectorCalculusExprResult
vector_angle_symbolic
(
50
const
VectorField
&
a
,
const
VectorField
&
b
);
51
52
/**
53
* @brief 计算三个三维向量的混合积 a·(b×c)。
54
* @param[in] a 向量 a
55
* @param[in] b 向量 b
56
* @param[in] c 向量 c
57
* @return 混合积标量表达式(等于以 a,b,c 为行的行列式)
58
*/
59
LMCAS_API
VectorCalculusExprResult
mixed_product
(
60
const
VectorField
&
a
,
const
VectorField
&
b
,
const
VectorField
&
c
);
61
62
}
LMCAS_API
#define LMCAS_API
定义
lmcas_export.hpp:13
LMCAS
定义
assumption.hpp:11
LMCAS::c
const VectorField const VectorField & c
定义
vector_calculus_vectors.hpp:60
LMCAS::b
const MultiPoly & b
定义
multivariate_factor.hpp:92
LMCAS::a
__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
定义
vector_calculus_curves.hpp:50
LMCAS::VectorField
std::vector< std::shared_ptr< SymbolicExpr > > VectorField
向量场由标量表达式组成。
定义
vector_calculus_types.hpp:15
LMCAS::VectorCalculusFieldResult
Result< VectorField > VectorCalculusFieldResult
定义
vector_calculus_types.hpp:17
LMCAS::vector_angle_symbolic
VectorCalculusExprResult vector_angle_symbolic(const VectorField &a, const VectorField &b)
定义
vector_calculus_algebra.cpp:201
LMCAS::scalar_project
VectorCalculusExprResult scalar_project(const VectorField &a, const VectorField &b)
定义
vector_calculus_algebra.cpp:185
LMCAS::vector_project
VectorCalculusFieldResult vector_project(const VectorField &a, const VectorField &b)
定义
vector_calculus_algebra.cpp:169
LMCAS::VectorCalculusExprResult
Result< std::shared_ptr< SymbolicExpr > > VectorCalculusExprResult
定义
vector_calculus_types.hpp:16
LMCAS::mixed_product
VectorCalculusExprResult mixed_product(const VectorField &a, const VectorField &b, const VectorField &c)
定义
vector_calculus_algebra.cpp:217
LMCAS::cross_product
VectorCalculusFieldResult cross_product(const VectorField &a, const VectorField &b)
定义
vector_calculus_algebra.cpp:152
LMCAS::dot_product
VectorCalculusExprResult dot_product(const VectorField &a, const VectorField &b)
定义
vector_calculus_algebra.cpp:136
vector_calculus_types.hpp
include
vector_calculus_vectors.hpp
生成于
, 为 LMCAS使用
1.18.0