向量的高维泛化与向量空间的定义
1. 向量运算的泛化
在处理向量时,我们可以编写通用的函数来处理不同维度的向量,而不是为每个维度的向量单独实现运算。例如,我们可以编写一个通用的平均函数:
def average(v1,v2):
return 0.5 * v1 + 0.5 * v2
这个函数可以用于 2D 向量和 3D 向量,甚至在实现了合适的图像类后,还可以用于图像的平均运算。这种泛化的好处在于,我们可以编写一个单一的通用函数,用于处理各种类型的输入,只要输入支持标量乘法和向量加法。
2. 构建向量基类
为了更好地组织代码并与向量的数学定义保持一致,我们可以使用抽象基类来描述向量的基本操作。以下是一个 Vector 基类的定义:
from abc import ABCMeta, abstractmethod
class Vector(metaclass=ABCMeta):
@abstractmethod
def scale(self,scalar):
pass
@abstractmethod
def add(self,other):
pass
abc 模块提供了辅助类、函数和方法装饰器,用于定义抽象基类。 @abstractmethod 装饰器表示该方法在基类中未实现,需要在子类中
超级会员免费看
订阅专栏 解锁全文
1018

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



