Ciselne obory v Maplu Cela cisla > 1; 1 > whattype(%); integer > ?surface > 4^(4^4); 1340780792994259709957402499820584612747936582\ 0592393377723561443721764030073546976801874298\ 1669034276900318581864860508537538828119465699\ 46433649006084096 Maple pouziva backslash k tomu, aby ukazal, ze vystup pokracuje na nasledujicim radku. > length(%); 155 > 123\456\789; 123456789 Maximalni cele cislo, s kterym je Maple schopen pracovat (na 32-bitovych systemech) ma > kernelopts(maxdigits); 268435448 platnych cislic. > 2^28-8; 268435448 > 4*((2^26-1)-1); 268435448 > 123456789^987654321; Error, numeric exception: overflow Pro cisla mensi nez 2^30 Maple nevyuziva dynamickeho datoveho vektoru. > number:=10^29-10^14-1; :=number 99999999999999899999999999999 Procedury pro praci s celymi cisly: > isprime(%); false Overuje, zda zadane cislo je prvocislem. > ifactor(number); ( )61 ( )223 ( )97660768252549 ( )13166701 ( )5717 > time(ifactor(3!!!)); 0.026 Rozklad na prvocisla. > nextprime(number); 99999999999999900000000000157 Urcuje nejblizsi vetsi prvocislo. > prevprime(number); 99999999999999899999999999981 Nejblizsi mensi prvocislo. > ithprime(9); 23 Vraci i-te prvocislo. a:=1234: b:=56: > q:=iquo(a,b); :=q 22 Celociselne deleni. > r:=irem(a,b); :=r 2 Zbytek po celocislenem deleni. > a=q*b+r; =1234 1234 > testeq(a=q*b+r); true Kontrola spravnosti. > igcd(a,b); 2 Nejvetsi spolecny delitel celych cisel. > lcm(21,35,99); 3465 Nejmensi spolecny nasobek cisel 21, 35 a 99. > abs(-3); 3 Urceni absolutni hodnoty. Racionalni cisla. Maple automaticky odstranuje (krati) nejvetsiho spolecneho delitele citatele a jmenovatele a pozaduje, aby byl jmenovatel kladny. > 4/6; 2 3 > whattype(%); fraction > -3/-6; Error, `-` unexpected Cisla s pohyblivou desetinou carkou a irracionalni cisla Maple neprovadi automaticky zjednoduseni. Upravu je nutno vyzadat. > 25^(1/6); 25 ( )/1 6 > simplify(%); 5 ( )/1 3 > evalf(%%); 1.709975947 > convert(%%%, `float`); 1.709975947 > whattype(%); float Zapis cisla 0,000001 ruznymi zpusoby: > 0.1*10^(-5); 0.1000000000 10-5 > 1E-6; 0.1 10-5 > Float(1,-6); 0.1 10-5 Cislo = mantisa * 10^(exponent) > printf("%.6f", Float(1,-6)); 0.000001 > evalf(sqrt(2)); 1.414213562 Presnost aproximace je urcovano promennou Digits. > Digits; 10 > Digits:=20; :=Digits 20 > evalf(sqrt(2)); 1.4142135623730950488 > evalf[150](Pi); 3.14159265358979323846264338327950288419716939\ 9375105820974944592307816406286208998628034825\ 3421170679821480865132823066470938446095505822\ 3172535940813 > evalf(Pi, 150); 3.14159265358979323846264338327950288419716939\ 9375105820974944592307816406286208998628034825\ 3421170679821480865132823066470938446095505822\ 3172535940813 > interface(displayprecision=6): > evalf(Pi,150); 3.14159265358979323846264338327950288419716939\ 9375105820974944592307816406286208998628034825\ 3421170679821480865132823066470938446095505822\ 3172535940813 > interface(displayprecision=-1): > ?constants; > constants; , , , , , ,false true Catalan FAIL > Pi:=3.14; Error, attempting to assign to `Pi` which is protected > ?inifcns; > protect('e'); > macro(e=exp(1)): > ln(e); 1 > 3/2*5; 15 2 > 3/2*5.0; 7.5000000000000000000 Jakmile zadame nejake cislo v pohyblive desetinne carce, Maple pri vypoctu automaticky pouzije aproximativni aritmetiku. > ceil(7.5); 8 > floor(7.5); 7 ceil(x) urci nejmensi cele cislo vetsi nebo rovne x, floor(x) nejvetsi cele cislo mensi nebo rovne x (pro realna x). > round(7.4);round(7.6);round(7.5); 7 8 8 > trunc(7.4);trunc(-7.4); 7 -7 > frac(7.5); 0.5 frac(x) vraci desetinnou cast cisla x, tj. frac(x)=x-trunc(x). Pocitani s odmocninami. > (1/2+1/2*sqrt(5))^2; + 1 2 5 2 2 > expand(%); + 3 2 5 2 > 1/%; 1 + 3 2 5 2 > simplify(%); 2 +3 5 > rationalize(%); - 3 2 5 2 > (-1-3*Pi-3*Pi^2-Pi^3)^(1/3); ( )- - - -1 3 3 2 3 ( )/1 3 > simplify(%); ( )+ 1 ( )+1 3 I 2 > convert(%%, surd); -( )+ + +1 3 3 2 3 ( )/1 3 > simplify(%); - - 1 > (4+2*3^(1/2))^(1/2); +4 2 3 > simplify(%); +3 1 > sqrt(25+5*sqrt(5))-sqrt(5+sqrt(5))-2*sqrt (5-sqrt(5)); - -+25 5 5 +5 5 2 -5 5 > simplify(%); 0 > radnormal(%); 0 > 1/(1+sqrt(2)); 1 +1 2 > simplify(%); 1 +1 2 > radnormal(%, rationalized); - +1 2 > restart; Algebraicka cisla: Koreny ireducibilnich polynomu nad racionalnimi cisly. Vnitrni reprezentace algebraickych cisel pomoci procedury RootOf, napr. sqrt(2) je reprezentovana nasledujicim zpusobem: > alpha:=RootOf(z^2-2,z); := ( )RootOf -_Z2 2 Prevod na tvar "odmocniny" provadime pomoci procedury convert. > convert(alpha, 'radical'); 2 Protoze alpha muze byt bud sqrt(2) nebo -sqrt(2), vsechny hodnoty ziskame pomoci prikazu allvalues: > allvalues(alpha); ,2 - 2 Zpetny prevod: > convert(sqrt(2), 'RootOf'); ( )RootOf ,-_Z2 2 =index 1 > simplify(alpha^2); 2 > simplify(1/(1+alpha)); -( )RootOf -_Z2 2 1 > alias(beta=RootOf(z^2-2,z)): > 1/(1+beta)+1/(beta-1); simplify(%); + 1 +1 1 - 1 2 > convert((-8)^(1/3), 'RootOf'); +1 ( )RootOf ,+_Z2 3 =index 1 > convert(sqrt(3), 'RootOf'); ( )RootOf ,-_Z2 3 =index 1 > convert(%, 'radical'); 3 > root[3](2); 2 ( )/1 3 > convert(%, 'RootOf'); ( )RootOf ,-_Z3 2 =index 1 Nekonecno > infinity; > infinity-123; > infinity*5; Komplexni cisla. > restart; > Complex(0,1); Complex(2,3); I +2 3 I > (2+3*I)*(4+5*I); +-7 22 I > whattype(%); ( )complex extended_numeric > Re(%%), Im(%%), conjugate(%%), abs(%%); , , ,-7 22 --7 22 I 533 > 1/%%%; - -7 533 22 533 I > sqrt(-8); 2 I 2 > restart; > 1/(2+a-b*I); 1 + -2 a b I > evalc(%); + +2 a +( )+2 a 2 b2 b I +( )+2 a 2 b2 Provadi zjednoduseni v oboru komplexnich cisel. > abs(%%); 1 + -2 a b I > evalc(%); 1 + + +4 4 a a2 b2 > #interface(imaginaryunit=J); > #Complex(2,3); >