先說明一下這裡的求交與求並分別是什麼意思。就是有兩個線性空間v
1v_1
v1與v
2v_2
v2,求出這兩個空間的交與並。當然oi中的線性空間大部分是指異或操作下的,也就是常說的線性基。
如下所說的,都是異或的線性基,不區分加號與異或,即∑xi
=x1⊕
x2..
.⊕x3
\sum x_i = x_1 \oplus x_2 ... \oplus x_3
∑xi=x
1⊕x
2..
.⊕x3
。當然可以擴充套件到任意線性空間,大致方法不變。
明顯答案也是乙個線性基。
那麼我們還需要如下引理:
設
\\}是v
1v_1
v1的一組線性基,
\\}是v
2v_2
v2的一組線性基。設www是
\中在v
1v_1
v1的基,如果α
⋃\alpha \bigcup\\}
α⋃線性無關,那麼w
ww就是交的線性基。
從而可以得到:
如果β
i\beta_i
βi能被
\\}與β j=
1...i−
1\beta_
βj=1..
.i−1
線性表示出來,我們可以把⨁i=
1xαi
\bigoplus_^\alpha_i
⨁i=1x
αi或者⨁j=
1i−1
βj
\bigoplus_^\beta_j
⨁j=1i−
1βj
(注意要麼加入α
\alpha
α要麼加入β
\beta
β)加入答案的線性基中。
**如下:
linearbasis merge
(linearbasis a,linearbasis b)
for(
int i =
60; i >=
0; i--
)else}}
if(can)
} c.
insert
(v);}}
} c.
build()
;return c;
}
同樣的,如下**也可以:
linearbasis merge
(linearbasis a,linearbasis b)
else}}
if(can)
} c.
insert
(v);}}
} c.
build()
;return c;
}
注意區別。
通過容斥原理將並轉化為交即可。
線性基求交
學習了 感覺線性代數的性質還是很奇妙呀 給定兩個線性空間,或者是兩個基 b 1,b 2 求兩個線性空間的交 來個引理 令 w v 1 cap b 2 若 b 1 cup b 2 setminus w 線性無關,那麼 w 是 v 1 cap v 2 的一組基 首先 w 張成的線性空間不會比 v 1 c...
線性基 求抑或最值
線性基 對一組數建立線性基得到 一組數a1,a2 an,其中ax 存最高位的1在第x位的元素值。線性基作用 線性基的子集的抑或和的 值域與原數抑或和的值域相同。性質1 線性基的任意子集的抑或和都不為0 對原陣列的每乙個數p,從高位到低位掃瞄,找到第一位為1的,若該位上的線性基ai不存在,則ai p,...
matlab如何求線性空間維數與基並做正交化
本博文源於matlab實驗,線性空間的維數n是指極大線性無關組的數量,而基就是指極大線性無關組。而正交化使用施密特正交化原理進行正交而matlab有相應的命令實現 r,j rref a a是矩陣 r是簡化後的階梯形 j是主元 clear a1 4 0 2 5 1 a2 5 31 44 a3 4025...