本节矩阵线性代数有很多内容,这里重点演示计算矩阵的行列式、求逆矩阵和矩阵的乘法。

一、计算矩阵行列式【det】

import numpy as np
from numpy.linalg import det
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
c = det(a)
print(c) #行列式为0,不存在逆矩阵
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 19]])
c = det(b)
print(c) #行列式不为0,存在逆矩阵
-9.51619735393e-16
-30.0

二、求逆矩阵【inv】

import numpy as np
from numpy.linalg import inv
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 19]])
b = inv(a)
print(b) #b为a的逆矩阵
[[-1.56666667  0.46666667  0.1       ]
[ 1.13333333 0.06666667 -0.2 ]
[ 0.1 -0.2 0.1 ]]

三、矩阵的乘法【dot】

import numpy as np
from numpy.linalg import inv
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 19]])
b = inv(a)
c = np.dot(a, b)
print(c) #a跟a的逆矩阵相乘得到一个单位矩阵E
[[  1.00000000e+00   5.55111512e-17   4.16333634e-17]
[ -2.49800181e-16 1.00000000e+00 8.32667268e-17]
[ 5.41233725e-16 5.55111512e-17 1.00000000e+00]]

OK, 本讲到此结束,后续更多精彩内容,请持续关注我的博客。
												

Numpy入门 - 线性代数运算的更多相关文章

  1. python 基于numpy的线性代数运算

    import numpy as np A = [[1,2],[2,1]] np.linalg.inv(A)  #计算矩阵A的逆矩阵. #显示结果 [[-0.33333333 0.66666667] [ ...

  2. Python: 矩阵与线性代数运算

    需要执行矩阵和线性代数运算,比如矩阵乘法.寻找行列式.求解线性方程组等等. 矩阵类似于3.9 小节中数组对象,但是遵循线性代数的计算规则.下面的一个例子展示了矩阵的一些基本特性: >>&g ...

  3. Numpy入门 - 生成数组

    今天是Numpy入门系列教程第一讲,首先是安装Numpy: $ pip install numpy numpy是高性能科学计算和数据分析的基础包,本节主要介绍生成连续二维数组.随机二维数组和自定义二维 ...

  4. 用python的numpy作线性拟合、多项式拟合、对数拟合

    转自:http://blog.itpub.net/12199764/viewspace-1743145/ 项目中有涉及趋势预测的工作,整理一下这3种拟合方法:1.线性拟合-使用mathimport m ...

  5. 第一周——数据分析之表示 —— Numpy入门

    数据的维度 从一个数据到一组数据 一个数据:表达一个含义 一组数据:表达一个或者多个含义 维度:一组数据的组织形式 一维数据 由对等关系的有序或者无序数据构成,采用线性方式组织,对应列表.数组和集合等 ...

  6. 机器学习入门-线性判别分析(LDA)1.LabelEncoder(进行标签的数字映射) 2.LinearDiscriminantAnalysis (sklearn的LDA模块)

    1.from sklearn.processing import LabelEncoder 进行标签的代码编译 首先需要通过model.fit 进行预编译,然后使用transform进行实际编译 2. ...

  7. numpy入门—Numpy的核心array对象以及创建array的方法

    Numpy的核心array对象以及创建array的方法 array对象的背景: Numpy的核心数据结构,就叫做array就是数组,array对象可以是一维数组,也可以是多维数组: Python的Li ...

  8. Python数据科学手册-Numpy入门

    通过Python有效导入.存储和操作内存数据的技巧 数据来源:文档.图像.声音.数值等等,将所有的数据简单的看做数字数组 非常有助于 理解和处理数据 不管数据是何种形式,第一步都是 将这些数据转换成 ...

  9. NumPy入门及基础

    1.1 NumPy 数组对象 NumPy中的ndarray是一个多维数组对象,该对象由两部分组成:  实际的数据;  描述这些数据的元数据. 大部分的数组操作仅仅修改元数据部分,而不改变底层的实际 ...

随机推荐

  1. MySQL技术内幕汇总

    MySql技术内幕之MySQL入门(1) MySql技术内幕之MySQL入门(1) 检查系统中是否已经安装了MySQL sudo netstat -tap | grep mysql 若没有显示已安装结 ...

  2. LeetCode 674. Longest Continuous Increasing Subsequence (最长连续递增序列)

    Given an unsorted array of integers, find the length of longest continuous increasing subsequence. E ...

  3. LeetCode 461. Hamming Distance (汉明距离)

    The Hamming distance between two integers is the number of positions at which the corresponding bits ...

  4. LeetCode 104. Maximum Depth of Binary Tree (二叉树的最大深度)

    Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...

  5. SrpingDruid数据源加密数据库密码

    前言 在工作中遇到这样一个问题:开发过程中将数据库的账号.密码等信息配置在了一个单独的properties配置文件中(使用明文).但运维人员要求在配置文件中的密码一律不得出现明文. 环境 Spring ...

  6. 读书笔记-你不知道的JS中-函数生成器

    这个坑比较深 可能写完我也看不懂(逃 ES6提供了一个新的函数特性,名字叫Generator,一开始看到,第一反应是函数指针?然而并不是,只是一个新的语法. 入门 简单来说,用法如下: functio ...

  7. 业余草双因素认证(2FA)教程

    所谓认证(authentication)就是确认用户的身份,是网站登录必不可少的步骤.密码是最常见的认证方法,但是不安全,容易泄露和冒充.越来越多的地方,要求启用双因素认证(Two-factor au ...

  8. 【译】Java中的字符串字面量

    原文地址:https://javaranch.com/journal/200409/ScjpTipLine-StringsLiterally.html 作者:Corey McGlone 让我们由一个简 ...

  9. Leetcode题解(27)

    86. Partition List 题目 分析:题目要求将链表划分为两部分,前半部分小于x,后半部分大于等于x,并且各个数之间的相对顺序不变. 解题思路是:从头开始扫描链表,找打第一个大于等于x的数 ...

  10. idea tomee required to support ear ejb deployment问题

    先删掉原来的uname,然后添加项目即可