Číselné obory

1 Celá čísla

(%i1) 1;

Result

(%i2) integerp (1);

Result

(%i3) 4^(4^4);

Result

(%i4) 2^32-1;

Result

(%i5) 4*(2^17-2)-1;

Result

(%i6) number:10^29-10^14-1;

Result

(%i7) 123456789^987654321;

Result

Ověřuje, zda je zadané číslo prvočíslem.

(%i8) primep(216091);

Result

(%i9) primep(number);

Result

Rozklad na součin prvočísel.

(%i10) factor(number);

Result

Algoritmus pro rozklad na součin není v Maximě příliš efektivní. Často
je výhodnější použít specializovaný software, např. PARI/GP.

Nejbližší větší a menší prvočíslo.

(%i11) next_prime (number);

Result

(%i12) prev_prime (number);

Result

Dělení se zbytkem

(%i13) a:1234$
b:56$

(%i15) q:quotient(a,b);

Result

Zbytek po dělení

(%i16) r:remainder(a,b);

Result

(%i17) divide(a,b);

Result

Vypíše podíl i zbytek (ve formě seznamu).

(%i18) a=q*b+r;

Result

(%i19) is(a=q*b+r);

Result

Největší společný dělitel a nejmenší společný násobek.

(%i20) gcd(1234,56);

Result

(%i21) load ("functs");

Result

(%i22) lcm(21,35,99);

Result

Určení absolutní hodnoty.

(%i23) abs(-3);

Result

2 Racionální čísla

(%i24) 4/6;

Result

Narozdíl od Maplu může být i jmenovatel záporný.

(%i25) -3/-6;

Result

3 Čísla s pohyblivou desetinnou čárkou

(%i26) 25^(1/6);

Result

(%i27) float(%);

Result

(%i28) floatnump(%);

Result

(%i29) 1.e-6;

Result

Maxima pracuje standartně s přesností na 16 platných číslic.
Přesnost můžeme změnit nastavením proměnné fpprec, ta se ale projeví
pouze při použití bfloat. fpprec určuje počet platných číslic.

(%i30) bfloat(%o25);

Result

(%i31) floatnump(%);

Result

(%i32) bfloatp(%o29);

Result

(%i33) fpprec;

Result

(%i34) fpprec:30;

Result

Ludolfovo číslo zadáváme pomocí %pi.

(%i35) bfloat (%pi), fpprec=20;

Result

(%i36) bfloat (%pi), fpprec=100;

Result

(%i37) set_display(ascii);

Result

(%i38) bfloat (%pi), fpprec=100;

Result

(%i39) set_display(xml);

Result

bfloat používá pro označení exponentu písmeno b.

(%i40) 1.b-6;

Result

(%i41) %pi, numer;

Result

Jakmile zadáme nějaké číslo aproximativně,
Maxima automaticky použije aproximativní aritmetiku.

(%i42) 3/2*5;

Result

(%i43) 3/2*5.0;

Result

ceiling(x) učuje nejmenší celé číslo větší nebo rovné zadanému x,
floor(x) největší celé číslo menší nebo rovné zadanému x.

(%i44) floor(7.5);

Result

(%i45) ceiling(7.5);

Result

(%i46) round(7.5);round(7.4);round(7.6);

Result

(%i49) rationalize(0.5);

Result

Pomocí příkazů numer:true a numer:false určujeme, zda bude Maxima
používat aritmetiku numerickou nebo symbolickou.

(%i50) numer:true;

Result

(%i51) %pi;

Result

(%i52) numer:false;

Result

(%i53) %pi;

Result

Konstanty:

Eulerovo číslo e

(%i54) %e; exp(1); %e, numer;

Result

Nekonečno, -nekonečno, komplexní nekonečno

(%i57) inf; minf; infinity;

Result

4 Počítání s odmocninami

(%i60) (1/2+1/2*sqrt(5))^2;

Result

(%i61) expand(%);

Result

(%i62) 1/%;

Result

(%i63) ratsimp(%);

Result

(%i64) algebraic:true;

Result

(%i65) ratsimp(2/(sqrt(5)+3));

Result

Implicitní nastavení je alegebraic : false.

(%i66) algebraic : false;

Result

(%i67) (-1-3*%pi-3*%pi^2-%pi^3)^(1/3);

Result

(%i68) radcan(%);

Result

(%i69) 1/(1+sqrt(2));

Result

(%i70) algebraic : true;

Result

(%i71) ratsimp(1/(1+sqrt(2)));

Result

(%i72) algebraic : false;

Result

(%i73) (4+2*3^(1/2))^(1/2);

Result

(%i74) load(sqdnst);

Result

(%i75) sqrtdenest((4+2*3^(1/2))^(1/2));

Result

Maxima pracuje standardně v reálném oboru (Maple v komplexním)

(%i76) sqrt(x^2);

Result

(%i77) (-8)^(1/3);

Result

(%i78) domain : complex;

Result

(%i79) sqrt(x^2);

Result

(%i80) (-8)^(1/3);

Result

(%i81) kill(all);

Result

5 Komplexní čísla

Komplexní jednotku zadáváme pomocí %i.

(%i1) (2+3*%i)*(4+5*%i);

Result

(%i2) expand(%);

Result

Převod na základní tvar.

(%i3) k_cislo : (2+3*%i)/(4+5*%i);

Result

(%i4) rectform(%);

Result

Pro zobrazení reálné, resp. imaginární části komplexního čísla
použijeme příkaz realpart, resp. imagpart.
Komplexní číslo nemusí být v základním tvaru.

(%i5) realpart(%);imagpart(%o4);

Result

(%i7) realpart(k_cislo);imagpart(k_cislo);

Result

Pro určení čísla komplexně sdruženého použijeme příkaz conjugate
z balíčku eigen.

(%i9) load(eigen);

Result

(%i10) conjugate(k_cislo); rectform(%);

Result

(%i12) sqrt(-8);

Result

cabs určuje absolutní hodnotu komplexního čísla

(%i13) cabs(%);

Result

(%i14) 1/(2+a-b*%i);

Result

(%i15) rectform(%);

Result

(%i16) cabs(1/(2+a-b*%i));

Result


Created with wxMaxima.