专栏
标签
Syslab中如何创建具有预分配奇异值的随机矩阵
技术分享
发布于 2024-09-11 20:36:52
查看 3过去629天

一、问题现象

Syslab中如何创建具有预分配奇异值的随机矩阵?

二、解决方法 / 步骤

针对上述问题,可以使用randsvd函数:
1.运行下面代码,固定随机数种子,指定矩阵大小n为5,矩阵条件数kappa为-50,奇异值分类类型:

#mode为2;
using TyMath
rng = MT19937ar(1)
n = 5
kappa = -50
mode = 2

image.png
2.使用randsvd函数生成随机矩阵:
image.png
3.验证S的奇异值:
svdvals(S)
4.可以看到S有一个等于1/abs(kappa)的小奇异值:
image.png
5. randsvd函数的用法:
函数库: TyMath
语法:

A = randsvd([T],[rng],n,kappa=sqrt(1/eps()),mode=3,kl=nothing,ku=nothing)
A = randsvd([T],[rng],n,kappa=sqrt(1/eps()),mode=3,kl=nothing,ku=nothing,method=false)

说明:
randsvd函数返回n阶(多对角)条带随机矩阵,条件数为cond(A) = abs(kappa)且必须大于或等于1。
示例:

using TyMath
rng = MT19937ar(1)
n = 5
S = TestArrays.randsvd(rng,n)

image.png

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境
科学计算

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天