This method determines whether a given matrix is orthogonal, i.e., has inverse equal to its transpose.
When working over an InexactFieldFamily like RR or CC, the option Tolerance can be used to specify the internal threshold for checking equality (any floating point number below the tolerance is treated as numerically zero). If the given matrix does not have floating point entries, then this option is not used.
i1 : O1 = randomOrthogonal 5 o1 = | .442386 -.0306554 .751799 -.317548 .370563 | | .133864 .768167 -.0944111 -.513838 -.345046 | | -.60855 -.385718 .234815 -.587034 -.284854 | | -.42001 .39448 .591227 .519553 -.220209 | | -.489525 .323399 -.145593 -.143489 .783576 | 5 5 o1 : Matrix RR <--- RR 53 53 |
i2 : isOrthogonal O1 o2 = true |
i3 : O2 = randomOrthogonal(5, QQ) o3 = | -22142569999/27593776175 90555408/788393605 -5532008344/27593776175 -5025793592/27593776175 2046480376/3941968025 | | 193172688/788393605 145827307/157678721 24042978/788393605 -216954846/788393605 70436016/788393605 | | 591854008/5518755235 -5780466/157678721 -5151709442/5518755235 -1194249041/5518755235 -206975072/788393605 | | -598559432/27593776175 -200993706/788393605 7495643483/27593776175 -25053509506/27593776175 -751964432/3941968025 | | -84039992/157678721 40244400/157678721 18443792/157678721 22251808/157678721 -123874657/157678721 | 5 5 o3 : Matrix QQ <--- QQ |
i4 : isOrthogonal O2 o4 = true |
The object isOrthogonal is a method function with options.