在m×n 的矩阵中,有t个非零元。令δ= t/(m*n),称δ矩阵的稀疏因子,常认为δ≤0.05时称为稀疏矩阵。稀疏矩阵在工程中有着大量的应用,不少工程问题都可以转化为对稀疏矩阵的计算问题。用三元组顺序表实现稀疏矩阵的转置通常有2种方法,顺序存和顺序取直接存。
时间: 2024-05-25 19:11:48 浏览: 113
顺序存方法是指在三元组表中按行优先的顺序存储非零元素,转置时直接交换行列下标即可。
顺序取直接存方法是指在三元组表中按列优先的顺序存储非零元素,转置时需要对每一列进行遍历,将其行列下标交换后按行优先的顺序存储到新的三元组表中。
两种方法的时间复杂度均为O(t),但是顺序存方法的空间复杂度要比顺序取直接存方法小,因为在存储时不需要额外的指针和数组来记录每一列的非零元素个数和位置。因此,在实际应用中,如果空间限制比较严格,可以优先选择顺序存方法。
相关问题
在m×n 的矩阵中,有t个非零元。令δ= t/(m*n),称δ矩阵的稀疏因子,常认为δ≤0.05时称为稀疏矩阵。稀疏矩阵在工程中有着大量的应用,不少工程问题都可以转化为对稀疏矩阵的计算问题。用三元组表实现稀疏矩阵的转置,用(顺序取,直接存)方法。
三元组表实现稀疏矩阵的转置,需要将原矩阵中的行、列、数值信息保存在三元组表的三个数组中。然后通过遍历原矩阵中的每个非零元,将它的行与列交换,并将其添加到新的三元组表中。具体流程如下:
1. 声明三个数组:row、col、value,分别用来保存原矩阵中每个非零元的行、列、数值信息。
2. 通过遍历原矩阵中的每个非零元,将其行与列交换,即将原来的col[i]作为新的row[j],将原来的row[i]作为新的col[j],同时将value[i]赋值给value[j]。
3. 将交换后的行、列、数值信息分别添加到新的三元组表的对应数组中。
4. 最后对新的三元组表按照行数和列数进行排序,以便后续的矩阵计算。
至于用(顺序取,直接存)方法实现稀疏矩阵,也就是将三元组表中的信息直接存到一维数组中,可以按照下面的方法实现:
1. 声明一个一维数组data,长度为t*3,并初始化为0。
2. 通过遍历三元组表中的每个非零元,将其行、列、数值信息依次添加到data数组中相应的位置。
3. 依次存储行、列、数值信息可以保证相邻的三个元素对应着一个非零元。
4. 存储完成后,data数组即为用(顺序取,直接存)方法存储的稀疏矩阵。
Algorithm 1 Neuron growth in the l th layer Input: α - birth strength, β - growth ratio Denote: M - number of neurons in the (l + 1)th layer, N - number of neurons in the (l − 1)th layer, G ∈ R M×N - bridging gradient matrix, avg - extracts mean value of non-zero elements Add a neuron in the l th layer, initialize w out = ~0 ∈ R M, w in = ~0 ∈ R N for 1 ≤ m ≤ M, 1 ≤ n ≤ N do Gm,n = ∂L ∂ul+1 m × x l−1 n end for thres = (βMN) th largest element in abs(G) for 1 ≤ m ≤ M, 1 ≤ n ≤ N do if |Gm,n| > thres then δw = p |Gm,n| ×rand{1, −1} w out m ← w out m + δw, w in n ← w in n + δw × sgn(Gm,n) end if w out ← w out × α avg(abs(Wl+1)) avg(abs(wout)) , w in ← w in × α avg(abs(Wl )) avg(abs(win)) end for Concatenate network weights W with w in , w out给我解释一下这个流程什么意思
这个算法描述了在神经网络的第l层添加一个新的神经元的过程。这个新的神经元有两个权重向量,一个连接到前一层的神经元,另一个连接到后一层的神经元。
具体地,这个算法首先计算一个M×N的梯度矩阵G,其中每个元素表示后一层第m个神经元对前一层第n个神经元的梯度。然后,算法选择一个阈值thres,将G中所有绝对值大于thres的元素作为“桥梁”连接到新的神经元上。对于每个连接到新神经元的桥梁,算法随机生成一个权重变化量δw,并将其添加到新神经元的两个权重向量中。最后,算法根据一个参数α调整新神经元的权重向量,并将它们与原来的权重向量连接起来形成一个新的神经网络。
阅读全文