Qo'shimcha faktorlarga ajratish
Differensial operator
df := DF^2+21/100*(x^2-x+1)/x^2/(x-1)^2;
Q(x)[DF]ning elementi sifatida faktorlarga ajralmasligi bilan ma'lum. Biz buni DFactor funksiyasi orqali tekshirishimiz mumkin:
yettinchi tartibning oltinchi simmetrik
Almerning ishlaridan kelib chiqishicha darajasi
dff := symmetric_power(df,6,[DF,x]);
df := DF
2
21 ( x2 x 1 )
100 x2 ( x 1 )2
DF
2
21 ( x2 x 1 )
100 x2 ( x 1 )2
Bundan tashqari, uning differensial Galois maydoni A5 deb tanilgan. Zinger va
SL
2
7
294 ( x2 x 1 ) DF5 147 ( 2 x3 3 x2 5 x 2 ) DF4
25 x2 ( x 1 )2 5 x3 ( x 1 )3
dff := DF
441 ( 349 x4 698 x3 1547 x2 1198 x 349 ) DF3
441 ( 4829 x 8470 x2 2735 x4 7470 x3 1094 x5 1094 ) DF2
625 x5 ( x 1 )5
63 (
8620804 x 19286733 x2 15457733 x4 22929126 x3 4791804 x5
625 x4 ( x 1 )4 1597268 x6 1597268 ) DF ( 62500 x6 ( x 1 )6 ) 189 ( 1768603 x
4817148 x2 6563550 x4 7263809 x3 3595389 x5 969969 x6 277134 x7
277134 ) ( 31250 x7 ( x 1 )7 )
7-Mavzu..
Fan: Kompyuter algebrasi tizimlari
faktorlar va faktorlar
O’qituvchi: T.Djiyanov II-kurs
3-chi va 4-chi tartibda . Lekin,
ko'paytuvchilarning
darajalari qanaqaligi ma'lum bo'lganligiga qaramasdan avvalgi algoritmlar ko'paytuvchilarga ajratishni amalga oshira olmagan edi. Biz quyidagiga ega bo'lamiz (biroz vaqtdan so'ng)
fact_df := DFactor( dff, [DF,x] );
Faktorizasiyani tekshirish mumkin:
L := mult( fact_df[1], fact_df[2], [DF,x]):
collect( L - dff, DF, normal );
4
( x 1 ) x
5 ( 1 2 x x2 ) x2
4 ( 2 x 1 ) DF3 3 ( 23 x2 23 x 3 ) DF2
fact_df := DF
50 ( x 1 ) x3 ( 1 2 x x2 )
96 ( x4 2 x3 3 x2 2 x 1 )
625 ( x 1 ) (
1 3 x 3 x x ) x
2 3 4
3 ( 58 x3 87 x2 33 x 2 ) DF
3
, DF
4 ( 2 x 1 ) DF2 ( 749 x2 749 x 249 ) DF
( x 1 ) x
25 ( 1 2 x x2 ) x2
50 x3 ( 1 3 x 3 x2 x3 )
9 ( 399 x2 265 x 66 266 x3 )
Fan: Kompyuter algebrasi tizimlari
7-Mavzu..
O’qituvchi: T.Djiyanov II-kurs
1. Differensial tenglamalarni qurish
ma'lum
ega differensial operatorlar. Haqiqatdan biz
Bessel funksiyasi yechimlariga quyidagiga egamiz:
diffop2de(df,y(x),[DF,x]);
darajasi
yuqoridagining
darajaga
ko'tarilgan
differensial tenglamalarni hosil qiladi. Misol
df ning uchinchi simmetrik kombinasiyalari javobi bo'lgan tariqasida,
dff := symmetric_power(df,3,[DF,x]);
diffop2de(dff,y(x),[DF,x]):
dsolve( % , y(x) );
DEtools da differensial operatorlar imkoniyatlaridan foydalanib tenglamalardan differerensial tenglamalarni hosil qilish mumkin. Masalan,
df := x^2*DF^2 - x*DF + (x^2 - 1);
df := x2 DF2 x DF x2 1
2
d
( x 1 ) y( x ) x dx y( x ) x
2 d2
dx
2
y( x )
dsolve(%,y(x));
y( x) _C1 x BesselJ( 2, x) _C2 x BesselY( 2, x)
dff := DF
4
x
6 DF3 5 ( 2 x2 1 ) DF2 5 ( 6 x2 7 ) DF 3 ( 2 x2 21 3 x4 )
x2 x3 x4
Fan: Kompyuter algebrasi tizimlari
O’qituvchi: T.Djiyanov
II-kurs
7-Mavzu..
Biz symmetric_product funksiyasidan foydalanib javoblarning ko'paytmalarini qurishimiz mumkin. Misol uchun,
df2 := DF - x:
dsolve( diffop2de(df2,y(x),[DF,x]), y(x) );
df va df2 ning birgalikdagi yechimining ko'paytmasini beradi.
Eksponensial natijaga ega bo'lgan tanglamaning yaratish uchun biz to'g'ri operatorlarni eksponensial tenglamalardan foydalanib hosil
to'g'ridan- qilishimiz
mumkin yoki tashqi darajaga ko'tarish operasiyasidan foydalanishimiz mumkin.
2 , x )3 _C2 x3 BesselY( 2 , x )3
2 , x ) BesselY( 2 , x )2
2 , x )2 BesselY( 2 , x )
y( x ) _C1 x3 BesselJ(
_C3 x3 BesselJ(
_C4 x3 BesselJ(
x2
2
y( x ) _C1 e
eksponensial natijani hosil qiladi. Bu o'rinda
df3 := symmetric_product( df, df2, [DF,x] );
df3 := x2 DF2 x DF 2 x3 DF x2 x4 1
dsolve( diffop2de( df3,y(x),[DF,x]), y(x) );
x2 x2
2 2
y( x ) _C1 e x BesselJ( 2 , x ) _C2 e x BesselY( 2 , x )
Agar operator L to'g'ri darajali n ko'paytmasiga ega bo'lsa u holda L ning n-chi tashqi darajasi 1-chi darajali to'g'ri ko'paytuvchiga ega bo'ladi. Misol uchun L := collect( mult( df+x, df, [DF,x]), DF );
Fan: Kompyuter algebrasi tizimlari O’qituvchi: T.Djiyanov II-kurs 7-Mavzu..
L := x4 DF4 2 x3 DF3 ( 3 x2 2 x4 x3 ) DF2 ( 2 x3 3 x x2 ) DF x4 1 x3
x 2 x2
M := exterior_power(L,2,[DF,x]);
6
x
8 DF5 ( 7 4 x2 2 x ) DF4 ( 7 x 3 24 x2 ) DF3
x2 x3
M := DF
( 25 x2 3 x 7 ) DF2 ( x2 14 ) DF x2 14
x4 x5 x6
DF x , DF
4
x
4 5 DF3 2 ( 2 x 2 x2 ) DF2
x2
3 ( 1 4 x ) DF 5
x2
x
2
1
x
O'ng tomondagi to'g'ri ko'paytuvchini ko'rsatadi. Bu quyidagi orqali ko'rinishi mumkin
expsols( diffop2de(M,y(x),[DF,x]), y(x) );
[ x ]
5.Chiziqli differensial tenglamalarning yopiq ko`rinishdagi yechimlari
Fan: Kompyuter algebrasi tizimlari O’qituvchi: T.Djiyanov II-kurs 7-Mavzu..
Maple ning dsolve komandasi chiziqli differensial tengamalarning yopiq ko'rinishdagi yechimlari topish imkonini beradi. Ikkinchi tartibdagi tenglamalar dsolve komandasi quyidagi shakldagi homogeneous ikkinchi tartibdagi differensial tenglamani o'zgartiradi. quyidagi shaklga
tenglamaning yechimlarini qurishda foydalanadi. Bu usul ikkinchi tenglamaga yechimni I(x)ning qisman ko'paytmalari kengaytirish orqali hisoblaydi.
Misol uchun, bizda (Kemke tomonidan klassik tekstda berilishicha) mavjud:
restart;
ode1 := diff(y(x),x$2) + 2*x^2*diff(y(x),x) + 2*x*y(x);
2
dx
2
dx
ode := a( x ) d y( x ) b( x ) d y( x ) c( x ) y( x ) 0
new_ode :=
d2
dx
2
y( x ) I( x ) y( x ) 0 , keyin ikkinchi tenglamaning yechimlarini birinchi
ode1 :=
dx
2
d2 2 d
y( x ) 2 x dx y( x ) 2 x y( x )
Fan: Kompyuter algebrasi tizimlari
O’qituvchi: T.Djiyanov
II-kurs
7-Mavzu..
ans1 := dsolve(ode1, y(x) );
ode2 := (4*x^4-1)*diff(diff(y(x),x),x)+(12*x^4+1)/x*diff(y(x),x)+16*x^2*(-u^2/(4*x^4-1)- v*(v+1))*y(x);
x3
3
1 x3
ans1 := y( x ) _C1 e x BesselI , _C2 e
x3
3
x BesselK ,
1 x3
6 3 6 3
4
d2
dx
2
dx
( 12 x4 1 ) d y( x )
x
y( x )
ode2 := ( 4 x 1 )
2
u2
4
4 x 1
v ( v 1 ) y( x )
16 x
ans2 := dsolve(ode2, y(x) );
ans2 := y( x ) _C1 LegendreP ( v, u, 2 x2 ) _C2 LegendreQ ( v, u, 2 x2 )
ode3 := diff(y(x),x$2) - x*diff(y(x),x) + n*y(x);
ode3 :=
dx
2
d2 d
dx
y( x ) x y( x ) n y( x )
ans3 := dsolve( ode3, y(x) );
ans3 := y( x )
4
_C1 e WhittakerM , ,
1 n 1 x2
x2 x2
4
_C2 e WhittakerW , ,
1 n 1 x2
4 2 4 2 4 2 4 2
x x
ode4 := (x-9*x^5)*diff(y(x),x$2) + (1-9*x^4)*diff(y(x),x) + 36*x^3*y(x);
ode4 := ( x 9 x )
5
dx
2
4
d2 d
dx
3
y( x ) ( 1 9 x ) y( x ) 36 x y( x )
II-kurs
7-Mavzu..
odetest komandasidan foydalangan holda
Barcha quyidagi misollarda yechimlarni tekshirish mumkin:
odetest( ans1, ode1 );
odetest( ans2, ode2 );
odetest( ans3, ode3 );
odetest( ans4, ode4 );
Dostları ilə paylaş: |