Rozwiązywanie systemów równań i nierówności przy pomocy Matematyki 7

Adam Strzeboński

Wolfram Research, Inc.

Abstract

Mathematica 7 umożliwia zarówno symboliczne jak i numeryczne rozwiązywanie problemów sformułowanych przy użyciu równań i nierównosci oraz kwantyfikatorów i relacji przynależnosci do zbiorów liczbowych. W mojej prezentacji skoncentruję się na metodach symbolicznych. Przedstawię przegląd rodzajów problemów, dla których Mathematica potrafi znaleźć rozwiązania symboliczne i omówię metody używane do znalezienia rozwiązań.

Układy równań i nierówności

Układy równań i nierówności to formuły logiczne skonstruowane przy użyciu:

• równań i nierówności: f==g,f≠g, f<g,f≤g, f>g, f≥g 
   f, g: wyrażenia skonstruowane przy użyciu liczb, funkcji liczbowych i zmiennych symbolicznych
   (+ operatory różniczkowe → DSolve, NDSolve)

• relacji przynalezności do zbiorów liczbowych: x∈S 
   Element[x, S], rozpoznawane zbiory: Complexes, Reals, Algebraics, Rationals, Integers, Primes

• operatorów logicznych: ¬a,a∧b, a∨b,a=>b, a⧦b, a⊼b, a⊽b, a⊻b

• kwantyfikatorów: (Subscript[∃, x,ϕ(x)])ψ(x), (Subscript[∀, x,ϕ(x)])ψ(x)
   Exists[x, ϕ[x], ψ[x]], ForAll[x, ϕ[x], ψ[x]]

Rozwiązywanie układów równań i nierówności

Znajdź wszystkie wartości zmiennych wolnych spełniających system

• Reduce: dowolne układy równań i nierówności, rozwiązania symboliczne wyrażone jako formuły logiczne.

• Roots: równania wielomianowe jednej zmiennej zespolonej, rozwiązania symboliczne wyrażone jako formuły logiczne, podaje rozwiązania z uwzględnieniem wielokrotności.

• NRoots: równania wielomianowe jednej zmiennej zespolonej ze wspolczynnikami liczbowymi, rozwiązania numeryczne wyrażone jako formuły logiczne.

Znajdź rozwiązanie "generyczne" (ważne poza właściwym podzbiorem algebraicznym przestrzeni "parametrów")

• Solve: układy równań zmiennych zespolonych nie zawierające kwantyfikatorów, rozwiązania symboliczne wyrażone jako reguły zastępowania, w przypadku równań przestępnych rozwiązanie może być niepełne.

• NSolve: układy równań zmiennych zespolonych nie zawierające kwantyfikatorów, rozwiązania numeryczne wyrażone jako reguły zastępowania.

Znajdź przykładowe wartości zmiennych wolnych spełniające system

• FindInstance: dowolne układy równań i nierówności, rozwiązania dokładne lub dowód braku rozwiązania.

• FindRoot: układy równań zmiennych zespolonych nie zawierające kwantyfikatorów, rozwiązania przybliżone.

Znajdź rownoważny system nie zawierający kwantyfikatorów

• Resolve: dowolne układy równań i nierówności, rozwiązania symboliczne wyrażone jako formuły logiczne.

• Eliminate: układy równań zmiennych zespolonych, wyłącznie kwantyfikatory szczegółowe, rozwiązania symboliczne wyrażone jako formuły logiczne.

• SolveAlways: układy równań zmiennych zespolonych,  wyłącznie kwantyfikatory ogólne, rozwiązania symboliczne wyrażone jako reguły zastępowania.

Układy równań i nierówności rozwiązywalne algorytmicznie

• Układy równań wielomianowych zmiennych zespolonych, z kwantyfikatorami lub bez.

• Układy równań i nierówności algebraicznych zmiennych rzeczywistych, z kwantyfikatorami lub bez.

• Układy równań i nierówności wielomianowych zmiennych rzeczywistych i zespolonych, z kwantyfikatorami lub bez.

• Równania exp-log jednej zmiennej rzeczywistej.

• Równania elementarne jednej zmiennej rzeczywistej nie zawierajace funkcji trygonometrycznych nieograniczonego argumentu (w następnej wersji).

• Układy równań i nierówności zmiennych rzeczywistych, exp-log względem pierwszej zmiennej i wielomianowe względem pozostałych zmiennych, z kwantyfikatorami lub bez.

• Układy równań i nierówności diofantycznych liniowych.

• Równania diofantyczne kwadratowe dwóch zmiennych.

• Równania Thue (diofantyczne dwóch zmiennych postaci wielomian jednorodny=liczba).

• Układy równań wielomianowych modulo m.

Układy równań i nierówności rozwiązywalne (w pewnych przypadkach) przy użyciu heurystyk

• Układy równań algebraicznych zmiennych zespolonych.

• Układy równań i nierówności zawierajace funkcje przestępne, rozwiązywalne przy użyciu funkcji odwrotnych.

• Równania elementarne jednej zmiennej rzeczywistej w przedziałach ograniczonych.

• Równania holomorficzne jednej zmiennej zespolonej w zbiorach ograniczonych.

• Równania elementarne jednej zmiennej rzeczywistej nie zawierajace funkcji trygonometrycznych nieograniczonego argumentu (w następnej wersji).

• Równania okresowe jednej zmiennej rzeczywistej lub zespolonej.

• Układy równań i nierówności diofantycznych (wiele różnych heurystyk).

• Układy równań i nierówności zawierajace funkcje składane.

• Układy równań i nierówności rozwiązywalne przez kombinację metod...

Układy równań wielomianowych zmiennych zespolonych

Funkcja Reduce umożliwia rozwiązywanie dowolnych systemów równań wielomianowych zmiennych zespolonych. Do wyrażenia rozwiązań mogą być potrzebne funkcje algebraiczne. Podstawowym narzędziem w tej kategorii problemów są bazy Gröbnera.

Reduce[(x-y) ((x^2)-2 z+1)==1&&(x^3)-(z^2)==2&&(x^3)-(x^2)-x≠3,{x,y,z}]

Rozwiązanie podane przez Reduce jest zawsze równoważne systemowi wyjściowemu. Funkcja Solve znajduje "generyczne" rozwiązania, ważne poza właściwym podzbiorem algebraicznym przestrzeni "parametrów". Rozwiązania są wyrażone w postaci reguł zastępowania.

Solve[(x-y) ((x^2)-2 z+1)==1&&(x^3)-(z^2)==2&&(x^3)-(x^2)-x≠3,{y,z}]

Funkcja FindInstance podaje przykładowe rozwiązania.

FindInstance[(x-y) ((x^2)-2 z+1)==1&&(x^3)-(z^2)==2&&(x^3)-(x^2)-x≠3,{x,y,z}]

Układy równań wielomianowych zmiennych zespolonych zawierające kwantyfikatory

Reduce umożliwia rozwiązywanie dowolnych systemów równań wielomianowych zmiennych zespolonych zawierających kwantyfikatory.

Przykład: Znajdź warunek na to by wielomian czwartego stopnia miał wszystkie pierwiastki równe.

Reduce[(Subscript[∃, x,(x^4)+a (x^3)+b (x^2)+c x+d==0])((Subscript[∀, y,(y^4)+a (y^3)+b (y^2)+c y+d==0])x==y),{a,b,c,d}]

Factor[(x^4)+a (x^3)+b (x^2)+c x+d/.ToRules[%]]

Używając funkcji Resolve można otrzymac rownoważny system nie zawierający kwantyfikatorów.

Resolve[(Subscript[∃, x,(x^4)+a (x^3)+b (x^2)+c x+d==0])((Subscript[∀, y,(y^4)+a (y^3)+b (y^2)+c y+d==0])x==y)]

Układy równań algebraicznych zmiennych zespolonych

Reduce potrafi rozwiązać dowolne systemy równań algebraicznych zmiennych zespolonych, pod warunkiem, że rozwiązanie nie zawiera nieskończonych podzbiorów zależących od wyboru gałęzi funkcji algebraicznych.

Reduce[(Sqrt[(x^2)-y+1])==7&&(x^2)+4 (Sqrt[y])==77,{x,y}]

Nieskończone podzbiory zależne od wyboru gałęzi funkcji algebraicznych reprezentowane są przy pomocy równań postaci 0==f (X), których rozwiązania stanowią pełnowymiarowe podzbiory przestrzeni zmiennych X.

Reduce[(Sqrt[(x^2)-y+1])==2 x-2,{x,y}]

Układy równań i nierówności wielomianowych zmiennych rzeczywistych

Funkcja Reduce umożliwia rozwiązywanie dowolnych systemów równań i nierownosci wielomianowych zmiennych rzeczywistych. Do wyrażenia rozwiązań mogą być potrzebne funkcje algebraiczne. Podstawowym narzędziem w tej kategorii problemów jest rozkład cylindryczny (Cylindrical Algebraic Decomposition, CAD).

Nawet jeśli problem zawiera wyłącznie równania, opis rozwiązania może wymagać nierówności.

Reduce[(x^2)+(y^2)==1,{x,y},Reals]

Funkcje algebraiczne używane w opisie rozwiązania są dobrze określone i przyjmują wartości rzeczywiste na gałęzi rozwiązania, do której opisu są używane. Na przykład w problemie poniżej,  jeśli 0<x<(32/81) to funkcje Root[-1-2 #1+3 x ((#1)^3)&,i], dla i=1,2,3, są dobrze określone i przyjmują wartości rzeczywiste.

Reduce[3(y^3)x-2y==1,{x,y},Reals]

Układy równań i nierówności wielomianowych zmiennych rzeczywistych zawierające kwantyfikatory

Funkcja Reduce umożliwia rozwiązywanie dowolnych systemów równań i nierownosci wielomianowych zmiennych rzeczywistych zawierających kwantyfikatory. Podstawowym narzędziem w tej kategorii problemów jest rozkład cylindryczny (Cylindrical Algebraic Decomposition, CAD). Ponadto, Mathematica używa metod programowania liniowego i metod wirtualnego zastępowania (virtual substitution, Loos & Weispfenning, dla eliminacji zmiennych wystepujących co najwyżej z wykładnikiem 2).

Przykład: Znajdź asymptoty pionowe funkcji f(y)=(1/((y^2)-2)) używając definicji granicy funkcji.

Reduce[(Subscript[∀, M,M>0])((Subscript[∃, δ,δ>0])((Subscript[∀, y,0<Abs[y-x]<δ])Abs[(1/((y^2)-2))]>M)),x,Reals]//Timing

W tym przykładzie możemy otrzymac rownoważny układ równań i nierówności nie zawierający kwantyfikatorów, używajac metody wirtualnego zastępowania. Ta metoda tylko w niewielkim stopniu zależy od ilosci zmiennych wolnych i wykładnikow z którymi one występują. Znalezienie rozkładu cylindrycznego byłoby dużo trudniejsze, ponieważ zależy on podwójnie wykładniczo od liczby wszystkich zmiennych.

Resolve[(Subscript[∃, {x,y}])((a^77) x+9 (a^54) (c^23) y-(a^33) (d^4)==21&&33 (a^25) x+27 (d^51) y≤3),Reals]

Układy równań i nierówności algebraicznych zmiennych rzeczywistych

Funkcja Reduce umożliwia rozwiązywanie dowolnych systemów równań i nierownosci algebraicznych zmiennych rzeczywistych, pod warunkiem że wymagamy aby wszystkie funkcje algebraiczne miały wartości rzeczywiste.

Reduce[(Sqrt[(x^2)-y+1])≤7&&(x^2)+4 (Sqrt[y])>3,{x,y},Reals]

Trzeci argument Reals oznacza, że wartości nie tylko wszystkich zmiennych, ale także wszystkich funkcji wystepujących w systemie maja być rzeczywiste.

Reduce[(Sqrt[x+2 y])==(Sqrt[2 x-y])-x+1,{x,y},Reals]

Użycie (x | y) ∈ Reals zamiast trzeciego argumentu powoduje, że tylko wartości zmiennych x i y muszą być rzeczywiste. W tym przypadku wynik jest ten sam.

Reduce[(Sqrt[x+2 y])==(Sqrt[2 x-y])-x+1&&(x|y)∈Reals,{x,y}]

Jednakże w innych przypadkach Reduce może nie być w stanie udowodnić nieistnienia rozwiązań rzeczywistych, dla których wartości funkcji algebraicznych występujących w równaniach nie są rzeczywiste.

Reduce[(Sqrt[x+2 y])==(Sqrt[2 x-y])&&(x|y)∈Reals,{x,y}]

W tym przykładzie takie rozwiązania istnieja.

Reduce[(Sqrt[x+2 y])==(Sqrt[2 x-y]),{x,y}]

Układy zawierające zmienne rzeczywiste i zespolone

Układy zawierające zmienne rzeczywiste i zespolone mogą być przekształcone w układy o wszystkich zmiennych rzeczywistych poprzez zastąpienie zmiennych zespolonych przez ich cześci rzeczywiste i urojone.

Reduce[(Subscript[∃, x,x∈Reals])(y^4)==x,y]

Reduce zakłada, że wyrażenia występujące w nierównościach na poziomie algebraicznym mają przyjmować wartości rzeczywiste.

Reduce[(x^2)+(y^2)<1,{x,y}]

Trzeci argument Complexes powoduje, że Reduce nie robi tego założenia.

Reduce[(x^2)+(y^2)<1,{x,y},Complexes]

Układy równań i nierówności diofantycznych

Nie istnieje algorytm pozwalający na rozwiązanie dowolnych rownań diofantycznych (10 problem Hilberta, Jurij Matiasiewicz, 1970). Jednakże wiele rodzajów rownań diofantycznych jest rozwiązywalnych algorytmicznie. Reduce używa kilkudziesieciu algorytmów i heurystyk [*] do rozwiązywania rownań diofantycznych.

Przykład: Równanie Pella.

Reduce[x^2-2y^2==1&&x>0&&y>0,{x,y},Integers]

Układy równań i nierówności zawierajace funkcje przestępne

Rozwiązywanie niektórych układów zawierających funkcje przestępne może być zredukowane do rozwiązywania układów algebraicznych poprzez zamianę zmiennych.

Reduce[Cos[x]==(1/2),x]

Reduce[(3^((x^2)+2 x-7))==(a^2)-1,x,Reals]

Reduce[(x^2) (2^x)==3,x]

Reduce rekursywnie używa Reduce do rozwiązywania wygenerowanych podproblemów. W tym przykładzie rozwiązanie jest uzyskane przez połączenie metod rozwiązywania układów zawierających funkcje przestępne i metod rozwiązywania układów diofantycznych.

Reduce[(E^((x^2)-5 (y^2)+1))+(x^2)-5 (y^2)==0,{x,y},Integers]

Równania jednej zmiennej zawierajace funkcje przestępne

Reduce umożliwia rozwiązywanie kilku stosunkowo szerokich klas równań jednej zmiennej. Do wyrażenia rozwiązań potrzebne jest wprowadzenie nowej dokładnej reprezentacji liczb.

Reduce[E^(x^2)-Log[x+1]==2x+3,x,Reals]

Reprezentacja zer wielomianów

Rozwiązania równań liniowych o współczynnikach wymiernych są liczbami wymiernymi.

Reduce[2 x+(3/7)==0,x]

Aby wyrazić rozwiązania równań wielomianowych stopnia ≤ 4 potrzebujemy dwóch dodatkowych funkcji.

Reduce[(x^2)+2 x+3==0,x]

Reduce[(x^4)+2 x+3==0,x,Quartics->True]//First

Aby wyrazić rozwiązania dowolnych równań wielomianowych potrzebujemy nieskończonej rodziny dodatkowych funkcji.

lub równoważnie

Reduce[(x^5)+2 x+5==0,x]

Reprezentacja zer funkcji przestępnych

Funkcja holomorficzna ma przeliczalną liczbę pierwiastków, więc teoretycznie możnaby użyć podobnej reprezentacji jak w przypadku wielomianów

Jednakże w praktyce nie byłaby to wygodna reprezentacja, ponieważ nie ma "naturalnej" metody numeracji pierwiastków funkcji przestępnych i w wielu przypadkach potrafimy tylko znaleźć pierwiastki w regionach ograniczonych. Dlatego Mathematica używa wartości przybliżonych do rozróżnienia pierwiastków. Taka reprezentacja jest dobrze zdefiniowana pod warunkiem, że udowodnimy, że istnieje dokładnie jeden pierwiastek danej funkcji mający daną wartość przybliżoną.

Granica Laplace'a.

Reduce[((x Exp[(Sqrt[1+(x^2)])])/(1+(Sqrt[1+(x^2)])))-1==0,x,Reals]

r=%[[2]]

r jest liczbą dokładną.

Precision[r]

Możemy obliczyć dowolnie dokładne przybliżenie r.

N[r,100]

Inaczej niż dla liczb algebraicznych, powyższa reprezentacja liczb przestępnych nie jest kanoniczna. Jednakże FullSimplify posiada kilka heurystyk pozwalających na upraszczanie wyrażeń zawierających liczby przestępne.

((x Exp[(Sqrt[1+(x^2)])])/(1+(Sqrt[1+(x^2)])))/.x->r

FullSimplify[%]

Funkcje exp-log

Funkcje exp-log to dowolne złożenia funkcji wielomianowych i funkcji Exp i Log. Rzeczywiste funkcje exp-log posiadają skończoną liczbę zer rzeczywistych i istnieje algorytm pozwalający na izolacje zer rzeczywistych. Algorytm ten wymaga rozpoznawania wyrażeń elementarnych równych zeru. Dowód skończoności jedynej obecnie znanej metody rozpoznawania zera wymaga hipotezy Schanuela. Mathematica używa heurystycznej metody rozpoznawania zera. W przypadku, gdy ta heurstyka nie potrafi ustalić czy dane wyrażenie jest rowne zeru, Mathematica drukuje wiadomość zawierającą to wyrażenie.

Przykłady funkcji exp-log (Gruntz)

Reduce[(E^x) ((E^(-(E^(-x))+(1/x)))-(E^(1/x)))+5==0,x,Reals]

Reduce[(E^(-(E^(E^x))+(E^(E^((E^(-x))+x)))))-(10^67)==0,x,Reals]

Reduce[((((3^x)+(5^x)))^(1/x))-10==0,x,Reals]

Reduce[(E^(-x+(x/((E^x) ((E^(-x))+(E^(-((2 (x^2))/(1+x)))))))))-(7/10)==0,x,Reals]

Przykłady funkcji exp-log (MathWorld)

Stała Smarandache

Reduce[(127^x)-(113^x)-1==0,x,Reals]

Punkty stałe funkcji ArcCoth

fps=Reduce[ArcCoth[x]==x,x,Reals]

Show[{Plot[{ArcCoth[x],x},{x,-3,3}],Graphics[{Red,PointSize[Medium],Point[{x,x}]/.{ToRules[fps]}}]}]

Punkty przegięcia funkcji (Subscript[E, 1]) Einsteina

Funkcja (Subscript[E, 1]) Einsteina.

(Subscript[E, 1])=(((x^2) Exp[x])/(((Exp[x]-1))^2));

infl=Reduce[(∂_({x,2}))(Subscript[E, 1])==0,x,Reals]

Show[{Plot[(Subscript[E, 1]),{x,-5,5}],Graphics[{Red,PointSize[Medium],Point[{x,(Subscript[E, 1])}]/.{ToRules[infl]}}]}]

Przecięcie wykresu funkcji (Subscript[E, 4]) Einsteina i hiperboli

Funkcja (Subscript[E, 4]) Einsteina.

(Subscript[E, 4])=(x/(Exp[x]-1))-Log[1-Exp[-x]];

intp=Reduce[(Subscript[E, 4])==(1/x),x,Reals]

Show[{Plot[{(Subscript[E, 4]),1/x},{x,0,3}],Graphics[{Red,PointSize[Medium],Point[{x,(Subscript[E, 4])}]/.{ToRules[intp]}}]}]

Funkcja Plancka

P=(15/((π^4) ((x^5) (Exp[(1/x)]-1))));

Maksimum funkcji P.

max=Reduce[(∂_x)P==0,x,Reals]

Punkty przegięcia funkcji P.

infl=Reduce[(∂_({x,2}))P==0,x,Reals]

Show[{Plot[P,{x,0,1}],Graphics[{PointSize[Medium],{Red,Point[{x,P}]/.{ToRules[max]}},{Green,Point[{x,P}]/.{ToRules[infl]}}}]}]

Przykłady funkcji exp-log

Wielomian wysokiego stopnia

Reduce[(x^1000000)-2 (x^777777)+3 (x^123456)-4 (x^54321)+5 (x^6789)-6 (x^555)+7 (x^100)-8 (x^21)+9 x-10==0,x,Reals]

Funkcja algebraiczna zawierająca pierwiastki wysokiego stopnia

Reduce[2 (x^(123451/67890))-(x^2)+4 (Sqrt[x])-4 x-(9/8)==0,x,Reals]

Funkcja zawierająca potęgi o wykładnikach niewymiernych

Reduce[(x^π)-(x^(x^(Sqrt[2])))-(Sqrt[3]) x+(2^(1/3))==0,x,Reals]

Zera funkcji elementarnych w przedziałach ograniczonych

Jeśli funkcja f jest ciągła w przedziale ograniczonym [a,b], różniczkowalna w (a,b) i nie ma w (a,b) pierwiastków wielokrotnych to możemy znaleźć jej pierwiastki używając arytmetyki przedziałów. Mathematica zawiera arytmetykę przedziałów dla funkcji elementarnych.

Zera funkcji elementarnych w przedziałach ograniczonych: przykłady

Równanie Keplera

Reduce[x-((Sin[x])/2)==1&&0≤x≤2,x]

Najmniejsze dodatnie punkty stałe funkcji elementarnych

TableForm[rr={Reduce[Cos[x]==x&&0<x<(π/2),x,Reals],Reduce[Cot[x]==x&&0<x<(π/2),x,Reals],Reduce[Csc[x]==x&&0<x<(π/2),x,Reals],Reduce[Tan[x]==x&&π<x<((3 π)/2),x,Reals],Reduce[Sec[x]==x&&((3 π)/2)<x<2 π,x,Reals],Reduce[ArcCos[x]==x&&0<x<1,x,Reals],Reduce[ArcCot[x]==x&&0<x<1,x,Reals],Reduce[ArcCsc[x]==x&&1<x<2,x,Reals]}]

Show[{Plot[Tooltip[{Cos[x],Csc[x],Cot[x],Tan[x],Sec[x],ArcCos[x],ArcCot[x],ArcCsc[x],x}],{x,0,7},PlotRange->{{0,7},{0,7}}],Graphics[{PointSize[Medium],Red,Point[{x,x}]/.{ToRules[Or@@rr]}}]},PlotRange->{{0,7},{0,7}},AspectRatio->Automatic]

Bardziej skomplikowana funkcja elementarna

f=Sin[Cos[x]]+(E^(1/(Log[x]+1)))+(1/2) ArcCos[(1/x)]-2;

rr=Reduce[f==0&&1<x<10,x]

Show[{Plot[f,{x,1,10}],Graphics[{PointSize[Medium],Red,Point[{x,f}]/.{ToRules[rr]}}]}]

Zera funkcji holomorficznych w zbiorach ograniczonych

Jeśli funkcja f jest holomorficzna w otoczeniu prostokąta P, Mathematica próbuje znaleźć zera f w P w przy pomocy następującej heurystyki. Najpierw oblicza ilość zer w P korzystając z zasady argumentu. Dla funkcji elementarnych możemy bezpośrednio obliczyć przyrost argumentu używając arytmetyki przedziałów i w związku z tym wynik jest w pełni udowodniony. Dla innych funkcji używa wzoru całkowego, w związku z czym poprawność wyniku zależy od poprawności całki obliczonej numerycznie. Następnie próbuje znaleźć przybliżone wartości wszystkich zer funkcji f w P, używajac metod graficznych lub algorytmu Kravanji-Van Barela dla znalezienia początkowych przybliżeń i funkcji FindRoot do otrzymania dokładniejszych przybliżeń. Używajac kryterium Neumaiera Mathematica próbuje następnie udowodnić, że koła na plaszczyźnie zespolonej odpowiadające znalezionym przybliżeniom faktycznie zawierają zera funkcji f. Jeśli sie to uda i ilość znalezionych zer zgadza się z poprzednio wyliczoną ilościa zer f w P to otrzymujemy przybliżenia pozwalające na dokładną reprezentację wszystkich zer f w P. Jeśli kryterium Neumaiera wskazuje, obecność więcej niż jednego zera w pewnym kole, Mathematica traktuje to koło jako reprezentacje "zera wielokrotnego", w cudzysłowie bo opisany tu algorytm nie pozwala na odróżnienie zera wielokrotnego od wielu blisko położonych zer.

Zera funkcji holomorficznych w zbiorach ograniczonych: przykłady

Zera funkcji elementarnych w zbiorach ograniczonych

Reduce[(((x+1))^(Sin[x]))==Cos[(x^2)-Tan[x]]+(I/2)&&0≤Re[x]≤1&&0≤Im[x]≤1,x]

N-wymiarowa kula jednostkowa o największej objętości

Objetość n-wymiarowej kuli jednostkowej wynosi (((π^(n/2)) (R^n) )/(Γ((n/2)+1))).

vol[n_]:=((π^(n/2))/(Gamma[(n/2)+1]))
ListPlot[vol/@Range[20]]

Traktując objętość jako funkcję parametru rzeczywistego n, możemy obliczyc maksimum.

Maximize[{vol[n],1≤n≤20},n]

Równania okresowe

Zera okresowej funkcji analitycznej rzeczywistej.

Reduce[(E^(Sin[x]))-Cos[3 Sin[x]]==0,x,Reals]

Zera funkcji holomorficznej o okresie będącym liczbą urojoną, w pionowym pasie na płaszczyźnie zespolonej.

Reduce[AiryAi[(E^x)]==3 (E^(-x))+1&&0≤Re[x]≤1,x]

Zera funkcji meromorficznej podwójnie okresowej. Reduce nie może wykazać, że nie ma innych zer, ponieważ funkcja nie jest holomorficzna.

Reduce[JacobiCS[x,3]==1,x]

Układy równań i nierówności zmiennych rzeczywistych, exp-log względem pierwszej zmiennej i wielomianowe względem pozostałych zmiennych

Dowolne układy równań i nierówności zmiennych rzeczywistych, exp-log względem pierwszej zmiennej i wielomianowe względem pozostałych zmiennych mogą być rozwiązane przez rozkład cylindryczny i znajdywanie pierwiastków funkcji exp-log jednej zmiennej.

Reduce[(E^x) (y^3)+Log[x] y>3 x,{x,y},Reals]

Układy równań i nierówności zmiennych rzeczywistych, przestępne względem pierwszej zmiennej i wielomianowe względem pozostałych zmiennych

Układy równań i nierówności zmiennych rzeczywistych, przestępne względem pierwszej zmiennej i wielomianowe względem pozostałych zmiennych mogą być rozwiązane przez połączenie rozkładu cylindrycznego i znajdywania pierwiastków funkcji jednej zmiennej, pod warunkiem, że każde wygenerowane równanie jednej zmiennej jest rozwiązalne.

Reduce[Sin[x-Cos[x]] (y^3)-x==1&&(x^2)+(y^2)≤1,{x,y},Reals]

Reduce[Erf[x-Cos[x+1]] (y^2)-x y z==1&&(x^2)+(y^2)+(z^2)<2,{x,y,z},Reals]

Reduce[(y^4)-Gamma[x+2] y-y-3 ArcSin[(x/3)]>-2&&(1/2)<x<1,{x,y},Reals]

Układy równań i nierówności zawierajace funkcje składane

Reduce rozwiązuje równania i nierówności zawierajace funkcje składane traktując warunki definiujące poszczególne przypadki jako części układu.

nier=Max[x^2-y^2,x+y]+Abs[x]≥Piecewise[{{x,x≥0}},2 y^2]+7

PiecewiseExpand[nier,Method->{"BooleanResult"->False}]

PiecewiseExpand[nier]

Reduce[nier,{x,y}]