Message Boards Message Boards

0
|
282 Views
|
3 Replies
|
2 Total Likes
View groups...
Share
Share this post:

Matrix with a very small determinant problem

Posted 1 month ago

Hi hope you are all doing well, I have the following matrix wish have a very small determinant wish makes a problem for me when I want to inverse it so before inversion, a preconditioning step is applied. This step involves finding the largest value (the pivot) in each row i located in a column j of rank higher than that of this row. The column containing the pivot and the column of rank equal to that of the row are then swapped. But I don't know how to do this preconditioning, If any of you have any idea it will help me a lot, Thank you all in advance.

Best regards Leo (Beginner at mathematica)

POSTED BY: Leo Murphy
3 Replies

The size of that determinant isn’t the issue for inverting the matrix. What is an issue is what’s known as the conditioning of the matrix. Also you might want to use e.g. LinearSolve or a least-squares solver in preference to inverting.

POSTED BY: Daniel Lichtblau
Posted 1 month ago

Exactly I want to do the conditioning that I mentioned, But I don't know how

POSTED BY: Leo Murphy

You are setting precision higher than that of the input. This means some bits are effectively junk. As for assessing the condition number, one way is like so.

{vv, ss, ww} = SingularValueDecomposition[g];
sv = Diagonal[ss];
Length[sv]
sv[[1]]/sv[[-1]]

Out[16]= 100

Out[17]= 3.2296175965846435779*10^18

This tells you that computations will be effectively meaningless, insofar as they might lost 18 digits of precision when they only had around 16 to begin with,

POSTED BY: Daniel Lichtblau
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract