Problem 44509. Determine if input is a valid AHP evaluation matrix
Input is a matrix. Output is a true or false statement (1 or 0). Return true if input is a valid Analytic Hierarchy Process evaluation matrix.
In a valid AHP matrix;
- All diagonal elements should be 1
- Lower triangular part should be element-wise reciprocals of upper triangular part
- Square matrix
For example
[ 1 2 1/2 1] - > True
[1 5 2 1 ] - > False
[1 5 1/5 2] - > False
Note: See test suite 19 for what is asked about rounding
Solution Stats
Problem Comments
-
3 Comments
Hello, Mehmet OZC. Could you please clarify the requirement "Lower triangular part should be inverse of upper triangular part"? This seems to require that lowerTriangular{input} = inverse{ upperTriangular{input} }. However, that appears to be impossible (except for an identity matrix), as the result of taking that inverse will itself be upper triangular. http://mathworld.wolfram.com/MatrixInverse.html . —DIV
it should be an element-wise inverse operation. For example a(3,2)=1/a(2,3) . Inverse operation with scalar values not with a matrix.
You can also search for "Understanding the Analytic Hierarchy Process"
OK. I've had a quick look at https://doi.org/10.1007/978-3-319-33861-3_2 . On page 10 they clarify that elements a(x,y) and a(y,x) must be the _reciprocal_ of one another. So that's fine. But I haven't encountered a description of such a relation as "element-wise inverse" — is it an expression commonly used in that field?
Solution Comments
Show commentsProblem Recent Solvers90
Suggested Problems
-
13275 Solvers
-
Find relatively common elements in matrix rows
2051 Solvers
-
881 Solvers
-
Longest run of consecutive numbers
5589 Solvers
-
518 Solvers
More from this Author92
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!