Skip to content

线性空间模块 linspace #68

@HelloMrGeorge

Description

@HelloMrGeorge

线性空间模块 linspace

def is_lincombination(group, vect, coef = [])

Source: lam/linspace/lincombination.py

判断vect是否是group的线性组合。


Parameter:

  • group: List
  • vect: Any
  • coef: List

Return: bool

如果vect是group的线性组合则返回True,否则返回False。vect的类型应该与group中单个元素的类型相同。

当需要获取线性组合的系数时,可以用coef存储线性组合的系数,以引用参数的形式返回。当存在多组系数可以线性表示vect时,coef只存储一组系数。

Note: 目前该方法只支持vect是MutableDenseMatrix类型

class MLIGSolver

Source: lam/linspace/MLIG.py

该类用于求解一个给定向量组的极大无关组


MLIGSolver(group: list)

Parameter:

  • group: List

用向量组group构造一个求解器,向量可以矩阵类型,多项式类型等。(暂时只支持矩阵类型)


properties (成员变量)

  • coefs 存储每次筛选时得出的线性组合的系数,具体可以参考下面排版样式的内容
  • MLIG 存储得出的极大无关组
  • position 存储极大无关组的向量在group中的位置

filtrate_MLIG()

无返回,计算给定向量组group的极大无关向量组,结果存储在成员变量中


get_course()

Return: MLIGSolver

调用filtrate_MLIG()后,返回对象本身,计算过程所需要的内容均可以从成员变量中得到。


排版样式

引用区块的内容无需显示到网页中(即本句话的区块样式)

筛选法求极大无关向量组

$a_1$ = $\left[\begin{matrix} 1\2\3\-1 \end{matrix}\right]$,
$a_2$ = $\left[\begin{matrix} 3\2\1\-1 \end{matrix}\right]$,
$a_3$ = $\left[\begin{matrix} 2\3\1\1 \end{matrix}\right]$,
$a_4$ = $\left[\begin{matrix} 2\2\2\-1 \end{matrix}\right]$,
$a_5$ = $\left[\begin{matrix} 5\5\2\0 \end{matrix}\right]$.

向量组$(a_1, a_2)$线性无关;

向量组$(a_1, a_2, a_3)$线性无关;

向量组$(a_1, a_2, a_3, a_4)$线性相关,因为$\frac{1}{2}a_1+\frac{1}{2}a_2 = a_4$

向量组$(a_1, a_2, a_3, a_5)$线性相关,因为$a_2+a_3 = a_5$

所以极大线性无关组是$(a_1, a_2, a_3)$

这个例子的coefs可以表示为[[], [], [1/2, 1/2, 0], [0, 1, 1]],空列表表示线性无关,非空列表则存储线性组合的系数

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions