diff --git a/sections/1B.typ b/sections/1B.typ index 093af9e..9ee1e12 100644 --- a/sections/1B.typ +++ b/sections/1B.typ @@ -9,7 +9,7 @@ 根据定义 $v + (-v) = 0$,由可交换性,得 $(-v) + v = 0$,即 $v$ 是 $-v$ 的加法逆元。由加法逆元的唯一性(原书定理1.27),得 $-(-v) = v$。 ] -#exercise_sol(type: "proof", label: "tricky")[ +#exercise_sol(type: "proof", label: "tricky", ref: <1B-vec-zero-product-property>)[ 设 $a in FF$,$v in V$ 且 $a v=0$,证明:$a=0$ 或 $v=0$。 ][ 我们使用反证法,假设 $a != 0$ 且 $v != 0$,同时 $a v = 0$。由于 $a != 0$ 故存在 $a^(-1) in FF$($a^(-1) != 0$),使得 $a^(-1) a = 1$。因此有 diff --git a/sections/2A.typ b/sections/2A.typ index 2b86924..1dba97e 100644 --- a/sections/2A.typ +++ b/sections/2A.typ @@ -1,4 +1,4 @@ -#import "../styles.typ": exercise_sol, tab +#import "../styles.typ": exercise_sol, tab, exercise_ref #import "../math.typ": span #exercise_sol(type: "answer")[ @@ -92,3 +92,33 @@ #tab 综上所述,$span(v_1, dots, v_m) = span(w_1, dots, w_m)$。 ] + +#exercise_sol(type: "proof")[ + #set enum(numbering: "(a) ") // 与原书一致 + + 证明:向量空间中长度为 $1$ 的组线性无关,当且仅当组中的该向量不是 $0$; + + 证明:向量空间中长度为 $2$ 的组线性无关,当且仅当组中两个向量的任意一个不是另一个的标量倍。 +][ + 设 $V$ 是向量空间。对于第一个命题,设 $v in V$。首先说明充分性。假设 $v != 0$,根据#exercise_ref(<1B-vec-zero-product-property>),使得 $a v = 0$ 成立的 $a in FF$ 的唯一选取方式是 $a = 0$,根据线性无关的定义(原书定义2.15),这表明向量组 $v$ 是线性无关的。 + + #tab 然后说明必要性,如果 $v = 0$,则我们有 + + $ 0v = 1v = 0 $ + + #tab 根据线性无关的定义(原书定义2.15),向量组 $0$ 不是线性无关的。 + + #tab 对于第二个命题,设 $v_1, v_2 in V$。首先说明充分性:使用反证法,假设 $v_1$ 和 $v_2$ 不是线性无关的,即存在 $a_1, a_2 in FF$,使得 + + $ a_1 v_1 + a_2 v_2 = 0 $ + + #tab 其中 $a_1$ 和 $a_2$ 中至少有一个向量不为 $0$。不妨设 $a_1 != 0$,那么,可以整理得 + + $ v_1 = - a_2/a_1 v_2 $ + + #tab 这表明 $v_1$ 是 $v_2$ 的标量倍,与题目条件矛盾。这说明,$v_1$ 和 $v_2$ 线性无关。 + + #tab 然后说明必要性:假设 $v_1$ 和 $v_2$ 线性无关,使用反证法,假设 $v_1$ 和 $v_2$ 中有一个向量是另一个向量的标量倍,不妨设 $v_1 = k v_2$,其中 $k in FF$。注意到, + + $ v_1 + (-k) v_2 = 0 $ + + #tab 这与线性无关的定义矛盾。因此,$v_1$ 和 $v_2$ 线性无关当且仅当组中两个向量的任意一个不是另一个的标量倍。 +] diff --git a/styles.typ b/styles.typ index 603b514..2a6c801 100644 --- a/styles.typ +++ b/styles.typ @@ -252,6 +252,19 @@ place.flush() } +#let exercise_ref(l) = { + context { + let el = query(selector(l)) + if el.len() == 0 { + return text("Error: 未找到习题", fill: color.red) + } + let e = el.first() + numbering("1A", counter("chapter_N").at(e.location()).at(0), counter("section_N").at(e.location()).at(0)) + "节" + ref(l) + } +} + #let ploting-styles = ( mark: (fill: theme_color_set.at("10"), stroke: theme_color_set.at("80")),