Timeline for Minimizing a Matrix
Current License: CC BY-SA 3.0
10 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
May 15, 2013 at 15:22 | comment | added | Daniel Lichtblau |
@J.M. I had intended: Total[Abs[Flatten[cmat*mat]]] , that is, no transposing. It is still a different problem in that I used Abs (and made mention of this). The reason was that otherwise I was getting results arnitrarily negative with matrix values that were huge. Whether that is acceptable or unexpected depends on the actual proble details of course; I was guessing it was not the anticipated result, and was guessing as to the needed adjustment to the problem specification.
|
|
May 15, 2013 at 2:32 | comment | added | J. M.'s missing motivation♦ |
Somehow I'm not terribly sure that replacing Tr[c.Transpose[mm]] with Total[Abs[Flatten[cmat*Transpose[mat]]]] yields an equivalent optimization problem...
|
|
May 14, 2013 at 19:11 | history | edited | Daniel Lichtblau | CC BY-SA 3.0 |
method improvements
|
May 14, 2013 at 6:32 | comment | added | J. M.'s missing motivation♦ |
How very odd. I did my own tests, using OP's implementation of the matrix $p$-norm, and an implementation adapted from some old MATLAB code, and I keep getting NMinimize::cvdiv errors. @Muhammad, would you happen to have results of this optimization that are already known to be correct, for checking purposes?
|
|
May 13, 2013 at 23:32 | comment | added | Daniel Lichtblau | Okay. I'm still getting results that do not seem to be playing nicely with the code. Will have another look tomorrow. | |
May 13, 2013 at 23:21 | comment | added | Muhammad Khan |
Well the model I'm trying to minimize is sum_i(sum_j(c_ij * mm_ij)) <- this is equivalent to Tr[c.(Transpose[mm])] But I do see what you mean about the pth root being unnecessary if I only want argmin
|
|
May 13, 2013 at 22:56 | comment | added | Daniel Lichtblau |
It seems quite unstable and can give hugely negative results when I change to account for pth roots. Is there any chance that the additive term was meant to be lambda*Tr[mm.c.(Transpose[mm])] ? That seems to make it give plausible results quickly.
|
|
May 13, 2013 at 22:23 | comment | added | Daniel Lichtblau | Yes it does. Minimizing one is equivalent to minimizing the other (it's a monotonic function) but this change of mine messes up the result. Will edit accordingly. | |
May 13, 2013 at 21:34 | comment | added | Muhammad Khan |
Thank you for such a great answer! One thing though: the pnorm you have here outputs a different answer than my original one. It seems like yours just raises the elements to the pth power. Doesn't a p-norm also involve taking the pth root of the sum?
|
|
May 13, 2013 at 21:06 | history | answered | Daniel Lichtblau | CC BY-SA 3.0 |