前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何用matlab做高精度计算?【第三辑】(完)

如何用matlab做高精度计算?【第三辑】(完)

作者头像
巴山学长
发布于 2022-06-23 06:54:14
发布于 2022-06-23 06:54:14
1.7K00
代码可运行
举报
文章被收录于专栏:巴山学长巴山学长
运行总次数:0
代码可运行

高精度计算是一种程序设计的算法。由于中央处理器的字长限制,如32位CPU中一个整数最大只能取值4,294,967,295(=2^32-1),因此在超范围数值计算中,往往要采用模拟手段。通常使用分离字符的方法来处理数字数组。 维基百科【高精度计算】

辑中,给大家介绍了如何使用matlab自带工具箱以及大神John D'Errico开发的工具箱实现高精度计算。本辑作为用matlab做高精度计算的压轴辑,将给大家介绍一款效率远超前面两辑中所介绍的工具箱的高精度计算神器 —— Multiprecision Computing Toolbox for MATLAB (AdvanpixMCT)

正式开始之前先通过官方的测试对比表来看看AdvanpixMCT工具相较于自带VPA、Maple以及Mathematica效率:

(截自www.advanpix.com)

(截自www.advanpix.com)

从上面两张表不难看出,无论是矩阵计算还是常规计算,AdvanpixMCT都力压另外三者,计算效率可以说是远远超越matlab的VPA以及Maple,大幅领先Mathematica,我想这也是为什么AdvanpixMCT会成付费工具箱的原因。

AdvanpixMCT提供的计算支持涵盖如下领域:

  • 实数和复数、全矩阵和稀疏矩阵、多维数组
  • 初等和特殊数学函数
  • 线性方程组的求解器(包括直接和迭代稀疏求解器)
  • 矩阵分析函数和因式分解
  • 特征值和特征向量,包括广义和大规模问题。
  • 奇异值分解
  • 非线性方程组的求解器(使用Levenberg-Marquardt和其他信任区域方法进行fsolve)
  • 数值积分(包括自适应quadgk和全套高斯正交)
  • 优化和多项式
  • 常微分方程求解器
  • 数据分析和傅里叶变换
  • 数论函数

前两辑中关于如何定义和使用高精度计算工具箱已经讲得非常多了,AdvanpixMCT的使用跟它们并无太多差异。在安装好免费7天试用版后,可以通过以下代码块中示例代码进行测试。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>> mp.Digits(34);                   % Setup default precision to 34 decimal digits (quadruple).
>> format longG                     % Toolbox shows all digits in case of 'long' formats.
% Simple expressions evaluation in quadruple precision:
>> x = mp('pi/4')                          
x = 
    0.7853981633974483096156608458198757
 
>> y = mp('sqrt(2)/2')
y = 
    0.707106781186547524400844362104849
 
>> A = repmat(x,10,10);  % Create mp-matrix by scalar replication.
>> norm(y-cos(A))        % Calculations are done with 34 digits precision.
ans = 
    9.629649721936179265279889712924637e-35
 
% Assemble matrix row by row:
% (Butcher tableau for Gauss-Legendre method: https://goo.gl/izuFWg)
>> a1 = mp('[ 5/36              2/9-sqrt(15)/15   5/36-sqrt(15)/30 ]');
>> a2 = mp('[ 5/36+sqrt(15)/24  2/9               5/36-sqrt(15)/24 ]');
>> a3 = mp('[ 5/36+sqrt(15)/30  2/9+sqrt(15)/15   5/36             ]');
>> a = [a1;a2;a3];                  % Concatenate rows into final matrix 
 
% Create mp-matrices by conversion from double
>> A = mp(rand(5));
>> B = mp(eye(5));
>> [V,D] = eig(A,B);
>> norm(A*V - B*V*D,1)/(norm(A,1) * norm(B,1))
ans = 
    8.1433805952291741154581605524001229e-34
 
% Create sparse matrix with accumulation using triplets:
>> i = [6 6 6 5 10 10 9 9]';                      
>> j = [1 1 1 2 3 3 10 10]';
>> v = mp('[100 202 173 305 410 550 323 121]')';  % Prepare vector of nonzeros
>> S = sparse(i,j,v)                              % Form quadruple precision sparse matrix
S =
    (6,1)      475
    (5,2)      305
    (10,3)     960
    (9,10)     444

高精度计算真的有那么重要吗?在某些情况下,还非得使用高精度计算才好使,比如处理病态特征值问题,目前唯一可靠的办法就是通过扩展计算精度来的达到较准确的计算。下面通过AdvanpixMCT提供的案例一起来看看精度对处理病态特征值问题到底又多重要,这里选用特征值敏感的Grcar矩阵来作为演示。Grcar矩阵是只含有-1,0,1三种元素的特征矩阵,在matlab中可以通过调用galleray函数实现Grcar矩阵的生成,如8*8的Grcar矩阵:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gallery('grcar',8)
ans =
     1     1     1     1     0     0     0     0
    -1     1     1     1     1     0     0     0
     0    -1     1     1     1     1     0     0
     0     0    -1     1     1     1     1     0
     0     0     0    -1     1     1     1     1
     0     0     0     0    -1     1     1     1
     0     0     0     0     0    -1     1     1
     0     0     0     0     0     0    -1     1

理论表明,Grcar矩阵与其转置矩阵应该具有相同的特征值。下面就通过简单的代码来看看什么叫差之毫厘、谬以千里。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
% MATLAB浮点数精度
A = -gallery('grcar',150);
figure('Color','w');
plot(eig(A),'k.'), hold on, axis equal
plot(eig(A'),'ro')
 
% MATLAB VPA高精度计算(34位精度)
digits(34); 
A = vpa(-gallery('grcar',150));
eA = eig(A);
cA = eig(A');
figure('Color','w');
plot(eA,'k.'), hold on, axis equal
plot(cA,'ro')

(a) 浮点数计算结果

(b) VPA高精度计算结果

图(a)、(b)中,黑色点是150*150大小Grcar矩阵特征值图,红色是其转置矩阵特征值图。尽管Grcar矩阵的条件数cond(A) = cond(A') = 3.6106不高,但是使用双精度浮点数计算依然导致了极大的误差产生。

基本的介绍到此就接近尾声了,感兴趣的伙伴可以自己根据帮助文档研究更多应用场景。

AdvanpixMCT作为强大MATLAB高精度计算工具箱,其售价也不算便宜,学术单用户版售价249美元,而企业单用户版售价996美元。对于学生用户,可通过发送邮件获取专属的5折优惠。即便五折,换成人民币也是830多元左右。本来也是想入手的,但是想想还是有点舍不得,800元都可以买Endnote 20版的个人版授权了(PS:咱已入坑)。AdvanpixMCT采用的是VMProtect强加密方法以及一些特殊的文件关联方式,安装之后如超过7天试用期,即便卸载之后重新安装依然无法再次使用,除非重装系统。

不过咱也想到一种笨笨的办法,那就通过虚拟机快照的方式来实现。首先,在虚拟机中安装好MATLAB并关机,再者创建虚拟机快照,之后再开机,然后安装AdvanpixMCT,使用期结束后,使用快照将虚拟机系统还原,然后再次安装AdvanpixMCT,又可以试用7天,如此循环往复,直至千秋万代。温馨提示:AdvanpixMCT试用版目前是没有任何功能限制的,即全部功能都是能够试用

参考资料:www.advanpix.com

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 巴山学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
7B扩散LLM,居然能跟671B的DeepSeek V3掰手腕,扩散vs自回归,谁才是未来?
语言是离散的,所以适合用自回归模型来生成;而图像是连续的,所以适合用扩散模型来生成。在生成模型发展早期,这种刻板印象广泛存在于很多研究者的脑海中。
机器之心
2025/04/06
780
7B扩散LLM,居然能跟671B的DeepSeek V3掰手腕,扩散vs自回归,谁才是未来?
扩散语言模型扛把子LLaDA迎来新版本,数学、代码、对齐能力均提升
本文介绍的工作由中国人民大学高瓴人工智能学院李崇轩、文继荣教授团队与蚂蚁集团共同完成。朱峰琪、王榕甄、聂燊是中国人民大学高瓴人工智能学院的博士生,导师为李崇轩副教授。
机器之心
2025/06/08
790
扩散语言模型扛把子LLaDA迎来新版本,数学、代码、对齐能力均提升
浅谈宇宙最强开源大模型Llama3如何应用
北京时间4月19日凌晨,Meta公司通过其官方网站宣布了Llama系列的最新开源大模型:Llama-3。
AIGC新知
2024/10/08
4050
浅谈宇宙最强开源大模型Llama3如何应用
论文解读 Chinese-LLaMA-Alpaca 中文版大语言模型
https://github.com/ymcui/Chinese-LLaMA-Alpaca
唐国梁Tommy
2023/09/01
1.1K0
论文解读 Chinese-LLaMA-Alpaca 中文版大语言模型
在Windows电脑上快速运行AI大语言模型-Llama3
近期 Meta 发布了最新的 Llama3 模型,并开源了开源代码。Meta Llama 3 现已推出 8B 和 70B 预训练和指令调整版本,可支持广泛的应用程序。
东风微鸣
2024/04/23
1.8K0
在Windows电脑上快速运行AI大语言模型-Llama3
[AI Meta Llama-3] 最强开源大模型Llama 3发布!
今天,我们很高兴地宣布Meta Llama 3的第一批模型已经推出,可供广泛使用。此次发布的模型具有8B和70B参数的预训练和指导微调语言模型,可以支持广泛的用例。这一代Llama展示了在广泛的行业基准测试中的最先进性能,并提供了改进的推理等新功能。我们相信这些是同类中最优秀的开源模型。为了支持我们长期以来的开放式方法,我们将Llama 3交到了社区的手中。我们希望推动AI在整个技术栈上的下一波创新——从应用程序到开发者工具再到评估和推理优化等方面。我们迫不及待地想看到您的构建,并期待您的反馈。
从零开始学AI
2024/04/19
8580
[AI Meta Llama-3] 最强开源大模型Llama 3发布!
全球首个「开源GPT-4」出世!Llama 3震撼发布,Meta AI免登录可用
业内惊呼:首个开源GPT-4级的模型,终于来了!开源模型追上闭源模型的历史性一刻,或许就在眼前了?
新智元
2024/04/19
2270
全球首个「开源GPT-4」出世!Llama 3震撼发布,Meta AI免登录可用
llama3 发布!大语言模型新选择 | 开源日报 No.251
Llama-Chinese 是一个专注于中文 Llama 大模型的优化和应用的社区项目。该项目旨在持续优化 Llama 大模型在中文处理方面的性能和适应性,为用户提供丰富的中文处理能力。主要功能和核心优势包括:
小柒
2024/04/30
3100
llama3 发布!大语言模型新选择 | 开源日报 No.251
LLama2详细解读 | Meta开源之光LLama2是如何追上ChatGPT的?
今天分享Meta的Llama 2: Open Foundation and Fine-Tuned Chat Models:LLAMA2:开源的基础和微调后的聊天大语言模型。Meta开源模型在除了代码能力外都追平或者超过了ChatGPT的水平,它做了很多工作提升大模型的能力和安全性。其利用更高质量的数据来训练模型,同时利用强化学习迭代多次来优化模型效果是使其追上ChatGPT的最强大的法宝。同时目前如何对大模型进行强化学习放出来的文章也不多,本文给出非常多的RLHF实验和结果给大家进行参考,方便社区后续进行相关实验。总之LLaMA2是大模型开源之光,它以一己之力促进了整个LLM开源社区的发展,后续可能在其基础上也会有真正的更大更好的中文开源大模型出来,它的经验也值得大家去学习。
技术人生黄勇
2024/07/19
2210
LLama2详细解读 | Meta开源之光LLama2是如何追上ChatGPT的?
大语言模型简史:从Transformer(2017)到DeepSeek-R1(2025)的进化之路
2025年初,中国推出了具有开创性且高性价比的「大型语言模型」(Large Language Model — LLM)DeepSeek-R1,引发了AI的巨大变革。本文回顾了LLM的发展历程,起点是2017年革命性的Transformer架构,该架构通过「自注意力机制」(Self-Attention)彻底重塑了自然语言处理。到2018年,BERT和GPT等模型崭露头角,显著提升了上下文理解和文本生成能力。2020年,拥有1750亿参数的GPT-3展示了卓越的「少样本」和「零样本」学习能力。然而,「幻觉」问题 — —即生成内容与事实不符,甚至出现「一本正经地胡说八道」的现象 — — 成为了一个关键挑战。2022年,OpenAI通过开发「对话式」的ChatGPT应对这一问题,采用了「监督微调」(SFT)和「基于人类反馈的强化学习」(RLHF)。到2023年,像GPT-4这样的「多模态模型」整合了文本、图像和音频处理能力,使LLM能够以更接近人类的「听」、「说」、「看」能力。近期推出的OpenAI-o1和DeepSeek-R1「推理模型」(Reasoning Model)在复杂问题解决方面取得突破,赋予LLM更接近人类「系统2思维」的深度推理能力,标志着人工智能在模拟人类思维模式上迈出了重要一步。此外,DeepSeek-R1模型以其「超成本效益」和「开源」设计挑战了AI领域的传统规范,推动了先进LLL的普及,并促进了各行业的创新。
致Great
2025/02/17
1.1K0
大语言模型简史:从Transformer(2017)到DeepSeek-R1(2025)的进化之路
多模态扩散模型开始爆发,这次是高速可控还能学习推理的LaViDa
近段时间,已经出现了不少基于扩散模型的语言模型,而现在,基于扩散模型的视觉-语言模型(VLM)也来了,即能够联合处理视觉和文本信息的模型。今天我们介绍的这个名叫 LaViDa,继承了扩散语言模型高速且可控的优点,并在实验中取得了相当不错的表现。
机器之心
2025/06/10
520
多模态扩散模型开始爆发,这次是高速可控还能学习推理的LaViDa
大模型参数大小,占用多少字节,验证环节需要多少算力;“100B Token,支持8K上下文”是什么意思 ;Llama模型;
推荐文章:深入探索MyBatis-Plus:高效实现字段模糊查询的秘诀-腾讯云开发者社区-腾讯云
zhangjiqun
2024/11/11
1.6K0
更强的Llama 2开源,可直接商用:一夜之间,大模型格局变了
一直以来 Llama 可以说是 AI 社区内最强大的开源大模型。但因为开源协议问题,一直不可免费商用。
机器之心
2023/08/08
4460
更强的Llama 2开源,可直接商用:一夜之间,大模型格局变了
GenAI 前沿 | Llama 3.1正式发布:4050亿参数模型,迄今为止最强的开源大模型之一
到目前为止,开源大型语言模型在功能和性能方面大多落后于封闭式模型。现在,我们正迎来一个由开源引领的新时代。Meta 官方公开发布了 Llama 3.1 405B,Meta 官方认为这是世界上最大、功能最强大的公开基础模型。
Botnow
2024/08/27
4150
GenAI 前沿 | Llama 3.1正式发布:4050亿参数模型,迄今为止最强的开源大模型之一
【独家】万字长文带你梳理Llama开源家族:从Llama-1到Llama-3
北京时间4月19日凌晨,Meta在官网上官宣了Llama-3,作为继Llama-1、Llama-2和Code-Llama之后的第三代模型,Llama-3在多个基准测试中实现了全面领先,性能优于业界同类最先进的模型。
Datawhale
2024/04/24
16.1K0
【独家】万字长文带你梳理Llama开源家族:从Llama-1到Llama-3
改进大语言模型的方法
这是一篇关于适应开源大语言模型(LLMs)的三部系列博客的第一篇。本文探讨将LLM适应领域数据的各种方法。
JavaEdge
2024/09/13
1570
改进大语言模型的方法
扩散LLM推理用上类GRPO强化学习!优于单独SFT,UCLA、Meta新框架d1开源
当前,强化学习(RL)方法在最近模型的推理任务上取得了显著的改进,比如 DeepSeek-R1、Kimi K1.5,显示了将 RL 直接用于基础模型可以取得媲美 OpenAI o1 的性能。
机器之心
2025/04/22
1490
扩散LLM推理用上类GRPO强化学习!优于单独SFT,UCLA、Meta新框架d1开源
MedicalGPT:基于LLaMA-13B的中英医疗问答模型(LoRA)
**** 训练医疗大模型,实现包括二次预训练、有监督微调、奖励建模、强化学习训练。
汀丶人工智能
2023/07/29
1.9K0
MedicalGPT:基于LLaMA-13B的中英医疗问答模型(LoRA)
开源中文类LLaMA大语言模型汇总
近日笔者在调研开源中文大模型时发现LLaMA可以说是今年最受欢迎的大语言模型之一,LLaMA的开源带动了大语言模型社区的兴起,许多模型例如Vicuna、Alpaca等应运而生。
siri
2023/09/24
2.2K1
开源中文类LLaMA大语言模型汇总
使用 Ollama框架 下载和使用 Llama3 AI大模型的完整指南
Ollama是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计。它提供了一套简单的工具和命令,使任何人都可以轻松地启动和使用各种流行的LLM,例如GPT-3、Megatron-Turing NLG和WuDao 2.0。
神秘泣男子
2024/06/03
4.9K0
使用 Ollama框架 下载和使用 Llama3 AI大模型的完整指南
推荐阅读
7B扩散LLM,居然能跟671B的DeepSeek V3掰手腕,扩散vs自回归,谁才是未来?
780
扩散语言模型扛把子LLaDA迎来新版本,数学、代码、对齐能力均提升
790
浅谈宇宙最强开源大模型Llama3如何应用
4050
论文解读 Chinese-LLaMA-Alpaca 中文版大语言模型
1.1K0
在Windows电脑上快速运行AI大语言模型-Llama3
1.8K0
[AI Meta Llama-3] 最强开源大模型Llama 3发布!
8580
全球首个「开源GPT-4」出世!Llama 3震撼发布,Meta AI免登录可用
2270
llama3 发布!大语言模型新选择 | 开源日报 No.251
3100
LLama2详细解读 | Meta开源之光LLama2是如何追上ChatGPT的?
2210
大语言模型简史:从Transformer(2017)到DeepSeek-R1(2025)的进化之路
1.1K0
多模态扩散模型开始爆发,这次是高速可控还能学习推理的LaViDa
520
大模型参数大小,占用多少字节,验证环节需要多少算力;“100B Token,支持8K上下文”是什么意思 ;Llama模型;
1.6K0
更强的Llama 2开源,可直接商用:一夜之间,大模型格局变了
4460
GenAI 前沿 | Llama 3.1正式发布:4050亿参数模型,迄今为止最强的开源大模型之一
4150
【独家】万字长文带你梳理Llama开源家族:从Llama-1到Llama-3
16.1K0
改进大语言模型的方法
1570
扩散LLM推理用上类GRPO强化学习!优于单独SFT,UCLA、Meta新框架d1开源
1490
MedicalGPT:基于LLaMA-13B的中英医疗问答模型(LoRA)
1.9K0
开源中文类LLaMA大语言模型汇总
2.2K1
使用 Ollama框架 下载和使用 Llama3 AI大模型的完整指南
4.9K0
相关推荐
7B扩散LLM,居然能跟671B的DeepSeek V3掰手腕,扩散vs自回归,谁才是未来?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验