|
Sa vedem.
Nu stiu cum a fost folosita indicatia de mai sus, probabil ca nu a fost folosita, incerc sa fac clare lucrurile prin linii explicite.
Cer scuze, tiparitul explicit este dificil, asa ca o parte din munca (de calcul si mai ales de tiparit) o voi lasa pe seama calculatorului. Folosesc sage (program liber) si explic ce fac.
In primul rand introduc functiile: sage: f( x, m ) = m* x^2 - (2*m-1)*x + (m+2)
sage: g( x, m ) = f( x+2, m )
sage: g( x, m ).expand()
m*x^2 + 2*m*x + m + x + 4
O sa scriu cateva propozitii ca sa se inteleaga translatia argumentului:
g( -3, m ) = 0 daca si numai daca f( -3+2, m ) = 0
g( -2, m ) = 0 daca si numai daca f( -2+2, m ) = 0
g( -3, m ) = 0 daca si numai daca f( -1+2, m ) = 0
g( 0, m ) = 0 daca si numai daca f( 0+2, m ) = 0
g( 1, m ) = 0 daca si numai daca f( 1+2, m ) = 0
g( 2, m ) = 0 daca si numai daca f( 2+2, m ) = 0
g( 3, m ) = 0 daca si numai daca f( 2+2, m ) = 0
Deci:
-3 este radacina pentru g( . , m ) daca si numai daca -1 este pentru f( . , m )
-2 este radacina pentru g( . , m ) daca si numai daca 0 este pentru f( . , m )
-1 este radacina pentru g( . , m ) daca si numai daca 1 este pentru f( . , m )
0 este radacina pentru g( . , m ) daca si numai daca 2 este pentru f( . , m )
1 este radacina pentru g( . , m ) daca si numai daca 3 este pentru f( . , m )
2 este radacina pentru g( . , m ) daca si numai daca 4 este pentru f( . , m )
3 este radacina pentru g( . , m ) daca si numai daca 5 este pentru f( . , m )
Sper ca este clar acum ca
g( . , m ) are exact o radacina in ( -oo , 0 )
daca si numai daca
f( . , m ) are exact o radacina in ( -oo , 2 ) .
Ne uitam acum la g( m, x ) .
Cazul m=0 il luam la o parte. sage: g(x,0)
x + 4
sage: g(x,0).roots()
[(-4, 1)]
sage: g(x,0).roots( multiplicities=False )
[-4]
sage: g(x,0).roots( multiplicities=False, ring=RR )
[-4.00000000000000]
Vedem ca sage poate calcula pentru noi radacinile polinomului x+4 .
In prima forma, g(x,0).roots() aflam ca -4 e radacina cu multiplicitatea 1.
(Trebuie doar sa stim sa citim.)
Ne deranjeaza partea cu multiplicitatile. Bun folosim optiunea "multiplicities=False".
Daca vrem o valoare in forma zecimala, cerem valoarea in inelul RR al numerelor reale (intern deja definit in sage).
Bun, sa revenim la problema.
In ce caz are g-ul (si/sau f-ul) doua radacini confundate?
Discriminantul este (in ambele cazuri) -12m + 1 .
Radacinile sunt:
sage: g( x, 1/12 ).roots()
[(-7, 2)]
sage: f( x, 1/12 ).roots()
[(-5, 2)]
Acea a doua componenta 2 este multiplicitatea.
Deci il bagam si pe 1/12 in cos, pentru ca problema se leaga de multimea radacinilor, aici multiplicitatea nu conteaza.
Mai departe. In ce caz are g-ul o radacina nula?
Cerem deci g(0,m) = 0. Acest lucru se intampla pentru m=-4.
Radacinile sunt -7/4 si 0.
Il bagam si pe -4 in cos.
Sa zicem acum ca m nu este din { -4, 0, 1/12 } .
Il fixam (in gand).
Atunci functia x -> g(x,m) are coeficientul principal m si pe cel liber m+4.
Produsul radacinilor este <0 daca si numai daca (m+4)/m este <0 . (Vieta.)
Deci daca si numai daca m(m+4) <0 .
Deci daca si numai daca m se afla in (-4,0) .
Sper ca este clar ca in acest caz exact o radacina a lui x -> g( x , m ) este <0 .
Deci exact o radacina a lui f(x,m) este <2 .
Reciproc, daca exact o radacina este <0, cealalta este reala in primul rand, in al doilea diferita de prima si de 0, cazuri excluse (si puse in cos), deci produsul radacinilor este <0.
Solutia este deci
( -4, 0 ) U {-4,0,1/12}
=
[ -4, 0 ] U {1/12}
Sa vedem ce spune computerul:
for m in [ -5, -4, -3, -2, -1, 0, 1/100, 1/13, 1/12, 1/11, 1, 2, 3]:
print "g(x,%s) are radacinile reale %s" % ( m, g(x,m).roots( multiplicities=False, ring=RR ) )
g(x,-5) are radacinile reale [-1.68102496759067, -0.118975032409335]
g(x,-4) are radacinile reale [-1.75000000000000, 0.000000000000000]
g(x,-3) are radacinile reale [-1.84712708838304, 0.180460421716370]
g(x,-2) are radacinile reale [-2.00000000000000, 0.500000000000000]
g(x,-1) are radacinile reale [-2.30277563773199, 1.30277563773199]
g(x,0) are radacinile reale [-4.00000000000000]
g(x,1/100) are radacinile reale [-97.9041575982343, -4.09584240176570]
g(x,1/13) are radacinile reale [-9.30277563773199, -5.69722436226801]
g(x,1/12) are radacinile reale [-7.00000000000000]
g(x,1/11) are radacinile reale []
g(x,1) are radacinile reale []
g(x,2) are radacinile reale []
g(x,3) are radacinile reale []
Putem sa cerem si forma exacta a radacinilor, asta doar ca sa vedem ce poate sage...
for m in [ -5, -4, -3, -2, -1, 0, 1/100, 1/13, 1/12, 1/11, 1, 2, 3]:
print "g(x,%s) are radacinile reale %s" % ( m, g(x,m).roots( multiplicities=False ) )
g(x,-5) are radacinile reale [-1/10*sqrt(61) - 9/10, 1/10*sqrt(61) - 9/10]
g(x,-4) are radacinile reale [-7/4, 0]
g(x,-3) are radacinile reale [-1/6*sqrt(37) - 5/6, 1/6*sqrt(37) - 5/6]
g(x,-2) are radacinile reale [-2, 1/2]
g(x,-1) are radacinile reale [-1/2*sqrt(13) - 1/2, 1/2*sqrt(13) - 1/2]
g(x,0) are radacinile reale [-4]
g(x,1/100) are radacinile reale [-10*sqrt(22) - 51, 10*sqrt(22) - 51]
g(x,1/13) are radacinile reale [-1/2*sqrt(13) - 15/2, 1/2*sqrt(13) - 15/2]
g(x,1/12) are radacinile reale [-7]
g(x,1/11) are radacinile reale [-1/2*I*sqrt(11) - 13/2, 1/2*I*sqrt(11) - 13/2]
g(x,1) are radacinile reale [-1/2*I*sqrt(11) - 3/2, 1/2*I*sqrt(11) - 3/2]
g(x,2) are radacinile reale [-1/4*I*sqrt(23) - 5/4, 1/4*I*sqrt(23) - 5/4]
g(x,3) are radacinile reale [-1/6*I*sqrt(35) - 7/6, 1/6*I*sqrt(35) - 7/6]
Acelasi lucru pentru f, ca sa vedem cum stam.
Dau doar partea cu radacinile reale:
for m in [ -5, -4, -3, -2, -1, 0, 1/100, 1/13, 1/12, 1/11, 1, 2, 3]:
print "f(x,%s) are radacinile reale %s" % ( m, f(x,m).roots( multiplicities=False, ring=RR ) )
f(x,-5) are radacinile reale [0.318975032409335, 1.88102496759067]
f(x,-4) are radacinile reale [0.250000000000000, 2.00000000000000]
f(x,-3) are radacinile reale [0.152872911616963, 2.18046042171637]
f(x,-2) are radacinile reale [0.000000000000000, 2.50000000000000]
f(x,-1) are radacinile reale [-0.302775637731995, 3.30277563773199]
f(x,0) are radacinile reale [-2.00000000000000]
f(x,1/100) are radacinile reale [-95.9041575982343, -2.09584240176570]
f(x,1/13) are radacinile reale [-7.30277563773199, -3.69722436226801]
f(x,1/12) are radacinile reale [-5.00000000000000]
f(x,1/11) are radacinile reale []
f(x,1) are radacinile reale []
f(x,2) are radacinile reale []
f(x,3) are radacinile reale []
Vedem in fiecare caz exact cate radacini sunt in ( -oo, 2 ) .
Cum se vede, 1/100 si 1/13 trebuie excluse, deci solutia NU poate fi
( -4, 1/12 )
ca mai sus.
Codul ne ajuta deci sa ne verificam.
--- df (gauss)
|