精华内容
下载资源
问答
  • np.linalg.matrix_power 官网链接 首先设置图的邻接矩阵A,假设图中有六个节点,只有节点2和节点3相连,A[1, 2]=A[2, 1]=1。求图中哪些节点之间的距离为D,则可以用一下代码。 import numpy as np matrics = np....

    np.linalg.matrix_power

    官网链接

    首先设置图的邻接矩阵A,假设图中有六个节点,只有节点2和节点3相连,A[1, 2]=A[2, 1]=1。求图中哪些节点之间的距离为D,则可以写出代码。

    import numpy as np
    
    matrics = np.zeros((6, 6)) # 设置邻接矩阵
    matrics[1, 2], matrics[2, 1] = 1, 1
    print(np.linalg.matrix_power(matrics, 1)) # d=1
    
    展开全文
  • 参考链接: Python中的numpy.power numpy.linalg.matrix_power(a, n) 官方文档 Raise a square matrix to the (integer) power n ...np.linalg.matrix_power(mat, 3) 结果 [[8 0] [0 8]] ...

    参考链接: Python中的numpy.power

    numpy.linalg.matrix_power(a, n) 

    官方文档 Raise a square matrix to the (integer) power n 

    示例 

    import numpy as np

    mat= np.array([[2, 0], [0, 2]])

    np.linalg.matrix_power(mat, 3)

     

    结果 

    [[8 0]

     [0 8]]

    展开全文
  • numpy.linalg.matrix_power 计算矩阵的次方

    千次阅读 2020-07-07 18:10:54
    numpy.linalg.matrix_power(a, n) 官方说明 示例 import numpy as np mat= np.array([[2, 0], [0, 2]]) np.linalg.matrix_power(mat, 3) 结果 [[8 0] [0 8]]

    numpy.linalg.matrix_power(a, n)

    官方文档
    Raise a square matrix to the (integer) power n

    示例

    import numpy as np
    mat= np.array([[2, 0], [0, 2]])
    np.linalg.matrix_power(mat, 3)
    

    结果

    [[8 0]
     [0 8]]
    
    展开全文
  • 文章目录Matrix创建(转换)矩阵(mat)矩阵运算数据dot和vdot(点积)inner(内积)matmul(矩阵积)线性代数函数库 linalg矩阵和向量积multi_dot(矩阵相乘)matrix_power(矩阵幂运算)分解cholesky(柯列斯基...

    Matrix

    在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 [1] ,最早来自于方程组的系数及常数所构成的方阵。这一概念由19世纪英国数学家凯利首先提出
    在numpy中,我们知道了第一种数据类型,数组ndarry,而矩阵则是另一种数据存储形式,矩阵matrix。

    区别:

    • 在数组中数据只能够以列表形式用逗号分割

    创建(转换)矩阵(mat)

    一般我们先创建数组,然后将其转化为矩阵

    np.mat(data, dtype=None)

    • data:数据或者数组
    • dtype:数据格式
    import numpy as np
    
    arr1 = np.array(
        [[1, 2, 3],
        [4, 5, 6],
         [7, 8, 9]]
    )
    print(type(arr1))
    a = np.mat(arr1)
    print(type(a))
    

    在这里插入图片描述

    import numpy as np
    
    # zeros
    a = np.mat(np.zeros((2,2)))
    print(a)
    print("*"*10)
    
    # ones
    a = np.mat(np.ones((2,2)))
    print(a)
    print("*"*10)
    
    # empty
    a = np.mat(np.empty((2,2)),dtype=float)
    print(a)
    print("*"*10)
    
    # eye
    a = np.mat(np.eye(3))
    print(a)
    print("*"*10)
    

    在这里插入图片描述

    矩阵运算

    数据

    import numpy as np
    
    mat1 = np.mat(
        [
            [1, 2, 3],
            [4, 5, 6],
            [7, 8, 9],
        ])
    
    mat2 = np.mat(
        [
            [11,12, 13],
            [14, 15, 16],
            [17, 18, 19],
        ])
    
    方法作用
    dot两个数组相乘 (点积)
    vdot两个向量相乘(点积)
    inner两个数组的内积
    matmul两个数组的矩阵积
    determinant求数组的行列式
    solve求解线性矩阵方程
    inv计算矩阵的乘法逆矩阵

    dot和vdot(点积)

    点积在数学中,又称数量积(dot product; scalar product),是指接受在实数R上的两个向量并返回一个实数值标量的二元运算。它是欧几里得空间的标准内积

    # 求点积
    print(np.dot(mat1,mat2))
    

    在这里插入图片描述

    inner(内积)

    矩阵的内积参照向量的内积的定义是:两个向量对应分量乘积之和

    # 求内积
    print(np.inner(mat1, mat2))
    

    在这里插入图片描述

    matmul(矩阵积)

    # 求矩阵积
    print(np.matmul(mat1, mat2))
    

    在这里插入图片描述

    线性代数函数库 linalg

    矩阵和向量积

    multi_dot(矩阵相乘)

    计算单个函数调用中两个或多个数组的点积,自动选择最快的评估顺序。

    这里是引用

    import numpy as np
    
    mat1 = np.mat(
        [
            [1, 2, 3],
            [4, 5, 6],
            [7, 8, 9],
        ])
    
    mat2 = np.mat(
        [
            [11,12, 13],
            [14, 15, 16],
            [17, 18, 19],
        ])
    
    # 点积
    print(np.linalg.multi_dot([mat1, mat2]))
    

    在这里插入图片描述

    matrix_power(矩阵幂运算)

    取一个方阵的(整数)n次方

    np.linalg.matrix_power(data, n)

    • data :需要计算矩阵
    • n:次方数
    import numpy as np
    
    mat1 = np.mat(
        [
            [1, 2, 3],
            [4, 5, 6],
            [7, 8, 9],
        ])
    
    mat2 = np.mat(
        [
            [11,12, 13],
            [14, 15, 16],
            [17, 18, 19],
        ])
    
    # 求矩阵幂
    print(np.linalg.matrix_power(mat1, 3))
    

    在这里插入图片描述

    分解

    cholesky(柯列斯基分解)

    计算矩阵的柯列斯基分解

    np.linalg.cholesky(np.matrix(A))

    	>>> A = np.array([[1,-2j],[2j,5]])
        >>> A
        array([[ 1.+0.j, -0.-2.j],
               [ 0.+2.j,  5.+0.j]])
        >>> L = np.linalg.cholesky(A)
        >>> L
        array([[1.+0.j, 0.+0.j],
               [0.+2.j, 1.+0.j]])
        >>> np.dot(L, L.T.conj()) # verify that L * L.H = A
        array([[1.+0.j, 0.-2.j],
               [0.+2.j, 5.+0.j]])
        >>> A = [[1,-2j],[2j,5]] # what happens if A is only array_like?
        >>> np.linalg.cholesky(A) # an ndarray object is returned
        array([[1.+0.j, 0.+0.j],
               [0.+2.j, 1.+0.j]])
        >>> # But a matrix object is returned if A is a matrix object
        >>> np.linalg.cholesky(np.matrix(A))
        matrix([[ 1.+0.j,  0.+0.j],
                [ 0.+2.j,  1.+0.j]])
    

    qr (qr分解)

    计算矩阵的qr分解

    np.linalg.qr(mat1)

    import numpy as np
    
    mat1 = np.mat(
        [
            [1, 2, 3],
            [4, 5, 6],
            [7, 8, 9],
        ])
    q, r = np.linalg.qr(mat1)
    print(q)
    print(r)
    

    在这里插入图片描述

    svd(奇异值分解)

    奇异值分解

    np.linalg.svd(a, full_matrices=True, compute_uv=True, hermitian=False)

    Examples
        --------
        >>> a = np.random.randn(9, 6) + 1j*np.random.randn(9, 6)
        >>> b = np.random.randn(2, 7, 8, 3) + 1j*np.random.randn(2, 7, 8, 3)
    
        Reconstruction based on full SVD, 2D case:
    
        >>> u, s, vh = np.linalg.svd(a, full_matrices=True)
        >>> u.shape, s.shape, vh.shape
        ((9, 9), (6,), (6, 6))
        >>> np.allclose(a, np.dot(u[:, :6] * s, vh))
        True
        >>> smat = np.zeros((9, 6), dtype=complex)
        >>> smat[:6, :6] = np.diag(s)
        >>> np.allclose(a, np.dot(u, np.dot(smat, vh)))
        True
    
        Reconstruction based on reduced SVD, 2D case:
    
        >>> u, s, vh = np.linalg.svd(a, full_matrices=False)
        >>> u.shape, s.shape, vh.shape
        ((9, 6), (6,), (6, 6))
        >>> np.allclose(a, np.dot(u * s, vh))
        True
        >>> smat = np.diag(s)
        >>> np.allclose(a, np.dot(u, np.dot(smat, vh)))
        True
    
        Reconstruction based on full SVD, 4D case:
    
        >>> u, s, vh = np.linalg.svd(b, full_matrices=True)
        >>> u.shape, s.shape, vh.shape
        ((2, 7, 8, 8), (2, 7, 3), (2, 7, 3, 3))
        >>> np.allclose(b, np.matmul(u[..., :3] * s[..., None, :], vh))
        True
        >>> np.allclose(b, np.matmul(u[..., :3], s[..., None] * vh))
        True
    
        Reconstruction based on reduced SVD, 4D case:
    
        >>> u, s, vh = np.linalg.svd(b, full_matrices=False)
        >>> u.shape, s.shape, vh.shape
        ((2, 7, 8, 3), (2, 7, 3), (2, 7, 3, 3))
        >>> np.allclose(b, np.matmul(u * s[..., None, :], vh))
        True
        >>> np.allclose(b, np.matmul(u, s[..., None] * vh))
        True
    
        """
    

    矩阵特征值

    eig(特征值)

    计算一个方阵的特征值和右特征向量

    np.linalg.eig(mat1)

    import numpy as np
    
    mat1 = np.mat(
        [
            [1, 2, 3],
            [4, 5, 6],
            [7, 8, 9],
        ])
    w, v = np.linalg.eig(mat1)
    print(w)
    print(v)
    

    在这里插入图片描述

    eigh

    返回复厄米特矩阵的特征值和特征向量(共轭对称)或实对称矩阵。

    np.linalg.eigh(a, UPLO=‘L’)

    w, v = np.linalg.eigh(mat1)
    print(w)
    print(v)
    

    在这里插入图片描述

    eigvals

    eigvalsh

    规范及其他数字

    norm

    cond

    det

    matrix_rank

    slogdet

    解方程和逆矩阵

    solve

    tensorsolve

    lstsq

    inv

    pinv

    tensorinv

    • 后续会不断完善更新
    展开全文
  • np.linalg.eig 特征值和特征向量 np.linalg.svd 奇异值分解 np.linalg.pinv 广义逆矩阵(QR分解) numpy.linalg模块包含线性代数的函数。使用这个模块,可以计算逆矩阵、求特征值、解线性方...
  • linalg.multi_dot(arrays) 在单个函数调用中计算两个或更多数组的点积,同时自动选择最快的求值顺序。 vdot(a, b) 返回两个向量的点积。 inner(a, b) 两个数组的内积。 outer(a, b[, out]) 计算两个向量的外积。
  • python中np.array 矩阵的高级操作

    千次阅读 2019-07-31 15:19:36
    在论文源码中看到一种没用过的list列表的操作,记录下来,以便后续的学习。...import numpy as np def get_hop_distance(num_node, edge, max_hop=1): A = np.zeros((num_node, num_node)) for i, j in e...
  • Generate matrices A, with random Gaussian entries, B, a Toeplitz matrix, where A 2 Rn×m and B 2 Rm×m,for n = 200, m = 500.Exercise 9.1: Matrix operationsCalculate A + A, AA>; A>A and ...
  • 文章目录Matrix and vector productsDecompositionsMatrix eigenvaluesNorms and other numbersSolving equations and inverting matricesExceptions The NumPy linear algebra functions rely on BLAS and LAPACK ...
  • numpy.linalg模块包含线性代数的函数。使用这个模块,我们可以计算逆矩阵、求特征值、解线性方程组以及求解行列式等。 求解矩阵的范数 在实数域中,数的大小和两个数之间的距离是通过绝对值来度量 的。在解析几何中...
  • 矩阵构造:eyes ones empty rand 数学常量 pi e 其他库 np.random np.linalg np.polynomial np.fft n 运算符重载 四则运算 三、Compare with matlab 在matlab使用doc+命令名可以查看对应函数用法,spyder则使用help+...
  • 以此类推 #np.linalg.matrix_power()表示矩阵的次方 arrive_mat = (np.stack(transfer_mat) > 0) #将转移矩阵值变为True和False for d in range(self.max_hop, -1, -1): #从最大距离开始到0,,如2,1,0 hop_dis...
  • power函数计算幂 return np.sum(inner)/(2*len(X)) def gredientDecent(X,y,theta,alpha,iters): #梯度下降算法,需要给定执行次数iters tempt = np.matrix(np.zeros(theta.shape)) #先创建一个tempt矩阵变量,并...
  • from scipy.linalg import fractional_matrix_power A = np.array([[1, 2], [3, 4]]) fractional_matrix_power(A, -0.5) 参考 https://www.pythonheidong.com/blog/article/299503/a7eb0056938af88af728/ ...
  •  numpy包含两种基本的数据类型:数组(array)和矩阵(matrix)。无论是数组,还是矩阵,都由同种元素组成。 下面是测试程序: # coding:utf-8 import numpy as np # print(dir(np)) M = 3 #-----------...
  • 打印numpy的版本和配置说明 (★☆☆) (提示: np.version, np.show_config) print(np.__version__) np.show_config() 3. 创建一个长度为10的空向量 (★☆☆) (提示: np.zeros) Z = np.zeros(10) print(Z) 4. 如何...
  • serif'] = ['SimHei'] import scipy scipy.__version__#查看版本 '1.0.0' 常数和特殊函数 from scipy import constants as C print (C.c) # 真空中的光速 print (C.h) # 普朗克常数 299792458.0 6.62607004e-34 C....
  • Polynomial coefficients, highest power first. If `y` was 2-D, the coefficients for `k`-th data set are in ``p[:,k]``. residuals, rank, singular_values, rcond Present only if `full` = True. ...
  • files = tables.open_file(input_path, mode = 'r+') speaker_nodes = files.root._f_list_nodes() for spk in speaker_nodes: file_nodes = spk._f_list_nodes() for fls in file_nodes: file_name = fls._v_name ...
  • GCN-TF代码解读

    千次阅读 2021-01-04 20:39:23
    2708) #print(np.shape(features))#(2708, 1433) #print(np.shape(y_train))#(2708, 7) #print(np.shape(y_val))#(2708, 7) #print(np.shape(y_test))#(2708, 7) #print(np.shape(train_mask))#(2708,) #print(np....
  • mse = np.mean(np.power(y_true - y_pred, 2)) return mse def main(): #第一步:导入数据 # Load the diabetes dataset diabetes = datasets.load_diabetes() #获取数据集 # Use only one feature X = ...
  • Numpy使用教程(二)

    千次阅读 2019-06-02 01:07:05
    欢迎大家前去参观,么么哒~ numpy随机抽样 随机数生成 numpy.random.rand(d0, d1, ..., dn)方法的作用为:指定一个数组,并使用 [0, 1) 区间随机数据填充,这些数据均匀分布。...In [2]: np.random.ran...
  • np.dot(np.dot(np.linalg.inv(np.dot(X.T, X)), X.T), y) self.bias = 0 return self.weights, self.bias def predict(self, X): return np.dot(X, self.weights) self.bias 使用梯度下降进行训练 In [24]: ...
  • print("") A = np.array([[1., 2.], [3., 4.]]) pprint("A", A) Ainv1 = np.linalg.matrix_power(A, -1) pprint("linalg.matrix_power(A, -1) => Ainv1", Ainv1) Ainv2 = np.linalg.inv(A) pprint("np.linalg.inv(A)...
  • T = np.array([[0.9, 0.1],[0.5, 0.5]])p = np.random.uniform(low=0, high=1, size=2) p = p/np.sum(p) q=np.zeros((100,2))for i in np.arange(0,100): q[i, :] = np.dot(p,np.linalg.matrix_power(T, i)) ...
  • GCN图卷积 utils.py脚本

    2020-06-02 16:38:33
    GCN图卷积 utils.py...import numpy as np import pickle as pkl import networkx as nx import scipy.sparse as sp from scipy.sparse.linalg.eigen.arpack import eigsh import sys def parse_index_file(filena

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,108
精华内容 443
关键字:

np.linalg.matrix_power