matlab中tensor_toolbox的用法
本篇博客是根据MATLAB tensor classes for fast algorithm prototyping和efficient matlab computations with sparse and factored tensors 两篇论文整理而成,为了方便,截取了原论文中的大量内容作为插入图片。本博客使用的matlab工具箱为tensor_toolbox。该博客的内容仅供自己和大家学习tensor的matlab的基本操作为主,不涉及商业使用,严禁用于商业用途。转载请注明出处。
张量(tensor)指的是多维或n-array数组,开发tensor工具箱考虑的是特殊结构的张量如何允许高效存储和计算。 首先考虑稀疏张量, 并描述了该格式下的各种数学运算的计算效率包括典型的张量分解算法。其次,我们研究了因子化张量(factored tensor), 这类张量具有更基础的分量的性质。 主要包括两类: Tucker tensor 和Kruskal tensor(rank-1 tensors的和)。
1. 数组与张量的相互转化
a = rand([3,4,5]);
T = tensor(a); % 将数组转化为tensor
A = double(T); % 将tensor转化为array
2. 返回tensor的阶数(mode的个数)
matlab 命令 whos 并不能正确报告scalar(order-0)或者向量(order-1)的阶数
ndims(T)
3. 对张量进行索引和矩阵的形式是一样的
T(1,2,2:3)
4. tensor 的一般运算

5. n-mode 张量乘以矩阵


最低0.47元/天 解锁文章
277

被折叠的 条评论
为什么被折叠?



