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
-
3291 Solvers
-
Read a column of numbers and interpolate missing data
2284 Solvers
-
961 Solvers
-
The Hitchhiker's Guide to MATLAB
3297 Solvers
-
Create a vector whose elements depend on the previous element
680 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!