多项式分拆初探
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(注:此文已经于今年6月发表在广东教育学院学报上,正式发表的文是此文的缩减,引用请以原文为准备)。
多项式分拆初探
刘保乾
(西藏自治区人事厅信息中心,西藏 拉萨 850000)
摘要:给出了不同对称类型多项式分拆基的统一构造方法,以逐步待定系数法为基础,编制了多项式统一分拆程序.
关键词:多项式不等式;多项式分拆;逐步待定系数法 中图分类号:O 122.3 文献标识码:A
引言
自文[1]提出3元对称式的schur 统一分拆以来,多项式分拆研究日益受到重视.文[2]、[3]探讨了4元5次和4元6次对称式的分拆.文[4]讨论了生成分拆基及其它类型的分拆基.2005年9月7日,陈胜利在中国不等式研究小组网站()解答笔者问题的过程中提出了多元schur 分拆,并给出了分拆基通式(参阅文[4]).随后笔者又提出了平方型分拆基、扩展基本不等式分拆基等,研究了对称式的结构性分拆.2006年6月,笔者发现,对于某些形式的对称式,由它产生的分拆基“录用率”特别高,我们称这类分拆基为高密度分拆基,简称高密基.进一步研究发现,对于用某些规则构造的多项式,可100%的被录用为分拆基,从而为难度甚大的分拆基个数估算问题的解决提供了一种途径.2006年7月,笔者通过试验的方法首先发现了能够统一分拆对称式和轮换对称式的通用分拆基[5]
,
即轮换对称分拆基.具体得到了
3元3次轮换对称分拆基:
2221233
3
3
(-),(-),(-).
(1)g x x y g y x y g z x y ===∑∑∑
3元4次轮换对称分拆基:
2222212343
3
3
3
(-);(-);(-);(-)(-).
(2)
g xy y z g xz y z g y y z g x x y x z ====∑∑∑∑ 4元3次轮换对称分拆基:
收稿日期:2007年1月15日 作者简介:刘保乾(1962-),男,陕西凤翔人,西藏自治区人事厅信息中心工作人员
2
2
2211122312341241124
4
4
4
(-);(-);(-);(-).
(3)s s s
g x x x g x x x g x x x g x x x ====∑∑∑∑
在(3)式中,
4
g ∑的含义是:
12344
1234234134124123sgm4()(,,,)
(,,,)(,,,)(,,,)(,,,).
(4)
g g x x x x g x x x x g x x x x g x x x x g x x x x ==+++∑
4
s
g ∑的含义同于文[4],从而开始了轮换对称式的轮换对称分拆研究.
2006年10月6日,陈胜利在中国不等式研究小组网站发贴探讨3元轮换对称式的轮换
对称分拆问题,并得到了3元3次、3元4次轮换对称分拆基.笔者发现,陈先生的分拆基与笔者的轮换对称分拆基有相似的地方,譬如分拆基中都有对称式.在回贴中,笔者和陈胜利进行了交流讨论,并互相测试了一些分拆实例.陈先生得到的分拆基不全是非负的.例如有
3
()(-)(-)(-)x y z y z x y x z +++∑等符号不确定的式子.
1 初等对称多项式分拆基
n 元初等对称多项式是指型如
1112121311
112,,,
.
(5)
n
n
n i n n i j i i j n
n n x x x x x x x x x x x x x x x σσσ−=≤<≤=++⋅⋅⋅+==++⋅⋅⋅+=
⋅⋅⋅=⋅⋅⋅∑∑
的对称式.由对称多项式基本定理
[6]
知,任何一个对称式均可用初等对称多项式表示出来,
据此可以判定所构造的分拆基是否完备.由初等对称多项式构造的分拆基称为初等对称多项式分拆基,这种分拆基是验证其它分拆基的基础.
例1 试构造4元4次初等对称多项式分拆基. 解 4元初等对称多项式为:
112342122334141324312323434141241234 ; ;;.
(6)
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x σσσσ=+++=+++++=+++=
故4元4次对称多项式可表示为
432
1(,,,).
(7)t
s
r
p f t s r p σσσσ=
在(7)式中,4324t s r p +++=.满足通式(7)的4元4次对称式为:
1123421232343414121234231223341413241234241223341413245(1,0,0,0);
(0,1,0,1)()();(0,0,1,2)()();(0,0,2,0)();(0,0,0,4)T f x x x x T f x x x x x x x x x x x x x x x x T f x x x x x x x x x x x x x x x x T f x x x x x x x x x x x x T f ====++++++==++++++++==+++++=41234().
(8)
x x x x =+++
验证发现,(1,2,3,4,5)i T i =是线性无关的.为了构造非负分拆基,考虑
1(2,3,4,5)i i T k T i −=,其中i k 满足1i i T k T −有零点(1,1,1,1),这样又可以得到:
121231341451-16;
-96;-36;-256.
(9)s T T s T T s T T s T T ====
(9)就是具有零点(1,1,1,1)的4元4次初等对称多项式分拆基.
利用例1的方法,可以确定任意对称式的分拆基.可以看出,4元n 次对称式分拆基的个数是不定方程
432.
(10)t s r p n +++=
非负解的个数(或个数减1).
2 逐步待定系数法
待定系数法在确定多项式线性无关性及分拆表达式方面有重要应用,例如文[2]中确定最佳系数通式时就采用了待定系数法.当验证的多项式较少时,由于待定方程组中方程的个数少,一般可以得到确定解,此时问题容易解决.当多项式较多时,由于待定方程组中方程的个数多,求得的往往是不确定解,此时要获得相关结论是很困难的.如果采用逐步待定系数法则可以较好地解决这个问题.下面用具体例子说明之.
例2 试将对称式6
143((-))g S x x x =用初等对称式(6)表示出来.
解 容易验证,4元7次初等对称分拆基(即用初等对称式规律构造的基)可取为:
232133412434123423343243214341233413341234571234134[-16, -6, -216, -36,
-16, -96, -256, -576, -1536, -4096].
h σσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσ= 令12345678910[1][2][3][4][5][6][7][8][9][10]m k h k h k h k h k h k h k h k h k h k h =+++++++++, 依次取1234(,,,)(1,2,3,4),(1,2,3,5),(1,2,3,6),(1,2,3,7),(1,2,3,8),(1,2,3,9),x x x x =
(1,2,3,10),(1,2,3,11),(1,2,3,12),(1,2,3,13)代入g m =得10个方程构成的方程组 12345678910123456
78910{48100
11651255036285136661106501269414246211183331379221111991491,
8600 580012001695501805048005980019280053380016568005084800,
50034k k k k k k k k k k k k k k k k k k k k =+++++++++=+++++++++⋅⋅⋅
12345
678910308 235867621661088405976183734905036715091644259747635867202521419846268027}.
k k k k k k k k k k =+++++++++
解这个方程组得:
11023863853843813872313701129251690063689877
{ 0, ---, --99361119872
400125209970554590202641440
-, , 30, 1119872111111168151275475102836 ---,
--198********cond k k k k k k k k k k k k k k k k k k =====++=++==898833, 4, , }.
k k k k k === 将1cond 代入m 后再与g 相减,并用1m 表示这个差,得1123438(,,,,,)m f x x x x k k =(f 的具体表达式略),即1m 中待定系数已减至2个.令10m =,并依次取
1234(,,,)(2,2,3,4),(2,2,3,5),(2,2,3,6),(2,2,3,7),(2,2,3,8),(2,2,3,9),
(2,2,3,10),(2,2,3,11),(2,2,3,12),(2,2,3,13)
x x x x =
代入1m 得方程组
8383651840029434580043981094766014317800
{0 , 0 21070,113331111k k k k =++=++
8383284061642835720161856735472010712
0 63530, 0 ,
111111333
k k k k =++=++ 8383235337960398387041040620600
0 5250256, 0 ---910,
331111k k k k =++= 8383838385579200127625680012807680577289600
0 1978760, 0 111111338689602267967634012764037245720
, 0 515754, 0 3111111557542600851690}.
11k k k k k k k k =++=
++=++=++ 解这个方程组得238
{ 20, -20}cond k k ===.将2cond 代入1cond ,再代入m 得 -62[1]176[2]20[3]-176[4]-62[5]162[6]-28[7]-20[8]4[9]g h h h h h h h h h =++++,
将列表h 的各个分量代入,整理得:
2224322
1321241312124
21
2241
4-62(-176162-64-28)2(10-10288-31).
g σσσσσσσσσσσσσσσσσσ=+++++
我们把例2这种逐步待定求解的方法称为逐步待定系数法.由例2可以看出,在逐步待定求解过程中,待定式m 和1m 中的待定系数个数是逐步减少的,故最终必然归零,即逐步待定系数算法总是有解的,且步骤有限,这适合于计算机编程.笔者已经采用逐步待定系数法编写了多项式通用分拆程序、多项式线性无关自动验证程序以及多项式分拆基自动构造程序,本文将对这些程序的核心模块进行介绍.
3 对称式的结构性分拆类型通式
文[4]及随后的研究中,笔者提出了若干对称式的结构性分拆类型通式,这些通式在构造含参不等式和分拆基方面有重要应用.文[3]和文[4]已经给出了对称类型通式
4
q g ∑,4
s
g ∑及dc4()g 等.除过这些通式外,对称式的结构性分拆类型通式还有:
dc3() (,,)(,,)(,,)(,,)(,,)(,,).(11)g g x y z g y z x g z x y g z y x g x z y g y x z =+++++
1
2
3
4
5
1
2
3
4
5
2
3
4
5
1
3
4
5
1
2
5
45123512341324514235241352513435124(,,,,)(,,,,)(,,,,)(,,,,)
(,,,,)(,,,,)(,,,,)
(,,,,)(,,,,)(,,,,)(,,,,)q
g x x x x x g x x x x x g x x x x x g x x x x x g x x x x x g x x x x x g x x x x x g x x x x x g x x x x x g x x x x x g x x x x x =+++++++++∑.
(12)
3
sgm()(,,)(,,)(,,)(,,).
(13)f f x y z f x y z f y z x f z x y ==++∑(,),(,),()
3
{(,,)(,,),(,,)(,,),(,,)(,,)}.
(14)
x y y z z x f
f x y z f x z y f x y z f z y x f x y z f y x z −=+++∑4 多项式分拆基的一般构造思路和算法
笔者在研究中发现,若采用结构性分拆类型通式所定义的求和符号,则用类似于例1的思路可较好地解决不同对称类型多项式分拆基的统一构造问题.下面以3元5次为例说明具体构造思路和算法:
① 展开5
()x y z ++,并分离出各项,得集合:
222233223444234
23
32
3
2
4
32
23
5
5
4
5
{, , , , , , , , , ,
, , , , , , , , , , }
S xy z x yz x yz xy z x y z xyz yz xz xy x y x y x z x z x y x z y z y z x z y z y =
称S 为基本分拆单元全集.
② 对S 中的每一个元素按某种对称规则T 进行求和,得到多项式集合:
222233223444234233232432235545{(), (), (), (), (), (), (),
(), (), (), (), (), (), (), (),
(), (),(), (), (), ()}.
S T T xy z T x yz T x yz T xy z T x y z T xyz T yz T xz T xy T x y T x y T x z T x z T x y T x z T y z T y z T x T z T y z T y = ③ 如果S T 中某两个元素仅相差一个常数,则认为它们是重复的.将S T 中重复的元素划去,得一个简化集S T ′.
④ 为了使得到的分拆基有零点(1,1,1),可以考虑从S T ′中找出一个元素0s 与其余元素作差.找出的元素0s 应尽量的小,以便得到非负分拆基,称这样的0s 为S T ′的最小元素.如果S T ′中没有最小元素,则0s 要取为适当的形式,具体形式依分拆基的对称类型而定(一般应取成对称形式).对于对称式和轮换对称式,最小元素可取为
0r n s σσ=,其中σ表示由(6)式定义的初等对称式,r 表示0s 的次数被元数n 除后所
得的余数,01σ=.
⑤ 把S T ′中每一个元素与0s 相减,得到的差式构成一个新的且具有零点(1,1,1)的多项式集合S T ′′.我们称S T ′′为具有对称类型T 的多项式分拆基全集.
⑥ 确定全集S T ′′的极大线性无关组,就可得到3元5次多项式具有对称类型T 的一组分拆基.
为了引用方便,不妨称上述确定多项式分拆基的算法为对称类型法.很显然,对于确定的次数来说,对于某种对称类型T ,这种方法构造的分拆基应该是完备的.笔者已经根据对称类型法编制了多项式分拆基统一构造程序.十分有趣的是,对于完全对称式、轮换对称式和完全不对称式,分拆基全集S T ′′的极大线性无关组就是S T ′′本身,根据这一点很容易确定对称式、轮换对称式和完全不对称式的分拆基.对于其它对称类型,则要通过具体计算确定S T ′′的极大线性无关组,从而最终得到分拆基.十分幸运的是,由于笔者已经实现了多项式线性无关自动验证程序,这样只需对分拆基全集S T ′′进行机器检验即可.
由上面的分析可知,确定具有对称类型T 的多项式线性子空间的维数(即分拆基的个数)是一项重要工作,因为只有知道了维数,才能确认所得的分拆基是不是完备的.由于多项式运算复杂且运算量很大,手工计算是很费时的,一般需要借助于计算机软件进行辅助运算.笔者已经编制了计算某些对称类型线性子空间维数的Maple 程序,并得到了部分计算结果(见下面的表1,表中空白部分说明需要进一步研究确认).需要指出的是,对于某些线性子空间,其分拆基中必然有符号不确定的多项式,且这些符号不确定的多项式个数有一个最小值,我们称这个最小值为分拆基的亏.亏的含义是:如果将分拆基中由亏所确定的符号不确定的多项式取掉,则基中剩余的多项式仅可表示出相应线性子空间上的正半定多项式.表1中将一些表项分成两行就是为了反映某些已经弄清楚的分拆基的亏.从表中可以看出,对称式和轮换对称式,其分拆基的亏为零.
3元线性子空间
4元线性子空间 次数 完全 对称 轮换 对称 完全不对 称二元
对称完全
对称轮换对称完全不对 称二元 对称
三元
对称 2 3 7 6
2 4 16 16 8 3
0 0 2 2 0 0 3 3 9 3 4 12 11 4 9 31 28 16 4 0 0 2 2 0 0 3 6 12 4 6 18 16 5 13 52 47 5 0 0 2 2 0 0 3 8 6 9 25 22 8 21 80 66 6 0 0 2 2 0 0 3 16 7 11 33 29 10 29 7
0
0
2
2
119
9 14 42 37 14 42 8 0 0 2 2 0 0 164 126 234 700 477 2289 36
2
9138
表1 部分线性子空间的维数
由表1知,文[4]中猜测的4元7次生成分拆基是11个是不对的. 2006年11月24日,陈胜利在中国不等式研究小组网站指出,3元36次轮换对称分拆基有235个,由表1知,这个数字也是不对的.
5 多项式分拆基构造举例
根据上述介绍的确定多项式分拆基的对称类型方法,可构造出各种不同对称类型的分拆
基.下面举例说明之.
例3 试确定3元6次轮换对称分拆基.
解 按照对称类型法,展开6
()x y z ++,得分拆单元全集S (具体表达式略).由于是确定3元轮换对称分拆基, 故对称类型T 应由(13)式决定.按(13)式对S 中的元素求和,并简化,得多项式集合:
222222555424224333666555242442333333222{(), (), , , (), , , , , 3}.
S T xyz z x x y zy xyz xy zx yz x y zy z x x y y z x z xyz y x z y z x xy yz zx x y y z x z x z x y y z x y z ′=++++++++++++++++++显然最小元素是2
22
3x y z ,这样可得到分拆基全集为:
2222222222225552224242242223332226662225552222424422223333{()3, ()3, 3,
3, ()3, 3, 3, 3, S T xyz z x x y zy x y z xyz xy zx yz x y z x y zy z x x y z x y y z x z x y z xyz y x z x y z y z x x y z xy yz zx x y z x y y z x z x y z x z x y y ′′=++−++−++−
++−++−++−++−++−++332223}.
z x y z −这个全集就是3元6次轮换对称分拆基.
象(1)、(2)式一样,这组分拆基的特点是其中有对称式.如果要得到纯粹的轮换对称分拆基,用笔者编写的程序,只需键入命令out_lhh(6),则显示全部是轮换对称式的分拆基:
2222222222223232323232323232323232323{(-)(-)(-), (-)(-)(-),
(-)(-)(-), (-)(-)(-), (-)(-)(-),(-)(-)(-), (-)x yz x y y zx y z z xy z x x yz z x y zx x y z xy y z y z x y z x y z x y z x y z y z z x z x x y x y y x x y z y y z x z z x y x y z z y z x x z x y y x z x ++++++++++++23232222222222424242(-)(-), (-)(-)(-), (-)(-)(-)}.
z y x y x z y z y x y z z y z x x z x y z y z x z x y x y ++++++
例 4 称满足(,,)(,,)f x y z f x z y =的多项式(,,)f x y z 为关于,y z 的二元对称多项式.试确定3元4次二元对称分拆基.
解 按照对称类型法,展开4
()x y z ++,得分拆单元全集S (具体表达式略).由于是确定二元对称分拆基,故对称类型T 应由(14)式决定.由此得多项式集合:
22222222222222332233333333444222222222333344433
{, , 2, , , 2, ,
, ,, 2, , , , ,
2, 2, 2, , ,2, , , 2S T y z z x y z y x z x z x y x y x z x y x z x x z y z x z y x x y y x y z z y z xyz xy z x yz xy z x yz xyz x yz xyz xy z z y y z z y x y x x y z y z x ′=++++++++++++++++2233444, , 2, }.
y z x y x z y x z ++ 显然S T ′中没有最小元素,由于二元对称有关于(,),(,),(,)x y y z z x 三种对称情形,故可将0s 取为对称的形式.在本例中取02
()3
s xyz x y z =
++,这样可得到分拆基全集S T ′′.确定S T ′′的一个极大线性无关组即可得分拆基.这项工作可由程序xg_prove3完成,具体运行格式为xg_prove3(expr),其中expr 表示一个取零点(1,1,1)的多项式列表.对S T ′′使用命令xg_prove3,程序显示一个由13个多项式构成的列表L (具体表达式略),L 即为3元4次
二元对称分拆基.由于L 中有13个多项式,这说明对多项式线性空间而言,具有零点(1,1,1)的3元4次二元对称式张成13维子空间.为了得到非负分拆基,可以线性子空间的维数为依据,寻找相应的非负分拆基.具体方法为:考察二元对称式
222((,,)(,,))(-),((,,)(,,))(-),((,,)(,,))(-).
f x y z f x z y y z f x y z f z y x x z f x y z f y x z x y +++其中(,,)f x y z 取自42
2()()x y z x y z −++=++展开式中的诸项.这样得到的非负二元对称
分拆基为:
22222222222
2
2
2
2
2
2
2
2
2
{(-), (-), ()(-), (-), ()(-), (-), ()(-), ()(-), (-), ()(-),()(-)}
xy x y yz y z x y z y z z x y x y x y x y z y z y z z x x z y x z z x y x y y z x x z ++++++
如果要分拆符号不确定的3元4次二元对称式,则还要增加2
2
2
2
(-), (-)y y zx x x yz +,即3元4次二元对称分拆基的亏为2.
类似可得4元3次二元对称分拆基d 和4元3次完全不对称分拆基f :
2222222421311412122324432222224424413323433311122231241233341244[(-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), ()(3---), (-3), (3d x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x =+++++212324132341124123234134134123234124134234123124---), ()(-3),--, --, 3---].
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +++++++ 2222222241131412122234342222224244413233343131122
2
2
2
3
12332424113421[(-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-), (-),
(-),(-),(-),(-),-f x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x =2
2423124234124, -, -].
x x x x x x x x x x x x
十分有趣的是,d 和f 的亏不仅相同,而且d 和f 中正半定的多项式也是彼此可表示的,这说明任意对称类型的4元3次多项式均可由二元对称分拆基d 表示出来.这是一个极端突出的特例.
例5 试确定4元5次轮换对称分拆基.
解 按照对称类型法,展开5
1234()x x x x +++,得分拆单元全集S ,显然这里的对称类型T 应取为(4)式,即按4元轮换对称求和.取012341234()s x x x x x x x x =+++,则据对称类型方法所描述的过程可得一组由13个多项式构成的分拆基(这说明维数是13),不妨用列表h 表示这组基.用杨路的Bottema 软件
[7]
验证发现,其中只有7个多项式
1[[1],[4],[5],[6],[7],[8],[9]]h h h h h h h h =
是正半定的,而[2],[3],[10],[11],[12],[13]h h h h h h 是符号不确定的.进一步验证发现,这些符号不确定的多项式两两之和是正半定的,具体地说,
2[[2][3]-2[1],[3][10],[10][11],[11][12],[12][13],[13][2]]
h h h h h h h h h h h h h h =++++++是正半定的.考察12,h h 的线性无关性,得到一个由12个多项式构成的极大线性无关组.增加轮换对称式2
2
131331242442()(-)()(-)x x x x x x x x x x x x +++,最后得到如下优美的4元5次轮换对称分拆基:
32322231341312423342423434124323222223
22144342231322324434132222434-(---);
(-2)-(-222)();
g x x x x x x x x x x x x x x x x x x x x x x g x x x x x x x x x x x x x x x x x x x x x x x x x x =+++=+++++++++23222232332
334123233212243124243223332342432222222242323434242413243424234
2223134224513(-)()(-)-2()-2;
(-2)(-2-2-2)();
(g x x x x x x x x x x x x x x x x x x x x x x x x x x g x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x g x x =+++++++++=++++++++=221331242442232222641222334413424342231
222332423423322272123443423142242334
2313)(-)()(-);
-(--2-)(-2-2-2)();
(-2)-(-222)(x x x x x x x x x x g x x x x x x x x x x x x x x x x x x x x x x x x x x g x x x x x x x x x x x x x x x x x x x x x x +++=++++++=++++++++223224223344232243821312444234232313234423223494131242223434341332442232103131243243234241),
--(-)(); --(-)();
-(---)x x x x x x g x x x x x x x x x x x x x x x x x x x x g x x x x x x x x x x x x x x x x x x x x g x x x x x x x x x x x x x x x x ++=+++++=+++++=+++2224242442323322311124312432424234241324()(-); --(--);
x x x x x x x x g x x x x x x x x x x x x x x x x x x x x x +++=++++
32223231231231244242332323412345
4
2
2
3
3
3
2
2
2
2
2
1312414214212424123453232544323434423322233434-(---);
(-4)(-46)(6-4)(-2)(2)-46-4-4-46g x x x x x x x x x x x x x x x x x x x x x x g x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x =+++=++++++++++++45233.
x x x ++
在一般情况下,如何得到正半定的多元轮换对称分拆基呢?思路是完全类似的:可先按照对称类型方法确定维数,再以维数为依据确定正半定分拆基.为此需要寻找正半定的多项式材料,对此我们有多种选择.一个方便的选择是取为平方型分拆基
[4]
的形式.例如键入
命令xg_prove4(lh_pf4(6))可得到一组由21个多项式构成的4元6次平方型轮换对称分拆基(具体表达式略).
例6 按照对称类型法,再经过测试调整,可得到如下优美4元4次轮换对称分拆基:
3232322321244231323413313124244
4
4
4
3
3
33
222
2
2341
312413
2431
42{-(-4)(),-2(-),
-4-4-4-466,
h x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x =++++++++++
22222224132311342134123131224231222222132423411322343121324322334112342213(-4) ,
-(-4-),(-)(-),(-4)
,(-),(-4)()}.
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +++++++++++
利用这组基可发现许多含参不等式,例如有对任意实数1234,,,x x x x 都成立的不等式:
432([6][8][4]-[5]-[7])([9][2]-2[1]-8[7]4[8]5[4][5][6])(-5[7]-[1][3]6[8]2[2]8[4]-5[5]-[9]-[6])(4[8]-2[9]
[2][1][6][7]5[4]-8[5])[6][8][4]-[5]-h h h h h k h h h h h h h h k h h h h h h h h h k h h h h h h h h k h h h h h ++++++++++++++++++++++2[7]0.(2[4][6]-2[7]2[8])(-2[2]-2[4]4[5]-4[8])-2[1]4[2][3]
2[4]2[8][6]0.
h h h h k h h h h k h h h h h h ≥+++++++++≥等,这些含参不等式为非负分拆奠定了基础.
6 多项式统一分拆程序lbqdxs
利用逐步待定系数法和对称类型方法可以编制多项式统一分拆程序lbqdxs .用对称类型方法可自动生成多项式分拆基;用逐步待定系数法实现多项式的分拆.lbqdxs 是用Maple7.0编写的.下面给出4元多项式分拆程序的核心部分.程序的结构是通用的,稍作修改即可适用于5元或更多元的情形.
1. main4:=proc(g,deg)
2. local m1,m,ls,ls1,i,u,cs,u1,u2,u3;
3. global h,gs,temp1;
4. h:=cdj4(deg);
5. cs:=5;
6. gs:=nops(h);
7. lprint(gs);
8. m:=k1*h[1];
9. for i from 2 to gs do
10. m:=m+`k`||i*h[i];
11. od;
12. temp1:=k1; 13. for i from 2 to gs do 14. temp1:=temp1,`k`||i; 15. od; 16. temp1:={temp1}; 17. u1:=1; 18. u2:=2; 19. u3:=3; 20. print([u1,u2,u3]); 21. u:=[x1=u1,x2=u2,x3=u3]: 22. ls:=um4(u,g,m);
23.m1:=expand(subs(ls,m)-g):
24.while m1<>0 do
25.for i from 1 to cs do
26.u:=[x1=u1+i,x2=u2,x3=u3]:
27.ls1:=um4(u,0,m1);
28.if ls1={} then
29.lprint(`empty`);
30.end if;
31.ls:=ls,ls1;
32.m1:=expand(subs(ls1,m1)):
33.od;
34.for i from 1 to cs do
35.u:=[x1=u1+cs,x2=u2+i,x3=u3]:
36.ls1:=um4(u,0,m1);
37.ls:=ls,ls1;
38.m1:=expand(subs(ls1,m1)):
39.od;
40.for i from 1 to cs do
41.u:=[x1=u1+cs,x2=u2+cs,x3=u3+i]:
42.ls1:=um4(u,0,m1);
43.ls:=ls,ls1;
44.m1:=expand(subs(ls1,m1)):
45.od;
46.u1:=u1+1;
47.u2:=u2+1;
48.u3:=u3+1;
49.print([u1,u2,u3]);
50.od;
51.lprint(factor(subs(ls,m)-g));
52.m:=k1*hh[1];
53.for i from 2 to gs do
54.m:=m+`k`||i*hh[i];
55.od;
56.m1:=subs(ls,m);
57.lprint(m1);
58.unassign('gs','temp1');
59.end:
1.um4:=proc(u,g,m)
2.local temp,i;
3.temp:=subs(u,x4=4,g=m);
4.for i from 2 to gs do
5.temp:=temp,subs(u,x4=3+i,g=m);
6.od;
7.temp:=solve({temp},temp1); 8.print(-1);
9.return temp;
10.end;
1.xg_prove4:=proc(lst)
2.local temp,lst1,i,gs,h,f;
3.gs:=nops(lst);
4.lst1:=[lst[1]];
5.for i from 2 to gs do
6.lst1:=xg4(lst1,lst[i]);
7.print(gs-i);
8.od;
9.lprint(nops(lst1));
10.return lst1;
11.end:
1.xg4:=proc(lst,expr)
2.local m,m1,ls,ls1,u,g,i,h,cs,u1,u2,u3;
3.global gs;
4.h:=[op({op(lst)} union {expr})];
5.gs:=nops(h);
6.if gs=nops(lst) then return lst;
7.end if;
8.m:=k1*h[1];
9.for i from 2 to gs do
10.m:=m+`k`||i*h[i];
11.od;
12.g:=0;
13.cs:=5;
14.u1:=1;
15.u2:=2;
16.u3:=3;
17.print([u1,u2,u3]);
18.u:=[x1=u1,x2=u2,x3=u3]:
19.ls:=um4_xg(u,g,m);
20.m1:=expand(subs(ls,m)-g):
21.while m1<>0 do
22.for i from 1 to cs do
23.u:=[x1=u1+i,x2=u2,x3=u3]:
24.ls1:=um4_xg(u,0,m1);
25.if ls1={} then
26.lprint(`empty`);
27.end if;
28.ls:=ls,ls1;
29.m1:=expand(subs(ls1,m1)):
30.od;
31.for i from 1 to cs do
32.u:=[x1=u1+cs,x2=u2+i,x3=u3]:
33.ls1:=um4_xg(u,0,m1);
34.ls:=ls,ls1;
35.m1:=expand(subs(ls1,m1)):
36.od;
37.for i from 1 to cs do
38.u:=[x1=u1+cs,x2=u2+cs,x3=u3+i]:
39.ls1:=um4_xg(u,0,m1);
40.ls:=ls,ls1;
41.m1:=expand(subs(ls1,m1)):
42.od;
43.u1:=u1+1;
44.u2:=u2+1;
45.u3:=u3+1;
46.print([u1,u2,u3]);
47.od;
48.m:=k1*hh[1];
49.for i from 2 to gs do
50.m:=m+`k`||i*hh[i];
51.od;
52.if subs(ls,m)=0 then return h
53.else return lst
54.end if;
55.end:
1.cdj4:=proc(n)
2.local f,f1,tt,i,temp,temp1,temp2,
temp4,s0;
3.global dd1,dd2,dd3,dd4,temp3;
4.tt:=p4(a+2*b+3*c+4*d=n);
5.s0:=subs(d0=1,ls04(n));
6.dd1:=x1+x2+x3+x4;
7.dd2:=x1*x2+x2*x3+x3*x4+x1*x4
+x1*x3+x2*x4;
8.dd3:=x1*x3*x4+x1*x2*x4+x1*x2*x3
+x2*x3*x4;
9.dd4:=x1*x2*x3*x4;
10.f:=unapply(dd1^p*dd2^q*dd3^r*dd4^s
,p,q,r,s);
11.f1:=unapply(d1^p*d2^q*d3^r*d4^s,p,
q,r,s);
12.temp:=0;
13.temp1:=0;
14.for i from 1 to nops([tt]) do 15.temp2:=subs(d1=dd1,d2=dd2,d3=dd3,
d4=dd4,s0);
16.temp3:=solve(subs(x1=1,x2=1,x3=1,
x4=1,f(op(tt[i]))-k*temp2));
17.temp4:=factor(f(op(tt[i]))-temp3*temp2);
18.if temp4<>0 then
19.temp:=temp,f(op(tt[i]))-temp3*temp2;
20.temp1:=temp1,f1(op(tt[i]))-temp3*s0;
21.end if;
22.od;
23.temp2:=temp1[2];
24.for i from 3 to nops([temp1]) do
25.temp2:=temp2,temp1[i];
26.od;
27.temp3:=temp2;
28.lprint([temp3]);
29.temp2:=temp[2];
30.for i from 3 to nops([temp]) do
31.temp2:=temp2,temp[i];
32.od;
33.return [temp2];
34.end;
1.ls04:=proc(n)
2.local p,q;
3.p:=iquo(n,4);
4.q:=irem(n,4);
5.return d||q*d4^p;
6.end;
1.p4:=proc(g)
2.local a,b,c,d,n,i,j,k,l,temp;
3.a:=coeffs([op(lhs(g))][1]);
4.b:=coeffs([op(lhs(g))][2]);
5.c:=coeffs([op(lhs(g))][3]);
6.d:=coeffs([op(lhs(g))][4]);
7.n:=rhs(g);
8.temp:={};
9.for i from 0 to iquo(n,a) do
10.for j from 0 to iquo(n,b) do
11.for k from 0 to iquo(n,c) do
12.for l from 0 to iquo(n,d) do
13.if a*i+b*j+c*k+d*l=n then
14.temp:=temp union {[i,j,k,l]};
15.end if;
16.od;
17.od;
18.od;
19.od;
20.return op(temp);
21.end:
1.ty_cl:=proc(n,no)
2.local h,i,gs,temp,s0;
3.gs:=iquo(n,4);
4.if irem(n,4)=1 then
5.s0:=(x1+x2+x3+x4)*(x1*x2*x3*x4)^gs;
6.end if;
7.if irem(n,4)=2 then
8.s0:=(x1*x2+x2*x3+x3*x4+x1*x4+x1*x
3+x2*x4)*(x1*x2*x3*x4)^gs;
9.end if;
10.if irem(n,4)=3 then
11.s0:=(x1*x3*x4+x1*x2*x4+x1*x2*x3+x2
*x3*x4)*(x1*x2*x3*x4)^gs;
12.end if;
13.if irem(n,4)=0 then
14.s0:=(x1*x2*x3*x4)^gs;
15.end if;
16.h:=coeff_div([op(expand((x1+x2+x3+x4)
^n))]);
17.gs:=nops(h);
18.temp:={};
19.for i from 1 to gs do
20.temp:=temp union {sgm||no(h[i])};
21.od;
22.h:=temp;
23.gs:=nops(h);
24.temp:={};
25.for i from 1 to gs do
26.temp:=temp
union{factor(h[i]-solve(subs(x1=1,
x2=1,x3=1,x4=1,h[i]-k*s0))*s0)};
27.od;
28.temp:=temp minus {0};
29.h:=[op(temp)]:
30.return numer([op(h)]);
31.end;
1.cl0:=proc(n)
2.return ty_cl(n,0);
3.end;
4.cl1:=proc(n)
5.return ty_cl(n,1);
6.end;
7.cl2:=proc(n)
8.return ty_cl(n,2);
9.end;
10.cl3:=proc(n)
11.return ty_cl(n,3);
12.end;
13.cl4:=proc(n)
14.return ty_cl(n,4);
15.end;
16.cl5:=proc(n)
17.return ty_cl(n,5);
18.end;
19.cl6:=proc(n)
20.return ty_cl(n,6);
21.end;
22.cl7:=proc(n)
23.return ty_cl(n,7);
24.end;
1.sgm0:=proc(f)
2.local g,temp;
3.g:=unapply(f,x1,x2,x3,x4);
4.temp:=g(x1,x4,x3,x2)+g(x3,x1,x4,x2)+g(
x1,x4,x2,x3)+g(x2,x1,x3,x4)+g(x3,x2,x4,
x1)+g(x4,x3,x1,x2)+g(x3,x2,x1,x4)+g(x1
,x3,x2,x4)+g(x2,x1,x4,x3)+g(x4,x2,x1,x3
)+g(x1,x2,x4,x3)+g(x4,x1,x3,x2)+g(x3,x
4,x2,x1)+g(x2,x3,x1,x4)+g(x1,x2,x3,x4)
+g(x1,x3,x4,x2)+g(x2,x3,x4,x1)+g(x2,x4
,x1,x3)+g(x3,x4,x1,x2)+g(x3,x1,x2,x4)+
g(x4,x1,x2,x3)+g(x4,x2,x3,x1)+g(x4,x3,
x2,x1)+g(x2,x4,x3,x1);
5.return temp;
6.end:
7.sgm1:=proc(f)
8.local g,temp;
9.g:=unapply(f,x1,x2,x3,x4);
10.temp:=g(x1,x2,x3,x4);
11.return temp;
12.end:
13.sgm2:=proc(f)
14.local g,temp;
15.g:=unapply(f,x1,x2,x3,x4);
16.temp:=g(x1,x2,x3,x4)+g(x4,x2,x3,x1),
g(x1,x2,x3,x4)+g(x3,x2,x1,x4),g(x1,x2,
x3,x4)+g(x1,x4,x3,x2),g(x1,x2,x3,x4)
+g(x2,x1,x3,x4),g(x1,x2,x3,x4)+g(x1,x3,x2, x4), g(x1,x2,x3,x4)+g(x1,x2,x4,x3);
17.return temp;
18.end:
19.sgm3:=proc(f)
20.local g,temp;
21.g:=unapply(f,x1,x2,x3,x4);
22.temp:=g(x1,x2,x3,x4)+g(x1,x3,x4,x2)
23.+g(x1,x4,x2,x3),g(x2,x3,x4,x1)+g(x2,x4,
x1,x3)+g(x2,x1,x3,x4),g(x3,x4,x1,x2)+g(
x3,x1,x2,x4)+g(x3,x2,x4,x1),g(x4,x1,x2,
x3)+g(x4,x2,x3,x1)+g(x4,x3,x1,x2);
24.return temp;
25.end:
26.sgm4:=proc(f)
27.local g,temp;
28.g:=unapply(f,x1,x2,x3,x4);
29.temp:= g(x1,x2,x3,x4)+g(x2,x3,x4,x1)
30.+g(x3,x4,x1,x2)+g(x4,x1,x2,x3);
31.return temp;
32.end:
33.sgm5:=proc(f)
34.local g,temp;
35.g:=unapply(f,x1,x2,x3,x4);
36.temp:= 3*g(x1,x2,x3,x4)+g(x2,x1,x3,x4) +g(x1,x3,x2,x4)+g(x3,x2,x1,x4),3*g(x2,x3,x4 ,x1)+g(x3,x2,x4,x1)+g(x2,x4,x3,x1)+g(x4,x3, x2,x1),3*g(x3,x4,x1,x2)+g(x4,x3,x1,x2)+g(x3,x1,x4,x2)+g(x1,x4,x3,x2),3*g(x4,x1,x2,x3)+ g(x1,x4,x2,x3)+g(x4,x2,x1,x3)+g(x2,x1,x4, x3);
37.return temp;
38.end:
39.sgm6:=proc(f)
40.local g,temp;
41.g:=unapply(f,x1,x2,x3,x4);
42.temp:=g(x1,x2,x3,x4)+g(x2,x3,x4,x1)+g(
x3,x4,x1,x2)+g(x4,x1,x2,x3)+g(x1,x3,x2,
x4)+g(x2,x4,x1,x3);
43.return temp;
44.end:
45.sgm7:=proc(f)
46.local g,temp;
47.g:=unapply(f,x1,x2,x3,x4);
48.temp:=g(x1,x2,x3,x4)+g(x1,x3,x4,x2)+g(
x1,x4,x2,x3)+g(x2,x3,x4,x1)+g(x2,x4,x1,
x3)+g(x2,x1,x3,x4)+g(x3,x4,x1,x2)+g(x3
,x1,x2,x4)+g(x3,x2,x4,x1)+g(x4,x1,x2,x3
)+g(x4,x2,x3,x1)+g(x4,x3,x1,x2);
49.return temp;
50.end:
1.coeff_div:=proc(g)
2.local ls,gs,i;
3.gs:=nops(g);
4.ls:={};
5.for i from 1 to gs do
6.ls:=ls union {g[i]/coeffs(g[i])};
7.od:
8.return ls;
9.end:
下面对程序各模块的主要功能和使用格式进行说明.
main4模块:此模块完成给定多项式的分拆.运行格式为main4(g,deg),其中g表示一个具有零点(1,1,1,1) 的4元多项式,deg表示g的次数.在main4模块中,第4句h:=cdj4(deg)表示采用的是初等对称分拆基,此句应根据g的对称类型而选用不同的形式,从而成为不同的分拆器.17-50句,完成给变元的赋值,从而实现逐步待定算法.其中第29句lprint(`empty`)打印出赋值无效的提示. main4模块很容易修改为更多元的情形.实际验证发现,当多项式的次数超过20时分拆速度明显变慢.
xg_prove4模块:本模块的作用是输出给定多项式的一个极大线性无关组.调用格式是xg_prove4(lst),其中lst表示一个多项式列表.这个模块有十分重要的应用.cdj4模块:产生初等对称分拆基.
cl1-7模块:产生各种对称类型的材料.
sgm1-7模块:根据对称类型进行相应求和.
cl1-7和sgm1-7进行复合,可以产生某种对称类型的正半定多项式材料.
7 多项式统一分拆程序的应用
例7 多项式分拆程序lbqdxs 的子模块cl0-7可以产生某种对称类型的材料,如键入 cl5(3),则可产生一个由80个多项式组成的列表.对列表中的多项式进行轮换对称求和,则可产生正半定的对称或轮换对称多项式序列.用模块xg_prove4确定它们的极大线性无关组,则可产生轮换对称分拆基.例如键入命令xg_prove4([op({op(map(sgm4,cl5(4)))} minus {0})]),则可产生一组优美的4元4次轮换对称分拆基(共有9个多项式):
222222222233324112342423342341333333333222342413423232424342322222222411234232434423{(4)-124; (4)(-244)44; (525)-24525;(23)x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +++++++++++++++++++++++33
143333333323423123242423343242322222223412343423232434241234322243424231242(3-242)32234;(23)(-243223)(23);(23)(2-24x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ++++++++++++++++++++++++22234242334
2222234231234423243124234232233333434123423231234431233334434242423323)(23);(2)(-1222)(2);
(2)(-122)22; x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x +++++++++++++++++++++++++44412341-4}.
x x x x x + 例8 试确定一组sds 平凡的4元6次轮换对称分拆基.
解 键入命令h1:=cl4(6);h2:= xg_prove4([op({op(map(sgm4,cl5(6)))} minus {0})]); h3:= xg_prove4([op({op(map(sgm4,cl3(6)))} minus {0})]);则产生3个列表h1,h2,h3.用杨路的sds0606程序把这3个列表中的sds 平凡的轮换对称式找出来,组成一个新的列表h,然后键入命令xg_prove4(h),即可得到一组sds 平凡的4元6次轮换对称分拆基.
例9 键入命令cdj4(6),则可产生一组4元6次初等对称分拆基(即用初等对称式(1)表示的分拆基);健入命令cl0(6)也可得到一组4元6次对称分拆基.用这些分拆基将main4模块中的第4句代替,就可进行相应的多项式分拆了.
例10 文[3]中用验证的方法得到了若干4元6次PF类最简对称式.对于4元7次,用验证的方法可得到21个PF类最简对称式(对于它们的最简性还需要给出严格的证明).用程序main4易将这些最简对称式化为用初等对称式表示的形式(其中1234,,,z z z z 构成扩展基本不等式):
4232232113421123322413244232232213421123322413243223231412332241324-3(3)13(-21-4-16)4(12);-9(363)33(-54-11-132)18(12);9-4(12-20)-(12);z z z σσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσ=++++++=++++++=+++3222224141233241324513324
-9(332)-4(12);-3(12);
z z σσσσσσσσσσσσσσσσσ=++++=++ 7542322611213421123324
3
2
213243-2360(-6940)-237(27027316)-9(66);
z σσσσσσσσσσσσσσσσσσσ=+++++++
432227131412332413243
2
81
434124912434103241342-5(6-7)2(2-3);
318-11;-6;(-3)2;
z z z z σσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσ=+++=+==+
54232232111213421123324213243212143241347542322313112134211233242143141317(--8)-24(48616)-4(421);3(-16)32;
3-2027(-1833)-74(458-4);-4z z z z σσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσ=++++++=++=+++++=22241233241324542322315121342112332421-5(616)4(-12);
7(11-8)-27(27-3216);
z σσσσσσσσσσσσσσσσσσσσσσσσσ+++=++++
54232232161213421123324213247542322317112134211233242175423218112134211-5(5-5)30(-33-324)-16(-6); 3-2240(-1639)-144(108484);-728(-148)-112z d z z σσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσ=++++=++++++=+++223324
(14461σσσσσ++ 3213475423221911213421123324322132416)-270;
3-2435(-4755)-138(99160-28)48(-6);
z σσσσσσσσσσσσσσσσσσσσσσσ+=++++++
4322201314123124324754232221112134211233243221324222-12-7818(6);
3-2730(-3676)-140(60128-64)16(7-12).
z z σσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσσ=+++=++++++
键入命令xg_prove4([z1,z2,z3,z4,z5,z6,z7,z8,z9,z10,z11,z12,z13,z14,z15,z16,z17,z18,z19 ,z20,z21]),则可得一组线性无关的最简对称分拆基123478691011[,,,,,,,,,]z z z z z z z z z z .
例11 文[4]提出了多级扩展基本不等式,其内容是:设m 元n 次齐对称多项式不等
式12(,,...,)0m f x x x ≥满足(1,1,...,1)0f =,且不等式取等号的条件是(10)m i m i −−≥≥个变元相等,则称为i 级扩展基本不等式.当0i =时就是普通的对称不等式,即m 个变元相等时取等号的不等式;1i =时就是文[7]定义的扩展基本不等式,此时m 个变元中只要1m −个相等即可取得等号;2i =时可称为2级扩展基本不等式,此时m 个变元中只要2m −个相等不等式即可取得等号;2i m =−时就是基本不等式,此时当两个变元相等时不等式取等号;1i m =−时可看成是恒等式的情形,因为此时1m i −=,一个元相等表征它是恒等式.多级扩展基本不等式显然是文[7]扩展基本不等式的推广,它实际上包括了齐对称不等式的所有情形.这样就可以用多级扩展基本不等式对齐对称式进行分类,如果不等式的扩展级为i ,则对应的对称式称为i S 类.记齐对称多项式集合为S ,则有关系式:
012.
(15)m S S S S −=∪⋅⋅⋅∪⋅⋅⋅
即在齐对称多项式构成的线性空间中,i S 构成其子空间.下表2是用多项式线性无关自动验证程序得到的部分i S 类子空间的维数(空白部分需要进一步研究确认).
3元线性子空间 4元线性子空间
5元线性子空间
6元线性子空间
次数 0S
1S
S 1
S 2
S 0
S 1
S 2
S 0
S 1S 2S
3 2 0 2 0 0 2 0 0 2 0 0 4
3
4
1
4
1
4
1。