Leading Dimension是什么

在LAPACK中频繁出现Leading Dimension(中文翻译为“主维度”),那么它是什么呢?

首先了解行主序(Row-Major)和列主序(Column-Major)的概念:

Given a matrix A of shape (M,N), if it is stored in row-major order, its leading dimension is N, and if it is stored in column-major order, its leading dimension is M.

Leading Dimension是什么_第1张图片

矩阵在内存中存储时是连续地按(某种)顺序存储的,比如下图,A矩阵是列主序,那么A(0,0)和A(0,1)之间其实是不连续的,相隔了ldA个元素。

Leading Dimension是什么_第2张图片

LAPACK和Fortran的数组默认是列主序的,我们来看一个LAPACK例子,ZLASET是一个生成三对角矩阵的函数:

Leading Dimension是什么_第3张图片可以看到,里面的LDA就是A的行数。

你可能感兴趣的:(并行&高性能计算,算法,矩阵)