restart;
with(DEtools):
L := an( x ) DF
( n )
a1( x ) DF a0( x )
ai( x )
va
D DF( x ) 1
DF( u v ) u DF( v ) DF( u ) v .
Differensial operatorlar bilan algebraik amallar bajarish. Differensial operatorlarni qo'shish, ko'paytirish, o'rniga qo'yish va boshqalarga o'xshash o'rin almashtirib bo'lmaydi (noncommutative domain) . C(x)[DF]dagi L
Fan: Kompyuter algebrasi tizimlari O’qituvchi: T.Djiyanov II-kurs 7-Mavzu..
( n )
differensial operatori bu + . . . + a1( x ) DF a0( x ) , bo'lib , bu yerda C(x)ning
L := an( x ) DF ai( x )
elementlari. C(x)[Dx] dagi L elementi L( y(x) )=0 chiziqli bir xil differensial tenglamaga to'g'ri keladi.
C(x)[Dx] doirasida ko'paytirish differensial operatorlarni shakllantirishga to'g'ri keladi. Shunday qilib agar L = mult(f,g) bo'lsa, u holda L( y(x) ) = f(g( y(x) )). Xususan, mult(DF,x) = x*DF + 1.
Misol tariqasida qanday algebraik amallarni bajarish mumkinligini ko'rish uchun quyidagi differensial operatorlarga e'tibor bering:
L1 := x^2*DF^2 - x*DF + (a-x^2);
L1 := x2 DF2 x DF a x2
L2 := x*DF - (x^2-b);
L2 := x DF x2 b
L3 := DF^2 - x;
L3 := DF2 x
Biz bu operatorlari ko'paytirib shuni eslatib o'tishimiz mumkinki, ularni o'rnini almashtirib bo'lmaydi: L4 := collect( mult( L1, L2, [DF, x] ), DF );
Fan: Kompyuter algebrasi tizimlari O’qituvchi: T.Djiyanov II-kurs 7-Mavzu..
Argument [DF, x] mult komandasiga ko'paytirish DF va x belgilab bergan differensial sohasi ustida ekanligini ko'rsatadi, shuning uchun a va b o'zgaruvchilari o'zgarmas songa teng. Bu yana _Envdiffopdomain := [DF, x], muhit o'zrgaruvchisi orqali belgilanishi mumkin.
Bir tomonli eng kichik umumiy ko'paytuvchi va eng katta umumiy bo'luvchi tushunchasi shunday sohalarda mavjud bo'ladi. Misol tariqasida,
L6 := LCLM( L3, L2, [DF, x] );
L4 := x3 DF3 ( x4 x2 x2 b ) DF2 ( a x x b x 4 x3 ) DF a x2 x4 x2 b a b
L5 := collect( mult( L2, L1, [DF, x] ), DF );
L5 :=
x3 DF3 ( x4 x2 x2 b ) DF2 ( x b x a x ) DF a b x4 2 x2 a x2 x2 b
3
( b3 x3 2 b 3 x4 b 3 x2 b2 3 x4 3 b2 x3 b x6 x5 ) DF2
x ( b b2 x2 2 x2 b x3 x4 )
x DF
L6 := DF
b3 3 b 3 x4 b 3 x2 b2 2 x4 4 b2 x3 b x6 x5 x2 2 x2 b
b b2 x2 2 x2 b x3 x4
Fan: Kompyuter algebrasi tizimlari
O’qituvchi: T.Djiyanov
II-kurs
7-Mavzu..
va
L7 := GCRD( L4, L6, [DF, x] );
Buni o'ng yoki chap tomonni ko'paytirishi orqali tekshirish mumkin. Bizning masalamizda biz quyidagiga egamiz:
rightdivision(L6,L7, [DF,x] );
Ikki holatda ham yuqoridagi amal 0 qoldiqli bo'linmani beradi. Hisobni to'g'riligi quyidagi ko'paytirish orqali tekshirish mumkin:
collect( L4 - mult( %[1], L7, [DF,x] ), DF, normal );
L7 := DF
x2 b
x
2
x ( b b2 x2 2 x2 b x3 x4 )
( x3 2 b 2 x4 2 b2 ) DF
DF
b b2 x2 2 x2 b x3 x4
rightdivision(L4,L7, [DF,x] );
2 x3 4 x b 6 b x4 2 x2 x b2 2 x3 b x5
, 0
[ x3 DF2 x2 DF x3 a x x, 0 ]
7-Mavzu..
Fan: Kompyuter algebrasi tizimlari O’qituvchi: T.Djiyanov II-kurs
Dostları ilə paylaş: |