How Do I Find a Particular Theorem?

resolvent's picture

How do I locate a particular theorem in Linear Algebra that I need for my research?

I have been to conferences which seriously discussed a unified and universal bank of all known math theorems. Theoretically, all proven math theorems could be connected logically: A implies B. But, in reality, most proven math theorems are scattered throughout the literature.

I have no access to a university with math journals.
I might be able to do inter-library loan at my local community county college here in the United States. But, that may take a long time. I have no paid job. My earned income is only from social security disability.

Specifically, I need to know:
Let R be a commutative ring. Let M be a square matrix with entries in R. Suppose det(M) factors over R, i.e. is reducible over R, i.e. there exist A and B in R such that A and B are not units in R and det(M)=A*B. Prove there exist square matrices
U and V with entries in R such that detU=A and detV=B.

I believe I can prove this for myself. However, I had to reinvent the wheel.

Thanks,
John
resolvent@comcast.net

Comments

Robert Israel's picture

Theorem?

Obviously, if your ring R has an identity, there is a square matrix with determinant A, namely a diagonal matrix with one A and all other diagonal entries 1.
So I suppose your ring R doesn't have an identity.
But then your result is not true, e.g. if R is the commutative ring over the integers generated by x (i.e. polynomials in x with integer coefficients and no constant term) take
M = RTABLE(156754120,MATRIX([[x, 0], [0, x^2]]),Matrix). Its determinant is x^3 so we can take A = x, B = x^2. But the determinant of any 2 x 2 matrix over R is divisible by x^2.

resolvent's picture

Also: assume R has an identity

I did mean also to add: my ring R has an identity.
Let char(R)=0, too. Feel free to do the
char(R)=p>0 case for me, too :).
Correct me if I did not set up my conjecture
properly, but, your example:

M factors as M = A*B

where A =[[x,0],[0,1]] and B =[[1,0],[0,x^2]]

det M = x^3
det A = x
det B = x^2

so det M factors over R into two non-units,
and M factors over GL2(R) into two matrices with these
factors as determinants.

So, at the moment, I still don't see a counterexample.
Oh, also, the matrices must be size N by N where N > 1.
The result is trivially true for N=1.

I started a sketch of a proof in the N=2 case,
but I realized it was wrong as I began to fill in the details.

Robert Israel's picture

Counterexample

I hope I have this straight now. R is a commutative ring with identity, you have an n x n matrix M over R such that det(M) = rs where r and s are non-units in R, and you want to write M = AB where A and B are n x n matrices over R with det(A) = r and det(B) = s.

I think I have a counterexample. Let R be the ring with identity generated by one indeterminate x with x^2 = 0, let M = Matrix([[x,0],[0,x]]), and take r=s=0.

Let's try to find A and B using Maple. Start with two general 2x2 matrices over R. The coefficients e[i,j], f[i,j], g[i,j] and h[i,j] must be integers.

> with(LinearAlgebra):
  M:= DiagonalMatrix([x,x]);
  A:= Matrix(2,2,(i,j)->e[i,j]+f[i,j]*x); 
  B:= Matrix(2,2,(i,j) -> g[i,j]+h[i,j]*x);

To satisfy our requirements, the coefficients of x^0 and x^1 in the entries of A.B-M and in det(A) and det(B) must be 0.

> P:= A.B-M;
  L:= map(t -> (coeff(t,x,0),coeff(t,x,1)),
    [seq(seq(P[i,j],i=1..2),j=1..2), Determinant(A),   
      Determinant(B)]);

Use Groebner[Solve] to see if there is a solution to these equations.

> with(Groebner):
  Solve(L,indets(L));

{}

So, if Maple is to be believed, there is no solution.
There's probably a nicer proof than that.

Robert Israel's picture

Non-Maple proof

Here's a proof of my counterexample without using Maple.
Suppose A and B are 2 x 2 matrices over R so that
det(A) = det(B) = 0 and A B = M = x I.
Let Adj be the classical adjoint operator, so
Adj(Matrix([[a,b],[c,d]]))= Matrix([[d,-b],[-c,a]]). Note that
Adj(A) A = det(A) I = 0 so
Adj(A) x = Adj(A) A B = 0. This means that all matrix elements
of Adj(A), and therefore of A, are multiples of x.
Similarly from x Adj(B) = A B Adj(B) = 0 we see that all
matrix elements of B are multiples of x. But that implies
that A B = 0, contradiction.

This proof relies heavily on the fact that the matrices are
2 x 2, so that Adj is a linear operator. I don't see how to get a counterexample in n x n matrices with n > 2. The most simpleminded generalization doesn't work: for n=4 the matrices A = Matrix([[x,0,0,0],[0,x,0,0],[0,0,1,0],[0,0,0,1]]) and B = Matrix([[1,0,0,0],[0,1,0,0],[0,0,x,0],[0,0,0,x]]) over R satisfy A B = x I with det(A) = det(B) = 0.

resolvent's picture

More hypotheses I need to add

Thank you for both your non-Maple and your Maple proof.
Your Maple proof taught me how to use some new commands.

I hate to ask: when you show Adj(A)x = 0,
meaning, [[d -b][-c a]]*[[x 0][0 x]]=[[0 0][0 0]]
you are saying ax=0, bx=0, cx=0, dx=0.
So, R has a lot of zero-divisors, and nilpotent x^2=0.

But, how does this make the entries, {a,b,c,d}, of A
be x-multiples of elements in the ring, R?

I need this theorem to be true in order for me to factor
a certain huge matrix, M, filled with lots of indeterminantes.
I didn't think of this conjecture as just a fun exercise.

In my ring, R, there are no zero-divisors and no nilpotents.

To answer one of the other responders' questions
(I thank them for responding): the size of M is pre-determined.

In my smallest application, M is a 12 by 12 matrix.

Specifically, in my smallest example,
e1, e2, e3 are indeterminate functions of x,
differentially independent over Q(x).
R=Z[e1,e2,e3,De1, De2, De3, D^2e1, D^2e2, D^2e3,
D^3e1, D^3e2, D^3e3]

Also, HOW do I make a line break in Maple without
setting off execution?

I need to be able to write my flow control statements
on multiple lines, such as

if (isprime(n))
then n+1
else n+2

Robert Israel's picture

x-multiples

But, how does this make the entries, {a,b,c,d}, of A
be x-multiples of elements in the ring, R?

The members of the ring R are all of the form r = m + nx where m and n are integers. Since x^2=0, rx = mx. So if rx = 0, m=0 which means r = nx is a multiple of x.

In my ring, R, there are no zero-divisors and no nilpotents.

Ah, R is an integral domain. That changes things considerably. I haven't found a counterexample yet, and suspect it may be true, at least in the case n=2. This looks like a good question to ask in the sci.math.research newsgroup.

Axel Vogt's picture

do you allow the matrices to be of arbitrary dimension?

do you allow the matrices to be of arbitrary dimension?

JacquesC's picture

A note and a variant

Note that the original question did NOT have M=A*B, but merely that det(M)=A*B and exists matrices U,V such that det(U)=A and det(V)=B, and no other relations. In other words, U.V does not have to satisfy any relation at all - unlike Robert's last post.

If you allow U and V to be of any dimension, then this is easy - take them both to be of dimension 1. The more interesting case is when dim(M) = n = degree(det(M)). Then we can find matrices U and V with dimension that of the factors A and B - basically these are just the companion matrices of A and B!

resolvent's picture

Small versus capital letters

I should have typed, if I didn't,
det(M) = a*b or det(M)= r*s

using only small letters, {a,b,r,s},
to denote elements in the ring, R
and only capital letters, A, B, etc.
to denote matrices. Hope I didn't
waste anyone's time!

edgar's picture

ok...???

I have been to conferences which seriously discussed a unified and universal bank of all known math theorems.

Wow. That must not have been a math conference. (Maybe an engineering conference, a physics conference, or even a math education conference.) Mathematicians would know such a list is impractical. Maybe in 10 years when everything is machine-searchable on the internet...???

To find a specific result, ask here. Or on many of the other math web sites and newsgroups. But if you want a reference to the result (and not a new proof of the result) you probably will have to emphasize that repeatedly during the discussion...
---
G A Edgar

developments?

What developments would be required to make such a list feasible? (computational representation of mathematics?, artificial intelligence?, ...)

resolvent's picture

What's wrong with my program?

I want to add 1 to t if and only if t is a
certain value mod 4, as shown. But, my program
thinks none of these values show up.
The final answer should be t = 3 (I think
- just did that in my head).

Please replace this text with the link to your file.
The link can be found in the File Manager

View 5348_Mod4SumTest.mw on MapleNet or Download 5348_Mod4SumTest.mw
View file details

Also, why would it be impractical? The conference I had in
mind was the International Symposium of Symbolic &
Algebraic Computation (ISSAC) 2003 held at Drexel University,
Philadelphia, PA, USA. Actually, a subconference of ISSAC2003
called Internet Accessible Mathematical Computation (IAMC),
held 2003 August 7. I got the impression that many
mathematicians were already seriously working on a unified bank of math theorems at that time. I am curious to see how
far they have gotten.

After all, if Theorem A + Theorem B lead to Theorem C,
then there is no reason why a web-like resource for
tracking down these theorems AND there proofs could not
be created.

acer's picture

mod syntax

The uploaded file has,

p*n+s = `mod`(0, a)

Did you perhaps intend either of these forms below? 

> restart:
> s := 3: p := 1: a := 4: t := 0:
> for n to 10 do
> if `mod`(p*n+s,a) = 0
> then t := t+1
> else p*n+s
> end if;
> end do;
> t;

                                       3

Or,

> restart:
> s := 3: p := 1: a := 4: t := 0:
> for n to 10 do
> if p*n+s mod a = 0
> then t := t+1
> else p*n+s
> end if;
> end do;
> t;

                                       3

acer

resolvent's picture

See my newer post, Acer

Thanks for checking it out.
I made an even simpler version of this routine.
I asked for help in my newest thread titled
"What is wrong with my program?"

I know that this is what programming is:
stop, ask for help, get help, add another line or
1 change or 1 added level of complexity, get stuck,
waste time experimenting, stop, ask for help.

It just seems that there should be some more "automatic"
way of detecting programming logic errors, analogous
to XML editors which point out syntax errors, such as
non-closed brackets.

In fact, that reminds me of a question on the subject of XML
editors which I will ask in another thread.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
}