Linear Algebra: Traffic Problem with Systems of Equations
5 views (last 30 days)
Show older comments

7 Comments
Walter Roberson
on 11 May 2019
rref(A,B) uses B as the tolerence in the calculation. As in two values are to be considered to be the same if the are within B of each other. A typical value there might be something like 20*eps
Consider for example
[1/49*49 3;
2 6]
Examined algebraically this appears to be [1 3; 2 6] which is immediately recognizable as being rank 1 because the second row is 2 * the first row.
However, in the world of floating point numbers, 1/49*49 is not exactly 1: it is about 1.11e-16 less than 1. If you did bitwise comparisons between (1/49*49)*2 and 2, they would not be bit-for-bit equal, and you would decide that the matrix has rank 2. The tolerance parameter is there to permit you to take that kind of floating point round-off into account, so that you do not accidentally consider two values to be different due to floating point round-off when algebraically they should be the same.
Answers (0)
See Also
Categories
Find more on Operators and Elementary Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!