-
Notifications
You must be signed in to change notification settings - Fork 0
Description
线性空间模块 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, 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]],空列表表示线性无关,非空列表则存储线性组合的系数