美文网首页每天学一点新知识
向量空间中的零向量_线性代数_day4

向量空间中的零向量_线性代数_day4

作者: FANDX | 来源:发表于2020-01-18 06:19 被阅读0次

概念

对于任意一个向量\vec{u},都存在一个向量O,满足:\vec{u}+O=\vec{u}

对于任意一个向量\vec{u},都存在一个一个向量\vec{-u},满足:\vec{u}+\vec{-u}=O

证明零向量定理

\vec{u} = \begin{pmatrix} u_1 \\ u_2 \\\cdots \\u_n \end{pmatrix} O =\begin{pmatrix} o_1 \\ o_2 \\ \cdots \\ o_n \end{pmatrix} \vec{u}+O =\begin{pmatrix} u_1 \\ u_2 \\\cdots \\u_n \end{pmatrix}+ \begin{pmatrix} o_1 \\ o_2 \\\cdots \\o_n \end{pmatrix} = \begin{pmatrix} u_1 + o_1 \\ u_2+o_2 \\\cdots \\u_n+o_n \end{pmatrix} = \begin{pmatrix} u_1 \\ u_2\\\cdots \\u_n \end{pmatrix}

所以要证明,得出结论

\left \{ \begin{array}{c} u_1 +o_1 = u_1 \\ u_2+ o_2 = u_2\\ \cdots\\ u_n+o_n=u_n \end{array} \right. \Rightarrow\left\{ \begin{array}{c} o_1=0\\o_2=0 \\\cdots \\ o_n=0\end{array}\right. \Rightarrow O = \begin{pmatrix} 0\\0\\\cdots \\ 0\end{pmatrix}

python代码实现零向量

class Vector:
    def __init__(self, my_list):
        self._values = my_list

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

    def __add__(self, other):
        """向量的加法,返回结果向量"""
        assert len(self) == len(other), \
            "向量的长度错误,向量之间长度必须是相等的"
        return Vector([a + b for a, b in zip(self, other)])

    def __sub__(self, other):
        """向量的减法, 返回结果向量"""
        assert len(self) == len(other), \
            "向量的长度错误,向量之间长度必须是相等的"
        return Vector([a - b for a, b in zip(self, other)])

    def __mul__(self, other):
        """返回数量乘法的结果向量, 只定义了self * other"""
        return Vector([other * e for e in self])

    def __rmul__(self, other):
        """返回向量的右乘方法, 只定义了 other * self"""
        return Vector([other * e for e in self])

    def __pos__(self):
        """返回向量取正的结果向量"""
        return 1 * self

    def __neg__(self):
        """返回向量取负的向量结果"""
        return -1 * self

    def __iter__(self):
        """返回向量的迭代器"""
        return self._values.__iter__()

    def __getitem__(self, item):
        """取向量的第index元素"""
        return self._values[item]

    def __len__(self):
        """返回向量的长度"""
        return len(self._values)

    def __repr__(self):
        return "Vector ({})".format(self._values)

    def __str__(self):
        return "({})".format(", ".join(str(e) for e in self._values))


if __name__ == '__main__':
    vec = Vector([5, 2])
    print(vec)
    print(len(vec))

    vec2 = Vector([3, 1])
    print("{} + {} = {}".format(vec, vec2, vec + vec2))
    print("{} - {} = {}".format(vec, vec2, vec - vec2))

    print("{} * {} = {}".format(vec, 3, vec * 3))
    print("{} * {} = {}".format(3, vec, 3 * vec))

    print("+{} = {}".format(vec, +vec))
    print("-{} = {}".format(vec, -vec))

    # 创建一个二维的0向量
    zero2 = Vector.zero(2)
    print("{} + {} = {}".format(vec, zero2, vec + zero2))   ###########
# 输出结果
(5, 2)
2
(5, 2) + (3, 1) = (8, 3)
(5, 2) - (3, 1) = (2, 1)
(5, 2) * 3 = (15, 6)
3 * (5, 2) = (15, 6)
+(5, 2) = (5, 2)
-(5, 2) = (-5, -2)
(5, 2) + (0, 0) = (5, 2)   ############

相关文章

  • 向量空间中的零向量_线性代数_day4

    概念 对于任意一个向量,都存在一个向量,满足: 对于任意一个向量,都存在一个一个向量,满足: 证明零向量定理 所以...

  • 向量的基本几何意义

    向量简介 线性代数最基本最根源的部分就是向量。 从物理学的角度出发向量是空间中的箭头,决定一个向量的是长度和方向。...

  • 01-向量究竟是什么

    视频链接 向量的加法和向量数乘贯穿线性代数始终,二者起着很重要的作用 向量被看作是空间中的箭头(arrows in...

  • 如何生动有趣的入门线性代数

    原文地址 如何生动有趣的入门线性代数 向量点乘 矩阵乘向量 向量乘矩阵 矩阵乘矩阵 矩阵的静态信息 向量空间 子空...

  • 【Scratchapixel笔记】几何(一)

    点、向量和法线 线性代数是数学的一个分支,一门研究向量的学问。在三维空间中,向量(vector)是方向,点(poi...

  • 2018-06-15-向量究竟是什么

    linear algebra(线性代数) 三种观点 1,物理专业学生-向量是空间中的箭头,决定一个向量是它的长度和...

  • 空间解析几何(向量)

    1.向量的定义 空间中具有一定长度和方向的线段称为向量。没有长度也没有方向的定义为零向量。以A为起点B为终点的向量...

  • 02R语言基础入门

    向量赋值 筛选 合并向量 循环补齐 关于向量的几个函数 矩阵本质上来说就是多维向量创建 筛选矩阵 线性代数 矩阵相...

  • OpenGL之3D数学

    向量 向量是既有大小又有方向的量。 零向量与单位向量 模等于0的向量为零向量,模等于1的向量叫做单位向量。注意零向...

  • 线性代数的本质(笔记1)

    本文来自blibli (线性代数的本质) 1. 向量究竟是什么 1.1向量(Vector): 物理领域,向量是空间...

网友评论

    本文标题:向量空间中的零向量_线性代数_day4

    本文链接:https://www.haomeiwen.com/subject/dkxkzctx.html