Čí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

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

Result

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

Result

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

Result

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

(%i19) gcd(1234,56);

Result

(%i20) load ("functs");

Result

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

Result

Určení absolutní hodnoty.

(%i22) abs(-3);

Result

2 Racionální čísla

(%i23) 4/6;

Result

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

(%i24) -3/-6;

Result

3 Čísla s pohyblivou desetinnou čárkou

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

Result

(%i26) float(%);

Result

(%i27) floatnump(%);

Result

(%i28) 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.

(%i29) bfloat(%o25);

Result

(%i30) floatnump(%);

Result

(%i31) bfloatp(%o29);

Result

(%i32) fpprec;

Result

(%i33) fpprec:30;

Result

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

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

Result

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

Result

(%i36) set_display(ascii);

Result

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

Result

(%i38) set_display(xml);

Result

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

(%i39) 1.b-6;

Result

(%i40) %pi, numer;

Result

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

(%i41) 3/2*5;

Result

(%i42) 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.

(%i43) floor(7.5);

Result

(%i44) ceiling(7.5);

Result

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

Result

(%i48) rationalize(0.5);

Result

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

(%i49) numer:true;

Result

(%i50) %pi;

Result

(%i51) numer:false;

Result

(%i52) %pi;

Result

Konstanty:

Eulerovo číslo e

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

Result

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

(%i56) inf; minf; infinity;

Result

4 Počítání s odmocninami

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

Result

(%i60) expand(%);

Result

(%i61) 1/%;

Result

(%i62) ratsimp(%);

Result

(%i63) algebraic:true;

Result

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

Result

Implicitní nastavení je alegebraic : false.

(%i65) algebraic : false;

Result

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

Result

(%i67) radcan(%);

Result

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

Result

(%i69) algebraic : true;

Result

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

Result

(%i71) algebraic : false;

Result

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

Result

(%i73) load(sqdnst);

Result

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

Result

5 Komplexní čísla

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

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

Result

(%i76) expand(%);

Result

Převod na základní tvar.

(%i77) (2+3*%i)/(4+5*%i);

Result

(%i78) 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.

(%i79) realpart(%);imagpart(%o78);

Result

(%i81) realpart(%o77);imagpart(%o77);

Result

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

(%i83) load(eigen);

Result

(%i84) conjugate(%o77);

Result

(%i85) sqrt(-8);

Result

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

(%i86) cabs(%);

Result

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

Result

(%i88) rectform(%);

Result

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

Result


Created with wxMaxima.