核心计算系统

cocos的Python项目详细描述


椰子cocos(核心计算系统)-python中的科学gpu计算

概述

cocos是一个在gpus上为python提供数值和科学计算的软件包,具有类似numpy的api。它在windows、mac os和linux上同时支持cuda和opencl。在内部,它依赖于ARAREFILE C/C++库。除了数字功能外,它还允许在gpu上并行计算symphy表达式。

亮点

  • 使用类似numpy的api在gpu上快速矢量化计算。
  • 贝塔分布、卡方分布、指数分布、伽马分布、logistic分布、对数正态分布、正态分布、均匀分布和wald分布的高性能随机数生成器。均匀分布和正态分布的对偶随机数。
  • 提供一个与sympy的lambdify等价的gpu,该gpu允许并行计算输入参数向量的gpu上的符号sympy(多维数组)表达式。

目录

  1. 安装
  2. 入门
  3. 基准
  4. 功能性
  5. 与numpy的限制和差异
  6. 许可证
  7. < > >

    安装

    1. 下载并安装

    2. 通过pip安装cocos:

      pip install cocos 
      

      pip3 install cocos 
      

      如果不使用水蟒。

      要获取最新版本,请从github克隆存储库, 打开终端/命令提示符,导航到根文件夹并通过

      pip install .
      

      pip3 install . 
      

      如果不使用水蟒。

    3. < > >

      开始

      使用cocos和使用numpy一样简单

      平台信息:

      打印可用设备

      import cocos.device as cd
      cd.info()
      

      选择一个设备

      cd.ComputeDeviceManager.set_compute_device(0)
      

      第一步:

          
      # begin by importing the numerics package
      import cocos.numerics as cn
      
      # create two arrays from lists
      a = cn.array([[1.0, 2.0], [3.0, 4.0]])
      b = cn.array([[5.0], [6.0]])
      
      # print their contents
      print(a)
      print(b)
      
      # matrix product of b and a
      c = a @ b
      print(c)
      
      # create an array of normally distributed random numbers
      d = cn.random.randn(2, 2)
      print(d)
      

      打包示例:

      1. 通过蒙特卡洛估算PI
      2. 通过蒙特卡罗的随机波动率模型中的期权定价
      3. gpu上symphy数组表达式的数值计算
      4. < > >

        通过蒙特卡罗法估计pi

        下面的代码通过monte carlo模拟估计pi。 由于cocos提供了一个类似numpy的api,相同的代码通过numpy在gpu和cpu上工作。

            
        import time
        import cocos.device as cd
        
        def estimate_pi(n: int, gpu: bool = True) -> float:
            if gpu:
                import cocos.numerics as np
                import cocos.numerics.random as random
            else:
                import numpy as np
                import numpy.random as random
        
            x = np.random.rand(n)
            y = np.random.rand(n)
            in_quarter_circle = (x * x + y * y) <= 1.0
            estimate = int(np.sum(in_quarter_circle))
        
            return estimate / n * 4
        
        # initialize cocos device - the architecture is selected automatically
        # the architecture can be specified explitly by providing one of
        #   'cpu', 'cuda', and 'opencl'
        cd.init()
        
        # print information regarding the available devices in the machine
        cd.info()
        
        # number of draws
        n = 100000000
        print(f'simulating {n} draws')
        
        # run estimation of Pi on the cpu via numpy
        pi_cpu = estimate_pi(n, gpu=False)
        print(f'Estimate of Pi on cpu: {pi_cpu}')
        
        # run estimation of Pi on the cpu via numpy
        pi_gpu = estimate_pi(n, gpu=True)
        print(f'Estimate of Pi on gpu: {pi_gpu}')
        
        # run a benchmark - repeating the simulation R times on both cpu and gpu
        R = 10
        
        # on gpu
        tic = time.time()
        for r in range(R):
            pi_gpu = estimate_pi(n, gpu=True)
            cd.sync()
        
        time_on_gpu = time.time() - tic
        
        print(f'time elapsed on gpu: {time_on_gpu}')
        
        # on cpu
        tic = time.time()
        for r in range(R):
            pi_cpu = estimate_pi(n, gpu=False)
        
        time_on_cpu = time.time() - tic
        
        print(f'time elapsed on cpu: {time_on_cpu}')
        
        # compute and print the speedup factor
        print(f'speedup factor on gpu: {time_on_cpu/time_on_gpu}')
        

        基于蒙特卡罗的随机波动模型中的期权定价

        在这个例子中,我们模拟了 风险中性概率测度下的标的证券 Euler–Maruyama离散化方法。

        随机过程是赫斯顿1992年经典的证券价格设定 服从随机波动。原木价格及其瞬时方差 由以下随机微分方程组(SDE)控制:

        Log Price SDE

        易失性SDE

        下面的模拟代码演示如何编写同时支持两个cpu的代码 以及gpu计算。完整的代码在示例中提供。

        def simulate_heston_model(T: float,
                                  N: int,
                                  R: int,
                                  mu: float,
                                  kappa: float,
                                  v_bar: float,
                                  sigma_v: float,
                                  rho: float,
                                  x0: float,
                                  v0: float,
                                  gpu: bool = False) -> tp.Tuple:
            """
            This function simulates R paths from the Heston stochastic volatility model
            over a time horizon of length T divided into N steps.
        
            :param T: time horizon of the simulation
            :param N: number of steps
            :param R: number of paths to simulate
            :param mu: expected return
            :param kappa: mean-reversion speed of volatility
            :param v_bar: long-run mean of volatility
            :param sigma_v: volatility of volatility
            :param rho: instantaneous correlation of shocks to price and to volatility
            :param x0: initial log price
            :param v0: initial volatility
            :param gpu: whether to compute on the GPU
            :return: a tuple of two R-dimensional numeric arrays for log price and
                     volatility
            """
            if gpu:
                import cocos.numerics as np
                import cocos.numerics.random as random
            else:
                import numpy as np
                import numpy.random as random
        
            Delta_t = T / float(N - 1)
        
            x = [np.full((R,), x0, dtype=numpy.float32),
                 np.zeros((R,), dtype=numpy.float32)]
        
            v = [np.full((R,), v0, dtype=numpy.float32),
                 np.zeros((R,), dtype=numpy.float32)]
        
            sqrt_delta_t = math.sqrt(Delta_t)
            sqrt_one_minus_rho_square = math.sqrt(1 - rho ** 2)
        
            # m = np.array([[rho, sqrt_one_minus_rho_square]])
            m = np.zeros((2,), dtype=numpy.float32)
            m[0] = rho
            m[1] = sqrt_one_minus_rho_square
            zero_array = np.zeros((R,), dtype=numpy.float32)
        
            t_current = 0
            for t in range(1, N):
                t_previous = (t + 1) % 2
                t_current = t % 2
        
                # generate antithetic standard normal random variables
                dBt = random.randn(R, 2) * sqrt_delta_t
        
                sqrt_v_lag = np.sqrt(v[t_previous])
                x[t_current] = x[t_previous] \
                             + (mu - 0.5 * v[t_previous]) * Delta_t \
                             + np.multiply(sqrt_v_lag, dBt[:, 0])
                v[t_current] = v[t_previous] \
                             + kappa * (v_bar - v[t_previous]) * Delta_t \
                             + sigma_v * np.multiply(sqrt_v_lag, np.dot(dBt, m))
                v[t_current] = np.maximum(v[t_current], 0.0)
        
            x = x[t_current]
            v = np.maximum(v[t_current], 0.0)
        
            return x, v
        

        下面从 潜在的。它演示了如何在cocos和numpy之间动态选择 基于类型输入数组。

        pip install cocos 
        
        0

        gpu上symphy数组表达式的数值计算

        pip install cocos 
        
        1

        基准

        此基准比较期权定价示例的运行时性能 在heston随机波动模型下基于numpy和gpu的cpu 使用Cocos和Cupy。cupy是另一个为 GPU计算。

        结果是在一台采用英特尔酷睿i7 3770k和32GB RAM和运行Windows 10的NVIDIA GeForce GTX 1070。200万条路径正在模拟 每年500个时间步。

        <表><正文>< T/>总时间(秒) 与numpy相比加速 纽比145.63899517059326COCOS0.995002269744873146.37051552448852丘比2.4080007626342860.4812925134707

        Benchmark\U results

        使用的软件包版本:

        • 阵列火:3.6.4
        • arrayfire python:3.6.20181017
        • 可可豆:0.0.7
        • CUDA:9.2
        • CUPY-CUDA92:6.2.0
        • numpy:1.16.4
        • 巨蟒:3.7

        功能性

        Numpy和Cocos之间的大多数差异来自两个来源:

        1. numpy是row major(c样式),而arrayfire是column major(fortran样式)。
        2. 只有部分numpy功能存在于arrayfire中,cocos基于arrayfire。
        3. < > >

          ndarray类的属性

          <表><正文>属性说明 注释>t/td>与self.transpose()相同,但如果self.ndim<;2,则返回self。 h 共轭转置。属性在numpy中不存在数据指向数组数据开头的python缓冲区对象。属性未实现数据类型数组元素的数据类型。标志有关阵列内存布局的信息。属性未实现平坦数组上的一维迭代器。属性未实现图像数组的虚部。实数阵列的真实部分。尺寸数组中的元素数。项目大小一个数组元素的长度(字节)。n字节数组元素占用的总字节数。新吉布提国际机场阵列维数。形状数组维数的元组。跨步遍历数组时要在每个维度中执行的字节元组。C类型简化数组与cTypes模块交互的对象。属性未实现基础基本目标如果内存来自其他对象。属性未实现<表>

          ndarray类的方法

          <表><正文>方法 说明 注释全部(轴=无)如果所有元素的值都为true,则返回true。不支持参数"out"和"keepdims"任意(轴=无)如果求值的任何元素为真,则返回真。不支持参数"out"和"keepdims"argmax(轴=无)沿给定轴返回最大值的索引。不支持参数"out"argmin(轴=无)沿给定A轴的最小值的返回索引。不支持参数"out"argpartition返回将分割此数组的索引。方法未实现argsort(轴=-1,升序=真)返回对该数组排序的索引。具有附加参数"升序";不支持参数"种类"和"顺序"astype(数据类型)数组的副本,转换为指定类型。不支持参数"order"、"casting"、"subok"和"copy"byteswap交换数组元素的字节方法未实现选择使用索引数组从一组选项中构造新数组。方法未实现剪辑(最小,最大)返回值限制为[min,max]的数组。不支持参数"out"压缩沿给定轴返回此数组的选定切片。方法未实现conj()复共轭所有元素。共轭()按元素返回复共轭。copy()返回阵列的副本。cumprod返回元素沿给定轴的累积乘积。方法未实现累计(轴=-1)返回给定轴上元素的累积和。不支持参数"dtype"和"out"对角线(偏移=0)返回指定的对角线。不支持参数"axis1"和"axis2"点(a,b)两个数组的点积。不支持参数"out"转储将数组的pickle转储到指定文件。方法未实现转储将数组的pickle作为字符串返回。方法未实现填充(值)用标量值填充数组。扁平化()返回折叠成一维的数组的副本。不支持参数"order";与numpy相反,numpy逐列展平数组,numpy逐行操作(以后可能会更改)获取字段将给定数组的字段作为特定类型返回。方法未实现项目(*args)将数组的元素复制到标准python标量并返回。间接实施,因此速度较慢项目集(*args)将标量插入数组(如果可能,标量将转换为数组的数据类型)间接实施,因此速度较慢最大(轴=无)沿给定轴返回最大值。不支持参数"out";对于复杂数组,与numpy的条件不同平均值(轴=无)返回给定轴上数组元素的平均值。不支持参数"dtype"、"out"和"keepdims" > MIn(轴=无)返回给定轴上数组元素的平均值。不支持参数"out";对于复杂数组,与numpy的条件不同新订单返回以不同字节顺序查看的相同数据的数组。方法未实现非零返回非零元素的索引。不支持超过三轴的阵列分区重新排列数组中的元素,使第k个位置的元素的值处于排序数组中的位置。方法未实现生产(轴=无)返回给定轴上数组元素的乘积不支持参数"dtype"、"out"和"keepdims" PTP沿给定轴的峰-峰(最大-最小)值。不支持参数"out";与numpy相比,由于min和max条件的差异,对于复杂数组,numpy的输出不同 >设置a.flat[n]=索引中所有n的值[n]。方法未实现;实现属性"flat"后简单明了拉威尔返回扁平数组。方法未实现重复(重复,轴=无)重复数组的元素。顺序与numpy相反(方法扁平化参见备注)重塑(形状)返回包含具有新形状的相同数据的数组。不支持参数"order"调整大小(新闻形状)更改阵列的形状和大小。方法未实现圆形()返回a,每个元素四舍五入到给定的小数位数。不支持参数"decimals"和"out"搜索排序查找V元素应插入A中以保持顺序的索引。方法未实现设置域将值放入由数据类型定义的字段中的指定位置。方法未实现设置标志分别设置可写、对齐和更新的数组标志。方法未实现排序(轴=-1,升序=真)在适当的位置对数组进行排序。有附加参数"升序";不支持参数"种类"和"顺序"挤压(轴=无)从A的形状中删除一维条目。标准(轴=无)返回数组元素沿给定轴的标准偏差。不支持参数"dtype"、"out"、"ddof"和"keepdims"总和(轴=无)返回给定轴上数组元素的和。不支持参数"dtype"、"out"和"keepdims"棉签返回Axis1和Axis2互换的数组视图。方法未实现服用返回由给定索引处的a元素构成的数组。方法未实现字节构造包含数组中原始数据字节的python字节。方法未实现;可以通过首先转换为numpy数组来实现,例如文件将数组作为文本或二进制(默认)写入文件。方法未实现;可以通过首先转换为numpy数组来实现,例如收费表将数组作为(可能是嵌套的)列表返回。方法未实现;可以通过首先转换为numpy数组来实现,例如ToString构造包含数组中原始数据字节的python字节。方法未实现;可以通过首先转换为numpy数组来实现,例如跟踪(偏移量=0)沿数组的对角线返回和。不支持参数"axis1"、"axis2"、"dtype"和"out"转置()返回一个换位轴的新数组。不支持参数"*axis";请查看arrayfire函数"moddims"以支持*axis;新数组不是旧数据的视图var(轴=无,ddof=0)返回数组元素沿给定轴的方差。不支持参数"dtype"、"out"和"keepdims"视图具有相同数据的阵列的新视图。方法未实现<表>

          统计功能

          订单统计 <表><正文>函数说明 注释阿明返回数组的最小值或沿轴的最小值。功能未实现amax返回数组的最大值或沿轴的最大值。功能未实现南敏返回数组的最小值或沿轴的最小值,忽略任何NaN。功能未实现Nanmax返回数组的最大值或沿轴的最大值,忽略任何NaN。功能未实现ptp(a,轴=无)沿轴的值范围(最大值-最小值)。不支持参数"out"百分比沿指定轴计算数据的qth百分位数。功能未实现百分位数计算沿指定轴的数据的qth百分位数,同时忽略NaN值。功能未实现<表>

          平均值和方差 <表><正文>函数说明 注释中值沿指定轴计算中值。不支持参数"out"、"overwrite\u input"=false和"keepdims"平均值(a,轴=无,权重=无)沿指定轴计算加权平均值。不支持参数"returned";当给定权重时,在带有AMD芯片的Mac OS X上不起作用平均值(A,轴=无)不支持参数"dtype"、"out"和"keepdims"标准(a,轴=无,ddof=0)计算沿指定轴的算术平均值。不支持参数"dtype"、"out"和"keepdims"var(a,轴=无,ddof=0)沿指定轴计算方差。不支持参数"dtype"、"out"和"keepdims"中位数沿指定轴计算中值,同时忽略NaN。功能未实现平均值计算沿指定轴的算术平均值,忽略NaN。功能未实现南斯特计算沿指定轴的标准偏差,同时忽略NaN。功能未实现南瓦尔计算沿指定轴的方差,同时忽略NaN。功能未实现<表>

          相关

          <表><正文>函数说明 注释corrceoff(x,bias=false,ddof=none返回皮尔逊积矩相关系数。不支持参数"y"和"rowvar"关联两个一维序列的互相关。功能未实现cov(m,bias=false,ddof=none)估计协方差矩阵,给定数据和权重S.不支持参数"y"、"rowvar"、"fweights"和"aweights"<表>

          直方图

          <表><正文>函数说明 注释直方图计算一组数据的直方图。功能未实现直方图2d计算两个数据样本的二维直方图。功能未实现histogramdd计算一些数据的多维直方图。功能未实现二进制数计算非负整数数组中每个值的出现次数。功能未实现数字化返回输入数组中每个值所属的存储箱的索引。功能未实现<表>

          数组创建例程

          一和零

          <表><正文>函数说明 注释空返回给定形状和类型的新数组,将条目初始化为零。与numpy相反,它将条目初始化为零,就像零一样空的 返回与给定数组形状和类型相同的新数组。与numpy相反,它将条目初始化为零,就像零一样眼(n,m=无,k=0,dtype=np.float32)返回一个二维数组,对角线上有一个,其他地方有零。标识(n,dtype=np.float32)返回标识数组。[一个(shape,dtype=np.float32)](https://docs.scipy.org/doc/numpy/reference/generated/numpy.ones.html\numpy.ones)返回一个给定形状和类型的新数组,并用一个数组填充。不支持参数"order"[喜欢的人(a,dtype=none)](https://docs.scipy.org/doc/numpy/reference/generated/numpy.ones.html numpy.ones喜欢的人)返回与给定数组形状和类型相同的数组。不支持参数"order"和"subok"[零(shape,dtype=n.float32)](https://docs.scipy.org/doc/numpy/reference/generated/numpy.ones.html\numpy.zeros)返回给定形状和类型的新数组,用零填充。不支持参数"order"[类零(a,dtype=none)](https://docs.scipy.org/doc/numpy/reference/generated/numpy.ones.html\numpy.zeros-like)返回与给定数组形状和类型相同的零数组。不支持参数"order"和"subok"[完整(shape,fill_value,dtype=n.float32)](https://docs.scipy.org/doc/numpy/reference/generated/numpy.ones.html\numpy.full)返回给定形状和类型的新数组,用fill_值填充。不支持参数"order"[完整的(a,fill_value,dtype=none)](https://docs.scipy.org/doc/numpy/reference/generated/numpy.ones.html numpy.full_like)返回与给定数组形状和类型相同的完整数组。不支持参数"order"和"subok"<表>

          来自现有数据 <表><正文>函数说明 注释数组(object,dtype=none)创建阵列。不支持参数"copy"、"order"、"subok"和"ndmin"尽快将输入转换为数组。功能未实现Asanyarray将输入转换为nDarray,但传递nDarray子类。功能未实现Ascontiguousarray返回内存中的连续数组(C顺序)。功能未实现阿斯马特里克斯将输入解释为矩阵。功能未实现副本(A)<返回给定对象的数组副本。不支持参数"order"来自缓冲区将缓冲区解释为一维数组。功能未实现来自文件从文本或二进制文件中的数据构造数组。功能未实现fromFunction通过在每个坐标上执行一个函数来构造一个数组。功能未实现来自ITER从iterable对象创建一个新的一维数组。功能未实现fromstring从字符串中的原始二进制或文本数据初始化的新一维数组。功能未实现loadtxt从文本文件加载数据。功能未实现<表>

          构建矩阵

          <表><正文>函数说明 注释诊断(V,K=0)提取对角线或构造对角线数组。诊断平面(V,K=0)创建一个二维数组,将平坦的输入作为对角线。 TIr/Td>一个数组,在给定的对角线上和对角线下各有一个,在其他地方有零。功能未实现万亿(米)数组的下三角形。不支持参数"k"三单位(m)数组的上三角。不支持参数"k"范德生成vandermonde矩阵。功能未实现<表>

          数组操作例程

          基本操作 <表><正文>函数说明 注释复制到将值从一个数组复制到另一个数组,根据需要广播。功能未实现<表>

          更改阵列形状 <表><正文>函数说明 注释重塑(A,新形状)在不更改数据的情况下为数组提供新形状。不支持参数"order"拉威尔返回一个连续的扁平数组。功能未实现ndarray.平坦数组上的一维迭代器。功能未实现ndarray.扁平化返回折叠成一维的数组的副本。参数"order"未实现<表>

          类转置操作 <表><正文>函数说明 注释移动轴将阵列的轴移动到新位置。功能未实现滚动轴(A,轴[,开始])向后滚动指定的轴,直到它位于指定位置。功能未实现Swapaxes(A,Axis1,Axis2)交换阵列的两个轴。功能未实现ndarray.t与self.transpose()相同,但如果self.ndim<;2,则返回self。转置(a)排列数组的维数。不支持参数"axes"<表>

          更改维度数 <表><正文>函数说明 注释至少1d(*arys)将输入转换为至少一维的数组。功能未实现至少2d(*arys)将输入作为至少具有两个维度的数组查看。功能未实现至少3d(*arys)将输入作为至少具有三维的数组查看。功能未实现广播生成模拟广播的对象。函数nOT实施广播到(数组,shape[,subok])将阵列广播到新形状。功能未实现广播阵列(*args,**kwargs)相互广播任意数量的阵列。功能未实现展开尺寸(A,轴)展开数组的形状。功能未实现[挤压(a,axis=none)](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.squeze.html)从数组形状中删除一维项。<表>

          更改数组的类型 <表><正文>函数说明 注释asarray(a[,dtype,order])将输入转换为数组。功能未实现asanyarray(a[,dtype,order])将输入转换为nDarray,但传递nDarray子类。功能未实现Asmatrix(数据[,数据类型])将输入解释为矩阵。功能未实现asfarray(a[,dtype])返回转换为浮点类型的数组。功能未实现asfortranarray(a[,dtype])返回内存中按Fortran顺序排列的数组。功能未实现ascontiguousarray(a[,dtype])返回内存中的连续数组(C顺序)。功能未实现asarray_chkfinite(a[,dtype,order])将输入转换为数组,检查nans或infs。功能未实现助理(A)将大小为1的数组转换为其等效标量。要求(a[,dtype,requirements])返回满足要求的所提供类型的ndarray。功能未实现<表>

          连接阵列

          <表><正文>函数说明 注释连接((a1,a2,…),轴=0)沿现有轴连接一系列阵列。堆栈(数组[,轴])沿新轴连接一系列阵列。功能未实现列堆栈(tup)将一维数组作为列堆叠到二维数组中。功能未实现数据包(tup)按深度顺序(沿第三轴)堆叠阵列。hstack(tup)水平(沿第二个轴)按顺序堆叠阵列。vstack(tup)按顺序垂直(沿第一个轴)堆叠阵列。块(数组)从块的嵌套列表中组合nd数组。功能未实现<表>

          拆分数组

          <表><正文>函数说明 注释拆分(ARY、索引或截面[,轴])将一个阵列拆分为多个子阵列。功能未实现阵列分割(ARY、索引或截面[,轴])将一个阵列拆分为多个子阵列。功能未实现DSPLIT(ARY、INDEX或U段)沿第三轴(深度)将阵列拆分为多个子阵列。功能未实现HSPLIT(ARY,索引或节)水平(按列)将数组拆分为多个子数组。功能未实现vsplit(ary,index_或_部分)垂直(按行)将数组拆分为多个子数组。功能未实现<表>

          平铺阵列 <表><正文>函数说明 注释平铺(A,重复)构造A通过重复一个重复次数来排列。重复(A,重复[,轴])重复数组的元素。功能未实现<表>

          添加和删除元素(未实现)

          <表><正文>函数说明 注释删除(arr,obj[,axis])返回一个新数组,其中子数组沿着删除的轴。功能未实现插入(arr,obj,值[,轴])在给定索引之前沿给定轴插入值。功能未实现附加(arr,值[,轴])将值追加到数组的末尾。功能未实现调整大小(A,新形状)返回具有指定形状的新数组。功能未实现微调(filt[,trim])修剪一维数组或序列的前导和/或尾随零。功能未实现唯一(ar[,return_index,return_inverse,…])查找数组的唯一元素。功能未实现<表>

          重新排列元素 <表><正文>函数说明 注释翻转(m,轴)沿给定轴反转数组中元素的顺序。翻转(m)向左/向右翻转阵列。flipud(m)向上/向下翻转阵列。重塑(A,新形状)在不更改数据的情况下为数组提供新形状。不支持参数"order"滚动(A,移位,轴=无)沿给定轴滚动数组元素。旋转90(m[,k,轴])在轴指定的平面上将阵列旋转90度。功能未实现<表>

          二进制操作

          元素级位操作

          <表><正文>函数说明 注释按位与(x1,x2)计算两个数组元素的位和。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"和"extobj"按位_或(x1,x2)计算两个数组元素的位或位。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"和"extobj"位xor(x1,x2)计算两个数组元素的逐位异或。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"和"extobj"反转(x)按位逆运算,或按位非按元素逆运算。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"和"extobj"左移(x1,x2)将整数的位向左移动。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"和"extobj"右移(x1,x2)将整数的位右移。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"和"extobj"<表>

          位打包(未实现)

          索引例程

          生成索引数组(未实现)

          类似索引的操作 <表><正文>函数说明 注释取(A,索引[,轴,输出,模式])沿轴从数组中获取元素。功能未实现选择(A,选项[,输出,模式])从索引数组和一组可供选择的数组中构造一个数组。 f功能未实现压缩(条件,A[,轴,输出])沿给定轴返回阵列的选定切片。功能未实现诊断(V,K=0)提取对角线或构造对角线数组。对角线(a[,偏移,轴1,轴2])返回指定的对角线。功能未实现选择(condlist,choicelist[,default])根据条件,返回从ChoiceList中的元素绘制的数组。功能未实现步态技巧。步态(x[,shape,…])以给定的形状和步幅创建阵列的视图。功能未实现<表>

          将数据插入数组(未实现)

          <表><正文>函数说明 注释位置(ARR、MASK、VAL)根据条件值和输入值更改数组的元素。功能未实现输入(A,IND,V[,模式])用给定值替换数组的指定元素。功能未实现putmask(a,mask,值)根据条件值和输入值更改数组的元素。功能未实现对角线填充(a,val[,wrap])填充任意维度的给定数组的主对角线。功能未实现<表>

          在数组上迭代(未实现)

          <表><正文>函数说明 注释nditer有效的多维迭代器对象在数组上进行迭代。功能未实现ndenumerate(arr)多维索引迭代器。功能未实现ndindex(*形状)索引数组的n维迭代器对象。功能未实现平面图要在数组上迭代的平面迭代器对象。功能未实现库数组生成器(var[,buf_size])大数组的缓冲迭代器。功能未实现<表>

          线性代数

          矩阵和向量积 <表><正文>函数说明 注释点(a,b)两个数组的点积。不支持参数"out"多点(数组)计算单个函数调用中两个或多个数组的点积,同时自动选择最快的求值顺序。功能未实现vdot(a,b)返回两个矢量的点积。内部(A,B)两个阵列的内积。功能未实现外部(A,B)两个阵列的外积。功能未实现matmul(a,b[,out])两个阵列的矩阵乘积。仅处理二维数组张量(a,b[,轴])为数组计算指定轴上的张量点积>;=1-d。功能未实现einsum(下标,*操作数[,out,dtype,…])计算操作数上的爱因斯坦求和约定。功能未实现线性矩阵幂(m,n)将平方矩阵提升到(整数)幂n。功能未实现克朗(A,B)两个阵列的kronecker积。功能未实现<表>

          分解

          <表><正文>函数说明 注释利纳格·乔尔斯基(a)cholesky分解。linalg.qr(a)<计算矩阵的qr因子分解。不支持参数"mode"linalg.svd(a[,全矩阵,计算uv])奇异值分解。<表>

          矩阵特征值(未实现)

          <表><正文>函数说明 注释利纳格.艾格(a)计算方阵的特征值和右特征向量。功能未实现Linalg.Eigh(a[,uplo])返回厄米特矩阵或对称矩阵的特征值和特征向量。功能未实现直线上升(a)计算一般矩阵的特征值。功能未实现linalg.eigvalsh(a[,uplo])计算厄米特矩阵或实对称矩阵的特征值。功能未实现<表>

          规范和其他数字

          <表><正文>函数说明 注释线性规范(x[,ord,axis,keepdims])矩阵或向量范数。不支持参数"keepdims"线性条件(x[,p])计算矩阵的条件数。功能未实现linalg.det(a)计算数组的行列式。功能未实现线性矩阵秩(m,tol=none)使用svd方法返回数组的矩阵秩linalg.slogdet(a)计算数组行列式的符号和(自然)对数。功能未实现记录道(A,偏移量=0)沿数组的对角线返回和。不支持参数"axis1"、"axis2"、"dtype"和"out"<表>

          解方程和逆矩阵

          <表><正文>函数说明 注释线性求解(a,b)求解线性矩阵方程或线性标量方程组。附加参数"trans"指示是否应对参数进行转置张量(a,b[,轴])解x的张量方程a x=b。功能未实现linalg.lstsq(a,b[,rcond])将最小二乘解返回到线性矩阵方程。功能未实现投资额(a)计算矩阵的(乘法)逆。linalg.pinv(a[,rcond])计算矩阵的(moore-penrose)伪逆。功能未实现Linalg.Tensorinv(a[,ind])计算n维数组的"逆"。<表>

          逻辑功能

          真值检验 <表><正文>函数说明 注释全部(A,轴=无)测试沿给定轴的所有数组元素是否求值为真。不支持参数"out"和"keepdims"任意(A,轴=无)测试沿给定轴的任何数组元素的计算结果是否为true。不支持参数"out"和"keepdims"<表>

          数组内容

          <表><正文>函数说明 注释是有限的(x)有限性的测试元素(不是无限或不是数字)。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"和"extobj"isinf(x)测试元素的正负无穷大。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"和"extobj"isnan(x)NaN和以布尔数组形式返回结果。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"和"extobj"isneginf(x)对于无穷大为负的测试元素,将结果作为布尔数组返回。不支持参数"out"isposinf(x)对于无穷大为正数的测试元素,将结果作为bool数组返回。不支持参数"out"<表>

          阵列类型测试 <表><正文>函数说明 注释iscomplex(x)返回布尔数组,如果输入元素很复杂,则返回true。功能未实现iscomplexobj(x)检查复数类型或复数数组。isfortran(a)如果数组是fortran连续的,但不是c连续的,则返回true。以色列(X)返回布尔数组,如果输入元素为实数,则返回实数。功能未实现isrealobj(x)如果x是非复数类型或复数数组,则返回true。Isscalar(数字)如果num的类型是标量类型,则返回true。<表>

          逻辑操作

          <表><正文>函数说明 注释逻辑与(x1,x2)计算x1和x2元素的真值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"逻辑或(x1,x2)计算x1或x2元素的真值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"非逻辑(x)计算非x元素的真值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"逻辑性(x1,x2)计算x1 xor x2元素的真值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"<表>

          比较

          <表><正文>函数说明 注释全关(a,b[,rtol,atol,相等])如果两个数组在一个公差内按元素顺序相等,则返回true。功能未实现isclose(a,b[,rtol,atol,相等])返回一个布尔数组,其中两个数组在一个公差内按元素相等。功能未实现数组等于(a1,a2)如果两个数组具有相同的形状和元素,则为true;否则为false。数组等效(a1,a2)如果输入数组的形状一致且所有元素相等,则返回true。功能未实现更大(x1,x2)返回(x1>;x2)元素的真值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"大于等于(x1,x2)返回(x1>;=x2)元素的真值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"减去(x1,x2)返回(x1<;x2)元素的真值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"小于等于(x1,x2)返回(x1=<;x2)元素的真值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"等于(x1,x2)返回(x1==x2)元素。参数"out","where","不支持casting、order、dtype、subok、signature、extobj 不等于(x1,x2)返回(x1!=x2)元素。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"<表>

          数学函数

          三角函数 <表><正文>函数说明 注释sin(x)三角正弦,按元素。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"cos(x)余弦元素。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"棕褐色(x)按切线元素计算。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"弧线素(x)逆正弦,按元素。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"arccos(x)三角反余弦,按元素。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"Arctan(x)三角反切线,按元素。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"低气压(x1,x2)给定直角三角形的"腿",返回其斜边。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"Arctan2(x1,x2)x1/x2的元素弧切线,正确选择象限。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"度数(x,/[,out,where,casting,order,…])将角度从弧度转换为度。功能未实现弧度(x,/[,out,where,casting,order,…])将角度从度转换为弧度。功能未实现展开(P[,不连续,轴])通过将值之间的增量更改为2*pi补码来展开。功能未实现deg2rad(x,/[,out,where,casting,order,…])将角度从度转换为弧度。功能未实现rad2deg(x,/[,out,where,casting,order,…])将角度从弧度转换为度。功能未实现<表>

          双曲函数 <表><正文>函数说明 注释sinh(x)双曲正弦,按元素。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"cosh(x)双曲余弦,按元素。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"tanh(x)计算双曲正切单元。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"弧线inh(x)逆双曲正弦单元。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"arccosh(x)反双曲余弦,逐项。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"Arctanh(x)反双曲正切单元。参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"a不支持re<表>

          舍入

          <表><正文>函数说明 注释大约(a[,小数,out])均匀地四舍五入到给定的小数位数。功能未实现舍入(a[,小数,out])均匀地四舍五入到给定的小数位数。功能未实现打印(x,/[,out,where,casting,order,…])将数组元素舍入到最接近的整数。功能未实现修正(x[,out])四舍五入到接近零的整数。功能未实现地板(X)按元素返回输入的底面。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"天花板(x)按元素返回输入的上限。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"trunc(x)按元素返回输入的截断值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"<表>

          总和、积、差 <表><正文>函数说明 注释产品(A,轴=无)返回给定轴上数组元素的乘积。不支持参数"dtype"、"out"和"keepdims"总和(A,轴=无)给定轴上阵列元素的总和。不支持参数"dtype"、"out"和"keepdims"nanprod(a[,axis,dtype,out,keepdims])返回给定轴上数组元素的乘积,不将数字(NaN)视为1。功能未实现nansum(a[,axis,dtype,out,keepdims])返回给定轴上数组元素的和,不将数字(NaN)视为零。功能未实现cumprod(a[,axis,dtype,out])返回元素沿给定轴的累积乘积。功能未实现累计(A,轴=无)返回给定轴上元素的累积和。不支持参数"dtype"和"out"NancumpRod(A[,轴,数据类型,输出])返回给定轴上数组元素的累积乘积,不将数字(NaN)视为一。功能未实现Nancumsum(a[,axis,dtype,out])返回给定轴上数组元素的累积和,不将数字(NaN)视为零。功能未实现差异(a,n=1,轴=-1)计算沿给定轴的第n个离散差分。ediff1d(ary[,to_end,to_begin])数组中连续元素之间的差异。功能未实现梯度(f,*varargs,**kwargs)返回n维数组的梯度。功能未实现十字(A,B[,轴A,轴B,轴C,轴])返回两个(数组)向量的叉积。功能未实现trapz(y[,x,dx,轴])使用复合梯形法则沿给定轴积分。功能未实现<表>

          指数和对数 <表><正文>函数说明 注释经验(x)计算输入数组中所有元素的指数。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"expm1(x)计算所有e的exp(x)-1数组中的元素。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"表达式2(x)为输入数组中的所有p计算2**p。功能未实现对数(x)自然对数,按元素。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"对数10(x)按元素返回输入数组的以10为底的对数。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"对数2(x)x的2次对数。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"对数1p(x)返回一的自然对数加上输入数组,按元素顺序。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"logaddexp(x1,x2,/[,out,where,casting,…])输入的指数和的对数。功能未实现logaddexp2(x1,x2,/[,out,where,casting,…])以2为基数的输入的指数和的对数。功能未实现<表>

          其他特殊功能(未实现)

          <表><正文>函数说明 注释I0(x)第一类修正贝塞尔函数,0阶。功能未实现sinc(x)返回sinc函数。功能未实现<表>

          浮点例程(未实现)

          <表><正文>函数说明 注释符号位(x,/[,out,where,casting,order,…)在设置了signbit(小于零)的情况下返回元素wise true。功能未实现文案(x1,x2,/[,out,where,casting,…])将x1的符号改为x2的符号,按元素顺序。功能未实现frexp(x[,out1,out2],/[,out,where,…])将x的元素分解为尾数和twos指数。功能未实现ldexp(x1,x2,/[,out,where,casting,…])返回x1*2**x2,按元素。功能未实现下一步(x1,x2,/[,out,where,casting,…])将x1之后的下一个浮点值返回x2,按元素顺序。功能未实现间距(x,/[,out,where,casting,order,…])返回x与最近相邻数字之间的距离。功能未实现<表>

          算术运算

          <表><正文>函数说明 注释加(x1,x2)按元素添加参数。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"倒数(x)返回参数的倒数,按元素顺序。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"负(x)数值负数,按元素。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"乘(x1,x2)按元素相乘参数。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"除以(x1,x2)按元素划分参数。参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"a不支持re功率(x1,x2)第一个数组元素从第二个数组提升为幂,按元素排列。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"减去(x1,x2)按元素减去参数。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"真除法(x1,x2)按元素返回输入的真除法。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"地板分割(x1,x2)返回小于或等于输入除以的最大整数。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"浮子功率(x1,x2,/[,out,where,…])第一个数组元素从第二个数组提升为幂,按元素排列。功能未实现fmod(x1,x2,/[,out,where,casting,…])返回除法的元素余数。功能未实现mod(x1,x2)返回除法的元素余数。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"modf(x[,out1,out2],/[,out,where,…])按元素返回数组的小数和整数部分。功能未实现余数(x1,x2)返回除法的元素余数。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"divmod(x1,x2[,out1,out2],/[,out,…])同时返回元素的商和余数。功能未实现<表>

          处理复数 <表><正文>函数说明 注释角度(Z)返回复杂参数的角度。不支持参数"deg"实数(val)返回复杂参数的实部。图像(val)返回复参数的虚部。联合体(x)按元素返回复共轭。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"<表>

          其他

          <表><正文>函数说明 注释卷积(A,V[,模式])返回两个一维序列的离散线性卷积。功能未实现卷积(A,V[,模式])返回两个一维序列的离散线性卷积。功能未实现剪辑(a,a_min,a_max)剪裁(限制)数组中的值。不支持参数"out"sqrt(x)按元素返回数组的正平方根。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"CBRT(x)按元素返回数组的立方根。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"正方形(x)返回输入的元素平方。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"绝对值(x)按元素顺序计算绝对值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"< / TR>fabs(x,/[,out,where,casting,order,…])按元素计算绝对值。功能未实现符号(X)返回数字符号的元素指示。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"重影(x1,x2,/[,out,where,casting,…])计算heaviside阶跃函数。功能未实现最大值(x1,x2)数组元素的元素最大值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"最小值(x1,x2)数组元素的元素最小值。不支持参数"out"、"where"、"casting"、"order"、"dtype"、"subok"、"signature"、"extobj"fmax(x1,x2,/[,out,where,casting,…])数组元素的元素最大值。功能未实现fmin(x1,x2,/[,out,where,casting,…])数组元素的元素最小值。功能未实现Nan_to_num(x[,copy])用零替换nan,用有限的数字替换inf。功能未实现如果关闭(a[,tol])如果复杂部分接近零,则复杂输入返回实数数组。功能未实现interp(x,xp,fp[,left,right,period])一维线性插值。功能未实现<表>

          随机抽样

          简单随机数据 <表><正文>函数说明 注释兰特(d0,d1,…,dn)给定形状中的随机值。randn(d0,d1,…,dn)从"标准正态"分布返回一个或多个样本。randint(低[高,大小,数据类型])返回从低(含)到高(不含)的随机整数。随机整数(低[,高,大小])np.int类型的随机整数,介于低位和高位之间,包括低位和高位。功能未实现随机样本([大小])在半开区间[0.0,1.0]中返回随机浮点数。功能未实现随机([大小])在半开区间[0.0,1.0]中返回随机浮点数。功能未实现范围([大小])在半开区间[0.0,1.0]中返回随机浮点数。功能未实现样本([大小])在半开区间[0.0,1.0]中返回随机浮点数。功能未实现选项(a[,大小,替换,p])从给定的一维数组生成随机样本replace=false和p!=不支持无字节(长度)返回随机字节。功能未实现<表>

          置换 <表><正文>函数说明 注释洗牌(X)通过改变序列的内容来修改序列。置换(x)随机排列序列,或返回排列范围。<表>

          分布 <表><正文>函数说明 注释β(A,B,尺寸=无)从beta分布中抽取样本。二项式(n,p[,大小])从二项分布中抽取样本。功能未实现正方形(df,size=none)从卡方分布中抽取样本。dirichlet(α[,大小])从Dirichlet分布中抽取样本。功能未实现指数(比例=1.0,大小=无)从指数分布中抽取样本。f(dfnum,dfden[,size])从F分布中抽取样本。功能未实现伽马(形状,比例=1.0,大小=无)从伽马分布中提取样本。几何(p[,大小])从几何分布中提取样本。功能未实现甘贝尔([loc,scale,size])从Gumbel分布中抽取样本。功能未实现超几何(ngood,nbad,nsample[,size])从超几何分布中提取样本。功能未实现拉普拉斯([loc,scale,size])从具有指定位置(或平均值)和比例(衰减)的拉普拉斯或双指数分布中提取样本。功能未实现逻辑(loc=0.0,scale=1.0,size=none)从物流配送中抽取样本。对数正态分布(平均值=0.0,西格玛=1.0,大小=无)从对数正态分布中提取样本。对数序列(p[,大小])从对数级数分布中抽取样本。功能未实现多项式(n,pvals[,size])从多项式分布中抽取样本。功能未实现多变量正常(平均值,cov[,大小,…)从多元正态分布中随机抽取样本。功能未实现负二项式(n,p[,size])从负二项分布中抽取样本。功能未实现非中心正方形(df,nonc[,size])从非中心卡方分布中抽取样本。功能未实现非中心f(dfnum,dfden,nonc[,size])从非中心f分布中抽取样本。功能未实现正常(loc=0.0,scale=1.0,size=none)从正态(高斯)分布中随机抽取样本。帕累托(a[,size])从指定形状的Pareto II或Lomax分布中提取样本。功能未实现泊松([lam,size])从泊松分布中抽取样本。功能未实现功率(A[,大小])在[0,1]中从正指数为a-1的幂分布中抽取样本。功能未实现瑞利([比例,大小])从瑞利分布中提取样本。功能未实现标准柯西([尺寸])从模式为0的标准柯西分布中提取样本。功能未实现标准指数(大小=无)从标准指数分布中抽取样本。标准γ(形状,大小=无)从标准伽马分布中提取样本。标准配置(大小=无)从标准正态分布(平均值=0,标准偏差=1)中抽取样本。标准t(df[,size])从具有df自由度的标准学生t分布中抽取样本。功能未实现三角形(左,模式,右[,大小])在间隔[左,右]上从三角形分布中提取样本。功能未实现均匀(低=0.0,高=1.0,大小=无)从均匀分布中抽取样本。音量(mu,kappa[,大小])从von mises分布中抽取样本。功能未实现沃尔德ale,size=none)从wald或反高斯分布中提取样本。威布尔(a[,大小])从威布尔分布中抽取样本。功能未实现zipf(a[,size])从zipf分布中抽取样本。功能未实现<表>

          随机发生器 <表><正文>函数说明 注释种子(种子=无)为发电机设定种子。获取种子()返回生成器的当前种子。函数在numpy中没有对应项获取状态()返回表示生成器内部状态的元组。功能未实现设置状态(state)从元组设置生成器的内部状态。功能未实现<表>

          与numpy的限制和区别

          • 需要Python3.6或更高版本。
          • 数组不能超过4个轴。
          • cocos只提供numpy函数和方法的一个子集。在许多情况下,cocos不支持其相应numpy函数或方法的所有参数。
          • 在cocos中,尾部的单重维度被截断,例如,形状为(2,2,1)的数组和形状为(2,2)的数组之间没有区别。
          • 整数类型不支持矩阵乘法。

          许可证

          麻省理工学院许可证

          版权所有(c)2019 Michael Nowotny

          兹免费准许任何人取得副本 本软件和相关文档文件("软件")的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:

          上述版权公告及本许可公告须包括在 软件的副本或大部分。

          本软件按"原样"提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合某一特定目的和非侵犯性。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与本软件有关,或使用或与本软件的其他交易有关。 软件。

          欢迎加入QQ群-->: 979659372 Python中文网_新手群

          推荐PyPI第三方库


热门话题
JavaEclipseMars没有保存首选项   java梯度同步失败:原因:启动失败:   java如何从嵌套的JSON获取数据?   java如何判断可观察对象中的任何对象满足一个条件?   java将字符串转换为保持相同值的byte[]数组   java有没有办法绕过AuditingEntityListener为测试设置数据?   从/usr/share/java中解析linux JAR依赖关系   安卓 My java函数抛出nullpointerexception?   java Gradle使用正确版本的依赖项   JBoss和Java6中带注释的WebService中的web服务ClassCastException   java如何修复codename one中的简单逻辑错误?   java如何迭代矩阵的索引?   java如何在JPanel不可见时将其保存为图像?   java HashMap如何在Kotlin中实现MutableMap接口?   javascript如何在单击后加载特定片段?   EclipseJava为纳什均衡获取所有玩家/策略组合   JavaSpring:Web服务REST在JSON上产生双反斜杠   java为什么ServletContext#getRealPath(“/”)返回相对路径?   java当我的游戏应该重新启动时,我应该如何处理重置SurfaceView和线程?