改进的并行广义共轭残差算法
一种基于 MIMO 系统的改进广义球解码算法
一种基于 MIMO 系统的改进广义球解码算法杨梅;陈阳;李满华【摘要】基于球解码算法和广义球解码算法的思想,提出了一种基于 MIMO 系统的改进的广义球解码算法:引入一个置换矩阵,利用矩阵的正交性来简化运算;根据信噪比的特性来选择初始半径;根据 Cholesky 法分解格莱姆矩阵来进行格点搜索;通过求解格的二次型的最小值来确定范围的上下界。
仿真结果表明,该算法有较强的抗多流干扰能力,在高信噪比的情况下性能有所改善,而且复杂度也相对较低。
【期刊名称】《长江大学学报(自然版)理工卷》【年(卷),期】2016(013)001【总页数】5页(P7-11)【关键词】广义球解码算法;MIMO 系统;复杂度【作者】杨梅;陈阳;李满华【作者单位】安徽工程大学现代教育技术中心,安徽芜湖 241000;安徽工程大学现代教育技术中心,安徽芜湖 241000;安徽工程大学现代教育技术中心,安徽芜湖 241000【正文语种】中文【中图分类】TN929.5多输入多输出(Multiple-input Multiple-output,MIMO)系统采用多个收发天线,与传统的单输入单输出(Single-input Single-output,SISO)系统相比,MIMO系统在带来巨大信道容量的同时也产生极大的接收信号检测复杂度[1,2]。
因此,基于信号和信道的统计特征,构建相应的检测算法以抑制多流干扰(Multi-Stream Interference,MSI)就成为提高系统性能的关键技术问题。
为了解决最大似然算法[3]遍历式搜索的问题,Fincke和Pohst提出的球解码(Sphere Decoder,SD)算法[4]是将搜索的格点限制在一个合适的椭圆内,从纯数学的角度来研究最小二乘问题。
Damen等[5,6]提出的广义球解码(Generalized Sphere Decoder,GSD)算法可以解决发送天线小于接收天线的非对称空时通信结构。
利用二次相关改进的广义互相关时延估计算法
2 0 1 3年 1 1月
数
据
采
集
与
处
理
Vo l _ 2 8 No . 6
No v. 2 O13
J o u r n a l o f Da t a Ac q u i s i t i o n a n d Pr o c e s s i n g
摘要 : 为 了提 高 传 统 广 义 互 相 关 时延 估 计 算 法 的 性 能 , 将 二 次 相 关 时 延 估 计 算 法 与 广 义 互 相 关 时 延 估 计 算 法相
结合 , 提 出 了一 种 利 用 二 次 相 关 改进 广 义 互相 关 的 时 延 估 计 新 算 法 。该 算 法 先 对 信 号 进 行 二 次 相 关 处 理 , 利用 相 关 函数 抑 制 了噪 声 的 干 扰 , 然后 在 相 关 函 数 序 列 上 进 行 权 重 处 理 , 进 一 步 提 高 了算 法 的 抗 噪 声 性 能 与 估 算 精
t he s i gna l s a r e a ut o — c or r e l a t e d a n d i nt e r — c or r e l a t e d be f o r e t he we i gh t i ng pr o c e s s i ng .S i mul a t i o n t e s t s i nd i c a t e t h at i t s pe r f or ma n c e o f a nt i ~ i nt e r f e r e n c e a n d pr e c i s i on i S be t t e r t ha n GCC. To ve r i f y t he pr o po s e d me t ho d,t he a r t i f i c i a l l y t r i gg e r e d l i gh t ni n g da t a i s pr oc e s s e d.I t p r ov e s t ha t t he ne w a r i t hme t i c c a n be c o m pe t e n t t o t he l i g ht n i ng r a di a t i o n s ou r c e l o c a t i o n a n d i nc r e a s e s t h e
并行发展史
计算机发展]从20世纪40年代开始的现代计算机发展历程可以分为两个明显的发展时代:串行计算时代、并行计算时代。
每一个计算时代都从体系结构发展开始,接着是系统软件(特别是编译器与操作系统)、应用软件,最后随着问题求解环境的发展而达到顶峰。
并行计算机是由一组处理单元组成的。
这组处理单元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。
因此,并行计算机的两个最主要的组成部分是计算节点和节点间的通信与协作机制。
并行计算机体系结构的发展也主要体现在计算节点性能的提高以及节点间通信技术的改进两方面。
节点性能不断进步 20世纪60年代初期,由于晶体管以及磁芯存储器的出现,处理单元变得越来越小,存储器也更加小巧和廉价。
这些技术发展的结果导致了并行计算机的出现。
这一时期的并行计算机多是规模不大的共享存储多处理器系统,即所谓大型主机。
IBM 360是这一时期的典型代表。
到了20世纪60年代末期,同一个处理器开始设置多个功能相同的功能单元,流水线技术也出现了。
与单纯提高时钟频率相比,这些并行特性在处理器内部的应用大大提高了并行计算机系统的性能。
伊利诺依大学和Burroughs公司此时开始实施Illiac Ⅳ计划,研制一台64颗CPU的SIMD主机系统,它涉及到硬件技术、体系结构、I/O设备、操作系统、程序设计语言直至应用程序在内的众多研究课题。
不过,当一台规模大大缩小的原型系统(仅使用了16颗CPU)终于在1975年面世时,整个计算机界已经发生了巨大变化。
首先是存储系统概念的革新,提出虚拟存储和缓存的思想。
以IBM 360/85和IBM 360/91为例,两者是属于同一系列的两个机型,IBM 360/91的主频高于IBM 360/85,所选用的内存速度也较快,并且采用了动态调度的指令流水线。
但是,IBM 360/85的整体性能却高于IBM 360/91,惟一的原因就是前者采用了缓存技术,而后者则没有。
一种改进的广义预测控制算法仿真研究
HE T o n g - x i a n g, DU Ya o
( H e b e i E n g i n e e i r n g R e s e a r c h C e n t e r o f S i m u l a t i o n& O p t i m i z e d C o n t r o l f o r P o w e r G e n e r a t i o n ,
N o a h C h i n a E l e c t i r c P o w e r U n i v e r s i t y , B a o d i n g He b e i 0 7 1 0 0 3 , C h i n a ) A B S T R AC T: T h e b a s i c lg a o i r t h m o f g e n e r a l i z e d p r e d i c t i v e c o n t r o l( G P C )w a s i n t r o d u c e d .I n v i e w o f t h e s h o r t c o m—
d i c t i v e c o n t r o l a l g o i r t h m( A G P C )w a s p r o p o s e d .B a s e d o n MA T L AB S I MU L I N K t o o l s , t a k i n g t h e r e s i s t a n c e f u r n a c e
第3 O 卷 第9 期
文章编号 : 1 0 0 6 — 9 3 4 8 ( 2 0 1 3 ) 0 9 - 0 3 9 1 - 0 3
共轭梯度法beamforming_理论说明
共轭梯度法beamforming 理论说明1. 引言1.1 概述共轭梯度法(Conjugate Gradient Method)是一种常用的优化算法,广泛应用于解决线性方程组和最优化问题。
Beamforming是一种利用信号处理技术来实现指向性传输和接收的方法,在通信、雷达等领域有着广泛的应用。
本篇长文将探讨共轭梯度法在Beamforming中的理论应用。
1.2 文章结构本文将按照以下结构进行论述:首先介绍共轭梯度法的原理和基本思想,包括线性方程求解的问题、共轭梯度法的基本思想以及迭代过程与收敛性分析;然后,将详细阐述Beamforming的基本概念,包括信号传输和接收的需求、Beamforming技术在通信中的应用以及技术实现原理和方法;接着,我们将探究共轭梯度法在Beamforming中的具体应用,涵盖了优化问题表述、目标函数定义及优化过程说明以及基于共轭梯度法的Beamforming实例分析与结果讨论;最后总结主要研究发现并展望取得成果和应用前景,并提出后续研究工作的建议。
1.3 目的本文的目标是通过理论说明共轭梯度法在Beamforming中的应用,以深入探讨这一优化算法在指向性传输和接收技术中的实际效果。
通过对共轭梯度法及其在Beamforming中的应用进行分析,旨在提供有关该算法与通信技术结合方面的研究参考,为相关领域的学者和工程师提供新思路和解决问题的方法。
2. 共轭梯度法的原理2.1 线性方程求解的问题在讨论共轭梯度法的原理之前,我们首先来了解一下线性方程求解的问题。
线性方程组是由多个线性等式组成的方程组,如Ax = b,其中A为已知矩阵,x为待求解向量,b为已知向量。
线性方程求解即为找到满足该方程组的解x。
2.2 共轭梯度法的基本思想共轭梯度法是一种用于求解对称正定线性方程组Ax = b的迭代方法。
它基于以下基本思想:通过选择合适的搜索方向,将目标函数在各个搜索方向上取得最小值,并以此逼近实际的最优解。
子空间极小化共轭梯度算法
子空间极小化共轭梯度算法1.引言1.1 概述子空间极小化共轭梯度算法是一种求解优化问题的迭代方法,常用于处理大规模问题。
该算法结合了共轭梯度算法和子空间极小化技术,能够有效地克服共轭梯度算法在高度非线性问题中的局限性。
本文将介绍子空间极小化共轭梯度算法的原理和应用,并总结其优缺点。
在优化问题中,我们经常遇到非线性和大规模问题,传统的梯度下降算法往往收敛速度慢,并且可能陷入局部最优解。
共轭梯度算法通过选择合适的搜索方向,将优化问题转化为等价的子问题,并且在每一步迭代中确保搜索方向两两共轭。
然而,当问题高度非线性时,共轭梯度算法的性能可能下降。
子空间极小化共轭梯度算法通过引入子空间极小化技术,克服了共轭梯度算法的局限性。
子空间极小化技术是一种将优化问题映射到低维子空间中的方法,使得算法能够更好地适应非线性问题。
在每一步迭代中,子空间极小化共轭梯度算法选择最小化子空间中的目标函数,并且利用共轭梯度法在子空间中求解。
这种方法能够减小搜索空间,提高算法的收敛速度和稳定性。
子空间极小化共轭梯度算法在各种优化问题中有广泛的应用。
它常用于求解非线性最小二乘问题、图像恢复问题和模型训练问题等。
在这些应用中,子空间极小化共轭梯度算法能够更快地收敛到全局最优解,并且具有较高的准确性和稳定性。
总之,子空间极小化共轭梯度算法是一种强大的优化算法,能够有效地处理高度非线性和大规模问题。
本文将详细介绍该算法的原理和应用,并讨论其在实际问题中的优缺点。
相信读者通过阅读本文能够深入了解子空间极小化共轭梯度算法的特点及其在实践中的价值。
文章结构指的是文章的大致组织框架,它提供了读者阅读文章的导航和指引。
在这一部分,你可以介绍文章的各个章节和子节的内容概况,以及它们在整个文章中的作用。
下面是可以作为1.2文章结构部分内容的参考:1.2 文章结构本文基于子空间极小化共轭梯度算法的研究,将从以下几个方面来展开讨论。
首先,我们将在引言部分对这一算法的概述进行介绍,以便读者对其有一个初步的了解。
改进的Tikhonov正则化图像重建算法
改进的Tikhonov正则化图像重建算法温丽梅;周苗苗;李明;马敏【摘要】Tikhonov正则化法可以解决电容层析成像中图像重建的病态问题,同时能够平衡解的稳定性与精确性,但其有效性和成像质量受到测量数据粗差的影响.改进的Tikhonov正则化法将2范数和M-估计结合,用一个缓慢增长的Cauchy函数代替最小二乘法的平方和函数,提高了估计稳健性和适应性.利用COMSOL和MATLAB软件对方法的有效性进行验证,重建结果表明,改进的Tikhonov正则化法能够有效减少粗差影响,提高重建图像精确度及分辨率.【期刊名称】《计量学报》【年(卷),期】2018(039)005【总页数】5页(P679-683)【关键词】计量学;图像重建;Tikhonov正则化法;电容层析成像;尾气检测;多相流【作者】温丽梅;周苗苗;李明;马敏【作者单位】中国民航大学电子信息与自动化学院,天津300300;中国民航大学电子信息与自动化学院,天津300300;中国民航大学电子信息与自动化学院,天津300300;中国民航大学电子信息与自动化学院,天津300300【正文语种】中文【中图分类】TB9371 引言气-固两相流广泛存在于机械制造、电力、化工、制药等工业生产领域[1,2],其流动特性复杂,材料浓度的分布状态多变。
航空发动机尾喷管的尾气是一种特殊的多相流体,主要由未完全燃烧液滴、大量排放气体以及发动机内部零部件发生磨损、碰擦、侵蚀等产生的金属屑等组成。
若航空发动机处于不同的工作状态,其内部尾气所含介质成分也有所不同[3]。
飞机发生事故前,发动机尾气中多相流体的介质成分及分布状况会有较大变化,据此可以作为此类灾害的早期预警[4]。
层析成像技术[5,6]可以实现三维流场的多参数非侵入式连续在线测量,电容层析成像(electrical capacitance tomography, ECT)在飞机发动机尾气检测方面具有潜在的应用价值。
conjugate gradient 例子-概述说明以及解释
conjugate gradient 例子-概述说明以及解释1.引言1.1 概述概述部分旨在介绍本篇长文的主要内容和目标。
本文将详细讨论关于Conjugate Gradient(共轭梯度)算法的一些重要概念、原理以及其在实际应用中的示例。
通过对这一算法进行全面的介绍和分析,我们旨在帮助读者全面理解共轭梯度算法,并掌握其在解决优化问题上的优势和局限性。
在2.1章节中,我们将简要介绍共轭梯度算法的基本概念和优点。
2.2章节将深入探讨该算法的原理,包括迭代过程和收敛性。
2.3章节将提供一些实际的应用示例,展示共轭梯度算法在解决实际问题中的灵活性和高效性。
在结论部分,我们将总结本文的主要内容,并重点介绍共轭梯度算法的优点和局限性。
通过全面评估共轭梯度算法的特性,读者将能够更好地判断何时适合使用该算法以及如何优化其效果。
最后,在附录部分,我们将提供一些额外的资源和参考链接,以便读者进一步学习和研究共轭梯度算法。
通过阅读本文,我们希望读者能够对共轭梯度算法有一个深入的了解,并能够将其应用于实际问题中,进一步提升优化问题的求解能力。
文章结构部分的内容如下:1.2 文章结构本文按照如下结构进行组织:引言部分:首先对文章进行概述,介绍Conjugate Gradient算法的背景和意义,并提出本文的目的。
正文部分:分为三个主要部分,分别介绍Conjugate Gradient算法的简介、原理和应用示例。
- 2.1 Conjugate Gradient算法简介:在这一部分中,我们将详细介绍Conjugate Gradient算法的基本概念和一般步骤。
我们将解释算法的目标、求解的问题类型以及算法的基本思想。
- 2.2 Conjugate Gradient算法的原理:在这一部分中,我们将深入探讨Conjugate Gradient算法的原理。
我们将详细介绍算法的数学基础和推导过程,包括如何选择迭代方向、计算步长等关键步骤。
共轭梯度法 c++
共轭梯度法c++一、共轭梯度法是一种优化算法,特别适用于解决对称正定矩阵的线性方程组。
它通过迭代的方式逐步逼近方程组的解,具有较快的收敛速度。
在C++中实现共轭梯度法可以为解决大规模线性系统提供高效的数值解。
二、共轭梯度法基本原理问题背景:考虑一个线性方程组Ax = b,其中A是对称正定矩阵,b是已知向量。
迭代过程:共轭梯度法通过迭代寻找一个逼近解x_k,使得残差r_k = b - Ax_k 最小。
迭代过程中,每一步都保证搜索方向共轭于前一步的搜索方向。
算法步骤:初始化:选择初始解x_0,计算残差r_0 = b - Ax_0,初始化搜索方向p_0 = r_0。
迭代:对于每一步k,计算步长alpha_k,更新解x_k+1 = x_k + alpha_k * p_k,计算新的残差r_k+1,更新搜索方向p_k+1。
收敛检测:当残差足够小时,停止迭代。
共轭方向的选择:在每一步中,选择共轭搜索方向可以通过Gram-Schmidt正交化方法得到。
这样能够确保搜索方向之间是线性无关的。
三、C++中的共轭梯度法实现在C++中实现共轭梯度法需要考虑以下关键步骤:矩阵和向量表示:使用C++中的数组或矩阵库表示矩阵A和向量b。
迭代过程:实现共轭梯度法的迭代过程,包括更新解、计算残差、计算步长等。
共轭方向选择:使用Gram-Schmidt正交化方法确保搜索方向共轭。
收敛检测:制定合适的收敛准则,如残差的阈值,判断是否停止迭代。
以下是一个简化的C++示例代码,演示了共轭梯度法的基本实现:#include <iostream>#include <cmath>#include <vector>using namespace std;// 定义矩阵和向量类型typedef vector<vector<double>> Matrix;typedef vector<double> Vector;// 共轭梯度法实现Vector conjugateGradient(const Matrix& A, const Vector& b, const Vector& x0, double tolerance, int maxIterations) {int n = A.size();Vector x = x0;Vector r = b - multiply(A, x);Vector p = r;for (int k = 0; k < maxIterations; ++k) {double alpha = dot(r, r) / dot(p, multiply(A, p));x = x + alpha * p;Vector newR = r - alpha * multiply(A, p);double beta = dot(newR, newR) / dot(r, r);p = newR + beta * p;r = newR;// 收敛检测if (sqrt(dot(r, r)) < tolerance) {cout << "Converged after " << k + 1 << " iterations." << endl;break;}}return x;}// 辅助函数:向量点积double dot(const Vector& a, const Vector& b) {double result = 0.0;for (size_t i = 0; i < a.size(); ++i) {result += a[i] * b[i];}return result;}// 辅助函数:矩阵与向量相乘Vector multiply(const Matrix& A, const Vector& x) {int n = A.size();Vector result(n, 0.0);for (int i = 0; i < n; ++i) {for (int j = 0; j < n; ++j) {result[i] += A[i][j] * x[j];}}return result;}int main() {// 示例用例Matrix A = {{4, 1}, {1, 3}};Vector b = {1, 2};Vector x0 = {0, 0};double tolerance = 1e-6;int maxIterations = 1000;// 调用共轭梯度法Vector solution = conjugateGradient(A, b, x0, tolerance, maxIterations);// 输出结果cout << "Solution: ";for (double value : solution) {cout << value << " ";}cout << endl;return 0;}这个简单的示例演示了如何使用C++实现共轭梯度法。
双共轭梯度法matlab_概述及解释说明
双共轭梯度法matlab 概述及解释说明1. 引言1.1 概述引言部分将介绍“双共轭梯度法(Matlab)”,该方法是一种用于解决优化问题的迭代算法,常用于求解大规模线性方程组、最小二乘问题和非线性最优化等。
本文将全面讲解双共轭梯度法的基础知识、算法流程及其在MATLAB中的应用与实现。
1.2 文章结构本文按照以下方式组织:- 第二节将介绍双共轭梯度法的基础知识,包括梯度下降法、共轭梯度法和双共轭梯度法的简介。
- 第三节将详细阐述双共轭梯度法的算法流程及具体步骤解释,包括初始化步骤、迭代更新步骤以及收敛准则和结束条件设定。
- 第四节将以MATLAB为工具,展示双共轭梯度法在实践中的应用与实现举例。
这一部分将给出MATLAB代码编写指导原则,描述一个示例问题,并说明求解过程和结果分析。
- 最后一节是结论与展望,总结了双共轭梯度法的优点和局限性,并提供对未来可能的研究方向的展望和建议。
1.3 目的本文旨在介绍双共轭梯度法的原理、算法流程及其在MATLAB中的实际应用。
读者将通过本文了解如何使用该方法解决优化问题,并深入理解算法背后的理论基础。
同时,本文还将探讨双共轭梯度法存在的局限性,并展望未来可能的研究方向,为相关领域的研究提供参考。
2. 双共轭梯度法基础知识2.1 梯度下降法简介梯度下降法是一种优化算法,用于求解无约束问题的最小值。
其基本思想是通过沿着目标函数的负梯度方向进行迭代更新,以逐步减小目标函数值。
具体而言,对于一个可微分的目标函数f(x),初始值$x_0$被选为起点,然后通过以下公式进行迭代更新:$$x_{k+1} = x_k - \alpha_k \nabla f(x_k)$$其中$\alpha_k$是步长或学习率,$\nabla f(x_k)$表示在点$x_k$处的梯度(即函数$f(x)$在$x_k$处的导数)。
该过程将重复执行直到满足预设的终止条件。
2.2 共轭梯度法简介共轭梯度法是一种高效的迭代方法,用于解决对称正定线性系统的问题。
generalized_minimal_residual_method_概述说明
generalized minimal residual method 概述说明1. 引言1.1 概述在科学计算和工程领域,线性方程组求解是一项常见而重要的任务。
广义最小残差法(Generalized Minimal Residual Method,简称GMRES)是一种用于求解大型稀疏非对称线性方程组的迭代方法。
相对于传统的直接方法,GMRES算法具有更好的可扩展性和适应性,尤其适用于求解病态或高度非对称矩阵所组成的线性方程组。
1.2 文章结构本文将对GMRES方法进行深入的介绍和分析。
首先,在第2节中我们将详细介绍GMRES算法的原理以及其基本步骤。
接着,在第3节中我们将探讨现有GMRES算法的改进和发展情况,包括各种变体、改进方法以及优化收敛性能的策略和技巧。
然后,在第4节中我们将通过具体案例来展示GMRES算法在科学计算中的应用实例,包括流体力学模拟、结构工程和信号处理等领域。
最后,在第5节中我们将总结本文主要观点并强调GMRES方法的优越性,并展望其未来发展方向以及应用于特定领域中的前景和挑战。
1.3 目的本文的目的是全面介绍和分析GMRES方法,帮助读者深入理解该方法的原理、步骤及其在科学计算中的应用。
通过本文的阅读,读者能够对GMRES算法有一个明确而全面的认识,并了解到该方法在实际问题求解中的潜力和局限性。
此外,我们还将探讨GMRES方法未来的发展方向,以期为相关研究提供一定的参考和启示。
2. Generalized Minimal Residual Method(广义最小残差法):2.1 原理介绍广义最小残差法(Generalized Minimal Residual Method,简称GMRES)是一种迭代法求解线性方程组的方法。
它采用了Krylov子空间和正交化技术,通过迭代计算来逼近线性方程组的解。
GMRES方法在求解大规模稀疏问题时具有较好的收敛性能和通用性。
2.2 算法步骤GMRES算法主要包括以下几个步骤:(1)初始化:给定一个初始估计值x0和右端向量b以及误差限制ε。
改进的广义压缩邻近点算法及收敛性证明
0
% % +& !/ / #$
#0!/,$(10!/
#$)
0
% % ,& ,(17*N/ )/ * $ !/ 5)/ 5G0! / #$
|m /,$(108/ #$+
,- &! ' )/ ( k m % M J Ò! 8 d ' 8/ ( . "$!
&0& !' #/ ( . "$! &0& !' !/ ( . %$!#& wx<0¾Í
-{ +\ ~ ($ " -! 3 4 (/&# # !/ :% (/ & &3/ (/ &
0/ M9/ % (/ & !EF % !/ & . %$!#& ! % 3/ & . % $#!#& ! % 0/ & "
%$!&& !!/ &3/ &0/ ##+<+wxT0&'$
% ,& /,$(10(8O9/ 4$)
UV!ÅÆ*
{ } 0(/&# $;0 * 1AQ 0($ $;0!0:%#;&$$&;0 !
aT' (/ ( km%-+
&
0(/&# $;0& #0!/ :% (/ & &3/ (/ &0/ M9/ % (/ & $;0&
#0!/ :% (/ & &%# $!/ & "/ $;0&
#0%# $!/ & % "/ $;& &!/ % :% (/ & $;& 0&
一种改进的表面重建算法及其并行化研究
一种改进的表面重建算法及其并行化研究作者:王元曹静娄泽坤来源:《计算机时代》2017年第05期摘要:对于泊松三维表面重建中估算指示函数出现误差的情况,引入屏蔽因子并使用线性插值的方法纠正误差。
该方法在等值面提取时使用的索引表查找法存在二义性的问题,需使用渐近线方法来解决。
改进算法需要较大的存储空间来存储顶点信息和法向量以及较长的时间来运算,因而引入了CUDA架构的并行化计算来提高运行效率。
关键词:多视图三维重建;泊松表面重建;二义性; CUDA架构中图分类号:TP391 文献标志码:A 文章编号:1006-8228(2017)05-17-03An improved 3D surface reconstruction method and it's parallelizationWang Yuan, Cao Jing, Lou Zekun(School of Computer and Information Engineering, Henan University, Kaifeng, Henan 475000, China)Abstract: In this thesis the shielding factor is introduced to solve the problem of errors of indication function to estimate the indicator function in the Poisson surface reconstruction algorithm. In the part of isosurface extraction in surface reconstruction, the triangulation process is performed by searching the index table. But this method will lead to ambiguity, so an asymptotic method is used to avoid it. This surface reconstruction algorithm will improve the holes and depressions problems of complex objects. At the same time, it leads to larger storage space to store vertex and normal vectors, and a longer time to process data. Therefore, CUDA architecture and parallelization are introduced to solve the problem of efficiency.Key words: multi view 3D reconstruction; Poisson surface reconstruction; ambiguity;CUDA architecture0 引言2006年,Michael Kazhdan等人提出了泊松表面重建算法[1],但泊松表面重建本身存在诸多缺陷。
基于改进型二阶广义积分器的同步信号检测
摘要:为了满足三相电压在不对称、直流分量及谐波畸变等情况下并网变换器的控制需求,需要准确地检测出
电压信号的正序分量、幅值和基波频率。基于双二阶广义积分器锁频环的方法可实现电压在不对称和畸变下
SOGI 同步信号的提取。但当电压信号含有直流分量和多次谐波时,基本的 结构滤波效果不理想,追踪的波形 波动比较大,并降低了追踪速度。文 中 介 绍一种改进的SOGI结 构 ,该 结 构 在 SOGI的基础上增加求差节点和 自适应滤波器,并 保 留 S0GI-FLL的优势。电压的幅值和基波频率能准确快速被检测出来,很好的减小频率跳 变 后 的 波 动 、滤 除 谐 波 和 消 除 直 流 分 量 。MATLAB仿 真 结 果 表 明 ,其 改 进 方 法 在 电 压 信 号 不 对 称 、直 流 分 量 及
多次谐波存在条件下准确地检测出正序分量和基波频率。
关键词 ( :同步信号;正序分量;基波频率;二阶广义积分器;锁频环 FLL)
中图分类号:TM71
பைடு நூலகம்
文献标识码:B
文章编号:1001-1390(2018)07^0077^06
Synchronous signal detection based on improved second-order generalized integrator
第S5卷 第 7 期 2018年4 月 1 0 日
电测与仪表
Electrical Measurement & Instrumentation
Vol.55 No. 7 Apr. 10, 2018
基于改进型二阶广义积分器的同步信号检测
任 旭 虎 ,李 德 文 ,苏 建 楠 ,孙 晓
( 中国石油大学(华东)信息与控制工程学院,山 东 青 岛 266580)
基于残余平滑-预处理共轭梯度算法的有限元并行计算
基于残余平滑-预处理共轭梯度算法的有限元并行计算付朝江;陈洪均【摘要】针对弹塑性问题的有限元分析非常耗时,基于消息传递接口(MPI)集群环境,提出了残余平滑的子结构预处理共轭梯度并行算法.采取区域分解,将子结构通过界面条件处理为独立的有限元模型.整体分析时,每个处理器仅存储与其相关的子结构信息并生成局部刚度矩阵.采用对角存储方式和最小残余平滑法,设计出了结合残余平滑(MR)的并行子结构预处理共轭梯度(PCG)算法.并行算法中对负载平衡进行了探讨,对处理器间的通信进行了优化.利用于步法对弹塑性应力应变进行积分,根据预定的容许值自动调整每个子步的大小来控制积分过程的误差.在工作站集群上实现了数值算例,分析了算法的性能,计算性能与传统的PCG算法进行了比较.算例显示:所提算法具有良好的加速比和效率,优于传统的PCG算法,对弹塑性问题的有限元分析,是一种有效的并行求解算法.【期刊名称】《计算机应用》【年(卷),期】2015(035)012【总页数】5页(P3387-3391)【关键词】预处理共轭梯度法;消息传递接口;并行计算;区域分解;有限元【作者】付朝江;陈洪均【作者单位】福建工程学院土木工程学院,福州350108;福建省土木工程新技术与信息化重点实验室,福州350108;福建工程学院土木工程学院,福州350108【正文语种】中文【中图分类】TP301.6;TP31网络并行计算具有良好的性价比和可扩展性,以及灵活的体系结构等优点,已成为高性能计算的主要趋势[1]。
在弹塑性分析中,由于材料的非线性,使得问题求解变得非常复杂和耗时。
有限元法在非线性分析中的应用取得的进展和并行计算的出现为高效快速求解这类耗时的弹塑性问题开辟了一条新途径。
有限元结构分析的高性能计算成为一个重要的研究方向[2-3]。
对弹塑性问题的有限元分析、探讨和开发高效的并行求解算法具有重要的意义。
非线性弹塑性问题的分析是以增量方式进行,因为求解过程不仅取决于结构的当前位移而且与加载历史有关。
广义空间调制MIMO系统的优化检测算法
广义空间调制MIMO系统的优化检测算法佚名【摘要】针对大规模多输入输出(multiple-input multiple-output,MIMO)系统中采用广义空阎调制(generalized spatial modulation,GSM)时信号检测复杂度过高的问题,提出一种新型天线分组激活方案.该方案首先需将发送天线分组激活,得到天线索引备选集,然后把天线组合符号按质量因子大小进行排序,最后遵循可信度判断准则进行量化判决检测,以此得到最佳的检测结果.相较于传统算法,所提出的检测算法避免了对信号空间的遍历搜索,在大规模天线系统下的性能更加优异.计算和仿真结果表明,本文提出的算法具有复杂度低、误码率低的特点,在采用广义空间调制的通信系统中具有较高的工程应用价值.【期刊名称】《电波科学学报》【年(卷),期】2018(033)006【总页数】7页(P664-670)【关键词】广义空间调制;信号检测;天线分组激活;量化判决【正文语种】中文【中图分类】TN911.3引言空间调制(spatial modulation, SM)作为一种创新型的低复杂度多输入多输出(multiple-input multiple-output, MIMO)技术,由Melsh等人[1-2]提出. 该技术解决了MIMO系统中存在的发射天线间同步与信道间干扰等问题,同时拥有更高的传输速率[3]. 然而SM系统在每个符号传输过程中,只有一根发射天线被激活, 这就导致在大规模收发天线的场景下,SM系统速率的提升并不明显.为了有效解决SM系统的固有局限,广义空间调制(generalized spatial modulation, GSM)技术研究逐步开展[4]. 相较于SM系统在每个符号传输过程中只有一根发射天线被激活,GSM系统激活天线数目可以是任意的[5],所以激活天线索引由此转变为激活天线组合索引. 这使得大规模MIMO系统的天线数量优势得以充分发挥,因此可以达到更高的传输速率[6]. 由此可见,GSM系统提升频谱效率的本质[7],源自空间复用增益和额外的空间域容量增益两个方面.在GSM系统中存在一个范围更大的信号空间搜索域,这是接收端需要检测所有的激活天线组合所致. 因此GSM系统低复杂度接收机的设计,又受限于过多的系统收发天线. 目前研究存在的问题是,在保证GSM系统所带来的空间域增益的同时如何克服其高复杂度的弊端. 在不考虑计算复杂度的情况下,最大似然(maximum likelihood, ML)算法是目前性能最佳的检测算法,但在工程应用中是不切实际的. 所以,性能接近ML的一系列低复杂度检测算法不断被提出. 例如改进的排序块最小均方误差 (improved ordered-block minimum mean squared error, IOB-MMSE) 算法以及低复杂度最大似然(low complexity maximum likelihood, LC-ML)算法等. 其目的都是逼近最优性能,同时尽可能地降低计算复杂度.由于GSM系统的复杂度随发射天线数目和调制阶数呈指数型上升趋势,本文提出一种次优的检测算法来平衡计算复杂度与检测性能. 通过将发送天线按指定数目进行分组后激活,从而获得一个天线分组信息,这样可以避免天线数目过大时激活天线组合数量也过于庞大,而且尽可能遍历已有的发射天线,充分利用大规模MIMO系统所带来的空间分集增益. 接收端在进行信号检测时,需将天线组合符号按质量因子大小进行排序,最后遵循可信度判断准则进行量化判决检测,以此得到最佳的检测结果. 通过计算分析和仿真,所提出的检测算法更适用于大规模MIMO-GSM系统.1 系统模型图1所示为系统参考模型,选用正交幅度调制(quadrature amplitude modulation, M-QAM)方式. 给定GSM系统的发射天线为Nt根,接收天线为Nr根. 在每个时隙中,发射天线激活的数量为Na(2≤Na≤Nt)根,所以激活天线组合有种可能. 由文献[8]可知,这些激活天线组合中包含部分非法情况,只有种组合被允许. 其中lb为log2的简写形式(以下公式中皆由其表示);[x]为向下取整函数,所以部分天线组合信息被舍弃了.图1 MIMO-GSM系统模型Fig.1 MIMO-GSM system model考虑到收发天线数目较少,以往的很多研究论文如文献[8-11],习惯性地把每个时隙传输的信息比特分为两个部分:天线索引调制比特与星座符号调制比特. 首先,个符号作为天线索引调制比特,由已选择的Na根激活天线组合决定. b2=Nalb M个符号作为星座符号调制比特(M为调制阶数),用来产生星座符号矢量:s=[s1,s2,…,sNa]T,(s1,s2,…,sNa∈s).(1)式中s为调制方式为M-QAM的星座点集合. 因此,各时隙内所传输的信息比特长度为(2)文献[11]中提到对发送天线进行分组激活,但却没有充分利用“分组”这一有效信息. 特别地,本文在此引入b11=lb n作为天线分组信息比特,其中n为天线分组总数(n为2的整数次幂);并给定为第k组发射天线数目,且需保证Nt能被n整除). 因此,天线索引调制比特变更为最终每个时隙内所传输信息比特的长度变更为B2 =b11+b12+b2(3)由公式(3)可以看出,将发送天线按一定数目进行分组后多了一个天线分组信息,该分组信息n可以调制lb n个信息比特. 并且,天线激活组合总数由降低为由此发送端的信号空间复杂度得到了降低,且取决于天线分组的数量这样做会换来系统容量的提升,但同时会增加接收端信号检测的压力,需要我们在接收端做相应的算法改进. 假定信道H是维无线瑞利衰落信道,中的子向量满足均值为0、方差为1的复高斯分布. 因此,调制后的符号向量通过信道矩阵H后,接收信号y可表达为y=Hxk+n.(4)式中: k为天线组号;n表示方差为的加性高斯白噪声(additive white gaussian noise, AWGN).由文献[9]知,接收机检测输出为(5)式中Na维调制符号向量s,构成发送信号向量集合Q=sNa×1.激活天线组合I对应的Na列子向量hiNa,构成信道矩阵HI=(hi1,hi2,…,hiNa). Γ={I1,I2,…,IN},Ii表示第i个天线组合,且i∈{1,…,N},N为激活天线组合总数.式(5)中最优解的获取,需通过ML检测算法对发送信号向量空间的遍历搜索.2 提出的检测算法文献[12]提到的一种改进IOB-MMSE能够逼近ML检测性能并且降低了检测复杂度,但其性能只局限于低阶QAM调制系统和收发天线较少的场景,并不适用于大规模MIMO-GSM系统. 因此,为了能够克服该算法自身存在的缺陷,同时保证接收机较低的检测复杂度,提出一种广义空间调制中MIMO系统的优化检测算法.2.1 基于ML优化的天线组合排序考虑到信道状态信息(channel state information, CSI)已知,即信道矩阵HIi已求得的情况下,在接收端进行信号检测,得到的信息符号估计值为(6)式中为信道伪逆矩阵.令(7)则式(5)中距离度量值(8)可写成(9)该公式可说明天线组合Ii决定了距离度量值的大小. 又由Pythagoras定理可知:=‖PHIiy‖2+‖(INr-PHIi)y‖2.(10)对于接收端接收到的信号向量y,可认为是一个定值. 所以若要使式(10)中距离度量值最小,则等价于使最大. 这也可以理解成当接收到的信号一定,检测出发送信号的质量越好,那么误差也就越小.这里,人为定义一种质量因子qi=‖PHIiy‖2=yHPHIiy,(11)以此来衡量所有天线组合对应接收信号质量的好坏.通过式(11),将计算得到的质量因子qi构成集合Q=[q1,q2,…,qN](N为激活天线组合总数),最后降序排列得到结果即[u1,u2,…,uN]=arg sort(Q).(12)式中:sort()表示降序排列操作;u1和uN分别表示天线组合中所对应的最大和最小的质量因子.这里,质量因子越大只能说明其对应的某组激活天线可能性越大,并不能直接判定就是该组天线组合,还需进行星座符号联合检测,从而更好地确定天线组合索引.2.2 基于ML量化判决的符号检测若以上算法已将天线组合按照质量因子大小进行排序,天线组合Iuj的可能性排序也就给定了,式(5)因而可简化为j∈{1,2,…,N}.(13)其中,通过已知信道矩阵HIi中的各分量可以求得(14)由于存在噪声等干扰的影响,并非最终检测结果因此,还需利用M-QAM调制信号实部与虚部的独立性,最终确定检测结果[13].图2是以16-QAM为例的星座点划分示意图,黑色圆点代表标准星座映射点,虚线代表二维平面中的符号量化解调边界. 按照式(13)中的ML准则可确定这一解调界线,其基本步骤是将求得的符号通过解调界限,量化判决成相应的星座点,依照ML准则消除干扰噪声,并最终输出检测符号这里先要区分已求得的具体落在哪个量化区域内,才能将其判决成对应的星座点.图2 16-QAM星座点划分示意图Fig.2 16-QAM divided constellation points diagram根据16-QAM星座调制公式j(1-2b(i+1))(2-(1-2b(i+3)))],(15)为了计算方便且不影响输出结果,系数将被统一舍去.所以在二维坐标平面上,量化区域被分为以下几个部分:将求得的除去其固定系数判断其实部和虚部组成的二维坐标的具体区间,最终估计得到发送信息符号代入式(5)中,进行激活天线组合索引的最大似然搜索,即有(16)对于式(16),若将所有可能的天线组合进行检测,算法的计算复杂度会过大. 这里,考虑引入门限阈值Vth,借助文献[14]中的可信度判断准则(reliability judge rule, RJR),以此衡量检测出的信号向量是否可靠. 通过化简RJR式子,可得下式:(17)根据上式中的检测误差上限值因此门限阈值可定为若‖y-hIuj时,则停止检测,输出结果此时,天线组合与符号向量分别取若‖y-hIuj时,则开始下一次的检测;若检测完集合Q中所有的天线组合,‖y-hIuj仍不能小于Vth,则将检测过程中的最小值作为结果输出.以上算法步骤总结如下:Start:initialize j=1Step 1 计算质量因子qi=yHPHIiy,then sort(qi) get 集合Q;Step 2 if j>N go to Step 5,else 计算Step 3 将求得的进行量化判决,检测出发送符号Step 4 if ‖y-hIuj go to Step 5,else j=j++ then go to Step 2;End3 复杂度和性能分析文献[13]中给出一种低复杂度最大似然(low complexity maximum likelihood, LC-ML)算法,该算法到目前为止是复杂度低、性能最接近于ML的一种检测算法,但其不足是在多天线的通信系统中复杂度过大. 本文通过将发送端天线进行分组激活,以及接收端进一步优化LC-ML检测算法,从而解决了LC-ML算法不支持多天线的问题. 以下是对所提算法与IOB-MMSE、LC-ML算法的复杂度分析和性能比较.3.1 复杂度分析考虑GSM系统中,Nt根发射天线,Nr根接收天线,N种天线激活可能,n为天线分组总数,为发射天线第k组内天线数目,每次分组激活其中的Na根发射天线,采用调制方式16-QAM. 这里,计算复杂度的统计由算法的实数乘法运算次数确定. 以下为具体的复杂度计算方式:在计算过程中,天线分组并不会增加复杂度. 计算质量因子qi=‖PHIiy‖2=y HPHIiy 时需要进行的实数乘法运算次数为计算时,因上式计算过程中其作为中间值出现,故不重复统计其复杂度;计算‖y-hIuj时,其实数乘法运算次数为6NrNavr.表1中给出本文所提算法以及参考文献[12-13]所提供的IOB-MMSE和LC-ML算法的复杂度计算公式.表1 三种算法的计算复杂度Tab.1 The computational complexity of the three algorithms算法类型计算复杂度本文所提算法4NrN+6NrNkt+4Na+2N2a+6NrNavrIOB-MMSE10NrN+6NrNt+4Na+4N2aLC-ML[6NaNr+6Na+3]Nt表2中给出两种系统模型8×8MIMO、64×8MIMO具体参数的配置.表2 系统模型的参数配置Tab.2 Parameter configuration of system model系统配置参数配置NtnNktNrNa8×8MIMO8188264×64MIMO648882为了能够更加直观地比较算法的计算复杂度,图3给出了在8×8MIMO以及典型的大规模天线系统模型64×8MIMO下,三种算法复杂度的统计和比较结果.(a) 8×8MIMO系统(a) 8×8MIMO system(b) 64×8MIMO系统(b) 64×8MIMO system图3 三种算法的复杂度比较Fig.3 Computational complexity for the three algorithms由图3的复杂度比较结果可以明显看出:IOB-MMSE算法复杂度最高,且在典型的大规模天线模型64×8MIMO下尤为显著;在8×8MIMO系统模型下,所提算法复杂度与其他两种优化算法相差不多,但在大规模天线系统64×8MIMO下,其复杂度相较于其他两者有了很大的降低. 虽然所提算法的复杂度随着检测次数Ntext的增加而增大,但都远小于LC-ML算法的计算复杂度. 因此,在64×8MIMO的系统模型下,此时给定检测次数Ntext=N,所提算法的计算复杂度约为LC-ML算法复杂度的20.5%.3.2 性能分析将本文所提算法与LC-ML、IOB-MMSE算法进行性能比较,对于不同的天线数量和不同的检测次数,其误比特率(bit error rate, BER)仿真曲线如图4和图5所示. 图4 8×8MIMO、64×8MIMO系统,三种算法的BER性能曲线比较图Fig.4 Comparison diagram of the BER performance curve of the three algorithms in 8×8MIMO 64×8MIMO图5为在8×8MIMO、64×8MIMO系统模型下,三种算法的BER仿真曲线比较. 由图可知,此时IOB-MMSE算法性能已经不太理想. 但所提算法在64×8MIMO系统模型下,都与LC-ML性能十分接近,并且计算复杂度有着大幅度的降低.图5 不同检测次数下,两种算法的BER性能曲线Fig.5 The BER performance curve of the algorithm under different detection times图5为在不同检测次数N的条件下,本文所提算法与性能最好的LC-ML算法进行BER性能比较,参数配置为64×8MIMO的大规模天线系统模型. 性能仿真结果表明,本文所提算法当检测次数Ntext=N时,其收敛速度较快且性能最接近于LC-ML算法. 注意到当BER为10-3时,Ntext=N/4、Ntext=N/8所对应的BER性能较LC-ML算法有1.65 dB、2.45 dB的损失. 虽然随着检测次数的减少导致BER性能有所下降,但获得了复杂度的有效降低. 以上仿真结果表明,本文所提算法可通过改变检测次数,在BER性能与复杂度博弈之间取得良好的平衡.4 结论MIMO-GSM系统中信号检测复杂度过高的问题,迫使研究者们不得不从各方面着手来尽可能地降低计算复杂度. 文中给出的一种新思路是将发送天线按特定数目进行分组后激活,随即增加一维天线分组信息. 这样可以充分利用大规模天线带来的空间分集增益,也能更好地缩小检测算法对于信号空间的搜索范围. 通过大规模天线系统模型下的仿真,可以看出本文提出的算法具有复杂度低、误码率低的特点,在采用广义空间调制的通信系统中具有较高的工程应用价值. 当前研究局限于16-QAM 调制方式,后续工作将针对广义空间调制中的高阶调制进行研究,以便更好地满足未来通信系统的要求.参考文献【相关文献】[1] MESLEH R, HAAS H, CHANG W A, et al. Spatial modulation—a new low complexity spectral efficiency enhancing technique[C]//International Conference on Communications and Networking in China. Beijing: IEEE, October 25-26, 2007:1-5.[2] RENZO M D, HAAS H, GHRAYEB A, et al. Spatial modulation for generalized MIMO: challenges, opportunities, and implementation[J]. Proceedings of the IEEE, 2013, 102(1): 56-103.[3] MESLEH R Y, HAAS H, SINANOVIC S, et al. Spatial modulation[J]. IEEE transactions on vehicular technology, 2017, 57(4): 2228-2241.[4] NARASIMHAN T L, CHOCKALINGAM A. On the capacity and performance of generalized spatial modulation[J]. IEEE communications letters, 2016, 20(2): 252-255. [5] JU P, ZHANG M, CHENG X, et al. Generalized spatial modulation with transmit antenna grouping for massive MIMO[C]//IEEE International Conference on Communications. IEEE, 2017:1-6.[6] NARASIMHAN T L, RAVITEJA P, CHOCKALINGAM A. Generalized spatial modulation in large-scale multiuser MIMO systems[J]. IEEE transactions on wireless communications, 2015, 14(7): 3764-3779.[7] PATCHARAMANEEPAKORN P, WU S, WANG C X, et al. Spectral, energy, and economic efficiency of 5G multicell massive mimo systems with generalized spatial modulation[J]. IEEE transactions on vehicular technology, 2016, 65(12): 9715-9731.[8] XIAO Y, YANG Z, DAN L, et al. Low-complexity signal detection for generalized spatial modulation[J]. IEEE communications letters, 2014, 18(3): 403-406.[9] YOON H Y, LEE G H, KIM T H. Efficient sphere decoding based on a regular detectiontree for generalized spatial modulation MIMO systems[J]. IEICE transactions on communications, 2018, 101. DOI: 10.1587/transcom.2017EBP3030[10] AFRIDI S, HASSAN S A. Spectrally efficient adaptive generalized spatial modulation MIMO systems[C]//Consumer Communications & Networking Conference. IEEE, 2017.[11] 陈发堂,查凡超.一种广义空间调制系统的低复杂度检测算法[J].计算机应用研究, 2017, 34(3): 846-848.CHEN F T, ZHA F C. Low-complexity signal detection algorithm for generalized spatial modulation[J]. Application research of computers, 2017, 34(3):846-848. (in Chinese) [12] CHEN C E, LI C H, HUANG Y H. An improved ordered-block MMSE detector for generalized spatial modulation[J]. IEEE communications letters, 2015, 19(5):707-710. [13] MEN H, JIN M. A low-complexity ML detection algorithm for spatial modulation systems with MPSK constellation[J]. IEEE communications letters, 2014, 18(8):1375-1378.[14] WANG F, XIONG Y, YANG X. Approximate ML detection based on MMSE for MIMO systems[J]. Piers online, 2007, 3(4): 475-480.。
基于CPU+GPU异构并行的广义共轭余差算法性能优化
基于CPU+GPU异构并行的广义共轭余差算法性能优化黄东强;黄建强;贾金芳;吴利;刘令斌;王晓英【期刊名称】《郑州大学学报:工学版》【年(卷),期】2022(43)6【摘要】为了提高GRAPES数值天气预报模式的计算效率,改善动力框架部分的性能,针对广义共轭余差算法(GCR)求解赫姆霍兹方程在GRAPES模式中耗时较大的问题,提出了一种基于CPU+GPU异构并行的预处理广义共轭余差算法。
采用不完全LU分解对系数矩阵进行预处理来减少迭代次数,在此基础上实现了OpenMP的细粒度并行和MPI粗粒度并行,OpenMP并行主要是采用循环展开的方式对程序中无数据依赖的循环体使用编译制导来提高程序的性能;MPI并行主要是将数据划分给各个进程,采用非阻塞通信和优化进程通信数据量的方式来提高并行程序的可拓展性。
实现了MPI+CUDA异构并行,MPI负责节点间进程通信以及迭代控制,CUDA负责处理计算密集型任务,将GCR中耗时较大的矩阵计算部分移植到GPU上处理,采用访存优化和数据传输优化来减少CPU和GPU间的数据传输开销。
实验结果表明:与串行程序相比,OpenMP并行加速比为2.24,MPI并行加速比为3.32,MPI+CUDA异构并行加速比为4.69,实现了异构平台上的广义共轭余差算法性能优化,提高了程序的计算效率。
【总页数】7页(P15-21)【作者】黄东强;黄建强;贾金芳;吴利;刘令斌;王晓英【作者单位】青海大学计算机技术与应用系【正文语种】中文【中图分类】TP311.1;O244【相关文献】1.改进的并行广义共轭残差算法2.面向CPU+GPU异构平台的模板匹配目标识别并行算法3.适合于分布式并行计算的一种并行广义乘积型双共轭残差方法4.广义共轭余差法的通信避免算法5.CPU+GPU异构并行的矩阵转置算法研究因版权原因,仅展示原文概要,查看原文内容请购买。
一种改进的适合并行计算的共轭剩余算法
一种改进的适合并行计算的共轭剩余算法刘杰;刘兴平;迟利华;胡庆丰【期刊名称】《计算机学报》【年(卷),期】2006(029)003【摘要】通过改变CR算法的计算次序,提出了一种改进的共轭剩余(ICR)算法.对比CR算法,ICR算法的数值稳定性和CR算法相同,几乎没有增加计算量,但考虑了在MIMD并行机上实现时并行算法的性能,其同步开销减少为CR算法的一半,并且所有内积计算以及矩阵向量乘是独立的,没有数据相关性,可以进行计算与通信的重叠.从理论和实验两个角度来讨论ICR算法的性能,当处理机台数较多时ICR算法的计算速度快于CR算法.在64台处理机机群上进行的数值实验表明,并行ICR算法的计算速度大约比CR算法快30%.【总页数】5页(P495-499)【作者】刘杰;刘兴平;迟利华;胡庆丰【作者单位】国防科学技术大学计算机学院并行与分布处理国家重点实验室,长沙,410073;北京应用物理与计算数学研究所,北京,100088;国防科学技术大学计算机学院并行与分布处理国家重点实验室,长沙,410073;国防科学技术大学计算机学院并行与分布处理国家重点实验室,长沙,410073【正文语种】中文【中图分类】TP301【相关文献】1.基于残余平滑-预处理共轭梯度算法的有限元并行计算 [J], 付朝江;陈洪均2.一种改进的适合并行计算的TFQMR算法 [J], 刘杰;迟利华;胡庆丰;李晓梅3.适合于分布式并行计算的一种并行广义乘积型双共轭残差方法 [J], 左宪禹;谷同祥;莫则尧;刘兴平4.一种改进的基于线性有限元并行计算的追赶算法 [J], 于丹5.一种适合于分布式并行计算改进的平方共轭残差法 [J], 张理涛;黄廷祝;谷同祥;左宪禹因版权原因,仅展示原文概要,查看原文内容请购买。
分步傅里叶法求解广义非线性薛定谔方程的改进及精度分析_赵磊
A z
=
-
2A+
i
k
2
ik k k!
kA Tk
+i
1+
i
0
T (A*
).
( 6)
2 2 分步傅里叶方法
为便于了解分步傅里叶算法的基本原理[ 3] , 把 方程( 6) 改写成如下形式:
A z
=
( D^ +
N^) A ,
( 7)
式中, D^ 是差分算符, 表示线性介质的色散和吸收;
N^ 是非线性算符, 代表非线性效应. 这两种算符可以
( 10)
注意到, 计算色散时存在高阶偏微分项, 在时域 中不方便计算, 但可利用傅里叶变换, 把偏微分方程
变换为代数方程进行运算. 根据傅里叶变换的微分
性质, 算符 D^ 中的时间微分 n T n 用 ( i ) n 代替,
利用傅里叶变换和逆变换, 表达式( 10) 变为
A(z + h, T)
exp( hN^) F- 1{ exp( hD^( i ) ) F [ A ( z , T ) ] } .( 11)
0 18. 拉曼响应函数 hR( t ) 的一个有用形式为
hR( t) =
2 1
+
2
2 2 exp( -
t
1 ) sin( t
2)
( t ) , ( 3)
12
1 和 2 是两个可以调节的参数, 通常使用的数值
是 1= 12 2 fs 和 2= 32 fs. ( t ) 是 Heaviside 函数.
第 58 卷 第 7 期 2009 年 7 月 1000- 3290 2009 58( 07) 4731- 07
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2算法描述
给定线性矩阵方程组
Ax=b (1)
((,却,)一q
SAp,,Ap.)=0
(2)
其中,矩阵A∈月”“为非奇异非对称矩阵;b∈R“,上∈R”; 针对式(1)给出的GCR算法如算法1所示,初始值取
(7)
令aJ=(‘,tj),bj=(q,,qj),c,=(f』,tj),吒=(f,,q1),
i=U'1,…,』一1,则改进的GCR算法如算法2所示。 算法2 IGCR算法
由上述讨论可知,GCR算法中的第』步迭代中需要1次 矩阵向量乘、4次向量校正和j+3次内积计算,j+1个参数屈, 和1个参数口.校正的浮点计算,该算法的第J步迭代并行计 算时间为 硭硼=tm,+乞(,+1)+‰(2)+2屯(2)+2t"f,+2,+(,+2)t,=
t。,=(2q一1)(N/P)tr+2“,+qt。) (5)
IGCR算法总的计算时间为
t,Gc月:(2q+3n+10)fⅣ/P)ntr+
(2n2十3n)t,十(2f,+(,l+5)f。)nlbP+2n(fT+qt。)
(1 1)
由式f10)和式(11)可知,当处理机台数满足下式时
1bP>堕竺‘
4f.
(12)
IGCR算法比GCR算法的并行计算时间要少好。
由式(9)求解兰警=0可得GCR算法并行计算时问最小
时的处理机台数
k%群
,|P
㈣,
由式(10)求解ot、tc,。c塑=0可得IGCR算法并行计算时间最
小时的处理机台数 ‰cs
只。。:—(2q+3n+l—O)Nt/In 2—百i再矿
2
¨叫 (14)
在分布式存储并行机中ts>>t。,且2种算法所需迭代次
积,须对这k个局部内积均进行一个全归约(ALL—REDUCE) 的通信。其通信时间为2(f。+kt。)lbP。因此,k个向量内积的 并行计算时间为
(4) 0(≈)=2(kN/P)tr+2(f,+kt。)lbP
(6)
(o,q,+1)2(%,A乃+1)=f‘"A5。)+盔岛(0l,An)=(r卅,‰)(3)
(2q+6j+13)(Ⅳ/P)t,十(J+2)f
r+
(1)ff算毛=b—Axn,to=Aro,0【o=(rn,t(I) 取Po=ro,qo=to,bo=(qo,qo) (2)对j=0,1,…直到收敛计算;
(3)aj=0【J/bj; (4)xj+j
2
2(2t,十(J+3)t。)lbP+2(t。+qt。)
Improved Parallel Generalized
(Department of Computer Science
Conjugate
Posts
Residual
Algorithm
ZHAo Li.bin.TIAN You.xian
and
Technology,Chongqing University of
performance
of the IGCR
algorithm
is better than that of the GCR
algorithm.
[Key words]Generalized Conjugate Residual(GCR)algorithm;parallel computation;synchronization
XJ+OrJPJ;
(8)
IGCR算法中的第.『步迭代中则需要1次矩阵向量乘、
(5)0l 2‘一0【Jqj;
(6)tH 2At.1;
4次向量校正和j+3次向量内积计算,j+1个参数∥,和1个参 数口,校正的浮点计算,6。校正的浮点计算,该算法一步迭 代并行计算时间为 f南c膏=0,+0(』+3)+2f"(2)+2t坩(』十2)+(4I,+5)tf=
proposed fol solving
the times
non—symmetric sparse
linear
convergence of computes
IGCR algorithm
the
GCR algorithm.but
memory
of
the synchronization overhead
on
are r℃duced
by
a
factor of
it
using
IGCR algorithm
distributed
cluster systems
based
MPI environment.The numerical
result and theoretical analysis prove that the
4数值示例
本文数值计算的测试环境为包括8个节点的工作站机 群,主节点的基本配置为Inter 内存。各节点通过1
000 P4 2.0 GHz,512 MB
overhead
1概述
天气预报、结构分析、热传导、电力网格分析、地球物 理勘探等科学与工程计算中的许多问题都可归结为求解线性 方程组问题。Krylov子空间方法常用来求解稀疏线性方程组, 是许多应用软件的核心算法之一。研究人员对其并行实现已 经作了很多工作。为减少同步开销,文献[1】得到改进的CG 算法;文献【2]和文献【3]分别讨论如何减少CG算法在并行机 上的同步开销;文献【4】给出CR算法的改进形式ICR算法。 广义共轭残差算法(GCR)151是一种求解大型非对称稀疏线性 方程组的Krylov子空间方法,它需要向量内积、矩阵向量乘 积和向量校正的计算。在分布式存储的计算机上,矩阵和向 量分布在各台处理机上,向量内积和矩阵向量乘积计算需要 各处理机间的通信,因此,必须进行全局通信的内积计算成 为GCR算法并行计算的瓶颈。 本文基于文献【l一4]改变算法计算次序的思想,利用GCR 算法的固有性质,针对非对称稀疏线性方程组的求解提出一 种改进的广义共轭残差算法(IGCR)。该算法具有与GCR算法 相同的收敛速度,而同步开销次数减少为GCR算法的一半。 同时本文在基于MPI的分布式存储并行机群上给出数值 示例。
(10)PH=‘州十∑kB…P; (11)qH=tHI+∑岛p㈣q;
(12)结束计算
由于IGCR算法和GCR算法具有相同的收敛性,若2种 算法均经过^次迭代收敛,则由式(7)和式(8)得到GCR算法 总的计算时间为
tt2ce=(2q+3忍+IO)(N/P)nt,+
由算法2可见,内积计算只需要一次全局同步开销。
Conjugate Residual(GCR)algorithm
GCR
algorithm is
interdependence
for
computation in paper.The
two when
the GCR algorithm,an
improved parallel is the same
on as
数较少时有%伸z 2屹曲,可见IGCR算法具有更好的扩
展性。 当t。>>t。>t r,且2种算法所需迭代次数较少时,与 GCR算法相比,IGCR算法的性能提高比率为
刀:—tGCe--—t/c,cR。
‘tG曲
!!!!!!£
(2q+3n+10)Nt,+4t。PlbP+2t。P
(15)
对于k个向量内积并行计算时问,每白处理机并行求解 局郎向量内积,计算时间为2(kN/P)t,。为计算t个整体内
the
and Telecommunications,Chongqing 400065)
and eliminating data large
[Abstract]By relying
inner product systems in this
on
aft
intrinsic property of
Generalized
(n2+3n)t,/2+(4f,+(_rz+5)f。)nIbP分析与比较
文献16 J对GCR算法的收敛性作了详细阐述,并得出结 论:当线性方程组系数矩阵A使fA+A7)/2为正定矩阵时, GCR算法至多经过Ⅳ步迭代便可给出线性方程组的解。其中 Jv为矩阵A的阶数。可见对于具有特定结构矩阵的线性方程 组,GCR算法所需迭代次数较少。 在分布式存储并行机群结构模型中,假没有P台处理机。 在2个给定的处理器问完成单位字的一次通信时间为启动时 间f。(包括打包、执行选路算法和建立通信界面的时间J和传 输单位字的时问t。之和。 以按行划分为例,设每个浮点运算时间均为f,,矩阵阶 数JV能被处理器台数P整除,假设不存在负载不平衡的问题。 对一般的稀疏矩阵结构并行矩阵向量乘的纯计算时间为 (2q-])(N/P)t,(每行进行了g—1次加法,q次乘法),其中,q 为每行非0元素的个数,其通信时间与系数矩阵结构以及矩 阵划分方式相关。在最坏情况下,按行划分需要的矩阵向量 乘要用到全部向量,而向量分布存储在每个机器上,因此, 须一次全收集(ALL—GATHER)的通信,通信时间为 2(f,+f。N/P)IbP。而对一般的稀疏矩阵结构,只须相邻处理 机之间进行通信即可,其通信时间为2(‘十qt。),与处理器台 数P和矩阵规模Ⅳ无关。下文考虑该种情况的矩阵向量乘通 信时间,其并行计算时间为
(q川,q川)=(f川,tpl)+2∑岛属(f川,吼)十∑岛霹(qi,吼)= Of+I,tj+l,一∑岛名(吼,吼)
消除GCR算法中2次内积计算中的数据相关性。 从武(4)可见,内积(q,,q,)能通过迭代的方法求出,从而
对于k个向量相加的向量校正,其无须通信,因此其并
行计算时间为
tve(≈)=2(k—1)(^,/P)t,
x0=0。
基金项目:重庆市科委基金资助项目(CST2005BBfg)61) 作者倚介;赵利斌(1983一),男,硕上研究生,主研方向:并行数值