Linear algebra bandwidth >>

balance


Diagonal scaling to improve eigenvalue accuracy.


Syntax


B = balance(A)
B = balance(A,'noperm')
[T, B] = balance(A)
[S, P, B] = balance(A)

Input argument


A

a matrix: square, finite single or double.

Output argument


B

balanced matrix.

T

similarity transformation: Rearrange the elements of a diagonal matrix containing integer powers of two in order to minimize the impact of roundoff errors.

S

scaling vector

P

permutation vector

Description


B = balance(A) returns the balanced matrix B.

B = balance(A, 'noperm') scales A without permuting its rows and columns.

Used function(s)


LAPACKE_dgebal, LAPACKE_sgebal, LAPACKE_zgebal, LAPACKE_cgebal

Example


A = [10  1000  100000; .1  10  1000; .001  .1  10]
F = balance(A)

See also


eig.

History


Version Description
1.0.0 initial version

Author


Allan CORNET

Linear algebra bandwidth >>