线性代数笔记
第1章 线性代数中的线性方程组
1.1线性方程组
本文仅对部分习题进行解答,其余的习题解法大同小异。
习题1.1
解方程组:
解答
先导入linear_algebra模块,通过transform_matrix函数对增广矩阵进行初等变换。
import numpy as np
from linear_algebra import *
a=np.array([[0,1,4,-5],[1,3,5,-2],[3,7,7,6]]);a
array([[ 0, 1, 4, -5],
[ 1, 3, 5, -2],
[ 3, 7, 7, 6]])
b=transform_matrix(a,-2,0,1,1);b
array([[ 1., 3., 5., -2.],
[ 0., 1., 4., -5.],
[ 3., 7., 7., 6.]])
c=transform_matrix(b,-3,0,2,-3);c
array([[ 1., 3., 5., -2.],
[ 0., 1., 4., -5.],
[ 0., -2., -8., 12.]])
d=transform_matrix(c,-3,1,2,2);d
array([[ 1., 3., 5., -2.],
[ 0., 1., 4., -5.],
[ 0., 0., 0., 2.]])
看最后一行,方程0=2是的简写.这个三角形线性方程组显然是矛盾的,所以满足线性方程组的未知数
,
,
是不存在的,线性方程组是不相容的。 □
12.
a=np.array([[1,-3,4,-4],[3,-7,7,-8],[-4,6,-1,7]]);a
array([[ 1, -3, 4, -4],
[ 3, -7, 7, -8],
[-4, 6, -1, 7]])
b=transform_matrix(a,-3,0,1,-3);b
array([[ 1., -3., 4., -4.],
[ 0., 2., -5., 4.],
[-4., 6., -1., 7.]])
c=transform_matrix(b,-3,0,2,4);c
array([[ 1., -3., 4., -4.],
[ 0., 2., -5., 4.],
[ 0., -6., 15., -9.]])
d=transform_matrix(c,-3,1,2,3);d
array([[ 1., -3., 4., -4.],
[ 0., 2., -5., 4.],
[ 0., 0., 0., 3.]])
同上,通过最后一行可以看出,该方程组不相容。
a=np.array([[1,0,-3,8],[2,2,9,7],[0,1,5,-2]]);a
array([[ 1, 0, -3, 8],
[ 2, 2, 9, 7],
[ 0, 1, 5, -2]])
b=transform_matrix(a,-3,0,1,-2);b
array([[ 1., 0., -3., 8.],
[ 0., 2., 15., -9.],
[ 0., 1., 5., -2.]])
c=transform_matrix(b,-3,1,2,-0.5);c
array([[ 1. , 0. , -3. , 8. ],
[ 0. , 2. , 15. , -9. ],
[ 0. , 0. , -2.5, 2.5]])
d=transform_matrix(c,-1,2,0,-1/2.5);d
array([[ 1., 0., -3., 8.],
[ 0., 2., 15., -9.],
[ 0., 0., 1., -1.]])
e=transform_matrix(d,-3,2,1,-15);e
array([[ 1., 0., -3., 8.],
[ 0., 2., 0., 6.],
[ 0., 0., 1., -1.]])
f=transform_matrix(e,-1,1,0,0.5);f
array([[ 1., 0., -3., 8.],
[ 0., 1., 0., 3.],
[ 0., 0., 1., -1.]])
g=transform_matrix(f,-3,2,0,3);g
array([[ 1., 0., 0., 5.],
[ 0., 1., 0., 3.],
[ 0., 0., 1., -1.]])
print("x1=",g[0,3],"\nx2=",g[1,3],"\nx3=",g[2,3])
x1= 5.0
x2= 3.0
x3= -1.0
经代入方程组验证,以上是方程组的解 □
a=np.array([[1,-3,0,5],[-1,1,5,2],[0,1,1,0]]);a
array([[ 1, -3, 0, 5],
[-1, 1, 5, 2],
[ 0, 1, 1, 0]])
b=transform_matrix(a,-3,0,1,1);b
array([[ 1., -3., 0., 5.],
[ 0., -2., 5., 7.],
[ 0., 1., 1., 0.]])
c=transform_matrix(b,-3,1,2,0.5);c
array([[ 1. , -3. , 0. , 5. ],
[ 0. , -2. , 5. , 7. ],
[ 0. , 0. , 3.5, 3.5]])
d=transform_matrix(c,-1,2,0,1/3.5);d
array([[ 1., -3., 0., 5.],
[ 0., -2., 5., 7.],
[ 0., 0., 1., 1.]])
e=transform_matrix(d,-3,2,1,-5);e
array([[ 1., -3., 0., 5.],
[ 0., -2., 0., 2.],
[ 0., 0., 1., 1.]])
f=transform_matrix(e,-1,1,0,-0.5);f
array([[ 1., -3., 0., 5.],
[ 0., 1., 0., -1.],
[ 0., 0., 1., 1.]])
g=transform_matrix(f,-3,1,0,3);g
array([[ 1., 0., 0., 2.],
[ 0., 1., 0., -1.],
[ 0., 0., 1., 1.]])
print("x1=",g[0,3],"\nx2=",g[1,3],"\nx3=",g[2,3])
x1= 2.0
x2= -1.0
x3= 1.0
验证过程略。