0
$\begingroup$

I was wondering how one might check whether matrix inequalities are true/false the same way it can be done for scalar variables (like in this post).

Say I want to test the obvious inequality

A,B are positive definite dxd matrices. Prove that Tr(A B)>=0

I would do something like

conditions = {A 
\!\(\*UnderscriptBox[\(\[VectorGreater]\), 
TemplateBox[{"2"},
"SemidefiniteConeList"]]\) 0 , B 
\!\(\*UnderscriptBox[\(\[VectorGreater]\), 
TemplateBox[{"2"},
"SemidefiniteConeList"]]\) 0 , (A | B) \[Element] 
 Matrices[{d, d}, Reals, Symmetric[{1, 2}]]}

Simplify[Reduce[
  Flatten[{Tr[A.B] >= 0, conditions}], {A, B}], conditions]

But Reduce doesn't seem able to resolve matrix domains. How can such inequalities be tested?

$\endgroup$
2
  • $\begingroup$ Don't try to use such fancy notation, Express your problem in normal Mathematical code. $\endgroup$ – m_goldberg Sep 25 '20 at 16:20
  • $\begingroup$ What do you mean by notation? The variable condition is just the code needed to impose positive definiteness on the matrices. I know it looks ugly, but it's just a translation of the mathematical problem above. $\endgroup$ – luigi Sep 25 '20 at 22:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.