COHSS

COHSS solver for complex symmetrix linear system
418 téléchargements
Mise à jour 26 oct. 2017

Afficher la licence

COHSS solver for complex symmetrix linear system
Description: The script cohss solve iteratively a complex linear system
(1) (B+i*C) (x+i*y) = b+i*c
with B and C semi-SPD (SPD=Symmetric and Positive Definite matrices) and B+C an SPD matrix. The algorithm uses COCG (Conjugate Orthogonal Conjugate Gradient) or COCR (Conjugate Orthogonal Conjugate Residual) iterative solver preconditioned with the preconditioners proposed in the preprint:

Preconditioning complex symmetric linear systems, by Enrico Bertolazzi and Marco Frego
Mathematical Problems in Engineering, Volume 2015 (2015)
http://dx.doi.org/10.1155/2015/548609

Usage: To solve linear system Mat*x = rhs use

[x,res] = cohss( Mat, rhs, varargin )

where x is the solution and res is a vector with the residual history.

res(1) is the first resisual norm using L2 norm
res(k) is the ratio of the residual at the k-1 iterate divided by the first residual.
The matrix Mat must be sparse complex with real(Mat) and imag(Mat) semi definite positive. varargin are optional arguments. The arguments are couples string values. The first group of option change the standard parameters of the iterative solver:

'DISPLAY', nd = display iteration and residual every nd iter
'MAX_ITER', maxiter = maximum number of allowed iterations
'TOLERANCE', tol = iteration stop when ||r||/||r0|| < tol
'X0', x0 = initial guess
The second group of option change the way the solver work selecting the appropriate sub-solver

'SOLVER', handle = select iterative solver @cogr or @cocr for outer iterations. If not specified COCR (@cocr) is used as iterative solver for outer iterations.
'ILU', arg = use ILU matlab preconditioner, arg is the arguemnt passed to the ILU routine and can be 'nofill' or 'crout'
'POLY', dgr = use Jacobi preconditioner of degree dgr as preconditioner
'CHPOLY', dgr = use Chebyshev preconditioner of degree dgr as preconditioner
'DELTA', delta = windows where eigenvalues of Chebyshev polynomial are shrinked. Default delta = 0.2
'SSOR', [omega,dgr] = use SSOR preconditioner of degree dgr
'SCALE', scale = scale >= 1 extra scaling factor
Five example scripts: test_for_paper_nXX.m are used for the computation of tables and images described in the preprint.

The scrips cocg and cocr which implements Conjugate Orthogonal Conjugate Gradient and Conjugate Orthogonal Conjugate Residual algorithms used by cohss can be used also standalone.

Author:

Enrico Bertolazzi
Department of Industrial Engineering
University of Trento
enrico.bertolazzi@unitn.it

Citation pour cette source

Enrico Bertolazzi (2024). COHSS (https://www.mathworks.com/matlabcentral/fileexchange/47242-cohss), MATLAB Central File Exchange. Récupéré le .

Compatibilité avec les versions de MATLAB
Créé avec R2013b
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux
Catégories
En savoir plus sur Polynomials dans Help Center et MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Publié le Notes de version
1.0.1.0

Updated reference

1.0.0.0