机械荟萃山庄

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 218|回复: 2

稀疏矩阵求解很重要

[复制链接]

48

主题

246

帖子

6409

积分

论坛元老

Rank: 8Rank: 8

积分
6409
发表于 昨天 15:52 | 显示全部楼层 |阅读模式
现实中的各种问题,都是用偏微分方程建模的。比如机械零件,建筑桥梁的变形和应力分布。空调出风,天气预测,飞行器的流体力学分析,电机电磁场的分布。用偏微分方程建模以后,往往是无法求解出解析解的,大部分偏微分方程都是无解的。



所以就用有限元,有限体积法,变分法等算法把连续的问题分解成一段一段的。分成N个网格,所有网格之间用节点连接,求解出节点上的状态,然后平均化到个网格内部。当你用网格对一片连续的区域划分的时候,你是在假设一个网格点附近的物理量是变化不大的,并且其变化主要是受最近的网格影响。


在离散化后建立的线性方程组 Ax=b中,矩阵 A的每一行对应一个网格点上的方程。该行的非零元素位置,编码了这个点与哪些邻近点有直接“交流”。就好比一个巨大的电话网络,每个电话只和有限的几个邻居直接相连,而非与网络中所有人直接通话。


这就导致组成的节点矩阵是一个稀疏矩阵。也就是大部分元素都是0。实际计算机计算和储存的时候,大部分时间都是在求解稀疏矩阵。


人工智能,图像处理,CAE有限元分析,都是求解稀疏矩阵。英伟达5万亿美元的市值,就是因为他们发明了CUDA技术的GPU,可以快速求解稀疏矩阵。所以人工智能都用英伟达的H100显卡。

评分

参与人数 2威望 +6 收起 理由
747282747 + 3
专科生MAX + 3 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

5万

帖子

28万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
288427
发表于 昨天 16:21 | 显示全部楼层
你学进去许多东西,
回复 支持 反对

使用道具 举报

2万

主题

2万

帖子

19万

积分

超级版主

Rank: 8Rank: 8

积分
196786
发表于 昨天 16:39 | 显示全部楼层
强行造稀疏的 3 个致命问题:
如果原始数据本身是稠密的(比如一张每个像素都不同的高清照片、一个所有变量都强相关的统计模型),硬把大部分元素改成 0,相当于直接丢弃核心数据,后续计算(如图像识别、模型预测)会完全失效。
很多场景的矩阵元素有明确物理 / 业务含义(比如距离矩阵中 “两点距离”、协方差矩阵中 “变量相关性”),这些值是客观存在的,不能随意置 0。比如用稠密的协方差矩阵做金融风险评估,硬改成稀疏会导致风险计算错误。
如果数据本身稠密,强行按稀疏矩阵存储(只存非零元素),反而会增加存储开销(需要额外记录非零元素的坐标),且计算时要频繁判断 “是否为 0”,比直接用稠密矩阵运算更慢。

稀疏矩阵的构建,本质是 “顺应数据 / 问题的天然属性”。
比如有限元模拟矩阵(每个网格只和相邻网格有相互作用,非相邻网格的元素都是 0),文档 - 词语 TF-IDF 矩阵(多数词语在多数文档中不出现,自然是 0),用户 - 商品评分矩阵(多数用户没评价过多数商品,自然全是 0)。

如果原始数据是稠密的,但存在 “冗余信息”(小值、无关特征),可以通过无信息损失 / 低损失的方法,将其转化为稀疏矩阵(不是硬塞 0,而是剔除无用信息)。
计算中,将远小于阈值的微小元素(比如 1e-10)视为 0(这些小值对结果影响可忽略,属于数值噪声)。
大数据场景中,对稠密矩阵进行 “核心采样”(只保留关键行 / 列,比如用户行为矩阵中只保留高活跃用户和高销量商品),转化为稀疏矩阵(非核心部分视为 “无意义空白”,而非强行置 0)。
电路设计中的 “稀疏布线”(让元件间的连接只集中在必要路径,避免全连接,对应的阻抗矩阵变稀疏)。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|机械荟萃山庄 ( 辽ICP备16011317号-1 )

GMT+8, 2025-11-7 00:56 , Processed in 0.084078 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表