Easy way of checking for matrix invertability?

  • Context: Undergrad 
  • Thread starter Thread starter rayver
  • Start date Start date
  • Tags Tags
    Matrix
Click For Summary

Discussion Overview

The discussion centers around methods for checking the invertibility of matrices, particularly in the context of an algorithm that requires efficient computation. Participants explore various approaches, including LU factorization and considerations of matrix properties, while seeking alternatives that may reduce computational complexity.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant, Daniel, is currently using LU factorization to check for matrix invertibility and is looking for a more computationally efficient method.
  • Another participant suggests that determining invertibility may not be significantly faster than using LU factorization, proposing an algorithm to check the linear independence of unit base vectors, although this might lead back to determinant calculations.
  • Daniel mentions having tried the Singular Value Decomposition (SVD) method for rank calculation, noting that it is computationally heavier than LU factorization.
  • Daniel inquires about any theorems or identities that could assist in checking invertibility, specifically mentioning that the matrix in question is a block matrix composed of smaller matrices.
  • A later reply introduces a condition involving matrix norms, stating that I - B is invertible if the norm of B is less than 1, providing a formula for the inverse.

Areas of Agreement / Disagreement

Participants do not appear to reach a consensus on a faster method for checking matrix invertibility. Multiple competing views and approaches are presented, with some uncertainty regarding the efficiency of the proposed methods.

Contextual Notes

Limitations include the computational complexity of various methods discussed, and the specific structure of the matrix as a block matrix may influence the applicability of certain approaches.

rayver
Messages
2
Reaction score
0
Easy way of checking for matrix invertability?

Hi everyone,

I'm designing a particular algorithm and part of it requires to check if a given Matrix is invertible or not. Computation of the actual determinant is not necessary.

So far I've been doing it with a LU factorization, and then checking for zeros in the diagonal of matrix U, but I was wondering if there is a computationally easier way of doing it. I need to run my algorithm many times (possibly billions) so the less steps it takes the better.

Any ideas?

By the way, just so you know, the algorithm uses only binary matrices (their elements are only 1s and 0s) and matrices full of zeros are allowed.

Thanks.

Daniel @EPFL
 
Physics news on Phys.org


Well, I'm not sure you <i>can</i> determine invertibility of a matrix much faster than you already have tried, but here's a thought:
Since a non-invertible matrix essentially has a reduced span, you might possibly devise an algorithm to check whether the images of unit base vectors forms a linearly independent set or not (the latter implying non-invertibility).
However, this is most likely ending up calculating the determinant rather than being a step in the right direction...
 


arildno said:
Well, I'm not sure you <i>can</i> determine invertibility of a matrix much faster than you already have tried, but here's a thought:
Since a non-invertible matrix essentially has a reduced span, you might possibly devise an algorithm to check whether the images of unit base vectors forms a linearly independent set or not (the latter implying non-invertibility).
However, this is most likely ending up calculating the determinant rather than being a step in the right direction...

Thanks, I sort of tried that already by calculating the rank of the matrix through the Singular Value Decomposition method and then comparing it with the size of the matrix. As it turns out, the SVD algorithm is computationally much heavier than the LU algorithm.

I wonder if there exist some sort of theorem or identity that might help me with this.
Also, the matrix is a block matrix, this is, it is a square matrix of size 2K composed of 4 smaller matrices of size K. Is this any useful?

C´mon mathematicians, don´t disappoint me!

Daniel @EPFL
 


[tex]I - B[/tex] is invertible if [tex]||B||<1[/tex] where [tex]||B|| = \sqrt{ \sum_{i=1}^{m} \sum_{j=1}^{n} |b_{ij}|^2}[/tex] is the Matrix Norm, and the Inverse will be given by [tex](I-B)^{-1} = \sum_{k=0}^{\infty} B^k[/tex]
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 7 ·
Replies
7
Views
4K