PyArmadillo: a streamlined linear algebra library for Python
PyArmadillo是一个Python语言的线性代数库,其目的是密切反映广泛使用的Armadillo C++库的编程接口,而Armadillo C++库又故意类似于Matlab。因此,PyArmadillo促进了直接在Python中使用类似Matlab的语法进行算法原型设计,以及将基于PyArmadillo的Python代码转换为基于Armadillo的高性能C++代码。转换后的代码可用于与pybind 11结合使用以加速基于Python的程序,或将最初以Python为原型的算法集成到更大的C++代码库中。PyArmadillo为矩阵和立方体提供了对象,以及200多个用于操作存储在对象中的数据的相关函数。支持浮点数和复数。通过与LAPACK或其高性能替代品之一(如Intel MKL或OpenBLAS)集成,可以提供各种矩阵分解。PyArmadillo是开源软件,在Apache 2.0许可下发布;可以在https://pyarma.sourceforge.io或通过Python包索引以预编译的形式获得。
2021-10-20 cs.MS
The Willing Kingdon Clifford Algebra Library
本文介绍开源 Python 库 Kingdon,通过输入类型无关设计、符号优化与即时编译,将几何代数高效集成到 PyTorch、NumPy、SymPy 等现有工作流中,并支持 Jupyter 可视化快速原型开发。
2025-03-13 cs.MS
Ginkgo: A Modern Linear Operator Algebra Framework for High Performance Computing
在本文中,我们介绍了Ginkgo,一个现代C++数学库的科学高性能计算。虽然经典的线性代数库作用于矩阵和向量对象,但Ginkgo的设计原则将所有功能抽象为“线性运算符”,从而激发了“线性运算符代数库”的符号。Ginkgo目前的重点是为高性能GPU架构提供稀疏线性代数功能,但考虑到库的设计,这一重点可以很容易地扩展到适应其他算法和硬件架构。我们介绍了这种复杂的软件架构,它将核心算法与特定于架构的后端分离开来,并提供了有关可扩展性和可持续性措施的详细信息。我们还通过提供如何在MFEM和deal.ii有限元生态系统中使用其功能的示例来演示Ginkgo的可用性。最后,我们提供了一个实际的演示Ginkgo的高性能在国家的最先进的GPU架构。
2020-07-01 cs.MS
Efficient Multiplication of Dense Matrices over GF(2)
我们描述了一个有效的实现算法的层次结构的乘法稠密矩阵在域上的两个元素(GF(2))。特别是,我们提出了我们的实现-在M4 RI库-的Strassen-Winograd矩阵乘法和“四个俄罗斯人的方法”乘法(M4 RM),并将其与其他可用的实现进行比较。良好的性能表现在AMD的Opteron上,特别是在英特尔的Core 2 Duo上。开源M4 RI库可以独立使用,也可以作为Sage数学软件的一部分使用。在机器术语中,GF(2)中的加法是逻辑XOR,乘法是逻辑AND,因此64位的机器字允许并行操作GF(2)的64个元素:最多一个CPU周期用于64个并行加法或乘法。因此,GF(2)上的逐元素运算相对便宜。事实上,在本文中,我们得出的结论是,实际的瓶颈是内存读写和数据局部性问题。我们提出了我们的实证研究结果,最大限度地减少这些,并给出了分析。
2008-11-11 cs.MS
Porting a sparse linear algebra math library to Intel GPUs
随着Aurora超级计算机将由通用英特尔CPU和独立高性能英特尔GPU组成,以及oneAPI生态系统的部署,英特尔已承诺进入独立高性能GPU领域。科学计算社区的一个核心要求是提供生产就绪的软件堆栈,以及他们在英特尔高性能GPU上所期望看到的性能。在本文中,我们通过DPC++编程环境介绍了第一个支持Intel GPU的平台可移植开源数学库。我们还在不同的英特尔GPU上对一些已开发的稀疏线性代数功能进行了基准测试,以评估DPC++编程生态系统将原始性能转化为应用性能的效率。除了量化特定于硬件的屋顶模型内的效率外,我们还将其与提供英特尔oneMKL供应商库附带的相同功能的例程进行比较。
2021-03-18 cs.DC cs.MS cs.PF
LAGraph: Linear Algebra, Network Analysis Libraries, and the Study of Graph Algorithms
图算法可以用线性代数来表示。GraphBLAS是面向算法开发人员的此类算法的低级构建块库。LAGraph建立在GraphBLAS之上,针对网络分析中常见的高级算法的图形算法用户。在本文中,我们描述了LAGraph库的第一个版本,库背后的设计决策,以及使用GAP基准测试套件的性能。然而,LAGraph不仅仅是一个图书馆。它也是一个记录和分析GraphBLAS支持的全系列算法的项目。为此,我们已经开发了一个紧凑和直观的符号来描述这些算法。在本文中,我们提出了从GAP基准套件的例子,符号。
2021-04-04 cs.DS cs.MS
PyLops -- A Linear-Operator Python Library for large scale optimization
线性算子和优化是信号和图像处理、遥感和逆问题中使用的许多算法的核心。对于小到中等规模的问题,现有的软件包(例如,MATLAB,Python numpy和scipy)允许显式构建密集(或稀疏)矩阵并执行代数运算(例如,矩阵-向量乘积的计算和矩阵的操作),其语法紧密地表示它们相应的分析形式。然而,许多实际应用中,大规模的运营商不适合显式矩阵表示,通常迫使从业者放弃方便的线性代数语法可用于显式矩阵对应。PyLops是一个开源的Python库,提供了一个灵活和可扩展的框架,用于创建和组合所谓的线性运算符,基于类的实体,表示矩阵并继承其相关的语法便利性,但不依赖于显式矩阵的创建。我们表明,与显式矩阵计算相比,PyLops运算符可以显着减少内存负载和CPU计算,同时仍然允许用户无缝地使用他们现有的基于紧凑矩阵的语法知识,这些语法可以扩展到任何问题大小,因为不需要显式矩阵。
2019-07-29 cs.MS
Algorithm librla: A library of randomized linear algebra routines
Department of Applied Mathematics, University of Colorado Boulder(科罗拉多大学博尔德分校应用数学系);National Institute of Standards and Technology (NIST)(美国国家标准与技术研究院)
librla是为中等规模矩阵设计的随机线性代数库,能在多种高级语言中稳定高效运行,功能比现有软件更多,用户可按需求选分解方式,数值结果显示其在三种语言中性能相当。
2026-08-06 cs.MS cs.NA math.NA
Rings: an efficient Java/Scala library for polynomial rings
在本文中,我们简要地讨论了\Rings --一个高效的轻量级交换代数库。多项式算术,GCD,多项式分解和格罗布纳基的实施与现代渐近快速算法的使用。\Rings可以通过一个简单的API轻松地交互或嵌入到高能物理和其他研究领域的应用程序中,该API具有完全类型的代数结构和交换代数算法。Scala语言的使用带来了一个相当新颖的强大的、强类型的函数式编程模型,允许为应用程序编写简短、富有表现力和快速的代码。与此同时,Rings在现有的代数计算软件中表现最好。\Rings可从http://github.com/PoslavskySV/rings获得
2018-09-21 cs.MS cs.SC hep-ph
Efficient Decomposition of Dense Matrices over GF(2)
在这项工作中,我们描述了一个有效的实现算法的层次结构的分解稠密矩阵的领域与两个元素(GF(2))。矩阵分解是求解稠密线性和非线性方程组的一个重要组成部分,因此许多研究致力于提高此类算法的渐近复杂性。在这项工作中,我们讨论了在M4 RI库中的知名和改进的算法的实现。我们讨论的重点是M4 RI算法的一个新的变种-在这项工作中表示MMPF-它允许相当大的性能增益在实践中相比,以前最快的实现。我们提供了x86_64 CPU上的性能数据来证明我们方法的可行性。
2010-06-09 cs.MS
PALMA: A Lightweight Tropical Algebra Library for ARM-Based Embedded Systems
Axiom Research Group(axiom研究组);Department of Applied Mathematics and Computational Science, The Nelson Mandela African Institution of Science and Technology (NM-AIST)(应用数学与计算科学系,内勒曼达非洲科学技术研究所(NM-AIST));African Institute for Mathematical Sciences (AIMS), Research and Innovation Centre (RIC)(非洲数学科学研究所(AIMS),研究与创新中心(RIC))
PALMA是一种针对ARM架构嵌入式系统的轻量级热带代数库,通过SIMD加速内核实现高效计算,支持多种优化算法,提升嵌入式系统在实时控制中的性能。
2026-01-17 cs.AI cs.MS math.RA
A Java library to perform S-expansions of Lie algebras
本研究针对李代数收缩法的推广需求,聚焦S-展开方法,开发了可自动化执行任意半群下李代数S-展开的Java库,提供示例程序便于非Java专家修改使用,并展望了后续发展与应用方向。
2017-04-11 cs.MS hep-th math-ph
Introduction to StarNEig -- A Task-based Library for Solving Nonsymmetric Eigenvalue Problems
在本文中,我们提出了StarNEig库求解稠密非对称(广义)特征值问题。该库构建在StarPU运行时系统之上,面向共享和分布式内存机器。库的某些组件支持GPU。该库目前处于早期beta状态,仅支持实数运算。计划在未来版本中支持复杂数据类型。这篇文章是针对图书馆的潜在用户的。我们描述了库的设计选择和功能,并将其与ScaLAPACK等现有软件进行对比。StarNEig实现了一个ScaLAPACK兼容层,可以让新用户轻松过渡到StarNEig。我们证明了一个小的计算实验的图书馆的性能。
2019-05-13 cs.DC cs.MS
Optimizations of the Eigensolvers in the ELPA Library
对称或厄米特矩阵的(广义)本征值问题的求解是电子结构理论或材料科学中许多数值计算的共同子任务。求解本征值问题很容易占整个数值计算的相当大的一部分。对于计算材料科学领域的研究人员来说,本征值问题的有效和可扩展的解决方案是非常重要的。ELPA库是一个成熟的密集直接特征值求解器库,已被证明非常高效,并且可扩展到非常大的核心数量。在本文中,我们介绍了ELPA库的最新优化,适用于采用AVX-512 SIMD指令集的英特尔Skylake处理器家族的新HPC架构,或适用于使用最新GPU加速的HPC系统。我们还描述了一个完整的重新设计的API在一个现代的模块化的方式,除了一个更简单,更灵活的可用性,导致一个新的路径来访问系统特定的性能优化。为了确保特定科学设置或特定HPC系统的最佳性能,新API允许用户以直接的方式影响ELPA库中使用的算法和性能关键参数的内部细节。最重要的是,我们引入了一个自动调整功能,它允许以一种自包含的自动化方式找到最佳设置。在具有相似设置的许多特征值问题必须连续求解的情况下,ELPA库的自动调谐过程可以“在运行中”完成。依赖于所谓的自洽迭代的材料科学的实际应用可以从自动调谐中受益。在一些科学感兴趣的例子中,用FHI-aims应用程序模拟,展示了ELPA库最新优化的优点。
2018-11-03 cs.MS
Recursive function templates as a solution of linear algebra expressions in C++
本文讨论了一种C++中的递归函数模板,通过相应的模板参数来实现递归,以获得更好的计算性能。这些模板函数的某些特殊化结束了递归,并且可以使用优化的硬件依赖或独立例程来实现。除了已知的表达式模板技术,该方法被应用于解决线性代数表达式的BLAS库的帮助下。整个实现产生了一个新的库,它保持了面向对象的好处,并在测试中表现出更高的计算速度。
2003-02-19 cs.MS cs.PL
cpp11armadillo: An R Package to Use the Armadillo C++ Library
本文介绍了集成Armadillo线性代数C++库的R包cpp11armadillo,它简化了R中C++的集成流程,面向非编程背景的R用户,兼顾计算效率与易用性。
2024-09-01 cs.MS cs.PL stat.CO
dMath: A Scalable Linear Algebra and Math Library for Heterogeneous GP-GPU Architectures
本文介绍了一种新的可扩展并行数学库dMath,它展示了在使用节点内或节点间混合并行进行深度学习时的领先扩展能力。dMath提供易于使用的分布式基本原语和各种特定于域的算法。这些包括矩阵乘法,卷积和其他允许快速开发高度可扩展的应用程序,包括深度神经网络(DNN),而以前仅限于为单个GPU提供有效原语的库,如Nvidia cuplex和cudnn或来自Nerve neon框架的DNN原语。HPC软件的开发是一项困难的劳动密集型工作,需要独特的技能。dMath允许广泛的开发人员轻松利用并行和分布式硬件。这种方法的一个贡献是数据永久存储在GPU硬件上,避免了主机和设备之间的昂贵传输。利用了高级存储管理技术,包括对传输数据的高速缓存和通过池化的存储器重用。dMath的一个关键贡献是它为特定的支持领域提供了性能、可移植性和生产力。它使算法和应用程序编程人员能够快速解决问题,而无需管理与多级并行相关的显著复杂性。
2016-04-05 cs.DC cs.MS cs.NE
Accelerating R with high performance linear algebra libraries
线性代数例程是统计软件的基本构建块。在本文中,我们分析了如何可以提高R的矩阵计算的性能。我们使用R发行版中包含的标准线性代数库以及OpenBLAS、GotoBLAS和MKL等高性能库对一些矩阵运算进行了基准测试。我们的测试表明,MKL库获得了最好的结果,其他两个库具有相似的性能,但低于MKL库
2015-08-04 cs.MS
XAMG: A library for solving linear systems with multiple right-hand side vectors
本文介绍了XAMG库求解大型稀疏系统的线性代数方程组与多个右手边向量。该图书馆专门但不限于从椭圆微分方程的离散化获得的线性系统的解决方案。相应的数值方法包括Krylov子空间、代数多重网格、Jacobi、Gauss-Seidel和Chebyshev迭代法。并行化采用MPI+POSIX共享内存混合编程模型实现,该模型采用三级层次分解,每级使用相应的同步和通信原语。该代码包含许多优化,包括多级数据分段、索引压缩、混合精度浮点计算、向量状态标志等。XAMG库使用著名的hypre库的程序代码来构造多重网格矩阵层次结构。XAMG自己的迭代法求解阶段的实现与hypre相比,为所执行的测试提供了两倍的加速。此外,XAMG还提供了扩展功能来解决具有多个右侧向量的系统。
2021-03-12 cs.DC cs.MS cs.NA
Program Generation for Linear Algebra Using Multiple Layers of DSLs
计算科学和工程中的数值软件通常依赖于BLAS和LAPACK等库中高度优化的构建块,虽然这些库为各种计算架构提供了可移植的性能,但它们在灵活性方面仍然存在局限性。我们提倡一个特定领域的程序生成器能够产生库例程定制的应用程序的具体需求,在规模,接口和目标体系结构。
2019-06-20 cs.MS
Efficient Dense Gaussian Elimination over the Finite Field with Two Elements
在这项工作中,我们描述了一个有效的实现层次的算法高斯消除稠密矩阵的领域有两个元素。我们讨论了著名的和新的算法,以及我们的M4RI库,这已被纳入Sage的实现。我们讨论的重点是PLE分解的块迭代算法,它的灵感来自于M4RI算法。在这项工作中提出的实现提供了相当大的性能增益在实践中相比,以前最快的实现。我们提供了x86_64 CPU上的性能数据来证明我们方法的敏捷性。
2011-11-28 cs.MS math.AC
JAX-AMG: A GPU-Accelerated Differentiable Sparse Linear Solver Library for JAX
Cornell University(康奈尔大学);University of Notre Dame(圣母大学)
提出JAX-AMG,通过封装Nvidia AmgX求解器套件,为JAX生态提供GPU加速的代数多重网格求解器,支持自动微分、分布式多GPU执行,适用于PDE约束优化和反问题。
2026-07-30 cs.MS physics.comp-ph
Algorithm 979: Recursive Algorithms for Dense Linear Algebra -- The ReLAPACK Collection
为了利用高度调优内核的内存局部性和全部性能潜力,密集线性代数库(如LAPACK)通常将操作实现为分块算法。然而,为了用这样的算法实现次优性能,需要显著的调优。另一方面,递归算法实际上是无调优的,但仍能获得类似的性能。在本文中,我们首先分析和比较阻塞和递归算法的性能,然后介绍ReLAPACK,递归算法的开源库,无缝地取代大多数LAPACK的阻塞算法。在许多情况下,ReLAPACK明显优于参考LAPACK,甚至提高了优化库的性能。
2022-04-06 cs.MS cs.PF
DiffSharp: An AD Library for .NET Languages
National University of Ireland Maynooth(爱尔兰国立梅努斯大学);University of Oxford(牛津大学);Purdue University(普渡大学)
DiffSharp是一个用于.NET生态系统的算法微分或自动微分(AD)库,它是C#和F#语言的目标。该库的设计考虑到了机器学习应用程序,允许非常简洁地实现模型和优化例程。DiffSharp是在F#中实现的,它将正向和反向AD运算符公开为通用的可嵌套高阶函数,可用于任何.NET语言。它提供了高性能的线性代数基元-标量,向量和矩阵,正在进行张量的推广-所有AD运算符都完全支持,并且通过高度优化的OpenBLAS库使用BLAS/LAPACK后端。DiffSharp目前使用运算符重载,但我们正在使用F#的“代码引用”元编程功能开发该库的基于转换的版本。基于CUDA的GPU后端的工作也在进行中。
2016-11-10 cs.LG cs.MS
Automatically Harnessing Sparse Acceleration
稀疏线性代数是许多科学程序的核心,但编译器未能很好地优化它。高性能库是可用的,但采用成本很高。此外,库将程序绑定到特定于供应商的软件和硬件生态系统中,从而创建不可移植的代码。在本文中,我们开发了一种新的方法,我们的规约语言的线性代数计算(LiLAC)的实现者的基础上。不需要应用程序开发人员为给定的库(重新)编写每个程序,而是将负担转移到库实现者的一次性描述中。启用LiLAC的编译器使用此方法插入适当的库例程,而无需更改源代码。LiLAC提供自动数据编组,维护调用之间的状态并最大限度地减少数据传输。在编译器中间表示中检测用于库插入的适当位置,与源语言无关。我们评估了用FORTRAN编写的大规模科学应用程序;标准C/C++和FORTRAN基准测试;以及C++图形分析内核。在异构平台、应用程序和数据集之间,我们展示了1.1 $\times$到10 $\times$以上的加速,而无需用户干预。
2020-01-22 cs.MS cs.PF
A Unified Iteration Space Transformation Framework for Sparse and Dense Tensor Algebra
我们解决的问题,优化混合稀疏和稠密张量代数在编译器中。我们表明,标准的循环变换,如条带挖掘,平铺,折叠,并行化和向量化,可以应用到稀疏迭代空间上的不规则循环。我们还展示了如何将这些变换应用于稀疏张量数据结构的连续值数组,我们称之为位置空间,以解锁负载平衡的平铺和并行性。我们已经在开源TACO系统中对这些概念进行了原型化,在那里它们被公开为类似于Halide域特定语言的调度API,用于密集计算。使用这个调度API,我们展示了如何优化混合稀疏/密集张量代数表达式,如何通过在位置空间中调度稀疏张量代数来生成负载平衡代码,以及如何生成稀疏张量代数GPU代码。我们的评估表明,我们的转换,让我们生成良好的代码,与许多手工优化的实现从文献中的竞争力。
2019-12-28 cs.MS cs.PL
An Example of Clifford Algebras Calculations with GiNaC
Clifford代数计算的这个示例使用GiNaC(http://www.ginac.de/)库,该库包括从版本~1.3.0开始的对通用Clifford代数的支持。符号和数值计算都是可能的,并且可以与GiNaC的其他功能混合。该计算是针对数学论文CV/0410399进行的。描述的GiNaC功能已经在PyGiNaC(http://sourceforge.net/projects/pyginac/)上可用,并且由于课程应该传播到其他软件,如GNU Octave(http://www.octave.org/),gTybalt(http://www.fis.unipr.it/gtystefanw/gtybalt.html),它们使用GiNaC库作为后端。
2005-12-09 cs.CG cs.GR cs.MS
HLinear: Exact Dense Linear Algebra in Haskell
我们提出了一个实现功能的程序设计语言Haskell的PLE分解的矩阵在除环。我们的基准测试表明,它是具有竞争力的基于C的实现在弗林特。通过描述我们工作的指导原则,我们向读者介绍了高性能函数式编程的基本思想。
2017-08-10 cs.MS cs.SC
f4ncgb: High Performance Gröbner Basis Computations in Free Algebras
Institute for Symbolic Artificial Intelligence, Johannes Kepler University Linz(林茨约翰·开普勒大学符号人工智能研究所)
f4ncgb是首个在自由代数中实现高性能非交换格罗布纳基底计算的开源库,通过迁移交换代数算法提升计算效率。
2026-01-01 cs.MS cs.SC
Developing a High Performance Software Library with MPI and CUDA for Matrix Computations
如今,并行计算的范式正在发生变化。CUDA现在是GPU上通用计算的流行编程模型,大量应用程序被移植到CUDA,与优化的CPU实现相比,获得了数量级的加速。将消息传递模型与用于并行计算的共享内存模型相结合的混合方法是非常大型应用程序的解决方案。我们考虑了一个异构集群,它使用MPI和CUDA将CPU和GPU计算结合起来,以开发高性能线性代数库。我们的图书馆处理大型线性系统求解器,因为它们是科学和工程领域的常见问题。由于高存储器需求和计算成本,用于计算此类系统的解的直接方法可能非常昂贵。一种有效的替代方法是只计算解的近似值的迭代法。在本文中,我们提出了一个实现的库,使用MPI和CUDA实现直接和迭代线性系统求解器的混合计算模型。我们的库使用MPI/CUDA组合实现了基于LU和Cholesky分解的求解器和一些非平稳迭代法。我们比较了我们的MPI/CUDA实现的性能与经典的程序写在一个单一的CPU上运行。
2015-11-23 cs.DC cs.MS
Scorch: A Library for Sparse Deep Learning
Stanford University(斯坦福大学);KTH Royal Institute of Technology(瑞典皇家理工学院)
针对现有深度学习框架稀疏操作支持不足的问题,提出可无缝集成到PyTorch的稀疏计算库Scorch,通过编译器栈自动优化与适配运行时,在CPU推理任务上实现1.05-5.78倍于PyTorch Sparse的速度提升,助力稀疏架构探索。
2024-06-20 cs.AI cs.LG cs.MS
Performance evaluation of multiple precision matrix multiplications using parallelized Strassen and Winograd algorithms
众所周知,Strassen和Winograd算法可以减少与稠密矩阵乘法相关的计算成本。我们已经证明,它们对于基于软件的多精度浮点运算环境(如MPFR/GMP库)也非常有效。在本文中,我们表明,我们可以获得相同的效率双(DD)和四倍双(QD)的QD库支持的环境,并行化可以提高这些多精度矩阵乘法的速度。最后,我们证明了我们实现的并行Strassen和Winograd算法可以提高并行LU分解的速度。
2015-10-29 cs.MS cs.NA math.NA
Finite-Dimensional Type I von Neumann Algebras in PyTorch: A GPU-Accelerated Framework for Random Block-Diagonal Operators
提出一个基于PyTorch的开源库torch_vn_algebra,用于有限维I型冯·诺伊曼代数的数值实验,支持随机算子生成、函数演算和迹泛函,并通过GPU加速实现中等规模蒙特卡洛研究。
2026-10-21 cs.MS cs.NA math.NA
Solver composition across the PDE/linear algebra barrier
耦合偏微分方程(PDE)离散化的有效解是许多数值模拟的核心。显著的努力已经花费在可扩展的算法,以预处理Krylov迭代的线性系统的出现。除了少数例外,这种解决方案的策略的数值实现报告是特定于一个特定的模型设置,并密切联系的求解器策略的离散化和PDE,特别是当预处理需要辅助运营商。在本文中,我们提出了最近改进的Firedrake有限元库,允许直接开发的可扩展的,可组合的预处理器,解耦求解器的模型制定的积木。我们的实现扩展了PETSc库提供的线性求解器的代数可组合性,通过增加运算符,因此预处理器,能够提供任何必要的辅助运算符。而不是预先指定完整的求解器配置,绑定到模型,求解器可以独立于模型公式开发,并在运行时配置。我们用不可压缩流体和温度驱动对流的例子来说明。
2017-11-08 cs.MS cs.NA math.NA
A Study on the Influence of Caching: Sequences of Dense Linear Algebra Kernels
AICES, RWTH Aachen(亚琛工业大学 AICES 研究所)
本文研究了缓存对线性代数算法性能建模和预测的重要性,指出数据局部性比浮点运算优化更关键。
2014-02-21 cs.MS cs.NA cs.PF
Performance Modeling for Dense Linear Algebra
RWTH Aachen(亚琛工业大学)
本文提出一个自动生成BLAS和LAPACK统计性能模型的框架,通过评估和组合这些模型来正确排序等价算法并调优参数,在单核和多核环境下均有效。
2012-12-10 cs.MS cs.NA cs.PF