Для проблем, які мене цікавлять, розмір матриці становить 30 і менше.
Як зазначає ВольфгангБангерт, якщо у вас є велика кількість цих матриць (мільйони, мільярди), ефективність інверсії матриць зазвичай не є проблемою.
З огляду на позитивну певну симетричну матрицю, який найшвидший алгоритм для обчислення зворотної матриці та її детермінанта?
Якщо швидкість - це проблема, вам слід відповісти на такі запитання:
- Вам справді потрібна вся обернена? (Багатьом додаткам не потрібно формувати явний зворот.)
- Вам справді потрібен визначник? (Детермінанти нечасті, але, безумовно, нечуті в обчислювальній науці.)
- Вам потрібна або висока точність? (Алгоритми низької точності, як правило, швидші.)
- Чи вистачить імовірнісного наближення? (Імовірнісні алгоритми, як правило, швидші.)
Стандартною відповіддю на вашу проблему перетворення невеликої, позитивної визначеної матриці та обчислення її детермінант було б розкладання Холеського. ЯкщоA=LLT, тоді det(A)=∏ni=1l2ii, і .det(A−1)=∏ni=1l−2ii
Якщо припустити, що є на , розклад Холеського можна обчислити приблизно в флопах, що становить приблизно половину вартості розкладання LU. Однак такий алгоритм не вважався б "швидким". Рандомізовані розкладання LUAnnn3/3може бути більш швидким алгоритмом, який варто врахувати, якщо (1) вам дійсно доведеться розраховувати велику кількість матриць; (2) факторизація дійсно є обмежуючим кроком у вашій програмі; (3) будь-яка помилка, яка виникає при використанні рандомізованого алгоритму, прийнятний. Ваші матриці, ймовірно, занадто малі, щоб розрізнені алгоритми були варті, тому єдині інші можливості для більш швидких алгоритмів вимагатимуть додаткової структури матриці (наприклад, смугової) або експлуатації проблемної структури (наприклад, можливо, ви можете вміло переструктурувати свій алгоритм, щоб у вас немає довше потрібно обчислити матрицю, обернену чи її визначником). Ефективні алгоритми детермінантної орієнтовної вартості розв'язують лінійну систему в межах постійного коефіцієнта, тому ті самі аргументи, які використовуються для лінійних систем, застосовуються і до обчислення детермінантів.