2 向量的运算在Python中的实现

本文介绍如何在PyCharm中创建自定义线性代数包PlayLA,包括向量类和相关函数,并通过main_vector.py进行功能验证。
摘要由CSDN通过智能技术生成

在PyCharm中实现自己的线性代数包。
创建 Python Package ==> PlayLA
创建 向量类,函数库 ==> Vector.py

from ._global import EPSILON
import math
class Vector:
 	def __init__(self,lst):
        self._values =list(lst)

    @classmethod
    def zero(cls,dim):
        '返回一个dim维的零向量'
        return cls([0] * dim)

    def normalize(self):
        '返回向量的单位向量'
        if self.norm() < EPSILON:
            raise ZeroDivisionError('Normalize error! norm is zero.')
        return Vector(self._values) / self.norm()

    def norm(self):
        '返回向量的模'
        return math.sqrt(sum(e**2 for e in self))

    def __add__(self, another):
        '向量加法,返回结果向量'
        assert len(self) == len(another), \
            'Error in adding. length of vectors must be same.'
        return Vector([a + b for a, b in zip(self, another)])

    def __sub__(self, another):
        assert len(self) ==
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值