上一篇已经说明了为什么要学习线性代数?
下面我们正式开始学习
一切从向量开始
- 什么是向量,究竟为什么引⼊向量?
从研究一个数,变成了研究一组数,向量表示的就是一组数
学过中学物理都知道力,速度,加速度等等,既有大小又有方向,在物理学和工程学中,几何向量更常被称为矢量。许多物理量都是矢量,比如一个物体的位移,球撞向墙而对其施加的力等等。与之相对的是标量,即只有大小而没有方向的量。一些与向量有关的定义亦与物理概念有密切的联系,例如向量势对应于物理中的势能。
现实生活中3维是我们人类能够感受到的,但是大于3维我们是不能够直观感受的,但是可以用抽象的n维向量来刻画
我们在刻画一个事情的时候,经常都是从不同的角度来刻画,这里的不同的角度其实用向量来表示的话就是不同的维度,比如下面房屋的例子:
使用两个视角来看待:
1.方向和大小
2.不是方向,仅仅是一组数字
两个视⻆看似不同,但可以互相转换
向量的更多术语和表示法
在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。与向量对应的量叫做数量(物理学中称标量),数量(或标量)只有大小,没有方向。
使用Python来实现我们自己的向量:
class Vector:
#构造方法,传进来的是一个lst数组
def __init__(self,lst):
self._values=lst
#供系统调用的魔法方法
def __repr__(self):
return "Vector({})".format(self._values)
#相当于Java的toString方法,用户调用
def __str__(self):
return "({})".format(",".join(str(e) for e in self._values))
#返回向量的维度
def __len__(self):
"""返回向量长度(有多少个元素)"""
return len(self._values)
#返回向量中第第index元素
def __getitem__(self, index):
"""取向量的第index个元素"""
return self._values[index]
测试代码:
from playLA.Vector import Vector
if __name__ == "__main__":
vec = Vector([5, 2])
print(vec)
print(len(vec))
print("vec[0] = {}, vec[1] = {}".format(vec[0], vec[1]))
效果: