Jun. 2012
The Bloss package provides a parallel execution context of the block
Sakurai-Sugiura eigensolver [1,2]. The block Sakurai-Sugiura method
calculates interior eigenvalues of generalized eigenvalue problems,
(λB - A)q = 0
, for those λ
in
the specific region G
. The region G
is
defined as the inside of a closed Jordan curve on the complex
plane, Γ
.
To use the Bloss package, you need to prepare the following routines:
(ω B - A) Y = V
ω
is a complex number located on the periphery of G
; V
is
real/complex and multicolumn; Y
is complex multicolumn)
Y = A.V
and Y = B.V
V
and Y
are real/complex and multicolumn)
ω
and V
. You can use parallel
linear solvers, by using an MPI communicator provided by the package.
(Actually, those communicators are generated by splitting a base
communicator passed to the package.) Task handlings and
pre-/post-processes are done by the package.
Basically, three types of eigenproblems are supported:
A
, B
are real symmetric, and B
is positive definiteλ
and q
are double
A
, B
are realλ
is double complex, q
is
doublecimag(z[i]) == 0
, v[i]
is the corresponding eigenvector.cimag(z[i]) > 0
, z[i+1] = z[i]*
and
v[i] ± I*v[i+1]
are the eigenvectors.
A
, B
are complexλ
and q
are double complex
V
vectors to reduce the computation cost. At the
step (a), the real V
is anyway given in a complex array,
while at the step (b), V
is given as a real array.
The package is also capable to solve lambda-matrix eigenvalue problem [3],
M(z) v = 0
, where the matrix elements
of M(z)
are polynomial functions
of λ
. (Probably, they can be regular functions
of λ
.) In this case, you should
solve M(ω) Y = V
linear equation at the linear
solve requests at the step (a). Matmul requests at the step (b) is
not issued (unless you request residual calculation).
Detailed API descriptions are given in the document below.
Package: | Bloss_1.0.tar.gz (includes Bloss.pdf) |
Document: | Bloss.pdf |
The Bloss package is free software: you can redistribute it and/or modify it under the terms of the Apache License, Version 2.0.
T. Ikegami <t-ikegami@aist.go.jp>