线代作业啊啊

  1. 线性方程组
    给定以下线性方程组:
    2 x + y = 5 x − 3 y = − 4 \begin{aligned} & 2 x+y=5 \\ & x-3 y=-4 \end{aligned} 2x+y=5x3y=4
    x x x y y y 的值。

  2. 线性方程组的矩阵求解法
    考虑线性方程组:
    x + 2 y = 3 3 x + 4 y = 7 \begin{array}{r} x+2 y=3 \\ 3 x+4 y=7 \end{array} x+2y=33x+4y=7
    使用矩阵的方法求解 x x x y y y 的值。

  3. 矩阵乘法

    A = [ 1 2 3 4 ] A=\left[\begin{array}{ll} 1 & 2 \\ 3 & 4 \end{array}\right] A=[1324]

    B = [ 2 0 1 3 ] B=\left[\begin{array}{ll} 2 & 0 \\ 1 & 3 \end{array}\right] B=[2103]
    A × B A \times B A×B

  4. 向量的数乘
    v ⃗ = [ 1 3 ] \vec{v}=\left[\begin{array}{l}1 \\ 3\end{array}\right] v =[13], 求 5 × v ⃗ 5 \times \vec{v} 5×v

  5. 向量的加法
    a ⃗ = [ 2 1 ] \vec{a}=\left[\begin{array}{l}2 \\ 1\end{array}\right] a =[21] b ⃗ = [ 3 − 2 ] \vec{b}=\left[\begin{array}{c}3 \\ -2\end{array}\right] b =[32] ,求 a ⃗ + b ⃗ \vec{a}+\vec{b} a +b

  6. 向量的线性组合 (编程题)
    给定向量 v ⃗ 1 = [ 2 1 4 ] \vec{v}_1=\left[\begin{array}{l}2 \\ 1 \\ 4\end{array}\right] v 1= 214 v ⃗ 2 = [ 1 3 − 1 ] \vec{v}_2=\left[\begin{array}{c}1 \\ 3 \\ -1\end{array}\right] v 2= 131 ,生成这两个向量的线性组合(常量自定义即可)。同时,编写一个程序来计算

  7. 向量空间 (张成空间)
    是否可能通过 a ⃗ = [ 1 2 ] \vec{a}=\left[\begin{array}{l}1 \\ 2\end{array}\right] a =[12] b ⃗ = [ 2 4 ] \vec{b}=\left[\begin{array}{l}2 \\ 4\end{array}\right] b =[24] 构造张成空间 R 2 \mathbb{R}^2 R2 ?

  8. 向量的线性相关和线性无关
    判断向量 v ⃗ 1 = [ 1 2 3 ] \vec{v}_1=\left[\begin{array}{l}1 \\ 2 \\ 3\end{array}\right] v 1= 123 v ⃗ 2 = [ 2 4 6 ] \vec{v}_2=\left[\begin{array}{l}2 \\ 4 \\ 6\end{array}\right] v 2= 246 是否线性相关。

  9. 向量乘法
    u ⃗ = [ 1 2 ] \vec{u}=\left[\begin{array}{l}1 \\ 2\end{array}\right] u =[12] v ⃗ = [ 3 4 ] \vec{v}=\left[\begin{array}{l}3 \\ 4\end{array}\right] v =[34] 的点积。

  10. 向量的正交 (编程题)
    给定向量 a ⃗ = [ 1 0 − 1 ] \vec{a}=\left[\begin{array}{c}1 \\ 0 \\ -1\end{array}\right] a = 101 b ⃗ = [ 2 − 2 2 ] \vec{b}=\left[\begin{array}{c}2 \\ -2 \\ 2\end{array}\right] b = 222 ,判断这两个向量是否正交。同时,编写一个程序来验证。

答案


1. 线性方程组
给定方程组:
2 x + y = 5 x − 3 y = − 4 \begin{aligned} & 2 x+y=5 \\ & x-3 y=-4 \end{aligned} 2x+y=5x3y=4
求解步骤:

  1. 为了消除 y y y ,将(1)式乘以 3 :
    6 x + 3 y = 15 6 x+3 y=15 6x+3y=15
  2. 将(3)式和(2)式相加,得:
    7 x = 11 ⟹ x = 11 7 7 x=11 \Longrightarrow x=\frac{11}{7} 7x=11x=711
  3. x = 11 7 x=\frac{11}{7} x=711 代入(1)式:
    2 ( 11 7 ) + y = 5 ⟹ y = 5 − 22 7 = 35 − 22 7 = 13 7 2\left(\frac{11}{7}\right)+y=5 \Longrightarrow y=5-\frac{22}{7}=\frac{35-22}{7}=\frac{13}{7} 2(711)+y=5y=5722=73522=713

2. 线性方程组的矩阵求解法
考虑方程组:
x + 2 y = 3 3 x + 4 y = 7 \begin{array}{r} x+2 y=3 \\ 3 x+4 y=7 \end{array} x+2y=33x+4y=7

  1. 写成矩阵形式 A X = B A X=B AX=B :
    A = [ 1 2 3 4 ] X = [ x y ] B = [ 3 7 ] \begin{gathered} A=\left[\begin{array}{ll} 1 & 2 \\ 3 & 4 \end{array}\right] \\ X=\left[\begin{array}{l} x \\ y \end{array}\right] \\ B=\left[\begin{array}{l} 3 \\ 7 \end{array}\right] \end{gathered} A=[1324]X=[xy]B=[37]
  2. A − 1 A^{-1} A1 :
    步骤 1: 构造增广矩阵
    首先,我们将矩阵 A A A 与单位矩阵 I I I 结合,形成一个增广矩阵:
    [ A ∣ I ] = [ 1 2 1 0 3 4 0 1 ] [A \mid I]=\left[\begin{array}{ll|ll} 1 & 2 & 1 & 0 \\ 3 & 4 & 0 & 1 \end{array}\right] [AI]=[13241001]
    步骤 2: 使用行初等变换
    我们的目标是使用行初等变换使 A A A 的部分变为单位矩阵。这样,单位矩阵部分就会变成 A A A 的 逆。
    首先,我们希望第一列的第二个元素为 0 ,所以我们从第二行减去第一行的三倍:
    R 2 = R 2 − 3 R 1 R_2=R_2-3 R_1 R2=R23R1
    得到:
    [ 1 2 1 0 0 − 2 − 3 1 ] \left[\begin{array}{cc|cc} 1 & 2 & 1 & 0 \\ 0 & -2 & -3 & 1 \end{array}\right] [10221301]
    接着,我们希望第二列的第二个元素为 1 ,所以我们将第二行除以 -2 :
    R 2 = − 1 2 R 2 R_2=-\frac{1}{2} R_2 R2=21R2
    得到:
    [ 1 2 1 0 0 1 1.5 − 0.5 ] \left[\begin{array}{cc|cc} 1 & 2 & 1 & 0 \\ 0 & 1 & 1.5 & -0.5 \end{array}\right] [102111.500.5]
    然后,为了使第二列的第一个元素为 0 ,我们从第一行减去第二行的两倍:
    R 1 = R 1 − 2 R 2 R_1=R_1-2 R_2 R1=R12R2
    得到:
    [ 1 0 − 2 1 0 1 1.5 − 0.5 ] \left[\begin{array}{cc|cc} 1 & 0 & -2 & 1 \\ 0 & 1 & 1.5 & -0.5 \end{array}\right] [100121.510.5]
    此时,矩阵 A A A 的部分已经变为单位矩阵。
    步骤 3: 提取 A A A 的逆
    从增广矩阵的右侧部分,我们可以提取 A A A 的逆矩阵:
    A − 1 = [ − 2 1 1.5 − 0.5 ] A^{-1}=\left[\begin{array}{cc} -2 & 1 \\ 1.5 & -0.5 \end{array}\right] A1=[21.510.5]
  3. A − 1 A^{-1} A1 乘以 B B B 来得到 X X X
    使用上述的 A − 1 A^{-1} A1 ,我们得到 X X X 的结果为:
    X = ∣ 1 1 ∣ X=\left|\begin{array}{l} 1 \\ 1 \end{array}\right| X= 11
    所以,方程组的解是 x = 1 x=1 x=1 y = 1 y=1 y=1

3. 矩阵乘法
给定矩阵
A = [ 1 2 3 4 ] A=\left[\begin{array}{ll} 1 & 2 \\ 3 & 4 \end{array}\right] A=[1324]

B = [ 2 0 1 3 ] B=\left[\begin{array}{ll} 2 & 0 \\ 1 & 3 \end{array}\right] B=[2103]
为了得到 A × B A \times B A×B 的结果,我们按照矩阵乘法的定义执行以下步骤:

  1. 取矩阵 A A A 的第一行与矩阵 B B B 的第一列相乘后求和,得到结果矩阵的第一个元素。
    ( 1 × 2 ) + ( 2 × 1 ) = 2 + 2 = 4 (1 \times 2)+(2 \times 1)=2+2=4 (1×2)+(2×1)=2+2=4
    这是结果矩阵的左上角元素。
  2. 接下来,取矩阵 A A A 的第一行与矩阵 B B B 的第二列相乘后求和,得到结果矩阵的第二个元素。
    ( 1 × 0 ) + ( 2 × 3 ) = 0 + 6 = 6 (1 \times 0)+(2 \times 3)=0+6=6 (1×0)+(2×3)=0+6=6
    这是结果矩阵的右上角元素。
  3. 对于结果矩阵的左下角元素,我们取矩阵 A A A 的第二行与矩阵 B B B 的第一列相乘后求和。
    ( 3 × 2 ) + ( 4 × 1 ) = 6 + 4 = 10 (3 \times 2)+(4 \times 1)=6+4=10 (3×2)+(4×1)=6+4=10
  4. 最后,对于结果矩阵的右下角元素,我们取矩阵 A A A 的第二行与矩阵 B B B 的第二列相乘后求 和。
    ( 3 × 0 ) + ( 4 × 3 ) = 0 + 12 = 12 (3 \times 0)+(4 \times 3)=0+12=12 (3×0)+(4×3)=0+12=12
    将以上结果汇总,我们得到矩阵 A × B A \times B A×B 为:
    [ 4 6 10 12 ] \left[\begin{array}{cc} 4 & 6 \\ 10 & 12 \end{array}\right] [410612]

4. 向量的数乘
给定向量
v ⃗ = [ 1 3 ] \vec{v}=\left[\begin{array}{l} 1 \\ 3 \end{array}\right] v =[13]
我们要求 5 × v ⃗ 5 \times \vec{v} 5×v
向量的数乘是标量与向量的每个元素相乘。具体来说:

  1. 将向量 v ⃗ \vec{v} v 的第一个元素乘以 5 :
    5 × 1 = 5 5 \times 1=5 5×1=5
  2. 将向量 v ⃗ \vec{v} v 的第二个元素乘以 5 :
    5 × 3 = 15 5 \times 3=15 5×3=15
    所以,结果向量为
    5 × v ⃗ = [ 5 15 ] 5 \times \vec{v}=\left[\begin{array}{c} 5 \\ 15 \end{array}\right] 5×v =[515]

5. 向量的加法
给定向量
a ⃗ = [ 2 1 ] \vec{a}=\left[\begin{array}{l} 2 \\ 1 \end{array}\right] a =[21]

b ⃗ = [ 3 − 2 ] \vec{b}=\left[\begin{array}{c} 3 \\ -2 \end{array}\right] b =[32]
我们要求 a ⃗ + b ⃗ \vec{a}+\vec{b} a +b
两个向量的加法是它们的每个对应元素的和。具体来说:

  1. 将向量 a ⃗ \vec{a} a b ⃗ \vec{b} b 的第一个元素相加:
    2 + 3 = 5 2+3=5 2+3=5
  2. 将向量 a ⃗ \vec{a} a b ⃗ \vec{b} b 的第二个元素相加:
    1 − 2 = − 1 1-2=-1 12=1
    所以,结果向量为
    a ⃗ + b ⃗ = [ 5 − 1 ] \vec{a}+\vec{b}=\left[\begin{array}{c} 5 \\ -1 \end{array}\right] a +b =[51]

6. 向量的线性组合
给定向量
v ⃗ 1 = [ 2 1 4 ] \vec{v}_1=\left[\begin{array}{l} 2 \\ 1 \\ 4 \end{array}\right] v 1= 214

v ⃗ 2 = [ 1 3 − 1 ] \vec{v}_2=\left[\begin{array}{c} 1 \\ 3 \\ -1 \end{array}\right] v 2= 131
我们需要生成这两个向量的线性组合。
线性组合的定义是:
c 1 v ⃗ 1 + c 2 v ⃗ 2 c_1 \vec{v}_1+c_2 \vec{v}_2 c1v 1+c2v 2
其中 c 1 c_1 c1 c 2 c_2 c2 是任意的常数。
为了形成这两个向量的线性组合,我们可以选择任意值的 c 1 c_1 c1 c 2 c_2 c2 。例如,如果我们选择 c 1 = 2 c_1=2 c1=2 c 2 = 3 c_2=3 c2=3 ,则线性组合为:
2 [ 2 1 4 ] + 3 [ 1 3 − 1 ] 2\left[\begin{array}{l} 2 \\ 1 \\ 4 \end{array}\right]+3\left[\begin{array}{c} 1 \\ 3 \\ -1 \end{array}\right] 2 214 +3 131
计算每个组件:

  1. 第一个组件: 2 × 2 + 3 × 1 = 7 2 \times 2+3 \times 1=7 2×2+3×1=7
  2. 第二个组件: 2 × 1 + 3 × 3 = 11 2 \times 1+3 \times 3=11 2×1+3×3=11
  3. 第三个组件: 2 × 4 + 3 × ( − 1 ) = 5 2 \times 4+3 \times(-1)=5 2×4+3×(1)=5
    所以,结果向量为:
    [ 7 11 5 ] \left[\begin{array}{c} 7 \\ 11 \\ 5 \end{array}\right] 7115
import numpy as np
# Define the vectors v1 and v2
v1 = np.array([[2], [1], [4]])
v2 = np.array([[1], [3], [-1]])

# Compute the linear combination
c1 = 2
c2 = 3
result_linear_combination = c1 * v1 + c2 * v2
result_linear_combination

7. 向量空间 (张成空间)
考虑两个向量:
a ⃗ = [ 1 2 ] \vec{a}=\left[\begin{array}{l} 1 \\ 2 \end{array}\right] a =[12]

b ⃗ = [ 2 4 ] \vec{b}=\left[\begin{array}{l} 2 \\ 4 \end{array}\right] b =[24]
我们想确定这两个向量是否可以构成张成 R 2 \mathbb{R}^2 R2
首先,我们需要检查这两个向量是否线性相关。
两个向量线性相关的条件是其中一个向量是另一个向量的倍数。观察 b ⃗ \vec{b} b ,我们可以看到它确实 是 a ⃗ \vec{a} a 的2倍。因此,这两个向量是线性相关的。
线性相关的向量不能构成张成空间 R 2 \mathbb{R}^2 R2 。所以,答案是这两个向量不能张成 R 2 \mathbb{R}^2 R2

8. 向量的线性相关和线性无关
考虑向量
v ⃗ 1 = [ 2 3 ] \vec{v}_1=\left[\begin{array}{l} 2 \\ 3 \end{array}\right] v 1=[23]

v ⃗ 2 = [ 4 6 ] \vec{v}_2=\left[\begin{array}{l} 4 \\ 6 \end{array}\right] v 2=[46]
为了确定这两个向量是否线性相关,我们需要看是否存在一个常数 k k k 使得
v ⃗ 2 = k v ⃗ 1 \vec{v}_2=k \vec{v}_1 v 2=kv 1
通过对比元素,我们可以发现 v ⃗ 2 \vec{v}_2 v 2 v ⃗ 1 \vec{v}_1 v 1 的2倍,所以 k = 2 k=2 k=2 。因此,这两个向量是线性相关 的。

9. 向量乘法
给定向量
u ⃗ = [ 1 2 ] \vec{u}=\left[\begin{array}{l} 1 \\ 2 \end{array}\right] u =[12]

v ⃗ = [ 3 4 ] \vec{v}=\left[\begin{array}{l} 3 \\ 4 \end{array}\right] v =[34]
我们想计算它们的点积。点积定义为两个向量的对应元素相乘后相加:
u ⃗ ⋅ v ⃗ = u 1 × v 1 + u 2 × v 2 = 1 × 3 + 2 × 4 = 3 + 8 = 11 \vec{u} \cdot \vec{v}=u_1 \times v_1+u_2 \times v_2=1 \times 3+2 \times 4=3+8=11 u v =u1×v1+u2×v2=1×3+2×4=3+8=11

  1. 向量的正交
    考虑向量
    a ⃗ = [ 1 0 − 1 ] \vec{a}=\left[\begin{array}{c} 1 \\ 0 \\ -1 \end{array}\right] a = 101

    b ⃗ = [ 2 − 2 2 ] \vec{b}=\left[\begin{array}{c} 2 \\ -2 \\ 2 \end{array}\right] b = 222
    两个向量正交的条件是它们的点积为零。我们需要计算 a ⃗ \vec{a} a b ⃗ \vec{b} b 的点积:
    a ⃗ ⋅ b ⃗ = a 1 × b 1 + a 2 × b 2 + a 3 × b 3 = 1 × 2 + 0 × ( − 2 ) + ( − 1 ) × 2 = 2 − 2 = 0 \vec{a} \cdot \vec{b}=a_1 \times b_1+a_2 \times b_2+a_3 \times b_3=1 \times 2+0 \times(-2)+(-1) \times 2=2-2=0 a b =a1×b1+a2×b2+a3×b3=1×2+0×(2)+(1)×2=22=0
    因为它们的点积为零,所以 a ⃗ \vec{a} a b ⃗ \vec{b} b 是正交的。

import numpy as np
a = np.array([[1], [0], [-1]])
b = np.array([[2], [-2], [2]])

# Calculate results
dot_product_ab = np.dot(a.T, b)[0][0]
dot_product_ab


你可能感兴趣的:(线性代数,算法,矩阵)