matrix identity extends to real entries?

105 Views Asked by At

Let a matrix be $(m+n)$ by $(m+n)$ be all reals with determinant $1.$ Call the matrix $S.$ Name the top $m$ rows $A$ and the next $n$ rows $V.$ Now, $S$ has an inverse $T,$ $ST = I.$ Name the left $m$ columns $W^T$ and the right $n$ columns $B^T.$

We get two Gram matrices, first $G = A A^T$ is $m$ by $m.$ Next, $H = B B^T$ is $n$ by $n.$

All the examples I have done so far have $$\det(G) = \det(H)$$

Theorems:

(I) true when integer entries

(II) true when $S \in SO_n$

(III) true for 2 by 2, that would be $m=n=1$

The question is, is this thing always true with real entries? i have a limited ability to look for counterexamples in low dimension, none so far. I have tried a few examples up to $m+n \leq 4,$ however rational entries with small denominators. I also cannot prove it, it is in the area of Schur complement but I do not see a proof either. I should add that, should the thing be true over the reals, i would expect a proof to have appeared in the (few) places where there is a proof with integer entries.

I did one by hand last night, irrational entries. Let $w = 2 \cos \frac{2 \pi}{9},$ so that $w > 1$ and $w^3 - 3w + 1 = 0.$ The initial matrix with determinant $1$ is

$$ S = \left( \begin{array}{ccc} w & 1 & 1 \\ 1 & w & 1 \\ 1 & 1 & w \\ \end{array} \right) $$ with $$ T = \left( \begin{array}{ccc} w^2-1 & 1-w & 1-w \\ 1 -w & w^2-1 & 1-w \\ 1-w & 1-w & w^2-1 \\ \end{array} \right) $$ From $$ A = ( w,1,1)$$ we get $G = \left( w^2 + 2 \right)$ and $$ \det G = w^2 + 2. $$ Then $$ B = \left( \begin{array}{ccc} 1 -w & w^2-1 & 1-w \\ 1-w & 1-w & w^2-1 \\ \end{array} \right) $$ gives, using relations $w^3 = 3 w - 1$ and $w^4 = 3 w^2 - w,$ $$ H = \left( \begin{array}{cc} 3 w^2 - 5 w + 3 & 3w^2-6w+1 \\ 3w^2 - 6 w + 1 & 3 w^2 - 5 w + 3 \\ \end{array} \right) $$ and, after using the same relations, $$ \det H = w^2 + 2 = \det G $$

enter image description here

2

There are 2 best solutions below

0
On

Example with integer coefficients I had partly typed up. Detail that could be important, could be irrelevant: here, i did not work out a complete matrix $S$ that contained $A$ as the top two rows. i went directly to putting $AR$ in Hermite form by column operations. Hmmm: with the square matrix $R$ far below, the top two rows of $R^{-1}$ really do turn out to be $A.$ maybe this is not a problem.

The whole point of the exercise is that the determinant of the Gram matrix for $M$ is the same as the determinant of the Gram matrix for $M^\perp \; .$

We begin with a lattice $M$ with basis given by the two rows of $$ A = \left( \begin{array}{ccccc} 1&1&0&0&2 \\ 1&1&1&0&3 \end{array} \right) $$ The inner products give the Gram matrix $G = A A^T$ as $$ G = \left( \begin{array}{cc} 6&8 \\ 8&12 \end{array} \right) $$ This gives $$ G^{-1} = \left( \begin{array}{cc} \frac{3}{2}&-1 \\ -1&\frac{3}{2} \end{array} \right) $$ This allows us to define a basis with rational elements, for the dual lattice $M^\ast,$ given by $A^\ast = G^{-1}A.$ The dual lattice is integer valued linear functionals on $M,$ but we can expres it using rational vectors. $$ A^\ast = \left( \begin{array}{ccccc} \frac{1}{2}&\frac{1}{2}&-1&0&0 \\ -\frac{1}{4}&-\frac{1}{4}&\frac{3}{4}&0&\frac{1}{4} \end{array} \right) $$ We have, automatically, $A^\ast A^T = I$

We also need the Smith Normal Form of $G,$ in symbols $USV = G.$ this one came out with $U = I$ and $$ S = \left( \begin{array}{cc} 2&0 \\ 0&4 \end{array} \right) , $$ $$ V = \left( \begin{array}{cc} 3&4 \\ 2&3 \end{array} \right) . $$

This allows us to give an improved basis for $A^\ast,$ while keeping $A$ because $U^{-1} = I$ and $U^{-1}A=A.$ Let vectors $x_1, x_2$ be the rows of $$ VA^\ast = \left( \begin{array}{ccccc} \frac{1}{2}&\frac{1}{2}&0&0&1 \\ \frac{1}{4}&\frac{1}{4}&\frac{1}{4}&0&\frac{3}{4} \end{array} \right) $$ as in the proof of Lemma (2.3) in\cite{looijenga}, while vectors $a_1, a_2$ are the rows of $$ U^{-1}A = \left( \begin{array}{ccccc} 1&1&0&0&2 \\ 1&1&1&0&3 \end{array} \right) . $$ Note that the basis vectors are aligned. We have $a_1 = 2 x_1$ and $a_2 = 4 x_2.$ The quotient group $M^\ast / M $ is therefore $Z/2Z \oplus Z/4Z.$ This follows the method on page 36 of Newman~\cite{newman}. We also need vectors $z_1, z_2$ in the ambient lattice such that $z_i \cdot a_j = x_i \cdot a_j. $ This was easy enough, I took $z_1, z_2$ as the rows of $$ Z = \left( \begin{array}{ccccc} 0&1&0&0&1 \\ 1&1&1&0&0 \end{array} \right) $$

We are finally ready to solve the linear Diophantine system $A B^T = 0,$ where $B$ will be a basis matrix for the full rank lattice $M^\perp.$

Alright, our lattice $M$ is primitively embedded. We take the definition to be that the matrix $A$ can be completed to become a square matrix of integers with determinant $1.$ What we want is to follow\cite{gilbert} and use column operations to force $A$ into Hermite Normal Form. We find integer matrix $R$ such that $\det R = 1,$

$$ R = \left( \begin{array}{ccccc} 1&0&1&0&-2 \\ 0&0&-1&0&0 \\ -1&1&0&0&-1 \\ 0&0&0&1&0 \\ 0&0&0&0&1 \\ \end{array} \right). $$ we get $$ AR = \left( \begin{array}{ccccc} 1&0&0&0&0 \\ 0&1&0&0&0 \end{array} \right) $$

So, what is a basis for $M^\perp \; ?$ We know that an integer column vector $X$ that solves $ARX =0$ can be any $$ X = \left( \begin{array}{c} 0 \\ 0 \\ p \\ q \\ r \\ \end{array} \right) $$ Thus $RX$ can be any integer linear combination of the three right columns of $R.$ Writing as rows, we find a basis of $M^\perp \;$ given by $$ B = \left( \begin{array}{ccccc} 1&-1&0&0&0 \\ 0&0&0&1&0 \\ -2&0&-1&0&1 \end{array} \right) $$

The Gram matrix for $B$ is $$ H = \left( \begin{array}{ccc} 2&0&-2 \\ 0&1&0 \\ -2&0&6 \end{array} \right) $$ which has determinant $8,$ same as $\det G.$ Who Knew?

0
On

Added: this really is a theorem. All that is needed is in Horn and Johnson on the Schur Complement and determinants, pages 18 and 22.

This has got to be a theorem. I made a square 5 by 5 matrix with irrational entries $\tan 1 \; , \; \tan 2 \; , \; \ldots \; \tan 25 \; . \; $ and compared the Gram matrices for a 2 by 2 size and a 3 by 3 size. Exact

NOTE: using radians, the entries of m are tan(1), tan(2), ..., tan(25).

parisize = 4000000, primelimit = 500000
?  m = [ 1.557407724654902 , -2.185039863261519 , -0.1425465430742778 , 1.157821282349577 , -3.380515006246586 ; -0.2910061913847491 , 0.8714479827243188 , -6.799711455220379 , -0.4523156594418098 , 0.6483608274590866 ; -225.9508464541951 , -0.6358599286615808 , 0.4630211329364896 , 7.244606616094805 , -0.8559934009085187 ; 0.3006322420239034 , 3.49391564547484 , -1.137313712337687 , 0.1515894706124001 , 2.237160944224742 ; -1.527498527636604 , 0.008851656041684461 , 1.588153083391274 , -2.134896697721701 , -0.1335264070215359   ] 
%1 = 
[1.557407724654902000000000000 -2.185039863261519000000000000 -0.1425465430742778000000000000 1.157821282349577000000000000 -3.380515006246586000000000000]

[-0.2910061913847491000000000000 0.8714479827243188000000000000 -6.799711455220379000000000000 -0.4523156594418098000000000000 0.6483608274590866000000000000]

[-225.9508464541951000000000000 -0.6358599286615808000000000000 0.4630211329364896000000000000 7.244606616094805000000000000 -0.8559934009085187000000000000]

[0.3006322420239034000000000000 3.493915645474840000000000000 -1.137313712337687000000000000 0.1515894706124001000000000000 2.237160944224742000000000000]

[-1.527498527636604000000000000 0.008851656041684461000000000000 1.588153083391274000000000000 -2.134896697721701000000000000 -0.1335264070215359000000000000]

? debt = matdet(m)
%2 = 24497.09704256778049639158376

? fac = debt^(1/5)
%3 = 7.547844156426395624577343778

? m /= fac
%4 = 
[0.2063380870587917240105867612 -0.2894919155691800314180715590 -0.01888572950369022001474870408 0.1533976137230898237809176347 -0.4478782200833258283576279563]

[-0.03855487545234757094009540885 0.1154565415851027324575406953 -0.9008812734204321807873138084 -0.05992647040237292032716745625 0.08590013439891420547524314893]

[-29.93581236859742611090839373 -0.08424391329280375830466144399 0.06134481890994841542490222238 0.9598246156058471729187668573 -0.1134089924445124701159681501]

[0.03983021320968036841398313189 0.4629024623541075157628267756 -0.1506806034633550070313019950 0.02008381035309712761120212867 0.2963973417919572994325552060]

[-0.2023754725163554349355664617 0.001172739640384330419205294717 0.2104114831304626984712667832 -0.2828485397256121646191164374 -0.01769066825629258215697419273]

? debt = matdet(m)
%5 = 1.000000000000000000000000000
? rowpick = [ 1,0,0,0,0; 0,1,0,0,0]
%6 = 
[1 0 0 0 0]

[0 1 0 0 0]

? a
%7 = a
? a = rowpick * m
%8 = 
[0.2063380870587917240105867612 -0.2894919155691800314180715590 -0.01888572950369022001474870408 0.1533976137230898237809176347 -0.4478782200833258283576279563]

[-0.03855487545234757094009540885 0.1154565415851027324575406953 -0.9008812734204321807873138084 -0.05992647040237292032716745625 0.08590013439891420547524314893]

? at = mattranspose(a)
%9 = 
[  0.2063380870587917240105867612 -0.03855487545234757094009540885]

[ -0.2894919155691800314180715590   0.1154565415851027324575406953]

[-0.01888572950369022001474870408  -0.9008812734204321807873138084]

[  0.1533976137230898237809176347 -0.05992647040237292032716745625]

[ -0.4478782200833258283576279563  0.08590013439891420547524314893]

? g = a * at
%10 = 
[  0.3508633740508276506535810874 -0.07203065144940871702877526139]

[-0.07203065144940871702877526139   0.8373737751601960767543868733]

? matdet(g)
%11 = 0.2886153733461593215946368197
                                                          ^-----
? colpick = [ 0,0,0; 0,0,0; 1,0,0; 0,1,0; 0,0,1]
%12 = 
[0 0 0]

[0 0 0]

[1 0 0]

[0 1 0]

[0 0 1]

? minv = matadjoint(m)
%13 = 
[0.01300269731369818829638007219 -0.02674251166202962660947727775 -0.03261085200127644542845237780 0.009113394364279897835346274578 -0.09729765533112450985525693048]

[2.310623353427437059104740737 -0.2863793575888761321754186193 0.01030239606981335898064088243 3.674535088816331341332759028 1.609670576251879309993918908]

[-0.06501213562133609896051352262 -1.097760873589540937810872902 -0.0001666136921397583323286163432 0.2325739177295870094754204257 0.2132706027931266904986565148]

[0.1805575323138607191616603425 -0.7953439347925459008074120900 0.02409117506094636101522026315 0.3236924584479240324202364903 -3.164295883277156641627824084]

[-3.655678841769059693250014237 -0.05332998031280571094353141526 -0.01342473363435497744675223768 -2.269827808399605142690001942 -2.178016245070590470893452750]

? m * minv
%14 = 
[1.000000000000000000000000000 2.761013168 E-30 8.38164712 E-30 -2.524354897 E-29 2.524354897 E-29]

[7.131302583 E-28 1.000000000000000000000000000 -8.66021363 E-29 2.524354897 E-29 -9.46633086 E-30]

[3.104956523 E-27 -2.016525689 E-27 1.000000000000000000000000000 1.142270591 E-27 -2.912474462 E-27]

[0.E-28 1.143848313 E-29 2.741291646 E-29 1.000000000000000000000000000 1.262177448 E-29]

[-1.987929481 E-28 -1.495137934 E-29 1.042775509 E-29 2.366582716 E-30 1.000000000000000000000000000]

? matdet(minv)
%15 = 1.000000000000000000000000000
? colpick
%16 = 
[0 0 0]

[0 0 0]

[1 0 0]

[0 1 0]

[0 0 1]

? bt = minv * colpick
%17 = 
[  -0.03261085200127644542845237780 0.009113394364279897835346274578 -0.09729765533112450985525693048]

[   0.01030239606981335898064088243    3.674535088816331341332759028    1.609670576251879309993918908]

[-0.0001666136921397583323286163432   0.2325739177295870094754204257   0.2132706027931266904986565148]

[   0.02409117506094636101522026315   0.3236924584479240324202364903   -3.164295883277156641627824084]

[  -0.01342473363435497744675223768   -2.269827808399605142690001942   -2.178016245070590470893452750]

? b = mattranspose(bt)
%18 = 
[-0.03261085200127644542845237780 0.01030239606981335898064088243 -0.0001666136921397583323286163432 0.02409117506094636101522026315 -0.01342473363435497744675223768]

[0.009113394364279897835346274578 3.674535088816331341332759028 0.2325739177295870094754204257 0.3236924584479240324202364903 -2.269827808399605142690001942]

[-0.09729765533112450985525693048 1.609670576251879309993918908 0.2132706027931266904986565148 -3.164295883277156641627824084 -2.178016245070590470893452750]

? h = b * bt
%19 = 
[0.001930242982121415836236874972 0.07579053570943498874408610483 -0.02727142867330134515843807679]

[ 0.07579053570943498874408610483   18.81327688754758727495481012    9.882968608089817915270379796]

[-0.02727142867330134515843807679   9.882968608089817915270379796    17.40251374851589046281277733]

? g
%20 = 
[  0.3508633740508276506535810874 -0.07203065144940871702877526139]

[-0.07203065144940871702877526139   0.8373737751601960767543868733]

? h
%21 = 
[0.001930242982121415836236874972 0.07579053570943498874408610483 -0.02727142867330134515843807679]

[ 0.07579053570943498874408610483   18.81327688754758727495481012    9.882968608089817915270379796]

[-0.02727142867330134515843807679   9.882968608089817915270379796    17.40251374851589046281277733]

? matdet(g)
%22 = 0.2886153733461593215946368197
? 
? matdet(h)
%23 = 0.2886153733461593215946368198
?