探索不同的向量空间
1. 坐标向量空间枚举
坐标向量空间是我们常见的向量空间形式。之前我们已经对二维向量 Vec2 和三维向量 Vec3 有了较多了解。实际上,坐标向量空间的维度可以是任意的。例如, Vec2 有两个坐标, Vec3 有三个坐标,我们也可以定义一个有 15 个坐标的 Vec15 类,虽然我们无法从几何上直观地想象 15 维空间,但 Vec15 对象代表着 15 维空间中的点。
有一个特殊情况是一维向量 Vec1 ,其实现如下:
class Vec1(Vector):
def __init__(self,x):
self.x = x
def add(self,other):
return Vec1(self.x + other.x)
def scale(self,scalar):
return Vec1(scalar * self.x)
@classmethod
def zero(cls):
return Vec1(0)
def __eq__(self,other):
return self.x == other.x
def __repr__(self):
return "Vec1({})".format(self.x)
超级会员免费看
订阅专栏 解锁全文
3381

被折叠的 条评论
为什么被折叠?



