上三角矩阵的压缩存储

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

      我们称有许多值相同的元素或许多零元素,并且值相同的元素或零元素的分布有一定规律的矩阵为特殊矩阵。当矩阵的阶数比较大时,矩阵占据的内存空间相当多,这时,利用特殊矩阵元素的分布规律压缩矩阵的内存空间,对许多应用问题来说有重要的意义。特殊矩阵压缩存储的方法是,只存储特殊矩阵中数值不相同的元素。读取被压缩矩阵元素的方法是,利用特殊矩阵压缩存储的数学映射公式找到相应的矩阵元素。上三角矩阵就属于特殊矩阵。

(1)设矩阵A、矩阵B和矩阵C均为采用压缩存储方式的n阶上三角矩阵,矩阵元素均为int类型。

(2)编写实现矩阵加C=A+B的函数。

(3)编写矩阵元素显示函数。

(4)以下面的数据为测试例子,编写一个主函数进行测试。

      1 2 3                10 20 30

A=0 4 5          B=  0  40 50

      0 0 6                  0  0  60

注意:数学中,矩阵元素aij的下标满足条件:1<=i<=n,1<=j<=n.如果下标从0开始,那映射公式不同。

​
void add(int a[], int b[], int c[],int n)
{//n阶上三角矩阵加法
	int i;
	for (i = 0; i < n * (n + 1) / 2 ; i++)
	{
		c[i] = a[i] + b[i];
	}
}
void print(int c[], int n)
{//n阶上三角矩阵按矩阵方式输出,其中矩阵采用压缩存储方式
	int i, j, k;
	c[n * (n + 1) / 2] = 0;
	for (i = 1; i <= n; i++)
	{
		for (j = 1; j <= n; j++)
		{
			if (i <= j)
				k = (i - 1) * (2 * n - i + 2)/2 + (j - i);
			else {
				
				k = n * (n + 1) / 2;
			}
			printf("%3d ", c[k]);
		}
		printf("\n");
	}
}
void main()
{
	int a[] = { 1,2,3,4,5,6 }, b[] = { 10,20,30,40,50,60 }, c[7];
	int n = 3;
	add(a, b, c, n);
	print(c, n);
}

​

运行结果: 

11  22  33
  0  44  55
  0   0  66
 文章来源地址https://www.toymoban.com/news/detail-737002.html

到了这里,关于上三角矩阵的压缩存储的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 线性代数本质系列(一)向量,线性组合,线性相关,矩阵

    本系列文章将从下面不同角度解析线性代数的本质,本文是本系列第一篇 向量究竟是什么? 向量的线性组合,基与线性相关 矩阵与线性相关 矩阵乘法与线性变换 三维空间中的线性变换 行列式 逆矩阵,列空间,秩与零空间 克莱姆法则 非方阵 点积与对偶性 叉积 以线性变换

    2024年02月04日
    浏览(43)
  • 线性代数:线性方程求解、矩阵的逆、线性组合、线性独立

    本文参考www.deeplearningbook.org一书第二章2.3 Identity and Inverse Matrices 2.4 Linear Dependence and Span 本文围绕 线性方程求解 依次介绍矩阵的逆、线性组合、线性独立等线性代数的基础知识点。 本文主要围绕求解线性方程展开,我们先把线性方程写出来,方程如下: 其中,是已知的;,

    2024年02月08日
    浏览(38)
  • 0203逆矩阵-矩阵及其运算-线性代数

    定义7 对于 n n n 阶矩阵A,如果有一个 n n n 阶矩阵B,使 A B = B A = E AB=BA=E A B = B A = E 则说矩阵A是可逆的,并把矩阵B称为A的逆矩阵,简称逆阵。 定理1 若矩阵A可逆,则 ∣ A ∣ ≠ 0 vert Avert not = 0 ∣ A ∣  = 0 证明: A 可逆,即有 A − 1 ,使得 A A − 1 = E ∣ A A − 1 ∣ = ∣ A

    2024年04月13日
    浏览(47)
  • 线性代数——求逆矩阵

    利用计算技巧凑出公式:两边加E、提取公因式、没有公因式可提时利用隐形的E=AA^(-1),因为E可看作系数1 主对角线有矩阵(副对角线是0矩阵),则分别逆后放在原位置 副对角线有矩阵(主对角线是0矩阵),则分别逆后互换位置

    2024年02月11日
    浏览(38)
  • 线性代数——矩阵

    学习高等数学和线性代数需要的初等数学知识 线性代数——行列式 线性代数——矩阵 线性代数——向量 线性代数——线性方程组 线性代数——特征值和特征向量 线性代数——二次型 本文大部分内容皆来自李永乐老师考研教材和视频课。 从矩阵的转置章节到方阵和行列式

    2023年04月08日
    浏览(210)
  • 线性代数3:矩阵

    目录 矩阵研究的是什么呢? 逆阵 什么叫做逆阵?  例题1:  例题2:  逆阵的存在性 定理1: 定理2: 定理3: 定理4: 拉普拉茨方程 方阵可以的条件  例题3:  Note1: 例题4  Note2:  Note3: Note4:  Note5:  Note6: Note7:  例题5:  逆矩阵的求法: 方法1:伴随矩阵法:  方

    2024年02月13日
    浏览(43)
  • 线性代数(七) 矩阵分析

    从性线变换我们得出,矩阵和函数是密不可分的。如何用函数的思维来分析矩阵。 通过这个定义我们就定义了矩阵序列的 收敛性 。 研究矩阵序列收敛性的常用方法,是用《常见向量范数和矩阵范数》来研究矩阵序列的极限。 长度是范数的一个特例。事实上,Frobenius范数对

    2024年02月08日
    浏览(40)
  • 线性代数-矩阵的本质

    线性代数-矩阵的本质

    2024年02月11日
    浏览(36)
  • 投影矩阵推导【线性代数】

    如果两个向量垂直,那么满足。但如果两个向量不垂直,我们就将 b 投影到 a 上,就得到了二者的距离,我们也称为向量 b 到直线 a 的误差。这样就有出现了垂直:                (1) 投影向量 p 在直线上,不妨假设  ,那么误差 。带入式(1)中得到: 投影矩阵:  

    2024年02月06日
    浏览(47)
  • 线性代数:矩阵的定义

    目录 一、定义 二、方阵 三、对角阵 四、单位阵 五、数量阵  六、行(列)矩阵  七、同型矩阵 八、矩阵相等 九、零矩阵 十、方阵的行列式

    2024年01月22日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包