61、矩形矩阵的原地转置算法研究

矩形矩阵的原地转置算法研究

1. 引言

在矩阵运算中,矩阵转置是一个常见的操作。对于一个 $m$ 行 $n$ 列的矩形矩阵 $A$,其转置矩阵 $A^T$ 是一个 $n$ 行 $m$ 列的矩阵。目前,在稠密线性代数库中,当 $m \neq n$ 时,往往缺乏高效的原地转置算法。

这里介绍一种新的算法,它在原地转置矩形矩阵时所需的额外存储空间很少甚至不需要。该算法的最坏情况复杂度为 $O(N \log N)$,其中 $N = mn$。当使用大小为 IWORK 字的位向量时,能进一步提高效率;当 IWORK = 0 时,不使用额外存储;当 IWORK = m*n/ws ($ws$ 为字大小)时,算法复杂度为 $O(N)$。

该算法基于对长度为 $q = mn - 1$ 的置换 $P$ 的循环跟踪。置换 $P$ 由 Fortran 和 C 语言的标准存储布局所诱导的 $A$ 到 $A^T$ 的映射定义。通过位向量可以标记 $P$ 的哪些循环已被访问,从而轻松确定每个新循环的起始点。

2. 基本原地转置算法 IPT

以下是基本原地转置算法 IPT 的代码:

ALGORITHM IPT (m,n,A)
DO cnt = 1, mn-2
    k = P(cnt)
    DO WHILE (k > cnt)
        k = P(k)
    END DO
    IF (k = cnt) then
        Transpose that part
   

相关推荐

给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。

试题描述 给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。 输入格式 输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。第6行包含两个整数m、n,以一个空格分开。(1 输出格式 输出交换之后的矩阵,矩阵的每一行元素占一行,元素之间以一个空格分开。 样例输入 1 2 2 1 2 5 6 7

wwt的博客 2万+

01:矩阵交换行

原题链接 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个5*5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。 输入输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。 第6行包含两个整数m、n,以一个空格分开。(1 输出输出交换之后的矩阵,矩阵的每

www.imayuan.com 5173

Matlab:矩阵分解

Matlab:矩阵分解

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1498

22、FPGA 中的高级算法:矩形变换与数论变换

本文探讨了在FPGA中实现高级算法,特别是数论变换(NTT)和矩形变换在信号和图像处理中的应用。详细分析了NTT的数学基础、梅森素数和费马素数在模运算中的作用,以及如何利用NTT高效实现卷积和DFT计算。同时,文章比较了不同矩形变换方法的复杂度和适用场景,并展示了FPGA在实现这些算法中的优势,包括并行计算能力和低功耗特性。最后,文章展望了这些算法在未来的发展趋势和潜在应用领域。

jj890的博客 104

Oracle EBS R12.2 安装 -- Step by Step

Oracle EBS R12.2 安装 -- Step by Step

Albert Tan DBA之路 1512

Auto.js凉了之后,我们该用啥?AutoX.js保姆级环境搭建与第一个脚本实战(2024最新)

本文详细介绍了AutoX.js作为Auto.js替代方案的环境搭建与脚本开发实战指南。从技术生态现状分析到2024最新环境配置,再到编写第一个实用脚本和进阶调试技巧,帮助开发者无缝迁移至AutoX.js平台。特别适合需要手机自动化的JavaScript开发者,涵盖从基础到企业级应用的全套解决方案。

weixin_28737073的博客 389

基于Python的信用卡欺诈检测机器学习案例报告

当今时代,在线支付已成为一种高效便捷的支付方式,我们可以突破时间和空间的限制,输入我们的信用卡各项信息就可以完成在线支付。但随之而来的是这种支付方式也具备一定的风险性,我们无法辨别对方是否是恶意套取我们资金的非法分子。当信用卡信息数据泄露导致金钱失窃并最终失去客户忠诚度和公司声誉时,组织、消费者、银行和商家都会面临风险。2017 年,未经授权的信用卡操作达到了惊人的 1670 万受害者。此外,据美国联邦贸易委员会 (FTC) 报告,2017 年信用卡欺诈索赔数量比上一年高出 40%。

weixin_45673389的博客 6692

java三角套利_三角对冲套利-EA原理全解析

它是两个直盘货币和一个交叉盘货币之间的相互对冲,交易员往往受到外界因素的影响无法严格执行造成亏损。该系统经过大量数据统计分析和严格的科学论证计算,并通过多年实盘交易验证可以达到稳定盈利。希望交易员严格按照交易规则执行。此策略利用交叉外汇对的市场价格与其合成价格的价差来实现套利,还以EUR/USD和GBP为例:1,我们关注三个外汇对:EUR/USD,GBP/USD,以及GBP/EUR2,计算GBP/...

weixin_29531897的博客 2418

Pulseaudio之同步/异步(十一)

PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。 PulseAudio的主要特点包括: 可对每一个应用程序进行音量控制Per-application volume controls 可扩展的插件与支持可装载模块架构 兼容性许多流行的音频应用程序 支持多重音源和多重输出 低延时操作和支持延迟测量 一个对处理器资源效率零拷贝内存架构 能够发现本地网络上使用PulseAu

Android系统攻城狮 996

YOLO11改进 | 注意力机制 | 添加SimAM注意力机制【全网独家+附完整代码】

yolo11,yolo11改进,yolo11创新,yolo11添加注意力机制

kay_545 1229

基于STM32、HAL库的W25Q01JVZEIQ TR FLASH存储器驱动应用程序设计

1Gb (128MB),分为512个可擦除块(block),每个块256KB。:块擦除约30-50ms,芯片擦除约30s。:标准SPI (支持1/2/4线模式)// 初始化CS引脚为高电平。// 擦除扇区(4KB)// 初始化Flash。/* 状态寄存器位 *//* 指令定义 *//* 超时定义 *//* 函数声明 */

corlin6688的博客 267

微信对话开放平台智能对话模块的几个亮点

微信AI首席科学家牛成公布了最新开放方案,并重磅宣布全面开放各层次 NLP 能力。具体说来,微信 AI 迈出了“三大步”: 以硬件合作为核心的智言小微硬件开放平台 2.0 正式亮相; 公开以对话开放能力为核心的微信对话开放平台; 全面开放以自然语言处理能力为核心的 NLP 基础技术平台。 参考:微信9年:张小龙指明方向,微信AI全面开放NLP能力 今天公开课上隆重介绍了...

素质云笔记 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: 30、人口统计变量对有组织零售客户满意度的交互影响研究
下一篇: 48、比特币矿池攻击与防御:simuBits系统的研究洞察
寂静夜空35
博客等级 码龄3年 59粉丝 1797原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值