Mathematica 9 is now available
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.
Mathematica > 数学和算法 > 矩阵和线性代数 > 稀疏数组 > SparseArray >
Mathematica > 数学和算法 > 图与网络 > 图的构建 > 图和矩阵 > 稀疏数组 > SparseArray >
Mathematica > 数学和算法 > 图与网络 > 图编程 > 矩阵和线性代数 > 稀疏数组 > SparseArray >

SparseArray

SparseArray
生成一个稀疏数组, 处的值为 .
SparseArray
生成相同的稀疏数组.
SparseArray[list]
生成一个稀疏数组 list.
SparseArray
生成一个稀疏矩阵,表示一个 数组.
SparseArray
生成一个稀疏数组,使得该数组中未被说明的元素赋值 val.
  • 在默认情况下, SparseArray 中未被说明元素默认值为 .
  • Normal 根据稀疏数组对象,给出相应的普通数组形式.
  • SparseArray 中的元素可以是数字以外的其他形式.
  • 位置 可以包含模式.
  • 规则Band[...]->vals 给出在稀疏矩阵中边界处的元素的值.
  • 在规则 下,对与 匹配的每一个指标集, 值会被分别计算出来.
  • SparseArray[list] 要求 list 是一个完全数组, 即特定层的所有分量有相同的长度.
  • 稀疏数组中的单个元素不能成为列表.
  • SparseArray[rules] 生成一个维数足够大的数组,使其能够包含指定位置的元素.
  • 列表和矩阵的操作也可以在 Normal 上使用.
  • 一些函数,如 Map 可以自动作用于SparseArray 对象中的分量.
  • 和一些函数如AtomQ 联用以及用于模式匹配时,SparseArray 被作为原始对象处理.
  • 稀疏数组的标准输出格式显示未说明元素的个数及整个数组的维数.
构造稀疏数组,只指定部分位置元素的值:
以矩阵形式显示:
转换为一个稠密矩阵:
构造稀疏数组,只指定部分位置元素的值:
In[1]:=
Click for copyable input
Out[1]=
以矩阵形式显示:
In[2]:=
Click for copyable input
Out[2]//MatrixForm=
转换为一个稠密矩阵:
In[3]:=
Click for copyable input
Out[3]=
创建一个大型的稀疏向量,矩阵和深度为3 的数组:
创建一个三对角矩阵,用下标的模式:
创建一个 10,000 10,000 矩阵:
创建一个稀疏的对角矩阵:
它等同于 DiagonalMatrix
一个稀疏矩阵占用较少的内存:
用规则 Band 构建一个分块对角矩阵:
将一个普通矩阵转化为一个稀疏矩阵:
创建一个4阶稀疏张量,设置随机位置的值:
ArrayRules 生成一个规则的最小列表,它需要指定 SparseArray
许多典型的操作对 对象起作用,对其它同类型列表也起作用:
适用于元素的算法同样适用于列表:
矩阵积采用 Dot
许多线性代数函数可以用稀疏的形式:
许多其它列表命令自动运算:
未说明的元素可以使任意值:
可以使用本地定义的符号变量:
构建一个有机器精度数值的稀疏矩阵:
用确切整数值构建稀疏矩阵:
N[s] 相同:
创建一个只有单一非0元素的列表:
绘制一个规则列表:
表示一个有联结矩阵的网络:
利用有限的不同的点, 求解边界值问题
一个 SparseArray 对象和相应的普通列表 Equal
它们不是 SameQ,因为表达结构不同:
涉及到 SparseArray 对象的函数 f,通常 f[s]==f[Normal[s]]
这包括所有 Listable 的函数:
使用 CoefficientArrays 把线性表达式转换成 SparseArray 对象:
使用 DotSparseArray 转换成表达式:
如果 SparseArray 中同一坐标位置在变换规则表中重复出现, 以首次出现的为准:
由于数据量过大而无法全部表示时,稀疏数组给出下面的表现形式:
Normal 会给出一个 :
在默认情况下,稀疏数组的操作不会检验取消操作:
SparseArray重新计算稀疏数组结构:
在对SparseArray进行迭代计算时. 有误差的操作可能会给出不同的值:
ReapSow ,可以显示存取的元素:
对于一个 SparseArray 对象, Part 给出对应的列表的部分:
FullForm 是从基本存储信息中的重构对象的方式:
如果不必要的,但你需要时,你可以用模式指令得到完整形式中的某一部分:
一些不能作用于表达式的函数,在作用于SparseArray 的对象时,该对象会被作为基本单位而无法处理:
Cases 不能作用于表示的矩阵:
可以使用 ArrayRules 的结果,这样不用展开就可以能得到信息:
游戏人生:
版本 5 的新功能 | 版本 6 修改功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF