11-矩阵(matrix)_方阵_对称阵_单位阵_对角阵

这篇具有很好参考价值的文章主要介绍了11-矩阵(matrix)_方阵_对称阵_单位阵_对角阵。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

矩阵

  • 向量是对数的拓展,一个向量表示一组数
  • 矩阵是对向量的拓展,一个矩阵表示一组向量
  • ( 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ) \begin{pmatrix} 1 & 2& 3 &4 \\ 5 & 6 & 7 & 8\\ 9& 10 & 11 &12 \\ 13 & 14 & 15&16\end{pmatrix} 15913261014371115481216
  • 下面就有一个问题了,比如说上面这个矩阵,它到底表示怎么样的一组向量呢?这组向量里一共有几个向量?每个向量分别是谁呢?实际上对于这个问题,由于我们看待一个矩阵的视角不一样, 或者我们应用矩阵的这个应用场景情景不一样,我们通常会有不同的看待方式,不过整体如果非常宽泛的回答这个问题,也非常的容易。简而言之,我们有两个视角来看待这样的一个矩阵,一个视角就是我们一行一行的来看待这个矩阵,这样这个矩阵是由四个行向量组成的,另外一种视角, 那么就是所谓的列向量的视角。在这种情况下,这个矩阵,它依然包含四个向量

大多数情况下列向量比行向量更有用

或者我们应用矩阵的这个应用场景。情景不一样,我们通常呢,可能会有不同的看待方式,不过整体如果非常宽泛的回答这个问题,也非常的容易。简而言之,我们有两个视角来看待这样的一个矩阵,一个视角就是我们。一行一行的来看待这个矩阵,这样这个矩阵是由四个行向量组成的。
我们后面将会不停的和各种不同的矩阵打交道,抽象的来讲,这里我们学习的是代数,代数就是用字母代表数。在通常的数学符号体系中,我们使用大写的字母A来代表一个矩阵,那么对于这个矩阵,其中的每一个元素通常用和这个大写字母相对应的小写字母来表示,用这个小写字母的下标来表示这个元素所对应的行数和列数。举个例子:
A = [ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ] A=\begin{bmatrix}a_{11} & a_{12} & a_{13} \\a_{21} & a_{22} & a_{23} \\a_{31} & a_{32} & a_{33} \\\end{bmatrix} A= a11a21a31a12a22a32a13a23a33

我们在线性代数中表示一个矩阵和我们在计算机的世界中表示一个二维数组是一样的。

打个比方,我们什么时候可以用到矩阵呢?大家在平时的学习生活工作中一定见过各种各样不同的表格,实际上这样的一个数据表格就是一个矩阵,比如说在这里我写上了一个3×5的矩阵,

11-矩阵(matrix)_方阵_对称阵_单位阵_对角阵,人工智能高等数学知识强化,矩阵,线性代数

那么这个矩阵中每一个元素都表示一个成绩,而整个矩阵就表示的是一个班级中若干个同学不同的科目的成绩。在这里,大家可以看到这个矩阵,它可能表示张三,李四,王五这三个人的成绩,这就是每一行的意思。同时,它表示了这三个人在语文,数学,英语,物理,化学这五个不同科目上的成绩。这就是每一列的含义。

那么,在这样的情况下,大家就可以很自然的想到对于这个矩阵,每一个行向量实际上就表示的是某一个人各个科目的成绩,这是我们从行向量的视角来看待这个矩阵,而每一个列向量就表示的是某一个科目不同的人的成绩,这就是我们从列向量的视角去看待这个矩阵。那么很显然,我们可以在行向量相应的这个维度上做一些事情,比如说计算每一个同学考试的总成绩,我们只需要把这一行一行的成绩进行加和就好了。

当然我们也可以在列向量上做一些事情,比如说计算这一个班级的同学中,每一个科目的平均分, 在这种情况下我们就需要一列一列的处理这些数据。对于每一列的数据都求一下和再除以行数,也就是除以这个班级的总人数。那么当然了,在这里我举的这个例子是非常直观简单的一个例子,其实也是在大多数我们在数据科学中显示的来使用矩阵的例子,那么在大多数数据科学的任务中,我们拿到的数据本身通常就是这样的一个矩阵,我们基于这样的一个矩阵进行数据处理,不过在线性代数的世界中,对于一个矩阵,它除了可以这样显式地表示一组数据之外,还可以表示更加抽象的内容,比如说它可以表示是一组变换或者是一个空间。个人认为,用矩阵表示这些内容可能是我们线性代数更加关注的内容。

矩阵及其运算

[ a 11 ⋯ a 1 n ⋯ ⋯ ⋯ a m 1 ⋯ a m n ] \begin{bmatrix} a_{11} & \cdots & a_{1n} \\ \cdots & \cdots & \cdots \\ a_{m1} & \cdots & a_{mn} \\ \end{bmatrix} a11am1a1namn

矩阵就是二维数组,上面是一个 m 乘 n 的矩阵,它有 m 行,n 列,每行每列上面都有一个 元素,每个元素都有行标 i 和列标 j, 对应的元素就是
a i j a_{ij} aij
矩阵是一种常见的数据结构,它由一堆一维数组(也称为行向量)组成。矩阵是二维数组,由行和列构成。通常用于在数学、计算机科学、统计学等领域进行数据处理和表示。

矩阵可以由一堆行向量组成,这种表示方式称为行向量组成的矩阵;也可以由一堆列向量组成,称为列向量组成的矩阵。矩阵的行数表示矩阵的高度,列数表示矩阵的宽度。行向量组成的矩阵是以横向排列的行向量构成,而列向量组成的矩阵是以纵向排列的列向量构成。

例如,下面是一个由行向量组成的矩阵:

[1 2 3]
[4 5 6]
[7 8 9]

下面是一个由列向量组成的矩阵:

[1  4  7]
[2  5  8]
[3  6  9]

矩阵在线性代数、图像处理、神经网络等领域具有广泛的应用。在计算机中,矩阵也是很多数据处理算法的基础,例如矩阵乘法、矩阵转置等操作。

方阵,对称矩阵,单位矩阵,对角线

方阵

下面介绍几种特殊的矩阵,如果 m 等于 n,那就称为方阵
[ 1 0 0 0 2 0 0 0 3 ] \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 3 \\ \end{bmatrix} 100020003

对称矩阵

对称矩阵转置后不会改变原始矩阵的形状和值。
定义是 a i j a_{ij} aij
等于 a j i a_{ji} aji那么就是对称矩阵(沿着主对角线(左上角到右下角划分的线)的元素对称, 这里的对称是主对角线两侧的元素相等),并且肯定是个方阵
[ 1 1 2 1 2 3 2 3 3 ] \begin{bmatrix} 1 & 1 & 2 \\ 1 & 2 & 3 \\ 2 & 3 & 3 \\ \end{bmatrix} 112123233

单位矩阵

主对角线都是 1,其它位置是 0,这称之为单位阵,单位矩阵写为 I,一定是方阵,等同于数字里面的 1
[ 1 ⋯ 0 0 0 ⋯ 1 ⋯ 0 0 0 ⋯ ⋯ ⋯ 0 0 0 ⋯ ⋯ ⋯ 0 0 0 ⋯ 1 ] \begin{bmatrix} 1 & \cdots & 0 & 0 & 0\\ \cdots & 1 & \cdots & 0 & 0\\ 0 & \cdots & \cdots & \cdots & 0\\ 0 & 0 & \cdots & \cdots & \cdots\\ 0 & 0 & 0 & \cdots & 1\\ \end{bmatrix} 100010000000001

单位矩阵对应的方法是numpy模块中的identity和eye方法, numpy.identity返回一个单位矩阵,即一个对角线上为1,其他位置为0的方阵。

identity方法

参数:

  • n:一个整数,表示输出的单位矩阵的行数和列数。
  • dtype:一个可选参数,用于指定输出数组的数据类型,默认为float类型。

返回值:

  • out:一个大小为n x n的NumPy数组,其主对角线为1,其余元素为0。
eye方法

numpy.eye方法用于创建一个单位矩阵,也称为单位矩阵或恒等矩阵。单位矩阵是一个方阵,它的主对角线上的元素都是1,其余元素都是0。

函数签名:

numpy.eye(N, M=None, k=0, dtype=float, order='C')

参数:

  • N:生成矩阵的行数(也是列数,因为是方阵)。
  • M:可选参数,生成矩阵的列数,默认为N,因为是方阵,一般不需要指定。
  • k:可选参数,对角线的偏移量,默认为0,表示主对角线上的元素为1,其他元素为0;若k为正整数,则主对角线在矩阵的上方,若为负整数,则主对角线在矩阵的下方,对角线元素为1。
  • dtype:可选参数,指定生成矩阵的数据类型,默认为float
  • order:可选参数,指定数组的内存布局,'C'表示C顺序,'F'表示Fortran顺序,默认为'C'

返回值:

  • 返回一个单位矩阵,其形状为(N, M)

示例:文章来源地址https://www.toymoban.com/news/detail-621211.html

import numpy as np

# 创建一个3x3的单位矩阵
eye_matrix = np.eye(3)
print(eye_matrix)
# 输出:
# [[1. 0. 0.]
#  [0. 1. 0.]
#  [0. 0. 1.]]

# 创建一个4x4的单位矩阵,主对角线偏移量为1
eye_matrix_shifted = np.eye(4, k=1)
print(eye_matrix_shifted)
# 输出:
# [[0. 1. 0. 0.]
#  [0. 0. 1. 0.]
#  [0. 0. 0. 1.]
#  [0. 0. 0. 0.]]

numpy.eye函数非常有用,特别在线性代数和矩阵运算中经常用到。

identity和eye方法的区别

numpy.eye函数与numpy.identity函数都用于创建单位矩阵,但它们有一些区别:

  1. 参数不同:

    • numpy.eye(N, M=None, k=0, dtype=float)eye函数可以创建任意大小的单位矩阵,其中N表示行数,M表示列数,默认情况下M等于Nk表示对角线的偏移量,默认为0,即主对角线。
    • numpy.identity(n, dtype=None)identity函数创建的是一个方阵(行数等于列数),只需要一个整数n作为参数,表示输出单位矩阵的行数和列数。
  2. 默认值不同:

    • numpy.eye的默认数据类型为float,可以通过dtype参数指定其他数据类型。
    • numpy.identity的默认数据类型也是float,可以通过dtype参数指定其他数据类型。

示例:

import numpy as np

# 使用eye创建3x4的单位矩阵,对角线偏移量为1
eye_matrix = np.eye(3, 4, k=1, dtype=int)
print(eye_matrix)
# 输出:
# [[0 1 0 0]
#  [0 0 1 0]
#  [0 0 0 1]]

# 使用identity创建3x3的单位矩阵,默认数据类型为float
identity_matrix = np.identity(3, dtype=int)
print(identity_matrix)
# 输出:
# [[1 0 0]
#  [0 1 0]
#  [0 0 1]]

总的来说,eye函数比identity函数更灵活,可以创建非方阵的单位矩阵,并且可以指定对角线的偏移量,而identity函数则专门用于创建方阵的单位矩阵。

对角阵

对角阵,就是主对角线非 0,其它位置是 0
11-矩阵(matrix)_方阵_对称阵_单位阵_对角阵,人工智能高等数学知识强化,矩阵,线性代数

dot方法在矩阵中的应用

numpy.dot方法用于计算两个数组的矩阵乘法(点积)。在矩阵运算中,矩阵乘法是一种常见的操作,它涉及到两个矩阵的元素相乘和求和的过程。

函数签名:

numpy.dot(a, b, out=None)

参数:

  • a:要进行矩阵乘法的数组或矩阵。
  • b:要进行矩阵乘法的数组或矩阵。
  • out:可选参数,指定输出结果的数组。如果不指定,结果将会创建一个新的数组。

返回值:

  • 返回两个数组的矩阵乘法结果。

注意事项:

  1. 两个数组的维度必须满足矩阵乘法的条件,即第一个数组的列数要与第二个数组的行数相等。
  2. 如果两个数组是一维的,那么dot函数将计算它们的点积(内积)。
  3. 如果两个数组是二维的,那么dot函数将计算它们的矩阵乘法。

示例:

import numpy as np

# 一维数组的点积(内积)
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
dot_product = np.dot(a, b)
print(dot_product)  # 输出:32

# 二维数组的矩阵乘法
matrix_a = np.array([[1, 2], [3, 4]])
matrix_b = np.array([[5, 6], [7, 8]])
matrix_product = np.dot(matrix_a, matrix_b)
print(matrix_product)
# 输出:
# [[19 22]
#  [43 50]]

到了这里,关于11-矩阵(matrix)_方阵_对称阵_单位阵_对角阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 特殊的矩阵与特殊的矩阵关系———实对称、正定、对角、零矩阵

    1、实对称矩阵 定义:都是实数,且 性质:  (1)可以用特征值来求A的大小 (2)可以得到A的秩 (3) 必定可以相似对角化 运用: 与实对称矩阵A合同的矩阵B,必定是实对称矩阵,这一性质可以用来排除某些选项 2、对角矩阵 定义:只有主对角线上有元素的矩阵 性质: (

    2024年02月11日
    浏览(33)
  • 【LeetCode 算法】Matrix Diagonal Sum 矩阵对角线元素的和

    给你一个正方形矩阵 mat ,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 n = = m a t . l e n g t h = = m a t [ i ] . l e n g t h 1 = n = 100 1 = m a t [ i ] [ j ] = 100 n == mat.length == mat[i].length\\\\ 1 = n = 100\\\\ 1 = mat[i][j] = 100 n == ma t . l

    2024年02月13日
    浏览(32)
  • 【数据结构】特殊矩阵的压缩存储(对称矩阵,三角矩阵和三对角矩阵)

    目录 1.对阵矩阵 2.三角矩阵 3.三对角矩阵(带状矩阵) 定义:若对一个n阶矩阵A中的任意一个元素 aᵢ,ⱼ 都有aᵢ,ⱼ=aⱼ,ᵢ (1≤i,j≤n),则称其为对称矩阵。 存储策略:只存储主对角线+下三角区(或主对角线+上三角区),以主对角线+下三角区为例,按照行优先把这些元

    2024年01月16日
    浏览(34)
  • 统计所有n阶方阵(n>0)中既满足自反性规则又满足对称性规则的方阵数量(注:矩阵元素值仅为0或1)

    题目描述 离散数学中,如果n阶方阵对角线元素均为1,称这种方阵满足自反性规则,如果方阵除去对角线元素外,其余元素均满足a ij =a ji (i,j分别为行、列数),称这种方阵满足对称性规则,现根据如上规则,统计所有n阶方阵(n0)中既满足自反性规则又满足对称性规则的

    2024年02月07日
    浏览(32)
  • 相似对角化的性质,实对称矩阵和相似对角化的联系。(简单梳理)

    不同特征值的特征向量一定正交 。 实对称矩阵一定可以相似对角化,并且 可以利用正交矩阵将其相似对角化 。 两实对称矩阵相似充要条件是两个矩阵有相同的特征值。 n阶矩阵n个不同的特征值一定可以相似对角化(不同特征值对应的特征向量线性无关) 。 实对称矩阵一定

    2024年02月12日
    浏览(38)
  • 数据结构-拓展突破-特殊矩阵(对称矩阵,三角矩阵,三对角矩阵,稀疏矩阵)的压缩存储)

    对称矩阵的定义: 若n阶方阵中任意一个元素a,都有a(i,j)=a(j,i)则该矩阵为对称矩阵 也就是说对称矩阵的元素关于对角线对称。对角线上半部分称为上三角区,下半部分称为下三角区。 对称矩阵的压缩存储策略:只存储主对角线+下三角区(或主对角线+上三角区) 可以定义一维数

    2023年04月08日
    浏览(49)
  • 给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。

    给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。 输入格式: 输入第一行给出正整数n(1n≤10);随后n行,每行给出n个整数,其间以空格分隔。 输出格式: 在一行中给出该矩阵除副

    2024年02月05日
    浏览(43)
  • 对称矩阵的三对角分解(Lanzos分解算法)-MINRES算法预热

    这篇博客看完以后接着看下一篇博客添加链接描述专门介绍MINRES算法实现就容易了 首先介绍Lanczos分解,Lanzos把对称矩阵转换为一个三对角对称矩阵。考虑三对角对称矩阵如下,考虑正交分解 T = Q T A Q T = Q^T A Q T = Q T A Q T = ( α 1 β 1 0 ⋯ 0 0 β 1 α 2 β 2 0 ⋯ 0 0 β 2 α 3 β 3 ⋯ 0

    2024年02月03日
    浏览(192)
  • 龙讯旷腾作为首批单位入驻北京昇腾人工智能计算中心

    2023中关村论坛系列活动—北京人工智能产业创新发展大会圆满落幕,围绕北京AI产业发展,政产学研用各界大咖汇聚京城,中国科协副主席束为、北京市副市长于英杰、中国工程院院士廖湘科出席大会。会上,北京市门头沟区政府联合中关村发展集团、华为公司,全力打造北

    2024年02月06日
    浏览(33)
  • LVGL学习笔记11 - 按钮矩阵Button Matrix

    目录 1. 构造矩阵 2. Parts 2.1 LV_PART_MAIN 2.2 LV_PART_ITEMS 3. 样式 3.1 按钮大小 3.2 间距 3.3 控制按钮 3.4 控制map  3.5 Check唯一性  4. 事件 4.1 LV_EVENT_VALUE_CHANGED 4.2 LV_EVENT_LONG_PRESSED 4.3 LV_EVENT_DRAW_PART_BEGIN 按钮矩阵是多个按钮的组合,例如直接绘制一个九宫格按键。按钮矩阵的按钮是实

    2023年04月09日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包