线性代数|机器学习-P31完成一个秩为1的矩阵

2024-08-31 13:04

本文主要是介绍线性代数|机器学习-P31完成一个秩为1的矩阵,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 大纲
  • 2. 填充秩1矩阵
    • 2.1 举例
    • 2.2 二分图
  • 3. 循环卷积矩阵

1. 大纲

  • 给定一个秩为1的矩阵A,m行,n列,如果在矩阵A中给定m+n-1 个非零的值,请问如何填充这个矩阵A,使得矩阵A 填满?
  • 卷积和循环卷积矩阵,通过信号与系统中的卷积方式处理相关数据,求循环卷积矩阵的特征值和特征向量?

2. 填充秩1矩阵

2.1 举例

假设我们有一个矩阵A,我们定义其秩为1,,3行3列,具体组成如下:
A = [ 3 4 5 6 a 22 a 23 9 a 32 a 33 ] ; R a n k ( A ) = 1 \begin{equation} A=\begin{bmatrix} 3&4&5\\\\ 6&a_{22}&a_{23}\\\\ 9&a_{32}&a_{33} \end{bmatrix};\mathrm{Rank(A)=1} \end{equation} A= 3694a22a325a23a33 ;Rank(A)=1

  • 因为我们知道矩阵A的秩为1,那么我们可以通过比例计算出其他值,具体如下:
    a 22 = 6 ⋅ 4 3 = 8 ; a 23 = 6 ⋅ 5 3 = 10 ; a 32 = 9 ⋅ 4 3 = 12 ; a 33 = 9 ⋅ 5 3 = 15 ; \begin{equation} a_{22}=\frac{6\cdot4}{3}=8;a_{23}=\frac{6\cdot5}{3}=10;a_{32}=\frac{9\cdot4}{3}=12;a_{33}=\frac{9\cdot5}{3}=15; \end{equation} a22=364=8;a23=365=10;a32=394=12;a33=395=15;

2.2 二分图

我们根据给定的矩阵A,来绘制对应的二分图,二分图中没有形成闭环,所以可以填满矩阵A的值
,给定的非零值,任意四个组成的行列式为非零行列式
在这里插入图片描述

3. 循环卷积矩阵

循环卷积矩阵C,每一列元素一样,但是第i列通过移位得到第i+1列
C = [ 2 5 1 0 0 2 5 1 1 0 2 5 5 1 0 2 ] \begin{equation} C=\begin{bmatrix} 2&5&1&0\\\\ 0&2&5&1\\\\ 1&0&2&5\\\\ 5&1&0&2 \end{bmatrix} \end{equation} C= 2015520115200152

  • 循环矩阵P表示如下:
    P = [ 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 ] ; X a = [ x 1 x 2 x 3 x 4 ] ; [ 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 ] [ x 1 x 2 x 3 x 4 ] = [ x 2 x 3 x 4 x 1 ] \begin{equation} P=\begin{bmatrix} 0&1&0&0\\\\ 0&0&1&0\\\\ 0&0&0&1\\\\ 1&0&0&0 \end{bmatrix};X_a=\begin{bmatrix} x_1\\\\ x_2\\\\ x_3\\\\ x_4 \end{bmatrix};\begin{bmatrix} 0&1&0&0\\\\ 0&0&1&0\\\\ 0&0&0&1\\\\ 1&0&0&0 \end{bmatrix}\begin{bmatrix} x_1\\\\ x_2\\\\ x_3\\\\ x_4 \end{bmatrix}=\begin{bmatrix} x_2\\\\ x_3\\\\ x_4\\\\ x_1 \end{bmatrix} \end{equation} P= 0001100001000010 ;Xa= x1x2x3x4 ; 0001100001000010 x1x2x3x4 = x2x3x4x1
  • 我们发现,通过循环矩阵P可以将向量X中的元素进行元素循环。
    P = [ 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 ] ; P 2 = [ 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 ] ; P 3 = [ 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 ] ; P 4 = [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ] = I ; \begin{equation} P=\begin{bmatrix} 0&1&0&0\\\\ 0&0&1&0\\\\ 0&0&0&1\\\\ 1&0&0&0 \end{bmatrix};P^2=\begin{bmatrix} 0&0&1&0\\\\ 0&0&0&1\\\\ 1&0&0&0\\\\ 0&1&0&0 \end{bmatrix};P^3=\begin{bmatrix} 0&0&0&1\\\\ 1&0&0&0\\\\ 0&1&0&0\\\\ 0&0&1&0 \end{bmatrix};P^4=\begin{bmatrix} 1&0&0&0\\\\ 0&1&0&0\\\\ 0&0&1&0\\\\ 0&0&0&1 \end{bmatrix}=I; \end{equation} P= 0001100001000010 ;P2= 0010000110000100 ;P3= 0100001000011000 ;P4= 1000010000100001 =I;
  • 那么对于任意一个循环卷积矩阵来说,可以表示如下:
    在这里插入图片描述
  • 矩阵P的特征向量就是矩阵C的特征向量
  • 矩阵P的特征值,特征向量
    P = [ 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 ] ; [ 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 ] [ 1 1 1 1 ] = [ 1 1 1 1 ] ⇒ λ 1 = 1 , v 1 = [ 1 1 1 1 ] ; \begin{equation} P=\begin{bmatrix} 0&1&0&0\\\\ 0&0&1&0\\\\ 0&0&0&1\\\\ 1&0&0&0 \end{bmatrix};\begin{bmatrix} 0&1&0&0\\\\ 0&0&1&0\\\\ 0&0&0&1\\\\ 1&0&0&0 \end{bmatrix}\begin{bmatrix} 1\\\\1\\\\1\\\\1\end{bmatrix}=\begin{bmatrix} 1\\\\1\\\\1\\\\1\end{bmatrix}\Rightarrow \lambda_1=1,v_1=\begin{bmatrix} 1\\\\1\\\\1\\\\1\end{bmatrix};\end{equation} P= 0001100001000010 ; 0001100001000010 1111 = 1111 λ1=1,v1= 1111 ;

[ 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 ] [ 1 − 1 1 − 1 ] = − 1 ⋅ [ 1 − 1 1 − 1 ] ⇒ λ 2 = − 1 , v 2 = [ 1 − 1 1 − 1 ] ; \begin{equation} \begin{bmatrix} 0&1&0&0\\\\ 0&0&1&0\\\\ 0&0&0&1\\\\ 1&0&0&0 \end{bmatrix}\begin{bmatrix} 1\\\\-1\\\\1\\\\-1\end{bmatrix}=-1\cdot\begin{bmatrix} 1\\\\-1\\\\1\\\\-1\end{bmatrix}\Rightarrow \lambda_2=-1,v_2=\begin{bmatrix} 1\\\\-1\\\\1\\\\-1\end{bmatrix};\end{equation} 0001100001000010 1111 =1 1111 λ2=1,v2= 1111 ;

这篇关于线性代数|机器学习-P31完成一个秩为1的矩阵的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1123984

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

C/C++中OpenCV 矩阵运算的实现

《C/C++中OpenCV矩阵运算的实现》本文主要介绍了C/C++中OpenCV矩阵运算的实现,包括基本算术运算(标量与矩阵)、矩阵乘法、转置、逆矩阵、行列式、迹、范数等操作,感兴趣的可以了解一下... 目录矩阵的创建与初始化创建矩阵访问矩阵元素基本的算术运算 ➕➖✖️➗矩阵与标量运算矩阵与矩阵运算 (逐元

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav