python线性代数向量

本文深入探讨了Python中如何进行线性代数的向量操作,包括向量的创建、加减乘除运算、内积与外积、以及向量在几何空间中的应用。

python线性代数向量

##-----两个向量的相加
def vector_add(v, w):
    """adds corresponding elements"""
    return [v_i + w_i
            for v_i, w_i in zip(v, w)]

##-----两个向量相减            
def vector_subtract(v, w):
    """subtracts corresponding elements"""
    return [v_i - w_i
            for v_i, w_i in zip(v, w)]
            
      
##-----多个向量相加
def vector_sum(vectors):
    """sums all corresponding elements"""
    result = vectors[0]                                # 从第一个向量开始
    for vector in vectors[1:]:                         # 之后遍历其他向量
        result = vector_add(result, vector)            # 最后计入总和
    return result
##或者
def vector_sum(vectors):
    return reduce(vector_add, vectors)
    
    
##------向量乘以标量

def scalar_multiply(c, v):
    """c is a number, v is a vector"""
    return [c * v_i for v_i in v]
    

##------一系列向量(长度相同)的均值   
def vector_mean(vectors):
    """compute the vector whose ith element is the mean of the
    ith elements of the input vectors"""
    n = len(vectors)
    return scalar_multiply(1/n, vector_sum(vectors))
    
##-----向量的点乘
def dot(v, w):
    """v_1 * w_1 + ... + v_n * w_n"""
    return sum(v_i * w_i
               for v_i, w_i in zip(v, w))
               
##----向量的平方
def sum_of_squares(v):
    """v_1 * v_1 + ... + v_n * v_n"""
    return dot(v, v)


###
import math

def magnitude(v):
    return math.sqrt(sum_of_squares(v))     # math.sqrt是平方根函数
    

def squared_distance(v, w):
    """(v_1 - w_1) ** 2 + ... + (v_n - w_n) ** 2"""
    return sum_of_squares(vector_subtract(v, w))

def distance(v, w):
   return math.sqrt(squared_distance(v, w))
    empty


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值