w******u 发帖数: 219 | 1 【 以下文字转载自 EE 讨论区 】
发信人: withtaku (withtaku), 信区: EE
标 题: 编写 network coding 仿真的一个问题
发信站: BBS 未名空间站 (Wed Feb 17 09:54:03 2010, 美东)
Hi,
小弟正在编写一个关于network coding的仿真,其中需要判断一个矢量是否和另外的几
个矢量组成的
矩阵线性独立,据说是要用到Gaussian Elimination的方法,请问有谁会用C语言实现
之么?谢谢 | i******t 发帖数: 370 | 2 You can just copy it from Numerical Recipes in C.
【在 w******u 的大作中提到】 : 【 以下文字转载自 EE 讨论区 】 : 发信人: withtaku (withtaku), 信区: EE : 标 题: 编写 network coding 仿真的一个问题 : 发信站: BBS 未名空间站 (Wed Feb 17 09:54:03 2010, 美东) : Hi, : 小弟正在编写一个关于network coding的仿真,其中需要判断一个矢量是否和另外的几 : 个矢量组成的 : 矩阵线性独立,据说是要用到Gaussian Elimination的方法,请问有谁会用C语言实现 : 之么?谢谢
| w***g 发帖数: 5958 | 3 用内积算比较直观。要判断x和Y=[a,b,...]是否独立只要把x逐个投影到Y的每个元素,
并把投影的那部分从x中减去。如果一圈下来x还有剩的那就是线性独立了:
foreach y in Y {
x -= (x . y) / (y . y) y
------- -------
内积 内积
----------------- ---
标量 矢量
}
然后判断x是否为零就行。
【在 w******u 的大作中提到】 : 【 以下文字转载自 EE 讨论区 】 : 发信人: withtaku (withtaku), 信区: EE : 标 题: 编写 network coding 仿真的一个问题 : 发信站: BBS 未名空间站 (Wed Feb 17 09:54:03 2010, 美东) : Hi, : 小弟正在编写一个关于network coding的仿真,其中需要判断一个矢量是否和另外的几 : 个矢量组成的 : 矩阵线性独立,据说是要用到Gaussian Elimination的方法,请问有谁会用C语言实现 : 之么?谢谢
| w******u 发帖数: 219 | 4 我大概懂你的意思
(x . y) / (y . y) y 求出来的是x 在 y 上的投影,是吧
你指如果x和Y不是线性独立,那么它就等于在Y上每个元素的投影之和,不一定吧
【在 w***g 的大作中提到】 : 用内积算比较直观。要判断x和Y=[a,b,...]是否独立只要把x逐个投影到Y的每个元素, : 并把投影的那部分从x中减去。如果一圈下来x还有剩的那就是线性独立了: : foreach y in Y { : x -= (x . y) / (y . y) y : ------- ------- : 内积 内积 : ----------------- --- : 标量 矢量 : } : 然后判断x是否为零就行。
| i******t 发帖数: 370 | 5 这个。。。
Try a=[0,1]^T, b=[1,1]^T, x=[1,0]^T,按照你的procedure,看剩下的是什么
【在 w***g 的大作中提到】 : 用内积算比较直观。要判断x和Y=[a,b,...]是否独立只要把x逐个投影到Y的每个元素, : 并把投影的那部分从x中减去。如果一圈下来x还有剩的那就是线性独立了: : foreach y in Y { : x -= (x . y) / (y . y) y : ------- ------- : 内积 内积 : ----------------- --- : 标量 矢量 : } : 然后判断x是否为零就行。
| w***g 发帖数: 5958 | 6 我错了.. 可能要求Y里面的那些东西是正交的才行吧.. 施密特正交化..
【在 i******t 的大作中提到】 : 这个。。。 : Try a=[0,1]^T, b=[1,1]^T, x=[1,0]^T,按照你的procedure,看剩下的是什么
|
|