澳门新萄京8522:矩阵数学和numpy 2018-01-25

澳门新萄京8522,(文/开源中国卡塔尔国    

全套快捷教程直接上例子,具体对Cython的应用能够看参考小说。以下专业均在Windows 10

安装供给的软件包和可选的软件包

conda install numpy scipy mkl <nose> <sphinx> <pydot-ng>
  • <…>之间的参数是可选的。

导入 NumPy

在导入 NumPy
库时,大大多气象下(满含这里)你会见到的三个预定,是将其取名称为
np,像这样:

import numpy as np

现今,你能够给函数和品种名称加上前缀 np.
来使用该库,你会在上边包车型大巴示范中见到。

  • 将多元超几何遍及增添到 numpy.random

cos_doubles.c

#include "cos_doubles.h"#include <math.h>/* Compute the cosine of each element in in_array, storing the result in * out_array. */void cos_doubles(double * in_array, double * out_array, int size){ int i; for(i=0;i<size;i++){ out_array[i] = cos(in_array[i]); }}

安装Miniconda

按照此链接安装Miniconda。

注意

即使你想要编写翻译的代码更加快(推荐),确认保障您安装了g++(Windows/Linux)或Clang(OS
X)。

矩阵乘积

要得到矩阵乘积,你能够使用 NumPy 的 matmul 函数。

一旦您有特其他形态,那就如那样轻易:

a = np.array([[1,2,3,4],[5,6,7,8]])
a
# 显示以下结果:
# array([[1, 2, 3, 4],
#        [5, 6, 7, 8]])
a.shape
# 显示以下结果:
# (2, 4)

b = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
b
# 显示以下结果:
# array([[ 1,  2,  3],
#        [ 4,  5,  6],
#        [ 7,  8,  9],
#        [10, 11, 12]])
b.shape
# 显示以下结果:
# (4, 3)

c = np.matmul(a, b)
c
# 显示以下结果:
# array([[ 70,  80,  90],
#        [158, 184, 210]])
c.shape
# 显示以下结果:
# (2, 3)

借使您的矩阵具备不相配的形状,则会现出以下错误:

np.matmul(b, a)
# 显示以下错误:
# ValueError: shapes (4,3) and (2,4) not aligned: 3 (dim 1) != 2 (dim 0)

NumPy 1.18.0 已公布。除了平日的大错特错修复之外,此版本还清理并记下新的自由
C-API,使多量旧版本弃用,并改善了文书档案的外观。其协助的 Python 版本为
3.5-3.8,那也是最后一个扶持 Python 3.5 的 NumPy 发布一种类。

setup.py

from distutils.core import setup, Extensionimport numpyfrom Cython.Distutils import build_extsetup( cmdclass={'build_ext': build_ext}, ext_modules=[Extension("cos_doubles", sources=["_cos_doubles.pyx", "cos_doubles.c"], include_dirs=[numpy.get_include

安装供给的软件包和可选的软件包

conda install numpy scipy mkl <nose> <sphinx> <pydot-ng>
  • <…>之间的参数是可选的。

NumPy 矩阵乘法

在前头多少个录像中,你早已听了好多关于矩阵乘法的知识 –
现在,你将见到什么利用 NumPy 进行矩阵乘法运算。不过,明白 NumPy
接济的几类矩阵乘法也相当重视。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图