Scanning electrochemical microscopy: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Spinningspark
m Reverted edits by Mark Arsten (talk) to last version by Rjwilmsi
 
en>Monkbot
Line 1: Line 1:
<br><br>Since this is basically the final season of Burn Notice, it's time to pull out all the stops (or all the skeletons on closet). This week's episode sees the return of "Crazy Larry" Sizemore, perfectly played by Tim Matheson. What does he should want to do with anything? A lot, as it turns out, even though he's worthless.<br><br>Guide me through your resume. You have to know your resume inside and out. When there is anything on the resume that you're not comfortable talking about, it shouldn't be on there.<br><br>Unless anyone could have an [http://szybkokpir.pl/ceny/ abc] background, happen to be very preparing to define develop of your business in comparison to its profits. An easy definition of Profit properly Sales minus Expenses equals Profit. However in the business world, profits do not equate to cash. Your profit formula does not take into account the volume cash may tied up in production costs for products which not yet sold, would be to customers who still owe you money for sales that have already been distributed. Your business can look quite "profitable" while your bank account is over-drawn.<br><br>Don't let your stuff out pace your available storage. A person's don't adequate storage space organization becomes impossible. An individual run from shelf space there's really you are able except pile stuff through to your desk and (gulp) floor. To safeguard time consumer the stuff you need, while you're at it, get a place for temporary storage. Do you possess a tray at the front door of your home where specialists . hang house keys as well as put outgoing mailings? Most of us do. Actually makes it easier to gather our stuff before leaving the house. You can perform same part of your factory. If you're gonna be have a celebration or important task that day go ahead and pull the stuff you'll need and stuff it on this desk!<br><br>They have a special deal where purchasing "sign up now" down the road . get internet, phone and cable for $33 each a month for the first year. The caveat disclaimer at the underside of the actual (or print ad) says that it doesn't apply to existing men and women. So just think of SC as Time Warner and the actual customers as Amazon. You'll need can see where the present customers (like Walmart and Buy, who're the real cash backers for the Main Street protests) you will understand that this is usual business physical exercise. And it makes recognize.<br><br>If you do a high volume of credit cards or large checks will probably need develop a an be the cause of "undeposited funds". When consider a financial information or large check, there may be 5 days or more before an individual can the particular money. Probably the most way remain in out of trouble an enormous mistake concerning to use the undeposited funds account to monitor the money until this process clears your bank account.<br><br>In order to build a fortune you will be going to have to have to know how this game is brandished. Look for the whole that boasts a money manager (an accounting program) as a part. today. You may surprise yourself. You may locate one at the other turn. Do not be afraid to go forth and try new things, and remember, nothing ventured - nothing gained. Opportunity often appears in one of the most unlikely place.
In [[numerical mathematics]], '''hierarchical matrices (H-matrices)'''
<ref name="HA99">W. Hackbusch,
''A sparse matrix arithmetic based on H-matrices. Part I: Introduction to H-matrices'',
Computing (1999), 62:89–108</ref>
<ref name="MB08">M. Bebendorf,
''Hierarchical matrices: A means to efficiently solve elliptic boundary value problems'',
Springer (2008)</ref>
<ref name="HA09">W. Hackbusch,
''Hierarchische Matrizen. Algorithmen und Analysis'',
Springer (2009)</ref>
are used as data-sparse approximations of non-sparse matrices.
While a [[sparse matrix]] of dimension <math>n</math> can be represented efficiently in <math>O(n)</math> units of storage
by storing only its non-zero entries, a non-sparse matrix would require <math>O(n^2)</math> units of storage, and using this type
of matrices for large problems would therefore be prohibitively expensive in terms of storage and computing time.
Hierarchical matrices provide an approximation requiring only <math>O(n k\,\log(n))</math> units of storage, where <math>k</math> is a
parameter controlling the accuracy of the approximation.
In typical applications, e.g., when discretizing integral equations
<ref name="HAKH00">W. Hackbusch and B. N. Khoromskij,
''A sparse H-Matrix Arithmetic. Part II: Application to Multi-Dimensional Problems'',
Computing (2000), 64:21–47</ref>
<ref name="MB00">M. Bebendorf,
''Approximation of boundary element matrices'',
Num. Math. (2000), 86:565--589</ref>
<ref name="BERJ03">M. Bebendorf and S. Rjasanow,
''Adaptive low-rank approximation of collocation matrices'',
Computing (2003), 70:1–24</ref>
<ref name="BOGR05">S. B&ouml;rm and L. Grasedyck,
''Hybrid cross approximation of integral operators'',
Num. Math. (2005), 101:221–249</ref>
or solving elliptic partial differential equations
<ref name="BEHA03">M. Bebendorf and W. Hackbusch,
''Existence of H-matrix approximants to the inverse FE-matrix of elliptic operators with <math>L^\infty</math>-coefficients'',
Num. Math. (2003), 95:1–28</ref>
,<ref name="BO10">S. B&ouml;rm,
''Approximation of solution operators of elliptic partial differential equations by H- and H<sup>2</sup>-matrices'',
Num. Math. (2010), 115:165&ndash;193</ref>
a rank proportional to <math>\log(1/\epsilon)^\gamma</math> with a small constant <math>\gamma</math> is sufficient to ensure an
accuracy of <math>\epsilon</math>.
Compared to many other data-sparse representations of non-sparse matrices, hierarchical matrices offer a major advantage:
the results of matrix arithmetic operations like matrix multiplication, factorization or inversion can be approximated
in <math>O(n k^\alpha\,\log(n)^\beta)</math> operations, where <math>\alpha,\beta\in\{1,2,3\}.</math><ref name="HAGR03">L. Grasedyck and W. Hackbusch,
''Construction and Arithmetics of H-Matrices'',
Computing (2003), 70:295–334</ref>
 
== Basic idea ==
Hierarchical matrices rely on local low-rank approximations:
let <math>I,J</math> be index sets, and let <math>G\in{\mathbb R}^{I\times J}</math> denote the matrix we have to approximate.
In many applications (see above), we can find subsets <math>t\subseteq I,s\subseteq J</math> such that <math>G|_{t\times s}</math>
can be approximated by a rank-<math>k</math> matrix.
This approximation can be represented in factorized form <math>G|_{t\times s}\approx A B^*</math> with factors
<math>A\in{\mathbb R}^{t\times k},B\in{\mathbb R}^{s\times k}</math>.
While the standard representation of the matrix <math>G|_{t\times s}</math> requires <math>O((\#t)(\#s))</math> units of storage,
the factorized representation requires only <math>O(k(\#t+\#s))</math> units.
If <math>k</math> is not too large, the storage requirements are reduced significantly.
 
In order to approximate the entire matrix <math>G</math>, it is split into a family of submatrices.
Large submatrices are stored in factorized representation, while small submatrices are stored in standard representation
in order to improve the efficiency.
 
Low-rank matrices are closely related to degenerate expansions used in [[panel clustering]] and the [[fast multipole method]]
to approximate integral operators.
In this sense, hierarchical matrices can be considered the algebraic counterparts of these techniques.
 
== Application to integral operators ==
Hierarchical matrices are successfully used to treat integral equations, e.g., the single and double layer potential operators
appearing in the [[boundary element method]].
A typical operator has the form
 
: <math>{\mathcal G}[u](x) = \int_\Omega \kappa(x,y) u(y) \,dy.</math>
 
The [[Galerkin method]] leads to matrix entries of the form
 
: <math>g_{ij} = \int_\Omega \int_\Omega \kappa(x,y) \varphi_i(x) \psi_j(y) \,dy\,dx,</math>
 
where <math>(\varphi_i)_{i\in I}</math> and <math>(\psi_j)_{j\in J}</math> are families of finite element basis functions.
If the kernel function <math>\kappa</math> is sufficiently smooth, we can approximate it by [[polynomial interpolation]] to obtain
 
: <math>\tilde\kappa(x,y) = \sum_{\nu=1}^k \kappa(x,\xi_\nu) \ell_\nu(y),</math>
 
where <math>(\xi_\nu)_{\nu=1}^k</math> is the family of interpolation points and <math>(\ell_\nu)_{\nu=1}^k</math>
is the corresponding family of [[Lagrange polynomial]]s.
Replacing <math>\kappa</math> by <math>\tilde\kappa</math> yields an approximation
 
: <math>\tilde g_{ij} = \int_\Omega \int_\Omega \tilde\kappa(x,y) \varphi_i(x) \psi_j(y) \,dy\,dx
      = \sum_{\nu=1}^k \int_\Omega \kappa(x,\xi_\nu) \varphi_i(x) \,dx
                      \int_\Omega \ell_\nu(y) \psi_j(y) \,dy
      = \sum_{\nu=1}^k a_{i\nu} b_{j\nu}</math>
 
with the coefficients
 
: <math> a_{i\nu} = \int_\Omega \kappa(x,\xi_\nu) \varphi_i(x) \,dx, </math>
 
: <math> b_{j\nu} = \int_\Omega \ell_\nu(y) \psi_j(y) \,dy. </math>
 
If we choose <math>t\subseteq I,s\subseteq J</math> and use the same interpolation points for all <math>i\in t,j\in s</math>, we obtain
<math>G|_{t\times s} \approx A B^*</math>.
 
Obviously, any other approximation separating the variables <math>x</math> and <math>y</math>, e.g., the multipole expansion,
would also allow us to split the double integral into two single integrals and thus arrive at a similar factorized low-rank matrix.
 
Of particular interest are cross approximation techniques
<ref name="MB00"/>
<ref name="BERJ03"/>
<ref name="TY00">E. Tyrtyshnikov,
''Incomplete cross approximation in the mosaic-skeleton method'',
Computing (2000), 64:367–380</ref>
that use only the entries of the original matrix <math>G</math> to construct a [[low rank approximation|low-rank approximation]].
 
== Application to elliptic partial differential equations ==
Since the solution operator of an elliptic partial differential equation can be expressed as an integral operator involving
[[Green's function]], it is not surprising that the inverse of the stiffness matrix arising from the [[finite element method]]
can be approximated by a hierarchical matrix.
 
Green's function depends on the shape of the computational domain, therefore it is usually not known.
Nevertheless, approximate arithmetic operations can be employed to compute an approximate inverse without knowing the
function explicitly.
 
Surprisingly, it is possible to prove<ref name="BEHA03"/><ref name="BO10"/> that the inverse can be approximated even if
the differential operator involves non-smooth coefficients and Green's function is therefore not smooth.
 
== Arithmetic operations ==
The most important innovation of the hierarchical matrix method is the development of efficient algorithms for performing
(approximate) matrix arithmetic operations on non-sparse matrices, e.g., to compute approximate inverses, [[LU decomposition]]s
and solutions to matrix equations.
 
The central algorithm is the efficient matrix-matrix multiplication, i.e., the computation of <math>Z = Z + \alpha X Y</math>
for hierarchical matrices <math>X,Y,Z</math> and a scalar factor <math>\alpha</math>.
The algorithm requires the submatrices of the hierarchical matrices to be organized in a block tree structure and takes
advantage of the properties of factorized low-rank matrices to compute the updated <math>Z</math> in
<math>O(n k^2\,\log(n)^2)</math> operations.
 
Taking advantage of the block structure, the inverse can be computed by using recursion to compute inverses and
[[Schur complement]]s of diagonal blocks and combining both using the matrix-matrix multiplication.
In a similar way, the [[LU decomposition]]
<ref name="BE07">M. Bebendorf,
''Why finite element discretizations can be factored by triangular hierarchical matrices'',
SIAM J. Num. Anal. (2007), 45:1472&ndash;1494</ref>
<ref name="GRKRBO09">L. Grasedyck, R. Kriemann and S. Le Borne,
''Domain decomposition based H-LU preconditioning'',
Num. Math. (2009), 112:565&ndash;600</ref>
can be constructed using only recursion and multiplication.
Both operations also require <math>O(n k^2\,\log(n)^2)</math> operations.
 
== H<sup>2</sup>-matrices ==
In order to treat very large problems, the structure of hierarchical matrices can be improved:
H<sup>2</sup>-matrices
<ref name="HAKHSA02">W. Hackbusch, B. N. Khoromskij and S. A. Sauter,
''On H<sup>2</sup>-matrices'',
Lectures on Applied Mathematics (2002), 9–29</ref>
<ref name="BO10b">S. B&ouml;rm,
''Efficient Numerical Methods for Non-local Operators: H<sup>2</sup>-Matrix Compression, Algorithms and Analysis'',
EMS Tracts in Mathematics 14 (2010)</ref>
replace the general low-rank structure of the blocks by a hierarchical representation closely related to the
[[fast multipole method]] in order to reduce the storage complexity to <math>O(n k)</math>.
 
In the context of boundary integral operators, replacing the fixed rank <math>k</math> by block-dependent ranks
leads to approximations that preserve the rate of convergence of the underlying boundary element method
at a complexity of <math>O(n).</math><ref name="SA00">S. A. Sauter,
''Variable order panel clustering'',
Computing (2000), 64:223–261</ref><ref name="BOSA05">S. B&ouml;rm and S. A. Sauter,
''BEM with linear complexity for the classical boundary integral operators'',
Math. Comp. (2005), 74:1139–1177</ref>
 
== Literature ==
<references/>
 
== Software ==
 
[[Category:Matrices]]
[http://www.hlib.org HLib] is a C software library implementing the most important algorithms for hierarchical and <math>{\mathcal H}^2</math>-matrices.
 
[http://bebendorf.ins.uni-bonn.de/AHMED.html AHMED] is a C++ software library that can be downloaded for educational purposes.
 
[http://www.hlibpro.com HLIBpro] is an implementation of the core hierarchical matrix algorithms for commercial applications.

Revision as of 22:13, 29 January 2014

In numerical mathematics, hierarchical matrices (H-matrices) [1] [2] [3] are used as data-sparse approximations of non-sparse matrices. While a sparse matrix of dimension n can be represented efficiently in O(n) units of storage by storing only its non-zero entries, a non-sparse matrix would require O(n2) units of storage, and using this type of matrices for large problems would therefore be prohibitively expensive in terms of storage and computing time. Hierarchical matrices provide an approximation requiring only O(nklog(n)) units of storage, where k is a parameter controlling the accuracy of the approximation. In typical applications, e.g., when discretizing integral equations [4] [5] [6] [7] or solving elliptic partial differential equations [8] ,[9] a rank proportional to log(1/ϵ)γ with a small constant γ is sufficient to ensure an accuracy of ϵ. Compared to many other data-sparse representations of non-sparse matrices, hierarchical matrices offer a major advantage: the results of matrix arithmetic operations like matrix multiplication, factorization or inversion can be approximated in O(nkαlog(n)β) operations, where α,β{1,2,3}.[10]

Basic idea

Hierarchical matrices rely on local low-rank approximations: let I,J be index sets, and let GI×J denote the matrix we have to approximate. In many applications (see above), we can find subsets tI,sJ such that G|t×s can be approximated by a rank-k matrix. This approximation can be represented in factorized form G|t×sAB* with factors At×k,Bs×k. While the standard representation of the matrix G|t×s requires O((#t)(#s)) units of storage, the factorized representation requires only O(k(#t+#s)) units. If k is not too large, the storage requirements are reduced significantly.

In order to approximate the entire matrix G, it is split into a family of submatrices. Large submatrices are stored in factorized representation, while small submatrices are stored in standard representation in order to improve the efficiency.

Low-rank matrices are closely related to degenerate expansions used in panel clustering and the fast multipole method to approximate integral operators. In this sense, hierarchical matrices can be considered the algebraic counterparts of these techniques.

Application to integral operators

Hierarchical matrices are successfully used to treat integral equations, e.g., the single and double layer potential operators appearing in the boundary element method. A typical operator has the form

𝒢[u](x)=Ωκ(x,y)u(y)dy.

The Galerkin method leads to matrix entries of the form

gij=ΩΩκ(x,y)φi(x)ψj(y)dydx,

where (φi)iI and (ψj)jJ are families of finite element basis functions. If the kernel function κ is sufficiently smooth, we can approximate it by polynomial interpolation to obtain

κ~(x,y)=ν=1kκ(x,ξν)ν(y),

where (ξν)ν=1k is the family of interpolation points and (ν)ν=1k is the corresponding family of Lagrange polynomials. Replacing κ by κ~ yields an approximation

g~ij=ΩΩκ~(x,y)φi(x)ψj(y)dydx=ν=1kΩκ(x,ξν)φi(x)dxΩν(y)ψj(y)dy=ν=1kaiνbjν

with the coefficients

aiν=Ωκ(x,ξν)φi(x)dx,
bjν=Ων(y)ψj(y)dy.

If we choose tI,sJ and use the same interpolation points for all it,js, we obtain G|t×sAB*.

Obviously, any other approximation separating the variables x and y, e.g., the multipole expansion, would also allow us to split the double integral into two single integrals and thus arrive at a similar factorized low-rank matrix.

Of particular interest are cross approximation techniques [5] [6] [11] that use only the entries of the original matrix G to construct a low-rank approximation.

Application to elliptic partial differential equations

Since the solution operator of an elliptic partial differential equation can be expressed as an integral operator involving Green's function, it is not surprising that the inverse of the stiffness matrix arising from the finite element method can be approximated by a hierarchical matrix.

Green's function depends on the shape of the computational domain, therefore it is usually not known. Nevertheless, approximate arithmetic operations can be employed to compute an approximate inverse without knowing the function explicitly.

Surprisingly, it is possible to prove[8][9] that the inverse can be approximated even if the differential operator involves non-smooth coefficients and Green's function is therefore not smooth.

Arithmetic operations

The most important innovation of the hierarchical matrix method is the development of efficient algorithms for performing (approximate) matrix arithmetic operations on non-sparse matrices, e.g., to compute approximate inverses, LU decompositions and solutions to matrix equations.

The central algorithm is the efficient matrix-matrix multiplication, i.e., the computation of Z=Z+αXY for hierarchical matrices X,Y,Z and a scalar factor α. The algorithm requires the submatrices of the hierarchical matrices to be organized in a block tree structure and takes advantage of the properties of factorized low-rank matrices to compute the updated Z in O(nk2log(n)2) operations.

Taking advantage of the block structure, the inverse can be computed by using recursion to compute inverses and Schur complements of diagonal blocks and combining both using the matrix-matrix multiplication. In a similar way, the LU decomposition [12] [13] can be constructed using only recursion and multiplication. Both operations also require O(nk2log(n)2) operations.

H2-matrices

In order to treat very large problems, the structure of hierarchical matrices can be improved: H2-matrices [14] [15] replace the general low-rank structure of the blocks by a hierarchical representation closely related to the fast multipole method in order to reduce the storage complexity to O(nk).

In the context of boundary integral operators, replacing the fixed rank k by block-dependent ranks leads to approximations that preserve the rate of convergence of the underlying boundary element method at a complexity of O(n).[16][17]

Literature

  1. W. Hackbusch, A sparse matrix arithmetic based on H-matrices. Part I: Introduction to H-matrices, Computing (1999), 62:89–108
  2. M. Bebendorf, Hierarchical matrices: A means to efficiently solve elliptic boundary value problems, Springer (2008)
  3. W. Hackbusch, Hierarchische Matrizen. Algorithmen und Analysis, Springer (2009)
  4. W. Hackbusch and B. N. Khoromskij, A sparse H-Matrix Arithmetic. Part II: Application to Multi-Dimensional Problems, Computing (2000), 64:21–47
  5. 5.0 5.1 M. Bebendorf, Approximation of boundary element matrices, Num. Math. (2000), 86:565--589
  6. 6.0 6.1 M. Bebendorf and S. Rjasanow, Adaptive low-rank approximation of collocation matrices, Computing (2003), 70:1–24
  7. S. Börm and L. Grasedyck, Hybrid cross approximation of integral operators, Num. Math. (2005), 101:221–249
  8. 8.0 8.1 M. Bebendorf and W. Hackbusch, Existence of H-matrix approximants to the inverse FE-matrix of elliptic operators with L-coefficients, Num. Math. (2003), 95:1–28
  9. 9.0 9.1 S. Börm, Approximation of solution operators of elliptic partial differential equations by H- and H2-matrices, Num. Math. (2010), 115:165–193
  10. L. Grasedyck and W. Hackbusch, Construction and Arithmetics of H-Matrices, Computing (2003), 70:295–334
  11. E. Tyrtyshnikov, Incomplete cross approximation in the mosaic-skeleton method, Computing (2000), 64:367–380
  12. M. Bebendorf, Why finite element discretizations can be factored by triangular hierarchical matrices, SIAM J. Num. Anal. (2007), 45:1472–1494
  13. L. Grasedyck, R. Kriemann and S. Le Borne, Domain decomposition based H-LU preconditioning, Num. Math. (2009), 112:565–600
  14. W. Hackbusch, B. N. Khoromskij and S. A. Sauter, On H2-matrices, Lectures on Applied Mathematics (2002), 9–29
  15. S. Börm, Efficient Numerical Methods for Non-local Operators: H2-Matrix Compression, Algorithms and Analysis, EMS Tracts in Mathematics 14 (2010)
  16. S. A. Sauter, Variable order panel clustering, Computing (2000), 64:223–261
  17. S. Börm and S. A. Sauter, BEM with linear complexity for the classical boundary integral operators, Math. Comp. (2005), 74:1139–1177

Software

HLib is a C software library implementing the most important algorithms for hierarchical and 2-matrices.

AHMED is a C++ software library that can be downloaded for educational purposes.

HLIBpro is an implementation of the core hierarchical matrix algorithms for commercial applications.