Re: Making a matrix non-singular



Maduranga Liyanage <maduranga.liyanage@xxxxxxxxx> writes:

Hello,

I have two diagonal matrices, A and B with dimension N.
In the diagonal entries, the first element (1,1) is same for both A and B.

I construct a bigger matrix such as:
| A B|
C = | A A|

Now I want to invert this matrix C (2N-by-2N). But because of the same value in the first element, the matrix is singular. I get around this by putting some random dummy value for the first entries of each of the four matrices in C.

The problem is this putting random value sometimes work and sometimes don't. Although they are random they are different to each other.

How can I solve this problem? How can I make it definitely non-singular?

Hello,
it seems that you use a completely wrong strategy to solve the problem.
First of all, but not directly related to your question: By reordering
the variables you would obtain N simple 2x2 matrices, which you can
manipulate easily.
Second, why do you want to invert the matrix? One almost never needs any
inverse. For solving a linear system one just needs some factorization.
The first block of your rearranged equations would be
a1 b1
a1 a1
Instead of adding random entries to this block (it makes no sense atall
to perturb those blocks, where b_i is different from a_i), you could
either use SVD for this block or obtain some replacement of the (likely
impossible) exact solution by hand.

Alois


--
Alois Steindl, Tel.: +43 (1) 58801 / 32558
Inst. for Mechanics and Mechatronics Fax.: +43 (1) 58801 / 32598
Vienna University of Technology, A-1040 Wiedner Hauptstr. 8-10
.



Relevant Pages

  • Re: Fastcode Sort benchmark design
    ... > - Completely random with many entries occurring multiple times ... Here you consider random data with many equal elements? ... Smaler than first element - position somewhere between first and last ...
    (borland.public.delphi.language.basm)
  • Re: DES sbox correlation
    ... But there are 64 entries. ... How do you intend ... to invert this? ... column sbox can be inverted so i won't repeat him. ...
    (sci.crypt)
  • deleting duplicates in array using references
    ... i have a multidimensional array, but i want to delete duplicate ... entries based on the first element of each 'row'. ... i.e. take out the duplicate codes based on the first element of each ...
    (comp.lang.perl.misc)