3,686 research outputs found
An efficient way to assemble finite element matrices in vector languages
Efficient Matlab codes in 2D and 3D have been proposed recently to assemble
finite element matrices. In this paper we present simple, compact and efficient
vectorized algorithms, which are variants of these codes, in arbitrary
dimension, without the use of any lower level language. They can be easily
implemented in many vector languages (e.g. Matlab, Octave, Python, Scilab, R,
Julia, C++ with STL,...). The principle of these techniques is general, we
present it for the assembly of several finite element matrices in arbitrary
dimension, in the P1 finite element case. We also provide an extension of the
algorithms to the case of a system of PDE's. Then we give an extension to
piecewise polynomials of higher order. We compare numerically the performance
of these algorithms in Matlab, Octave and Python, with that in FreeFEM++ and in
a compiled language such as C. Examples show that, unlike what is commonly
believed, the performance is not radically worse than that of C : in the
best/worst cases, selected vector languages are respectively 2.3/3.5 and
2.9/4.1 times slower than C in the scalar and vector cases. We also present
numerical results which illustrate the computational costs of these algorithms
compared to standard algorithms and to other recent ones
Extending scientific computing system with structural quantum programming capabilities
We present a basic high-level structures used for developing quantum
programming languages. The presented structures are commonly used in many
existing quantum programming languages and we use quantum pseudo-code based on
QCL quantum programming language to describe them. We also present the
implementation of introduced structures in GNU Octave language for scientific
computing. Procedures used in the implementation are available as a package
quantum-octave, providing a library of functions, which facilitates the
simulation of quantum computing. This package allows also to incorporate
high-level programming concepts into the simulation in GNU Octave and Matlab.
As such it connects features unique for high-level quantum programming
languages, with the full palette of efficient computational routines commonly
available in modern scientific computing systems. To present the major features
of the described package we provide the implementation of selected quantum
algorithms. We also show how quantum errors can be taken into account during
the simulation of quantum algorithms using quantum-octave package. This is
possible thanks to the ability to operate on density matrices
- …