یک ماتریس مربعی (با تعداد سطر و ستون برابر) غالب قطری سطری نامیده میشود اگر “مقدار مطلق هر درایه روی قطر اصلی به طور قطعی بزرگتر از مجموع مقادیر مطلق سایر درایههای آن سطر باشد”.
برای مثال:
[
[10, 3, 6],
[2, -9, -6],
[1, -1, 4]
]
مقادیر مطلق از گوشه بالا-چپ به پایین-راست به این صورت هستند:
- ۱۰ = اولین درایه سطر اول.
- ۹ = دومین درایه سطر دوم.
- ۴ = سومین درایه سطر سوم.
در سطر اول:
- مقدار غالب قطری سطری ۱۰ است.
- مجموع مقادیر مطلق سایر درایهها ۳ و ۶ است که جمع آنها ۹ میشود.
- بنابراین، برای این سطر، ماتریس غالب قطری سطری است، زیرا ۱۰ > ۹.
در سطر دوم:
- مقدار غالب قطری سطری ۹ است.
- مجموع مقادیر مطلق سایر درایهها ۲ و ۶ است که جمع آنها ۸ میشود.
- بنابراین، برای این سطر نیز ماتریس غالب قطری سطری است، زیرا ۹ > ۸.
در سطر سوم:
- مقدار غالب قطری سطری ۴ است.
- مجموع مقادیر مطلق سایر درایهها ۱ و ۱ است که جمع آنها ۲ میشود.
- بنابراین، برای این سطر نیز ماتریس غالب قطری سطری است، زیرا ۴ > ۲.
از آنجایی که همه سطرها این شرط را برآورده میکنند، ماتریس دادهشده غالب قطری سطری است.
تابعی بنویسید که بررسی کند آیا یک ماتریس مربعی دادهشده غالب قطری سطری است یا خیر.
نمونه ورودی و خروجی
DiagDom([[2, -1], [-1, 2]]) ➞ True
DiagDom([[0, 1], [1, 0]]) ➞ False
DiagDom([[10, 3, 6], [2, -9, -6], [1, -1, 4]]) ➞ True
Assert.True(Backendbaz.DiagDom(new int[,] { { 2, -1 }, { -1, 2 } })); Assert.False(Backendbaz.DiagDom(new int[,] { { 0, 1 }, { 1, 0 } })); Assert.True(Backendbaz.DiagDom(new int[,] { { 10, 3, 6 }, { 2, -9, -6 }, { 1, -1, 4 } })); Assert.False(Backendbaz.DiagDom(new int[,] { { 10, 3, 6 }, { 4, -9, -6 }, { 1, -1, 4 } }));
نظرات