一种矩阵分解和下三角矩阵求逆的实现方法技术

技术编号:34798790 阅读:32 留言:0更新日期:2022-09-03 20:04
本申请适用于数据处理技术领域,提供了一种矩阵分解和下三角矩阵求逆的实现方法。本申请实施例中获取待求矩阵的矩阵维度;当矩阵维度大于预设的寄存器组的寄存器数量时,根据寄存器数量对待求矩阵进行分块,得到多个分块矩阵;根据各个分块矩阵对应的分解算法在寄存器组中对各个分块矩阵的矩阵数据进行数据处理,并通过预设的二维脉动阵列依次对数据处理后的各个分块矩阵的矩阵数据进行矩阵计算,确定各个分块矩阵对应的目标矩阵;分块矩阵对应的分解算法根据分块矩阵的相对位置确定;对多个目标矩阵进行结果分离,确定待求矩阵对应的上三角矩阵和下三角矩阵,从而提高了矩阵进行分解计算时的吞吐量。解计算时的吞吐量。解计算时的吞吐量。

【技术实现步骤摘要】
一种矩阵分解和下三角矩阵求逆的实现方法


[0001]本申请属于数据处理
,尤其涉及一种矩阵分解和下三角矩阵求逆的实现方法。

技术介绍

[0002]随着社会的发展,现代信息处理越来越受到人们的重视,矩阵运算是现代信息处理的重要组成部分,例如在实时控制、卡尔曼滤波、雷达信号处理等领域通常会用到矩阵分解计算,而现有的通过单个浮点对矩阵进行分解计算,会导致运算吞吐量较低。

技术实现思路

[0003]本申请实施例提供了一种矩阵分解的实现方法、装置、终端设备及存储介质,可以解决矩阵进行分解计算时吞吐量较低的问题。
[0004]第一方面,本申请实施例提供了一种矩阵分解的实现方法,包括:
[0005]获取待求矩阵的矩阵维度;
[0006]当矩阵维度大于预设的寄存器组的寄存器数量时,根据寄存器数量对待求矩阵进行分块,得到多个分块矩阵;
[0007]根据各个分块矩阵对应的分解算法在寄存器组中对各个分块矩阵的矩阵数据进行数据处理,并通过预设的二维脉动阵列依次对数据处理后的各个分块矩阵的矩阵数据进行矩阵计算,确定各个分块矩阵对应的目标矩阵;分块矩阵对应的分解算法根据分块矩阵的相对位置确定;
[0008]对多个目标矩阵进行结果分离,确定待求矩阵对应的上三角矩阵和下三角矩阵。
[0009]第二方面,本申请实施例提供了一种下三角矩阵求逆的实现方法,包括:
[0010]获取待求解的下三角矩阵的下三角矩阵维度;
[0011]当下三角矩阵维度大于预设的寄存器组的寄存器数量时,根据寄存器数量沿下三角矩阵的主对角线方向对下三角矩阵进行分块,得到多个下三角分块矩阵;
[0012]根据各个下三角分块矩阵对应的求逆算法在寄存器组中对各个下三角分块矩阵的矩阵数据进行数据处理,并通过预设的二维脉动阵列对数据处理后的各个下三角分块矩阵的矩阵数据进行矩阵计算,确定各个下三角分块矩阵对应的下三角目标矩阵;下三角分块矩阵对应的求逆算法根据下三角分块矩阵的相对位置确定;
[0013]根据多个下三角目标矩阵确定下三角矩阵的求逆结果。
[0014]第三方面,本申请实施例提供了一种矩阵分解的实现装置,包括:
[0015]维度获取模块,用于获取待求矩阵的矩阵维度;
[0016]矩阵分块模块,用于当矩阵维度大于预设的寄存器组的寄存器数量时,根据寄存器数量对待求矩阵进行分块,得到多个分块矩阵;
[0017]矩阵计算模块,用于根据各个分块矩阵对应的分解算法在寄存器组中对各个分块矩阵的矩阵数据进行数据处理,并通过预设的二维脉动阵列依次对数据处理后的各个分块
矩阵的矩阵数据进行矩阵计算,确定各个分块矩阵对应的目标矩阵;分块矩阵对应的分解算法根据分块矩阵的相对位置确定;
[0018]结果分离模块,用于对多个目标矩阵进行结果分离,确定待求矩阵对应的上三角矩阵和下三角矩阵。
[0019]第四方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述任一种矩阵分解的实现方法或上述任一种下三角矩阵求逆的实现方法的步骤。
[0020]第五方面,本申请实施例提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述的计算机程序被处理器执行时实现上述任一种矩阵分解的实现方法或上述任一种下三角矩阵求逆的实现方法的步骤。
[0021]第六方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一种矩阵分解的实现方法或上述第二方面中任一种下三角矩阵求逆的实现方法。
[0022]本申请实施例中获取待求矩阵的矩阵维度,当矩阵维度大于预设的寄存器组的寄存器数量时,根据寄存器数量对待求矩阵进行分块,得到多个分块矩阵,以便于分别对分块矩阵进行处理,提高待求矩阵的处理速度,具体根据各个分块矩阵对应的分解算法在所述寄存器组中对各个分块矩阵的矩阵数据进行数据处理,并通过预设的二维脉动阵列依次对数据处理后的各个分块矩阵的矩阵数据进行矩阵计算,确定各个分块矩阵对应的目标矩阵,该分块矩阵对应的分解算法根据分块矩阵的相对位置确定,最后对多个目标矩阵进行结果分离,以根据多个目标矩阵的分离结果确定待求矩阵对应的上三角矩阵和下三角矩阵,从而在待求矩阵进行分解计算时通过二维脉动阵列进行处理来提高矩阵进行分解计算时的吞吐量。
附图说明
[0023]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]图1是本申请实施例提供的矩阵分解的实现方法的流程示意图;
[0025]图2是本申请实施例提供的数据处理系统的结构示意图;
[0026]图3是本申请实施例提供的原位复制处理示意图;
[0027]图4是本申请实施例提供的纵向扩散映射处理示意图;
[0028]图5是本申请实施例提供的水平扩散映射处理示意图;
[0029]图6是本申请实施例提供的跨组单向原位映射处理示意图;
[0030]图7是本申请实施例提供的对角线归一化处理示意图;
[0031]图8是本申请实施例提供的下三角矩阵求逆的实现方法的流程示意图;
[0032]图9是本申请实施例提供的组内水平扩散处理示意图;
[0033]图10是本申请实施例提供的下三角取反处理示意图;
[0034]图11是本申请实施例提供的不含主对角线的下三角取反处理示意图;
[0035]图12是本申请实施例提供的矩阵分解的实现装置的结构示意图;
[0036]图13是本申请实施例提供的终端设备的结构示意图。
具体实施方式
[0037]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0038]应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0039]另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0040]实施例一
[0041]图1所示为本申请实施例中一种矩阵分解的实现方法的流程示意图,该方法的执行主体可以是终端设备,如图1所示,上述矩阵分解的实现方法可以包括如下步骤:...

【技术保护点】

【技术特征摘要】
1.一种矩阵分解的实现方法,其特征在于,包括:获取待求矩阵的矩阵维度;当所述矩阵维度大于预设的寄存器组的寄存器数量时,根据所述寄存器数量对所述待求矩阵进行分块,得到多个分块矩阵;根据各个所述分块矩阵对应的分解算法在所述寄存器组中对各个所述分块矩阵的矩阵数据进行数据处理,并通过预设的二维脉动阵列依次对数据处理后的各个所述分块矩阵的矩阵数据进行矩阵计算,确定各个所述分块矩阵对应的目标矩阵;所述分块矩阵对应的分解算法根据所述分块矩阵的相对位置确定;对多个所述目标矩阵进行结果分离,确定所述待求矩阵对应的上三角矩阵和下三角矩阵。2.如权利要求1所述的矩阵分解的实现方法,其特征在于,所述寄存器组包括第一处理寄存器组、第二处理寄存器组、结果寄存器组和缓存寄存器组,所述结果寄存器组和所述缓存寄存器组连接,所述根据各个所述分块矩阵对应的分解算法在所述寄存器组中对各个所述分块矩阵的矩阵数据进行数据处理,包括:向所述缓存寄存器组中输入所述分块矩阵的矩阵数据;根据所述分解算法从原位复制处理、纵向扩散映射处理、水平扩散映射处理和跨组单向原位映射处理中确定至少一种处理方式;根据所述处理方式在所述缓存寄存器组中对所述分块矩阵的矩阵数据进行数据处理,并将数据处理后的所述分块矩阵的矩阵数据输入所述处理方式对应的寄存器组,所述处理方式对应的寄存器组包括所述第一处理寄存器组、所述第二处理寄存器组和所述结果寄存器组中的至少一个。3.如权利要求2所述的矩阵分解的实现方法,其特征在于,所述通过预设的二维脉动阵列依次对数据处理后的各个所述分块矩阵的矩阵数据进行矩阵计算,包括:确定所述纵向扩散映射处理对应的主对角线上的目标寄存器位置;根据所述目标寄存器位置确定所述二维脉动阵列的使能信号;根据所述使能信号控制所述二维脉动阵列对所述第一处理寄存器组和所述第二处理寄存器组进行矩阵计算,并将计算结果输入至所述结果寄存器组;相应地,所述确定各个所述分块矩阵对应的目标矩阵,包括:根据所述结果寄存器组中的矩阵数据确定所述分块矩阵对应的目标矩阵。4.如权利要求1所述的矩阵分解的实现方法,其特征在于,所述对多个所述目标矩阵进行结果分离,确定所述待求矩阵对应的上三角矩阵和下三角矩阵,包括:向所述寄存器组中输入所述目标矩阵的矩阵数据;对所述寄存器组中的目标矩阵的矩阵数据进行原位复制处理、对角线归一化处理、跨组单向原位映射处理,得到处理后的目标矩阵的矩阵数据;通过所述二维脉动阵列对所述处理后的目标矩阵的矩阵数据进行矩阵计算,根据计算结果确定所述目标矩阵对应的上三角矩阵和下三角矩阵。5.如权利要求1所述的矩阵分解的实现方法,其特征在于,所述通过预设的二维脉动阵列依次对数据处理后的各个所述分块矩阵的矩阵数据进行矩阵计算,包括:若所述分块矩阵的左方和/或上方存在相...

【专利技术属性】
技术研发人员:李皇孙长江王文青
申请(专利权)人:深圳市国微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1