对numpy中数组转置的求解以及向量内积计算方法

yipeiwu_com6年前Python基础

有点抱歉的是我的数学功底确实是不好,经过了高中的紧张到了大学之后松散了下来。原本高中就有点拖后腿的数学到了大学之后更是一落千丈。线性代数直接没有学明白,同样没有学明白的还有概率及统计以及复变函数。时至今日,我依然觉得这是人生中让人羞愧的一件事儿。不过,好在我还有机会,为了不敷衍而去学习一下。

矩阵的转置有什么作用,我真是不知道了,今天总结完矩阵转置的操作之后先去网络上补充一下相关的知识。

今天的代码操作如下:

In [15]: arr1 = np.arange(20)


In [16]: arr1
Out[16]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    17, 18, 19])


In [17]: arr2 = arr1.reshape((4,5))


In [18]: arr2
Out[18]:
array([[ 0, 1, 2, 3, 4],
    [ 5, 6, 7, 8, 9],
    [10, 11, 12, 13, 14],
    [15, 16, 17, 18, 19]])


In [19]: arr3 = arr2.T


In [20]: arr3
Out[20]:
array([[ 0, 5, 10, 15],
    [ 1, 6, 11, 16],
    [ 2, 7, 12, 17],
    [ 3, 8, 13, 18],
    [ 4, 9, 14, 19]])


In [21]: np.dot(arr3,arr2)
Out[21]:
array([[350, 380, 410, 440, 470],
    [380, 414, 448, 482, 516],
    [410, 448, 486, 524, 562],
    [440, 482, 524, 566, 608],
    [470, 516, 562, 608, 654]])

Reshape的方法是用来改变数组的维度,而T的属性则是实现矩阵的转置。从计算的结果看,矩阵的转置实际上是实现了矩阵的对轴转换。而矩阵转置常用的地方适用于计算矩阵的内积。而关于这个算数运算的意义,我也已经不明确了,这也算是今天补课的内容吧!

关于前面的两个补课,看了一堆资料确实是不好理解。但是总是记忆公式终归不是我想要的结果,以后还需要不断地尝试理解。不过,关于内积倒是查到了一个几何解释,而且不知道其对不对。解释为:高维空间的向量到低维子空间的投影,但是思索了好久依然是没有弄明白。看来,线性代数还是得闷头好好理解一下咯。

以上这篇对numpy中数组转置的求解以及向量内积计算方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

在java中如何定义一个抽象属性示例详解

前言 本文主要给大家介绍的是在java中定义一个抽象属性的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: Abstract关键字通常被用于类和方法,用来把某些行...

python实现根据指定字符截取对应的行的内容方法

工作中遇到的,在一个.c文件中有很多函数,这个.c是自动生成的,需要将所有的函数通过extern放到.h中,每个函数都是UINT32 O_开头,通过正则表达式进行字符匹配以及通过line...

Python中的支持向量机SVM的使用(附实例代码)

Python中的支持向量机SVM的使用(附实例代码)

除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类。因为Python中的sklearn库也集成了SVM算法,本文的运行环境是Pycha...

python正则表达式去除两个特殊字符间的内容方法

以去掉去掉<!--和-->为例进行说明: def clearContentWithSpecialCharacter(content): # 先将<!--替换成,普...

Python+OpenCV让电脑帮你玩微信跳一跳

Python+OpenCV让电脑帮你玩微信跳一跳

前言 最近微信小游戏跳一跳大热,自己也是中毒颇久,无奈手残最高分只拿到200分。无意间看到教你用Python来玩微信跳一跳一文,在电脑上利用adb驱动工具操作手机,详细的介绍以及如何安装...