I'm working on a project, implementing Successive over-relaxation (SOR) method (http://en.wikipedia.org/wiki/Successive_over-relaxation) using Python. SOR can only apply if given matrix is,
- symmetric positive-definite (SPD) OR
- strictly or irreducibly diagonally dominant.
So I want identify that given matrix is SPD or not.I found two articles about this.
1.Java doc (http://www.codezealot.org/opensource/org.codezealot.matrix/docs/org/codezealot/matrix/Matrix.html#isPositiveDefinite())
If a Matrix ANxN is symmetric, then the Matrix is positive definite if
- For all i ≤ N, ai,i > 0 and
- For all i ≤ N, ai,i > ∑ ai,j, for all j ≤ N, where j ≠ i
2.Numerical Analysis for Engineering (https://ece.uwaterloo.ca/~dwharder/NumericalAnalysis/04LinearAlgebra/posdef/)
A symmetric matrix is positive definite if:
- all the diagonal entries are positive, and
- each diagonal entry is greater than the sum of the absolute values of all other entries in the corresponding row/column.
These articles says different about the second property.
So,
- What is the correct one?
- Is there any other SPD properties I can use?
- Any suggestions are also welcome.
Thank you in advance. Sorry for my bad English.