Математично кількість, про яку ви запитуєте, називається нормою оператора . На жаль, немає простої формули для цього. Якщо це повністю загальна афінна трансформація - наприклад, якщо вона може мати довільну комбінацію обертів та неоднорідних шкал у будь-якому порядку - тоді, боюся, немає нічого для цього, крім використання розкладання єдиного значення . Якщо застосувати SVD до своєї матриці, то найбільшим значенням сингулярності буде максимальний радіус отриманого еліпсоїда. Іншими значеннями сингулярності будуть також два інші його радіуси, і процедура SVD також може отримати орієнтацію осей для вас.
Реалізація SVD не для слабкого серця, оскільки передбачає пошук власних значень. Якщо все, що вам потрібно, - це самі особливі значення, вони є квадратними коренями власних значень M ^ T * M. Отже, якщо у вас є підручник власного значення 3x3 під рукою, або ви не заперечуєте його писати, ви можете використовувати це. Якщо ви хочете витягнути також орієнтації осей, тоді це більше залучається, оскільки вам доведеться знаходити і власні вектори. У цій статті у Вікіпедії є список посилань на бібліотеки для роботи з SVD, однією з яких ви можете користуватися у своєму проекті.
Якщо форма вашої матриці обмежена таким чином, що неоднорідна шкала відбувається не більше одного разу і застосовується перше перетворення, тобто є найправішим, коли ви використовуєте вектори стовпців, то ви можете спростити це, щоб просто переглянути довжини трансформовані осі векторів. Тільки в такому випадку - тобто єдина неоднорідна шкала з наступною послідовністю обертання, відбиття та рівномірної шкали - дивлячись лише на осі векторів, ви дасте правильну відповідь.