Číselné obory
1 Celá čísla
| (%i1) | 1; |
| (%i2) | integerp (1); |
| (%i3) | 4^(4^4); |
| (%i4) | 2^32-1; |
| (%i5) | 4*(2^17-2)-1; |
| (%i6) | number:10^29-10^14-1; |
| (%i7) | 123456789^987654321; |
Ověřuje, zda je zadané číslo prvočíslem.
| (%i8) | primep(216091); |
| (%i9) | primep(number); |
Rozklad na součin prvočísel.
| (%i10) | factor(number); |
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); |
| (%i12) | prev_prime (number); |
Dělení se zbytkem
| (%i13) |
a:1234$ b:56$ |
| (%i15) | q:quotient(a,b); |
| (%i16) | r:remainder(a,b); |
| (%i17) | a=q*b+r; |
| (%i18) | is(a=q*b+r); |
Největší společný dělitel a nejmenší společný násobek.
| (%i19) | gcd(1234,56); |
| (%i20) | load ("functs"); |
| (%i21) | lcm(21,35,99); |
Určení absolutní hodnoty.
| (%i22) | abs(-3); |
2 Racionální čísla
| (%i23) | 4/6; |
Narozdíl od Maplu může být i jmenovatel záporný.
| (%i24) | -3/-6; |
3 Čísla s pohyblivou desetinnou čárkou
| (%i25) | 25^(1/6); |
| (%i26) | float(%); |
| (%i27) | floatnump(%); |
| (%i28) | 1.e-6; |
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); |
| (%i30) | floatnump(%); |
| (%i31) | bfloatp(%o29); |
| (%i32) | fpprec; |
| (%i33) | fpprec:30; |
Ludolfovo číslo zadáváme pomocí %pi.
| (%i34) | bfloat (%pi), fpprec=20; |
| (%i35) | bfloat (%pi), fpprec=100; |
| (%i36) | set_display(ascii); |
| (%i37) | bfloat (%pi), fpprec=100; |
| (%i38) | set_display(xml); |
bfloat používá pro označení exponentu písmeno b.
| (%i39) | 1.b-6; |
| (%i40) | %pi, numer; |
Jakmile zadáme nějaké číslo aproximativně,
Maxima automaticky použije aproximativní aritmetiku.
| (%i41) | 3/2*5; |
| (%i42) | 3/2*5.0; |
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); |
| (%i44) | ceiling(7.5); |
| (%i45) | round(7.5);round(7.4);round(7.6); |
| (%i48) | rationalize(0.5); |
Pomocí příkazů numer:true a numer:false určujeme, zda bude Maxima
používat aritmetiku numerickou nebo symbolickou.
| (%i49) | numer:true; |
| (%i50) | %pi; |
| (%i51) | numer:false; |
| (%i52) | %pi; |
Konstanty:
Eulerovo číslo e
| (%i53) | %e; exp(1); %e, numer; |
Nekonečno, -nekonečno, komplexní nekonečno
| (%i56) | inf; minf; infinity; |
4 Počítání s odmocninami
| (%i59) | (1/2+1/2*sqrt(5))^2; |
| (%i60) | expand(%); |
| (%i61) | 1/%; |
| (%i62) | ratsimp(%); |
| (%i63) | algebraic:true; |
| (%i64) | ratsimp(2/(sqrt(5)+3)); |
Implicitní nastavení je alegebraic : false.
| (%i65) | algebraic : false; |
| (%i66) | (-1-3*%pi-3*%pi^2-%pi^3)^(1/3); |
| (%i67) | radcan(%); |
| (%i68) | 1/(1+sqrt(2)); |
| (%i69) | algebraic : true; |
| (%i70) | ratsimp(1/(1+sqrt(2))); |
| (%i71) | algebraic : false; |
| (%i72) | (4+2*3^(1/2))^(1/2); |
| (%i73) | load(sqdnst); |
| (%i74) | sqrtdenest((4+2*3^(1/2))^(1/2)); |
5 Komplexní čísla
Komplexní jednotku zadáváme pomocí %i.
| (%i75) | (2+3*%i)*(4+5*%i); |
| (%i76) | expand(%); |
Převod na základní tvar.
| (%i77) | (2+3*%i)/(4+5*%i); |
| (%i78) | rectform(%); |
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); |
| (%i81) | realpart(%o77);imagpart(%o77); |
Pro určení čísla komplexně sdruženého použijeme příkaz conjugate
z balíčku eigen.
| (%i83) | load(eigen); |
| (%i84) | conjugate(%o77); |
| (%i85) | sqrt(-8); |
cabs určuje absolutní hodnotu komplexního čísla
| (%i86) | cabs(%); |
| (%i87) | 1/(2+a-b*%i); |
| (%i88) | rectform(%); |
| (%i89) | cabs(1/(2+a-b*%i)); |