[All references to [Permission pending] refer to the same individual's name or email address -- djr] ============================================================================== From: [Permission pending] Newsgroups: sci.math Subject: Polynomial problem Date: 3 Feb 1995 10:00:29 -0000 Keywords: linear independence, polynomials Suppose we have the polynomial ring Q[X]=Q[x1,...,xn] in n indeterminants. Let P={p1,...,pk} be a Q-linearly independent set, i.e. if a1*p1 + ... + ak*pk = 0 (for ai in Q) then necessarily a1=...=ak=0. Note that this is Q-linear dependence, *not* Q[X]-linear dependence. Can we place a restriction on another polynomial p in Q[X] such that the set P'={p1,...,pk,p} is still linearly independent over Q ?? I'd like to be able to discuss the condition without expanding polynomials if possible - I have my polynomials expressed as products of factors for brevity and would like to keep them this way. Perhaps looking at leading terms/trailing terms, etc. would be good. For example, if the leading term of p is strictly bigger than the leading terms of p1,...,pk then P' will certainly be linearly independent still. Replies via e-mail or here would be appreciated. [Permission pending] ============================================================================== [I responded, something along the lines of evaluating the polynomials at a number of points equal to the degrees, and looking for linear relations among the values -- djr] ============================================================================== To: rusin@math.niu.edu (Dave Rusin) Subject: Re: Polynomial problem Date: Mon, 06 Feb 1995 14:02:10 +0000 From: [Permission pending] Dear Dave, Thanks for your reply to my sci.math posting. I include below an example of what I had in mind to see whether you still feel that the approach you suggested is applicable here: A typical set of my polynomials may look something like this: p1 = x1x2(x1+x2) p2 = x1(x2+x3)(x1+x2+x3) p3 = (x1+x2)x3(x1+x2+x3) p4 = x2x3(x2+x3) Now any three of these are Q-linearly independent - how can I decide that I cannot add another of the pi's without destroying this independence? Thanks again, [Permission pending] ============================================================================== Date: Wed, 15 Feb 95 16:23:24 CST From: rusin (Dave Rusin) To: [Permission pending] Subject: Re: Polynomial problem I must apologize for delaying so long in responding to you; your letter got swept into another mailbox I thought I was done with. You wrote: >A typical set of my polynomials may look something like this: > p1 = x1x2(x1+x2) > p2 = x1(x2+x3)(x1+x2+x3) > p3 = (x1+x2)x3(x1+x2+x3) > p4 = x2x3(x2+x3) >Now any three of these are Q-linearly independent - how can I decide >that I cannot add another of the pi's without destroying this independence? I had not realized you were posting about polynomials in several variables. The statement that the pi are linearly dependent can be phrased by noting there are nonzero constants a1 a2 a3 a4 so that Sum( ai pi(v) ) = 0 for all vectors v=(x1,x2,x3). In particular, for any 4 vectors v1 v2 v3 v4 we will have det( pi(vj) ) = 0. This can be used to give a quick proof of the linear independence of sets -- just exhibit 4 vectors vj for which the determinant is not zero. Just what to do in the opposite direction depends on your goal. If you need a quick test for independence, you could try choosing the vj randomly -- if the pi really are independent, the set of 4-tuples of vectors vj making the determinant zero has measure zero in (R^3)^4. If instead you want to test independence for a proof of something (that is, if you need 100% accuracy) you'll need collections of particular 4-tuples of vectors which will collectively give an "iff" condition. The corresponding statement for polynomials of 1 variable goes like this: if k polynomials of degree at most N are given, they are dependent iff the vectors wi=(pi(1), ..., pi(N)) are linearly dependent in R^N for i = 1, 2, ..., k. Indeed, one direction is trivial, and in the other direction note that if Sum( ai wi ) = 0, then Sum( ai pi(j) )=0 for every j, so that the polynomial Sum( ai pi ) has roots 1, 2, ..., N. But a polynomial of degree N or less can't have N distinct roots unless it's identically zero. The dependence of these vectors in R^N is checked by computing all determinants det( pi(vj) ) where {v1,...,vk} runs over the various subsets of {1,...,N} of cardinality k. You can stop as soon as one of the determinants is nonzero -- then you know the pi are independent. Otherwise, keep going until you've checked all subdeterminants; if all are zero, the vectors are dependent. The corresponding statement for sets of polynomials of d variables of degree at most N would be to look at all the vectors v in R^d each of whose coordinates are in {1,2,...,N}. Let the number of such vectors be M (=N^d in this setting). Then the polynomials are linearly dependent iff the k vectors wi=(pi(v_1),..., pi(v_M)) in R^M are linearly dependent. Since M is probably large compared to k, you would test this by checking the k x k determinants of portions of this k x M matrix looking for a non-zero determinant, stopping either if some determinant is not zero (the polynomials are independent) or you've exhausted all determinants (the poly's are dependent) or you've exhausted your patience (the poly's are probably dependent) In practice I think you can get away with a smaller M than I've suggested since it appears your sets of polynomials will be restricted in some way (e.g. be homogeneous). Also I think you can check linear dependence a bit faster than I've indicated: each time you get a determinant of zero you've shown some columns are dependent on others, and so you can toss out other determinants involving these columns. I won't get far into discussions of efficiency unless you tell me this is a critical issue for you (and why). dave ============================================================================== To: rusin@math.niu.edu (Dave Rusin) Subject: Re: Polynomial problem Date: Tue, 21 Feb 1995 14:03:43 +0000 From: [Permission pending] Dear Dave, Thank you very much for your mail which I found very interesting - I have a few questions though. You were replying to the following: >A typical set of my polynomials may look something like this: > p1 = x1x2(x1+x2) > p2 = x1(x2+x3)(x1+x2+x3) > p3 = (x1+x2)x3(x1+x2+x3) > p4 = x2x3(x2+x3) >Now any three of these are Q-linearly independent - how can I decide >that I cannot add another of the pi's without destroying this independence? which you did as follows: > I had not realized you were posting about polynomials in several variables. > > The statement that the pi are linearly dependent can be phrased by > noting there are nonzero constants a1 a2 a3 a4 so that Sum( ai pi(v) ) = 0 > for all vectors v=(x1,x2,x3). In particular, for any 4 vectors > v1 v2 v3 v4 we will have det( pi(vj) ) = 0. This can be used to give a > quick proof of the linear independence of sets -- just exhibit 4 vectors > vj for which the determinant is not zero. > > Just what to do in the opposite direction depends on your goal. If you > need a quick test for independence, you could try choosing the vj > randomly -- if the pi really are independent, the set of 4-tuples of > vectors vj making the determinant zero has measure zero in (R^3)^4. > If instead you want to test independence for a proof of something > (that is, if you need 100% accuracy) you'll need collections of particular > 4-tuples of vectors which will collectively give an "iff" condition. > > The corresponding statement for polynomials of 1 variable > goes like this: if k polynomials of degree at most N are given, > they are dependent iff the vectors wi=(pi(1), ..., pi(N)) are linearly > dependent in R^N for i = 1, 2, ..., k. Indeed, one direction is > trivial, and in the other direction note that if Sum( ai wi ) = 0, > then Sum( ai pi(j) )=0 for every j, so that the polynomial > Sum( ai pi ) has roots 1, 2, ..., N. But a polynomial of degree N > or less can't have N distinct roots unless it's identically zero. > The dependence of these vectors in R^N is checked by computing all > determinants det( pi(vj) ) where {v1,...,vk} runs over the various > subsets of {1,...,N} of cardinality k. You can stop as soon as > one of the determinants is nonzero -- then you know the pi are > independent. Otherwise, keep going until you've checked all subdeterminants; > if all are zero, the vectors are dependent. > > The corresponding statement for sets of polynomials of d > variables of degree at most N would be to look at > all the vectors v in R^d each of whose coordinates are in > {1,2,...,N}. Let the number of such vectors be M (=N^d in this > setting). Then the polynomials are linearly dependent iff the > k vectors wi=(pi(v_1),..., pi(v_M)) in R^M are linearly dependent. > Since M is probably large compared to k, you would test this > by checking the k x k determinants of portions of this k x M matrix > looking for a non-zero determinant, stopping either if > some determinant is not zero (the polynomials are independent) > or you've exhausted all determinants (the poly's are dependent) > or you've exhausted your patience (the poly's are probably dependent) > > In practice I think you can get away with a smaller M than I've > suggested since it appears your sets of polynomials will be > restricted in some way (e.g. be homogeneous). Also I think you can > check linear dependence a bit faster than I've indicated: each time > you get a determinant of zero you've shown some columns are dependent on > others, and so you can toss out other determinants involving these > columns. I won't get far into discussions of efficiency unless you > tell me this is a critical issue for you (and why). > The efficiency problem is precisely why I've been looking for methods other than the one I've been using to now. The polynomials will *always* be homogeneous - how does this make M above smaller? N^d is certainly going to be very large in comparison to k, although even k itself can sometimes become quite large (~100) so checking the k x k determinants you suggest above may become difficult too. I acknowledge that this is a difficult problem in general and I appreciate your advice so far. Any further hints would be welcomed, as would be suitable references for the ideas you have presented (if they are well-known). Regards, [Permission pending] ============================================================================== To: rusin@math.niu.edu (Dave Rusin) Subject: Re: Polynomial problem Date: Tue, 04 Apr 1995 10:54:21 +0100 From: [Permission pending] Hi Dave, Sorry it's been such a long time but I've been organising a conference and things have been a bit hectic. I have been using your method for determining bases for polynomial spaces with quite some success. The value of M=N^d which you said could be reduced (since for example my polys are homogeneous) seems to be true. I have guessed at smaller values and looked at whether a true basis is produced. It would be nice to have some closed form bound for the "most" M need be. I am currently preparing a paper on my work and would like to include this approach -- do you have any references I could use?? Or is this your own work?? I would also like to acknowledge your assistance and hence can you provide your full name and affiliation (if you've no objections of course!). Hope to hear from you soon, [Permission pending] ============================================================================== Date: Wed, 5 Apr 95 11:59:27 CDT From: rusin (Dave Rusin) To: [Permission pending] Subject: Re: Polynomial problem When I returned to my computer it said to type ntalk but that seems to have no effect right now. Sorry if I missed you. >The >value of M=N^d which you said could be reduced (since for example my polys >are homogeneous) seems to be true. I have guessed at smaller values and >looked at whether a true basis is produced. It would be nice to have some >closed form bound for the "most" M need be. OK, try this. If I recall right you're looking at homogeneous polynomials in d variables of degree N. I can probably do it homogeneously and preserve some symmetry but let's go ahead and set x1=1 to get elements of what I'll call P(d-1,N), the polynomials of d-1 variables of degree at most N. I will show that linear independence of elements of P(m,N) can be tested unambiguously by checking the values of the polynomials at the points (i_1, ..., i_m) where each i_j is taken from {0,...,m} and Sum(i_j) <= N. This is the smallest such collection of points. There are {(N+1) choose m} of them. Of course one basis for P(m,N) is the set of monomials x^I = Prod((x_j)^(i_j)) But another basis is the set of polynomials x_I = Prod( binom((x_j),(i_j )) ). By comparing the highest-order terms, it is clear that these are linearly independent and by proceeding recursively on degree (starting with the highest-degree terms), one can write any polynomial as a linear combination of these, showing that they are a spanning set (or, of course, one could just count the number of elements in each basis). But this basis is just transitional. What you really want is the basis of polynomials y_I which have the property y_I(J) = 0 unless the multi-indices I and J are equal. The relationship with the x_I is straightforward but this time "_upper_-triangular": already x_I(J) = 0 unless I <= J, and so you can work your way down to the multiset 0 and write y_I as a linear combination of the x_J with J <= I. Now it's clear what the dual space of the vector space P(m,N) is: we have the functionals P --> P(I) where I ranges over these multisets; the collection of these evaluations is then a basis dual to the y_I. In particular, an element P in P(m,N) is zero iff P(I) = 0 for all I. This gives you a test for linear independence. Here's the situation for (m,N) = (2,3). The natural basis of monomials of degree at most 3 in 2 variables is {1, x, y, x^2, xy, y^2, x^3, x^2y, xy^2, y^3} corresponding to ten multi-indices I = {(0,0), (1,0), (0,1), (2,0), (1,1), (0,2), (3,0), (2,1), (1,2), (0,3)} respectively. The next basis x_I is simply {1, x, y, x(x-1)/2, xy, y(y-1)/2, x(x-1)(x-2)/6, x(x-1)y/2, xy(y-1)/2, y(y-1)(y-2)/6} whose elements are easy linear combinations of the previous basis: x_I=x^I first for I=(0,0), then for (1,0) and (0,1). x_(2,0) = (1/2)x^(2,0) + (1/2)x^(1,0), and more generally x_I is (1/I!)x^I + linear combinations of x^J with J of smaller total degree than I. Then we compute the y_I as follows: y_I = x_I for I = (3,0), (2,1), (1,2), and (0,3); Then, evaluating at all possible I we see x_(2,0) = y_(2,0) + y_(2,1) + 3 y_(3,0) so that y_(2,0) = x(2,0) - x_(2,1) - 3 x_(3,0), and in general y_I is x_I + linear combinations of x_J where J has larger total degree than I. (You could combine the two change-of-basis matrices into one by multiplying the lower-triangular and upper-triangular matrices which result, but I don't see any virtue in doing so.) To get the dimension of the vector space, you need to be able to count the number p(m,N) of monomials of degree at most N in m variables. The monomials of degree less than N total p(m,N-1); those of degree exactly N are homogeneous and so by reusing a previous trick, they are in one-to-one correspondence with the p(m-1,N) monomials of degree N or less in m-1 variables. Thus p(m,N) = p(m-1,N)+p(m,N-1), which is the recurrence for the binomial coefficients. Indeed, checking for starting values we find p(m,N) = binomial(N+1, m). If m is small compared to N this is about (N+1)^m / m!, and is actually a bit less. OK, so my estimate N^d/d! is a little off -- (N+1)^(d-1) / (d-1)! is better. >I am currently preparing a paper on my work and would like to include this >approach -- do you have any references I could use?? Or is this your own >work?? I would also like to acknowledge your assistance and hence can you >provide your full name and affiliation (if you've no objections of course!). I'm sure this is well known, but the size of the mathematical literature is now such that it's more work to find a reference than to recreate the observations from scratch. Thanks for the mention. I'm Dave Rusin (Department of Mathematical Sciences) Northern Illinois University I'd like to see the paper when you've got something written up. It gives me my jollies to see how people use what help I offer. dave ============================================================================== To: rusin@math.niu.edu (Dave Rusin) Subject: Re: Polynomial problem Date: Mon, 10 Apr 1995 09:19:15 +0100 From: [Permission pending] Hi Dave, Many thanks for your long and considered reply. Apologies for my lethargic response but as I mentioned I am organising a conference and people start arriving today. In view of that, I probably won't do much of my own work before Easter when I will look in detail at what you said, it looks very interesting. With regard to my paper, I have almost completed my first draft and I must finish by May 15th so you won't have to wait too long - your work will be the original stuff you sent as I haven't time to re-do with the new work of last week. I'll be in touch again when I've had chance to read your new work. Thanks again, [Permission pending] ============================================================================== Date: Fri, 28 Apr 95 01:00:31 CDT From: rusin (Dave Rusin) To: rusin Subject: old file found >Thank you very much for your mail They pay me "to do mathematics". That's all I'm doing. >The efficiency problem is precisely why I've been looking for methods other >than the one I've been using to now. The polynomials will *always* be >homogeneous - how does this make M above smaller? If you have only homogeneous equations of the same degree, you can substitute x1=1 into all of them and get the same number of equations, of the same degree, but using one fewer variable. The new set is linearly independent iff the original set was. >N^d is certainly going >to be very large in comparison to k, although even k itself can sometimes >become quite large (~100) so checking the k x k determinants you suggest >above may become difficult too. I acknowledge that this is a difficult >problem in general and I appreciate your advice so far. Any further hints >would be welcomed, as would be suitable references for the ideas you have >presented (if they are well-known). Well, my estimate of the number M of vectors you need in the test is too large, though not by much, perhaps. The dimension of the space of homogeneous polynomials of degree N in d variables is more like M = N^(d-1)/(d-1)! (I don't recall the exact computation) but if indeed N^d is much larger than k ~ 100, I think this is still going to be devastatingly large, unless perhaps N is quite small and d is the large part. (For N=2, the correct M is (d^2+3d-2)/2, for example). Am I correct in understanding, then, that it is important to know that polynomials really are linearly dependent, rather than being probably dependent? If we know there exist constants such that Sum (ai pi) vanishes at a really large number of points, that makes it rather likely that Sum(ai pi) really is zero ============================================================================== To: rusin@math.niu.edu (Dave Rusin) Subject: Re: Polynomial problem Date: Mon, 08 May 1995 10:32:13 +0100 From: [Permission pending] Hi Dave, I'm so sorry that I've taken so long to get back to you. Things got a bit hectic last week when I got asked to attend a job interview at short notice. Anyway, onto work. As a reminder, I'm looking at homogeneous polynomials of degree N in d variables and want tests for linear independence. Your last message appears at the end of this for reference. It could well be that the problems I am experiencing in following what you said are more to do with notation than anything else -- I set out my difficulties below. You said: "I will show that linear independence of elements of P(m,N) can be tested unambiguously by checking the values of the polynomials at the points (i_1, ..., i_m) where each i_j is taken from {0,...,m} and Sum(i_j) <= N. This is the smallest such collection of points. There are {(N+1) choose m} of them." I assume that P(m,N) means homogeneous polynomials in m variables of degree N. What does "checking the values of the polynomials at the points..." mean in this setting? Later you refer to multi-indices I, are these the I=(i_1, ..., i_m) above? In your example for (m,N)=(2,3), you get ten such I however, whereas (N+1) choose m = 4 choose 2 = 6...... Also, should the above read "points (i_1, ..., i_m) where each i_j is taken from {0, ..., N}" rather than "from {0,...,m}"? Even then, I don't see where your (N+1) choose m comes from. Perhaps I should make clear, I use (N+1) choose m = (N+1)! ---------- m!(N+1-m)! You then discuss two bases, one a monomial basis, the other a polynomial basis. Later you say: "...an element P in P(m,N) is zero iff P(I)=0 for all I. This gives a test for linear independence." Firstly, I need to be sure of what the I's really are (see my previous remarks), referred to as multi-indices/ multisets. Then, how is this a test for linear independence? Finally, you remark that the better estimate of how large my collection of "checking points" need be is (N+1)^(d-1)/(d-1)!, I assume obtained by putting m=d-1 with your previous result. Sorry to be so particular but I need to be clear in my mind what exactly is going on before I try to write up this improvement. My paper is now completed and will soon be mounted on a dedicated WWW server in postscript format. If you don't have Web access, let me know and I'll mail you the postscript file (or whatever format you prefer). With thanks for your continued help, [Permission pending] ------------------------------------------------------------------------------ In reply to the following: OK, try this. If I recall right you're looking at homogeneous polynomials in d variables of degree N. I can probably do it homogeneously and preserve some symmetry but let's go ahead and set x1=1 to get elements of what I'll call P(d-1,N), the polynomials of d-1 variables of degree at most N. I will show that linear independence of elements of P(m,N) can be tested unambiguously by checking the values of the polynomials at the points (i_1, ..., i_m) where each i_j is taken from {0,...,m} and Sum(i_j) <= N. This is the smallest such collection of points. There are {(N+1) choose m} of them. Of course one basis for P(m,N) is the set of monomials x^I = Prod((x_j)^(i_j)) But another basis is the set of polynomials x_I = Prod( binom((x_j),(i_j )) ). By comparing the highest-order terms, it is clear that these are linearly independent and by proceeding recursively on degree (starting with the highest-degree terms), one can write any polynomial as a linear combination of these, showing that they are a spanning set (or, of course, one could just count the number of elements in each basis). But this basis is just transitional. What you really want is the basis of polynomials y_I which have the property y_I(J) = 0 unless the multi-indices I and J are equal. The relationship with the x_I is straightforward but this time "_upper_-triangular": already x_I(J) = 0 unless I <= J, and so you can work your way down to the multiset 0 and write y_I as a linear combination of the x_J with J <= I. Now it's clear what the dual space of the vector space P(m,N) is: we have the functionals P --> P(I) where I ranges over these multisets; the collection of these evaluations is then a basis dual to the y_I. In particular, an element P in P(m,N) is zero iff P(I) = 0 for all I. This gives you a test for linear independence. Here's the situation for (m,N) = (2,3). The natural basis of monomials of degree at most 3 in 2 variables is {1, x, y, x^2, xy, y^2, x^3, x^2y, xy^2, y^3} corresponding to ten multi-indices I = {(0,0), (1,0), (0,1), (2,0), (1,1), (0,2), (3,0), (2,1), (1,2), (0,3)} respectively. The next basis x_I is simply {1, x, y, x(x-1)/2, xy, y(y-1)/2, x(x-1)(x-2)/6, x(x-1)y/2, xy(y-1)/2, y(y-1)(y-2)/6} whose elements are easy linear combinations of the previous basis: x_I=x^I first for I=(0,0), then for (1,0) and (0,1). x_(2,0) = (1/2)x^(2,0) + (1/2)x^(1,0), and more generally x_I is (1/I!)x^I + linear combinations of x^J with J of smaller total degree than I. Then we compute the y_I as follows: y_I = x_I for I = (3,0), (2,1), (1,2), and (0,3); Then, evaluating at all possible I we see x_(2,0) = y_(2,0) + y_(2,1) + 3 y_(3,0) so that y_(2,0) = x(2,0) - x_(2,1) - 3 x_(3,0), and in general y_I is x_I + linear combinations of x_J where J has larger total degree than I. (You could combine the two change-of-basis matrices into one by multiplying the lower-triangular and upper-triangular matrices which result, but I don't see any virtue in doing so.) To get the dimension of the vector space, you need to be able to count the number p(m,N) of monomials of degree at most N in m variables. The monomials of degree less than N total p(m,N-1); those of degree exactly N are homogeneous and so by reusing a previous trick, they are in one-to-one correspondence with the p(m-1,N) monomials of degree N or less in m-1 variables. Thus p(m,N) = p(m-1,N)+p(m,N-1), which is the recurrence for the binomial coefficients. Indeed, checking for starting values we find p(m,N) = binomial(N+1, m). If m is small compared to N this is about (N+1)^m / m!, and is actually a bit less. OK, so my estimate N^d/d! is a little off -- (N+1)^(d-1) / (d-1)! is better. >I am currently preparing a paper on my work and would like to include this >approach -- do you have any references I could use?? Or is this your own >work?? I would also like to acknowledge your assistance and hence can you >provide your full name and affiliation (if you've no objections of course!). I'm sure this is well known, but the size of the mathematical literature is now such that it's more work to find a reference than to recreate the observations from scratch. Thanks for the mention. I'm Dave Rusin (Department of Mathematical Sciences) Northern Illinois University I'd like to see the paper when you've got something written up. It gives me my jollies to see how people use what help I offer. dave ============================================================================== To: rusin@math.niu.edu (Dave Rusin) Subject: Re: Polynomial problem Date: Tue, 23 May 1995 11:19:46 +0100 From: [Permission pending] Hi Dave, Did my last message get through? The address I'm using is rusin@math.niu.edu Should I be using something more direct to your machine? Regards, [Permission pending] ============================================================================== Date: Wed, 24 May 95 13:19:55 CDT From: rusin (Dave Rusin) To: [Permission pending] Subject: Re: Polynomial problem Well, I never did find my response to your previous letter so I'll try to recreate it. It began with an apology for being so careless in some details; had you not appended my previous letter I wouldn't believe I had done it. First off: I did indeed misquote the dimension of the vector space: the set P(m,N) of (not necessarily homogeneous) polynomials of degree N or less in m variables has dimension {(N+m) choose m}. This agrees with the examples I worked out: m=2, N=3. Furthermore, I did indeed mistype here as you suggested: >Also, should the above read "points (i_1, ..., i_m) where each i_j is taken >from {0, ..., N}" rather than "from {0,...,m}"? Now let me clarify the main intent of the method. The main theorem is as I wrote to you before [correcting as in the previous paragraphs]: "I will show that linear independence of elements of P(m,N) can be tested unambiguously by checking the values of the polynomials at the points (i_1, ..., i_m) where each i_j is taken from {0,...,N} and Sum(i_j) <= N. This is the smallest such collection of points. There are {(N+m) choose m} of them." This caused you to respond >What does "checking the values of the polynomials at the points..." mean in >this setting? ...and then... >Later you say: "...an element P in P(m,N) is zero iff P(I)=0 for all I. >This gives a test for linear independence." ... how is this a >test for linear independence? Let me illustrate using an example you once sent me: > p1 = x1x2(x1+x2) > p2 = x1(x2+x3)(x1+x2+x3) > p3 = (x1+x2)x3(x1+x2+x3) > p4 = x2x3(x2+x3) >Now any three of these are Q-linearly independent - how can I decide >I cannot add another of the pi's without destroying this independence? The first trick I suggested (and I still think this is not the most elegant approach) is to set one variable to 1, to get a set of 2-variable cubics (fortunately also fitting the case m=2, N=3 discussed in other examples): p1 = x1x2(x1+X2) p2 = x1(x2+1)(x1+x2+1) p3 = (x1+x2)(x1+x2+1) p4 = x2(x2+1) The main theorem says we can determine dependence by evaluating these polynomials at all points with x1 and x2 being non-negative integers summing to N=3. Here's the table: (0,0) (1,0) (0,1) (2,0) (1,1) (0,2) (3,0) (2,1) (1,2) (0,3) p1 0 0 0 0 2 0 0 6 6 0 p2 0 2 0 6 6 0 12 16 12 0 p3 0 2 2 6 6 6 12 12 12 12 p4 0 0 2 0 2 6 0 2 6 12 Here's how we use this to test for linear independence. A glance at, say, columns 3, 4, and 5 shows that p1 p2 and p3 are linearly indpendent because there are no constants a1 a2 a3 making a1 p1 + a2 p2 + a3 p3 equal zero at each of these points Z1=(0,1), Z2=(2,0), and Z3=(1,1). On the other hand, p1 - p2 + p3 - p4 vanishes at each of the ten points above; the theorem says that this means p1-p2+p3-p4 is in fact identically zero. As a practical matter, I guess I would try a number of these points until I found a Z1 where p1 does not vanish. Then I would try again searching for another point Z2 making the values of p1 and p2 linearly independent; then add p3, p4, and so on. If at some stage you have that, say, p1, p2, and p3 take on independent values at points Z1, Z2, Z3, then there will be a unique set of constants a1 a2 a3 (easily found) such that p = p4 - (a1 p1 + a2 p2 + a3 p3) vanishes at Z1, Z2, and Z3. I guess what I would do is to pick a few choices for Z4 at random and see if p vanishes there, too. If not, then p1 p2 p3 p4 are linearly independent. If p does vanish at a lot of these points, I would probably quit at some point and declare the four p_i to be "probably linearly dependent"; I wouldn't know for sure until I had checked all {(N+m) choose m} possible points Z4. Whether this approach is better than expanding out the polynomials in the first place is not clear. If you really do have independent polynomials, you should be able to discover this with just a few function evaluations (as above), although you would also be likely to discover it just be finding the coefficients of just a few of the monomials in the expansion. In this case I guess you have to ask whether your particular p_i allow an especially easy expansion or an especially easy evaluation at points. If on the other hand you really do have _dependent_ polynomials, you can't tell that for certain unless you expand the polynomials completely, or unless you evaluate them at all the points Z_i. Either way, you need to show that a matrix (of the same size with both methods) has less than maximal rank. Again, there may be some savings in time depending on whether expansion or evaluation is quicker, but the total time needed for a definitive (rather than probabilisitic) answer is in either case going to depend mightily on the size of that matrix. If the polynomials you gave in the same are indeed typical, I would imagine the evaluations are faster than expansions, so you might find this method of use. That said, I should add that if the polynomials you gave are typical, there may be _much more_ rapid ways to assess independence. I do not have an idea about what to do, but I do note that your polynomials are not "arbitrary" polynomials in a certain number of variables, of a certain degree. Instead they are _products of linear polynomials_, every one of which is a _zero-one_ sum of the variables. Given that your polynomials are of a very restricted type like this, there may well be other, faster ways to check independence, since as far as I know the general case cannot be reduced to this. If indeed this is the situation perhaps you should let me know. That would likely change the problem from a linear-algebra one to a combinatorics one. >My paper is now completed and will soon be mounted on a dedicated WWW server >in postscript format. If you don't have Web access I do. A URL would be fine. dave ============================================================================== To: rusin@math.niu.edu (Dave Rusin) Subject: Re: Polynomial problem Date: Thu, 25 May 1995 14:52:48 +0100 From: [Permission pending] Hi Dave, Many thanks for your very interesting e-mail message. I will take a while to think on the things you said before replying to it, plus I will soon be away at a conference in France for two weeks. I do however include the URL for the site of my paper - go to http://cartan.u-strasbg.fr/~slc and click on 'Works in Progress' to find my paper in postscript format. I hope you find it of interest and it may even answer some of your questions about the polynomials arising in my problem. Thanks again, [Permission pending] ============================================================================== Date: Sat, 27 May 95 01:03:38 CDT From: rusin (Dave Rusin) To: [Permission pending] Subject: Re: Polynomial problem Thanks for the pointer; I've found and read the paper. I'm rusty on root systems so I'll not comment on that part directly. I do observe a similarity to another construction you might enjoy. L E Dickson (~1910?) determined the invariants of the general linear group over a finite field as follows: to find the polynomials in n variables x1,...,xn with coefficients in the finite field F one looks at the product P(X) in F[x1,...,xn][X] (the ring of polynomials in n+1 variables) defined as Prod( X-v ) where the product runs over all vectors v in the vector space of linear polynomials over F. If |F|=q, this is a vector space with q^n elements, so P(X) is a polynomial of degree q^n in X with coefficients in F. It is immediately clear that P(X) is invariant under any linear change of variables (which will just permute the v 's) so in fact the coefficients of P(X) are all invariant polynomials in the xi. What's a lot less trivial is that these polynomials are all zero except for the coefficients of X^(q^j) (j=0,1,...,n) and that these polynomials generate the ring of all invariant polynomials as a polynomial ring in n generators (they are called the Dickson invariants). For example when q=2 and n=2 we have P(X) =(X-0)(X-x1)(X-x2)(X-x1-x2)=X^4 + (x1^2+x1x2 + x2^2) X^2 + x1x2(x1+x2) X = X^4 + u1 X^2 + u2 X, say, and indeed the ring of invariants F[x1,x2] ^ GL(2,2) is precisely the polynomial ring F[u1, u2]. Moreover, the original polynomial ring is a module over both this subring and over the linear group; I think its free over both. A lot of people have jumped in on this and generalized the idea. The basic pattern always seems to be breaking the vectors v into orbits so as to factor P(X) into factors each of which is invariant under a group action. The optimal pattern seems to be when the the group is generated by reflections. I guess Stanley is the person who keeps the books on invariant rings, but you'll find a lot of work on Dickson- and other invariants by algebraic topologists, who have used an awful lot of this. You'll find readable summaries by Wilkerson, an outline of the general construction of invariants this way by (Larry) Smith and applications to, um, I think it was the upper-triangular subgroups of GL(n,q) by Huynh Mui. (Stanley had a survey article in the bulletin of the AMS about 5 yrs ago which might provide additional references). These people are mostly looking at the invariants under the action rather than attempting to decompose the whole action into summands, but it looks like their techniques are similar to the ones you generalized from Macdonald. Perhaps this will help clarify the construction of the modules Macdonald missed. Let me now turn to the part of your paper with which I am most familiar: sect. 4.3 (p.13) et seq. To begin with, I think you can tighten definition 4.12, possibly by adjoining the condition "Sum(v_i)=N" (I haven't checked the details yet); certainly a description is possible with M=|V_0| reduced to ((N+d-1) choose (d-1)), since that is the dimension of the set of all homogeneous polynomials in d variables of degree N. In the context of your work I have to concede that "probably linearly dependent" is an inappropriate notion. (Somewhere I had gotten the idea that you were making an application to optimization in some applied field, so that something which is "probably" optimal was likely to be good enough). Your example 4.15 is probably quite telling as a comparison of the methods at hand. For example, you note in the monomial method that there are 42 monomials. Of course this is an a posteriori calculation. A priori you would have expected 9 choose 3 = 84 monomials, and cleared scratch space to accomodate a 5 x 84 matrix (your suggestion to invoke MAPLE is perhaps ill-advised, as it, like its competitors, tends to expand literally -- that is, as symbol strings -- rather than numerically, for example by ticking off coefficients in the 5 x 84 matrix. Your success so far is certainly due to the compact presentation of the polynomials in question; for 5 "random" polyonomials in 4 variables, homogeneous of degree 6, you would expect many strings of monomials, which would require a lot of pattern matching by MAPLE.) The leading monomial method you propose is really just a bookkeeping device to compress data: your ordering of the monomials is just an ordering of the columns of the matrix; you are scanning for the first and last nonzero terms in each row and relying on luck to provide an upper-triangular portion, which then exhibits independence. As I indicated in a previous letter, this is an excellent approach as long as you do indeed have independence; it's the proof of dependence which is tricky. Indeed, you begin p.15 with the observation that p2=p1+p3-p4+p5, but this would be very difficult to judge just from a look at the leading monomials (even keeping a few of the highest terms in each polynomial); it would certainly be absolutely necessary to use somehow the special nature of your polynomials if you wanted to prove this relation without multiplying out all 5 polynomials. This, really, is the same situation as you face in the rational vector method. Again we will test for independence by examining a 5 x 84 matrix. Again there is a natural ordering for the 84 columns; you;ve selected the 5 smallest ones for V_0; again the matrix for p1 p2 p3 p4 is nonsingular which shows these to be independent; moreover, looking at the 5th row as well here suggests the relation p2=p1+p3-p4+p5. Unfortunately, you again would have to carry out some calculation 84 times to be able to state definitely that this relation holds on the nose, unless somehow you can use the special nature of the p_i. (There are nowhere near 1296 tests to run here; you're relying on earlier estimates I had sent.) I have been deliberately vague on what I mean by "special nature". I think I have convinced myself that you can find a basis for the set of all polynomials of a given degree in a given number of variables such that the basis consists only of products of linear terms. If so, then I would say the methods so far proposed cannot be made more efficient at proving linear _dependence_ -- you still need a computation time proportional to that binomial coefficient -- unless you can observe something else about the set of p_i with which you deal. The two factors on your side seem to be that the _coefficients_ in the linear factors of the p_i are very special (I guess they're 0 or 1 in the A_n cases, for example) and that the p_i are closely linked (translates of each other under W). The first factor has helped when using the leading monomial technique, since it assures that polynomials which look similar really are the same. The second factor has helped when using the total monomial technique, since it reduced the number of distinct monomials which would arise. Both observations can be brought to bear on the rational vector method as well. Indeed, one can argue that the method of all monomials amounts to evaluating the p_i at roots of the linear factors, and the leading monomial method amounts to evaluating them at points with the x_i of wildly different magnitude, so it should generalize those other methods. I intend to give this matter a little more thought now that I know what you're doing with it. As I see it, one is given a collection of k products of d linear forms in N variables. By any of the three methods it can be quickly decided that the k are "probably" dependent, and indeed by the rational vector test it's easy to guess the dependence. What you still need is a way to use the special form of these polynomials to find a quick way to demonstrate the putative relation really does hold. I'l see what I can come up with. dave PS - YOu mis-expanded the abbreviation "Math Z." in your bibliography. ============================================================================== To: rusin@math.niu.edu Subject: Re: Polynomial problem Date: Fri, 23 Jun 1995 14:28:55 +0100 From: [Permission pending] Dear Dave, Firstly I must apologise for the long delay in getting back to you. As I mentioned, I had a conference in France for two weeks at the end of May/ start of June. However, during my stay there, I contracted chicken pox and came home early. The last couple of weeks have been spent in relative isolation so as not to pass it on. At least the time off has given me chance to consider your replies in some detail, which I now go on to discuss. Your message before you had read my paper cleared up the problems I had been experiencing with your previous claims, so thanks for that. It is your last message after having read my paper, though, on which I will concentrate as I feel it has raised some poignant questions while at the same time clearing up some less than perfect understanding I had of what I was really doing with my methods. The pointers you gave to Dickson, Stanley, etc. will be followed up. Interestingly, Macdonald has also done some work on invariants which I studied, but it didn't really get me anywhere with my work. We at Aberystwyth consider ourselves as algebraic combinatorialists above all and my supervisor has been known to claim that all of combinatorics stems from Stanley! By the way, the man that calls Ian Macdonald a combinatorialist does so at his peril! I will go through the three methods as they appear in my paper. Firstly, the all-monomial method. This approach has proved to be remarkably useful, in view of the facts both that it is very inefficient and that Maple has been used throughout. Your comments on the way Maple handles things via 'literal expansion' are particularly valid but I've found no better system for doing the calculations I have as a whole. My code takes a given subsystem, implements GENSET to find a generating set then implements one of the basis methods to determine explicitly the corresponding matrix representation. Provided |W| and |S| are 'fairly small' the all-monomial method will do the job surprisingly quickly. As |S| increases so the number of monomials increases and soon the corresponding systems of equations become too hot for Maple to handle. Your comment concerning my a posteriori claim about the number of monomials arising in Example 4.15 is of course true -- it would be nice to be able to give this number just from the initial, unexpanded polynomials; this perhaps would rely upon their "special nature" ! Your comments on the next approach, the leading monomial method, were very useful to my understanding. I had not linked the monomial order with the column order of a matrix (essentially, the coefficient matrix of the decomposition of the polynomials of P into monomials). The problem, of course, is that of establishing dependence and the corresponding linear relations, and I agree that, once again, we need the "special nature" of the polynomials in question. That leaves perhaps the most important work till last, viz. the rational vector method. It seems that we've had so many slight alterations and improvements since your initial idea that I'm a bit confused now! You commented in your mail that I had quoted far too high a figure for the number of test points required for an example (Example 4.15 in fact) -- the only reason this happened was that I had to submit my paper before I'd had chance to absorb your newer ideas. This situation will be remedied in my thesis where everything will be covered -- I have a complete Chapter on these basis methods, which I would like you to see. When I have completed to the point of my understanding, I'll forward a postscript copy if that's OK. The sections concerning the all-monomial and leading monomial methods should be fairly complete (but for any improvements which come from the polynomials' "special nature") but the rational vector method section will not be meant as final and I'm sure you will find something to comment on there. I should point out that the Chapter includes some representation theory of the symmetric group since what I really want to do is mimic the basis of standard tableaux if possible (for details of this theory, see e.g. "Representation theory of the symmetric group" by G. de B. Robinson or "The symmetric group : representations, combinatorial algorithms, and symmetric functions" by Bruce E. Sagan). This work should be ready in the next few weeks once I've written up the rational vector method to take into account your latest ideas. I should also point out that at some point I'll need proofs for the rational vector method and so we'll need to agree on something in that respect. I'll leave it at that for now. I must thank you for your continued help and ideas, your work has certainly been invaluable to my progress. I'll be in touch again when I've something decent written up. Regards, [Permission pending] ============================================================================== To: rusin@math.niu.edu (Dave Rusin) Subject: Re: Polynomial problem Date: Mon, 03 Jul 1995 12:18:51 +0100 From: [Permission pending] Hi again Dave, As promised, my Chapter on basis methods follows at the end of this intro (in postscript). References to Chapter 3 refer to my algorithm GENSET as seen in my paper -- you can ignore that stuff if you want and just think of the polynomial problem as before.Section 4.2 is just some general material on polynomials and orderings needed in what follows. 4.3 covers the all-monomial method, 4.4 the leading monomial method and 4.5 the rational vector method, I conclude with a comparison of the methods. Any comments/suggestions for improvements would be very gratefully received. Hope you find it of interest. Regards, [Permission pending] ------------------------------------------------------------------------------ %!PS-Adobe-2.0 %%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software %%Title: root.dvi %%Pages: 19 1 %%BoundingBox: 0 0 596 843 %%EndComments [deleted - djr] %%Trailer end userdict /end-hook known{end-hook}if %%EOF ============================================================================== To: rusin@math.niu.edu (Dave Rusin) Subject: Basis methods for polynomial spaces Date: Mon, 11 Sep 1995 16:48:13 +0100 From: [Permission pending] Hi Dave, I saw your posting on sci.math.research about conjugacy classes in group theory and so thought I'd drop you a line about the material I sent you a while ago. I think I sent my whole chapter on basis methods for polynomial spaces. I'm almost ready to submit my thesis for a first reading and so any comments/errors/etc on that work in particular would be welcome. I can forward another copy if you need it. Regards, [Permission pending] ============================================================================== Date: Mon, 11 Sep 95 12:45:27 CDT From: rusin (Dave Rusin) To: [Permission pending] Subject: Re: Basis methods for polynomial spaces Hi, sorry if I've let the correspondence lapse. I was looking at your chapter a few weeks ago; it looks fine. I was trying to decide if there was any a priori advantage to any of the methods proposed. As far as I can tell, the issue depends on the expected number of vectors and the expected number of them which will be independent. The method I proposed makes it easy to demonstrate independence; to prove dependence is also in a probabilistic sense easy until the number of independent vectors is nearly the dimension of possible vectors. It seems to me that in your context the number of independent vectors tends to be small, but I didn't see why that had to be. For the record, I think there is value to altering the method I proposed a bit. Rather than investigating the values of the functions at those finitely many integer points, you can go ahead and evaluate them at random points (real or rational or integer-- doesn't matter). Indeed, if you have N vectors which you have already proven to be independent, and you evaluate N+1 vectors at N+1 points, then two outcomes can occur: either you get linearly independent function values, which proves the N+1 functions are still independent, or else you get linearly dependent function values. In the last case, there will be a unique linear relation among them, which you can compute. This relation is now a polynomial of a certain degree vanishing at N+1 points. What you don't know for sure is whether it's identically zero or not. Well, the zero set of a non-zero polynomial is always a subvariety, and in particular a set of measure zero. If you plug in any randomly selected point, the polynomial will have a nonzero value with probability 1 . (Of course, this doesn't mean you're _guaranteed_ to have a nonzero value. An annoying feature of probability!) So, forget integrality; forget positivity; forget the bounds on the variables. Go ahead and plug in any old point into the linear combination of the polynomials. It would be essentially miraculous if you got a function value of zero unless the linear relation held identically. (Of course, miracles do happen...) Anyway, your proposed chapter seems fine to me. I don't think it makes much sense to try to make a choice of method unless you intend to write code to actually carry out these calculations for a general family of situations. If you get to that point, we can look at the code to decide what the distribution of likely inputs will be and the optimize code based on that distribution. Good luck dave ============================================================================== To: rusin@math.niu.edu Subject: Basis methods chapter Date: Fri, 15 Sep 1995 14:37:41 +0100 From: [Permission pending] Hi Dave, Thanks for your mail and the consideration you've given to my chapter about basis methods for polynomial spaces. You suggest using random points as our evaluation points rather than the fixed set which we have described. In fact, this is precisely what I first tried before we made contact and it is why I had faith in this kind of approach. However, I will stick to the method as proposed with a fixed set of evaluation points, more to please my supervisor than anything else as he likes things to be quite precise. I have already written code for each of the methods using Maple, as I said somewhere in that chapter. The all-monomial method runs out of steam when the number of factors in the polynomials in question increases (indeed, sometimes Maple will not even expand the polynomials so I can't get hold of the monomials in the first place). The leading monomial method is easy to code and fairly efficient even in Maple! The rational vector method is OK provided I really restrict the set of evaluation points even beyond the improved bound of (N+d-1) choose (d-1) (which is of course generally large). It's a bit late in the day to start major improvements/changes to my code, all the results I want I now have anyway. You commented that the number of independent polynomials I usually get from my large generating set is small - this is always the case in actual fact. The reason for this is quite simple. The number of ind. polys is the dimension of the corresponding module, this is exactly the degree of the corresponding irreducible representation. Now, the character tables of all the Weyl groups are well known and so are these degrees - and they are small compared to the group order. For example, in E_6 type (which has order 51840) the maximal character degree is only 90, small compared to the order of the group and indeed the generating sets. Hence, I am always looking for a small linearly independent subset of a large generating set. Thanks again for all your help. You will be formally acknowledged in my thesis, which hopefully will be submitted and examined by Christmas. Regards, [Permission pending]