You are on page 1of 17

.

54006
Email : karampet@math.auth.gr

.
: )
, )
,
(Computer Algebra).
, , ,
.
,
(Computer Algebra Systems). :

, ,
,
.

1. .


.

13
250 .., 6.
,
, .
,
.
.
al jabr
Kitab al jabr wal
mugabala ( ) 825
.. , Ibn Musa AlKhwarizmi (780-850 ..).
. Al-Khwarizmi,
,
al jabr

, mugabala
, . AlKhwarizmi Liber Algorismi ( AlKhwarizmi),
algorismi,
algorithm
.
Al-Khwarizmi 19 ,
.

Leonardo Fibonacci, Scipione del Fero, Niccolo
Tartaglia Gerolamo Cardano
, Ludovico Ferrari
4 .
Rene Descartes ( ), Carl Friedrich
Gauss ( ), Niels Abel
Evariste Galois ( ).
20
,
, , modules, , .
1939 ,

.
,

,
, , , , ,
, , , ....


( , ,
) .




.

: ) (
(hardware) (software)) , )
.
4
M E
Y (Computer Algebra).
[2],
, ,
(

),

( , ,
Groebner ),
( ),
( Smith Jordan ),
, ,
, , ,
( , ,
), ...

, ,
, ,
(interfaces), hardware
.

( , ,
, ..), ,
( , VLSI ,
, ..),
(, /,
..), (
, ).

2. .
,
() (Computer Algebra Systems).

, .
: )
(general purpose CAS)
.. Macsyma, Reduce,
Maple, Mathematica, .., ) (special purpose CAS)

.. PARI ( ), DELiA ( ) ...
(packages)

.. CALI REDUCE
, Control System Professional
MATHEMATICA
...
3 : )
, )
,
, )
.
LISP (

1960/61) .. SAINT LISP 1960


. , ,
MAPLE MATHEMATICA,
C,
.
,
.

.

1961
1964-66
1966-67
1968


SAINT
ALTRAN, MATHLAB
SIN
REDUCE
http://www.rrz.unikoeln.de/REDUCE

1968
1968

1970s
1980

MATHLAB-68
MACSYMA
http://www.macsyma.com
muMATH

1980s
1984

1988

1989

1991

1980s
19861997
19901996
1992

1980s 2000

MAPLE
http://www.maplesoft.com
DERIVE




.
,
,
.
Mathlab


, muMATH

SINGULAR
http://www.mathematik.unikl.de/pub/~zca/Singular
SMP, MATHEMATICA
http://www.wolfram.com
MuPAD
http://www.mupad.de
http://www.sciface.com

AXIOM
http://www.nag.co.uk

Stratchpad. ,



,
, ,
, ...
, ,


Lie

CAYLEY
MAGMA
http://www.maths.usyd.edu.au:8000/u
/magma
GAP, GAP 2 (2000)
http://www-gap.dcs.st-and.ac.uk/~gap
FORM
LiE
http://www.mathlabo.univpoitiers.fr/~maavl/LiE
MACAULAY 2
http://www.math.uiuc.edu/Macaulay2
PARI
ftp://megrez.math.ubordeaux.fr/pub/pari

:
) .
,
: )
, )
, )
.
bits
8, 16, 32, 36, 48 64 bits.


.
. Fibonacci
100 Fortran 95
program fibonacci
implicit none! Variables
INTEGER 4::f, f1, f2, i ! Body of fibonacci
f1 = 1;
f2 = 1;
i = 3; f = f1 + f2;
Do While HMod Hf, 100L = 0L
f1 = f2; f2 = f; f = f1 + f2; i = i + 1
End Do
Print , f, i
end program fibonacci

708252800
96
Press any key to continue

f, f1,f2,i Integer*4 (
231 1 ), Integer*8 ( 263 1 )
:
8284360270132553400
Press any key to continue

522

2

100, .
Mathematica :

f1 = 1;
f2 = 1;
i = 3; f = f1 + f2;
While@Mod@f, 100D 0,
f1 = f2;
f2 = f;
f = f1 + f2;
++iD;
f
i
9969216677189303386214405760200
150

150 Fibonacci
100, 31 ,
Fortran 95.
Fortran 95
Fortran 95
(4 bytes (. 32 bits) 8 bytes (. 64bits)).

.
Mathematica
In[1]:=
Out[1]=
In[2]:=
Out[2]=

30! 2^26 + 20^20


108810175621190533915703125

30! H2^30 1L
382760259469251166863360000000
1549411



.

(word) 32 bits 231 1 = 2147483647
l 1

d = s di bi
i =0

:
d

s d0

d1

........

dl-1

[ sl

d 0 d1  dl 1 ]

.
:

LINK1

LINK2

LINK1 (
) LINK2 .

.
2 : )
, )
. 2
,
.

.
(numerical stability)
.
) (interactivity)

,
, .
. 3 : ) , )
, ) .
In[1]:=

A = 881, 2, 3<, 82, 3, 1<, 83, 2, 1<<

Out[1]= 881, 2, 3<, 82, 3, 1<, 83, 2, 1<<


In[2]:=

MatrixForm@AD

Out[2]//MatrixForm=

1
i
j
j
j
j
j2
k3
In[3]:=

2 3y
z
z
3 1z
z
z
2 1{

Eigenvalues@AD

Out[3]= 86, 2,

1<

)
.
:
1)
In[1]:=

Simplify@x Hx 2 yL ^3 + y H2 x yL ^3D

3
Out[1]= Hx yL Hx + yL

2) ,

In[2]:=
Out[2]=

Expand@Hx yL Hx + yL^3D
x4 + 2 x3 y 2 x y3 y4

3) - ,
In[3]:= Solve@x^ 2 - 5 x + 6 0, xD

Out[3]= 88x

2<, 8x 3<<
In[4]:= Reduce@a * x + b 0, xD

Out[4]= Hb 

0&& a  0L Ja 0 &&x 

In[5]:= Solve@x^2 - b * x + 6 0, xD

Out[5]= ::x

b
N
a

1 i
1 i
"############### y
y
j
jb + "###############
jb 24 + b2 z
z>, :x
j
z>>
24 + b2 z
{
{
2 k
2 k

In[6]:= Solve@8

x1 - x2 + 2* x3 + x4 -2,
-2 * x1 + x2 - 3 * x3 - 5 * x4 4,
x1 - x2 + x3 + 6 *x4 0,
2* x1 + 3 * x2 + 5 * x3 - 7 * x4 1< , 8x1, x2, x3, x4<D

Out[6]= ::x1

51
11
73
17
, x2
, x3
, x4
>>
2
3
6
6

In[7]:= Solve@8

x1 + x2 - x3 + x5 1,
-x1 - x2 + 2 * x3 - x4 + x5 == 2,
2* x1 + 2 * x2 - 3 * x3 + 3 * x4 + x5 0,
x1 + x2 - 3* x4 + 2 * x5 3<, 8x1, x2, x3, x4, x5<D

Solve ::svars : Equations

Out[7]= ::x1

may not give solutions

for all "solve " variables . More

9
7 x5
7 5 x5
1 x5
x2
, x3

, x4

>>
2
2
2
2
2
2

4) ,
In[8]:= A = 8

81, 1, 1<,
8a, b, c<,
8a^2, b^2, c^2<<

2
2
2
Out[8]= 881, 1, 1<, 8a, b, c<, 8a , b , c <<

In[9]:= Det@AD

2
2
2
2
2
2
Out[9]= a b + a b + a c b c a c + b c
In[10]:= Inverse@AD
Out[10]= ::

b2 c + b c2
a2 b + a b2 + a2 c b2 c a c2 + b c2

a2 c a c2

a2 b + a b2 + a2 c b2 c a c2 + b c2

a2 b + a b2 + a2 c b2 c a c2 + b c2

a2 b + a b2

,
,
,

b2 c2
a2 b + a b2 + a2 c b2 c a c2 + b c2
a2 + c2
a2 b + a b2 + a2 c b2 c a c2 + b c2

a2 b2
a2 b + a b2 + a2 c b2 c a c2 + b c2

,
,
,

b + c
a2 b + a b2 + a2 c b2 c a c2 + b c2

a c
a2 b + a b2 + a2 c b2 c a c2 + b c2
a + b
a2 b + a b2 + a2 c b2 c a c2 + b c2

>,
>,
>>

5) ,
In[11]:=
Out[11]=

In[12]:=
Out[12]=

In[13]:=
Out[13]=

In[14]:=

LimitA

LimitA
1

LimitA

Sin@xD
, x 0E
x
!!!!!!!!! !!!!!!!!!
1+ x 1 x

, x 0E

!!!!!!!!!!!!!!!!!!!
x2 6 x + 9
, x 3, Direction 1E
x 3

LimitA

!!!!!!!!!!!!!!!!!!!
x2 6 x + 9

x 3

, x 3, Direction 1E

Out[14]= 1

6) ,
In[15]:=

Out[15]=

In[16]:=

SumA

1
, 8k, 1, Infinity<E
k2

1
SumA , 8k, 1, Infinity<E
k
Sum ::div : Sum does not converge . More
Sum ::div : Sum does not converge . More

Out[16]=
k=1

1
k

7) ,
In[17]:=
Out[17]=
In[18]:=

D@x Sin@xD, xD

x Cos@xD + Sin@xD
D@xn, 8x, 4<D
4+n

Out[18]= H3 + nL H 2 + nL H 1 + nL n x
2
In[19]:= x Jx 5 x +

Out[19]= 5

In[20]:=

6
N
x 1

6
H 1 + xL2

+ 2x

D@x Sin@x + yD, 8x, 1<, 8y, 2<D

Out[20]= x Cos@x + yD Sin@x + yD

8) ,
In[21]:=
Out[21]=

x -1

x2

-5 x +6

2 Log@3 + xD Log@ 2 + xD

1
x
In[22]:=

x
!!!!!!!!!!!!!!!!!!
0
1 + x2 x4

Out[22]=

ArcCot@2D

9) ,
In[23]:= DSolve@ y @xD == a y @xD + y@xD, y, xD

Out[23]= ::y

"########## y
1i
j
ja 4+a2 z
zx

FunctionB8x<,
2 k

"########## y
1i
j
ja+ 4+a2 z
zx

C@1D +
2 k

C@2DF>>

In[24]:= DSolve@8y@xD == -z @xD, z@xD == -y @xD<, 8 y@xD, z@xD<, xD

Out[24]= ::z@xD

In[25]:=

1 x
1 x
1 x
1 x
2x
2x
2x
2x

H1 +
L C@1D

H1 +
L C@2D, y@xD
H 1 +
L C@1D +

H1 +
L C@2D>>
2
2
2
2

RSolve@8F@n + 2D F@n + 1D + F@nD, F@1D 1, F@2D 1<, F@nD, nD FullSimplify

Out[25]= ::F@nD

I 1 I1
2

!!!!

5 MM + I 1 I1 +
!!!!

!!!!

5 MM

>>

)
,
.
In[1]:=
Out[1]=

N@Pi, 100D

3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068

)

(XY plots, XYZ plots, polar plots, log plots ..)
format .
1) ,
In[1]:=

PlotAx2 5 x + 6, 8x, 1, 5<E


12
10
8
6
4
2

-1

Out[1]= Graphics

2) ,

In[2]:=

ParametricPlot@8Cos@tD, Sin@tD<, 8t, 0, 2 Pi<, AspectRatio AutomaticD


1

0.5

-1

-0.5

0.5

-0.5

-1

Out[2]= Graphics

3) ,
In[3]:=

<< Graphics`ImplicitPlot`

In[4]:= Options@ImplicitPlotD
Out[4]= 8AspectRatio

Automatic, Axes Automatic, AxesLabel None, AxesOrigin Automatic,


AxesStyle Automatic, Background Automatic, ColorOutput Automatic, DefaultColor Automatic,
Epilog 8<, Frame False, FrameLabel None, FrameStyle Automatic, FrameTicks Automatic,
GridLines None, PlotLabel None, PlotPoints 39, PlotRange Automatic, PlotRegion Automatic,
PlotStyle Automatic, Prolog 8<, RotateLabel True, Ticks Automatic, DefaultFont $DefaultFont,
DisplayFunction $DisplayFunction, FormatType $FormatType, TextStyle $TextStyle, ImageSize Automatic<

In[5]:= ImplicitPlot@x^2 4 + y^2 9 1, 8x, -2, 2< , 8y, -3, 3<, AxesOrigin 80, 0<D
3

-2

-1

-1

-2

-3

Out[5]= ContourGraphics

4) ,
In[6]:= Table@8x, x^2<, 8x, 1, 10<D
Out[6]= 881, 1<, 82, 4<, 83, 9<, 84, 16<, 85, 25<, 86,

In[7]:= ListPlot@%D

36<, 87, 49<, 88, 64<, 89, 81<, 810, 100<<

100
80
60
40
20

10

Out[7]= Graphics

5) ,
In[8]:= << Graphics`
In[9]:= p = 830, 20, 34, 45<
Out[9]= 830, 20, 34, 45<

In[10]:= PieChart@p, PieLabels 8A, B, C, D<D

B
A

Out[10]= Graphics

6) ,
In[11]:= << Graphics`Animation`
In[12]:=

AnimateAPlotAa x2 5 x + 6, 8x, 10, 10<, PlotRange 815, 15<E, 8a, 2, 2, 0.1<E


ax 2 5 x + 6 [-10,10] a -2 2
0.1.

, a
.
7)
In[13]:=

Plot3DAE0.2

"#############
x2+ y2

!!!!!!!!!!!!!

CosA x2 + y2 E, 8x, 9 Pi 2, 9 Pi 2<, 8y, 9 Pi 2, 9 Pi 2<E

0.2
0
-0.2
-0.4

10

0
-10
0
-10
10

Out[13]= SurfaceGraphics

) ,

.
) ,
,
.
Mathematica

(procedural programming),

(functional
programming),

(rule-based programming).
(
) :
In[1]:=
In[2]:=
In[3]:=
In[4]:=
In[5]:=

diff@a_?NumberQ, x_D := 0 H diff@a_,x_D:=0;FreeQ@a,xD L


diffAx_n_Integer: 1, x_E := n xn1

diffAa_c_?IntegerQ, x_E := c ac1 diff@a, xD


diff@a_ + b_, xD := diff@a, xD + diff@b, xD
diff@a_ b_, xD := diff@a, xD diff@b, xD

In[6]:=

diff@a_ b_, x_D := diff@a, xD b + a diff@b, xD

In[7]:=

diff@a_ b_, x_D :=

diff@a, xD b a diff@b, xD
b2


:
In[8]:=

diffAx3 3 x2 + 6 x 2, xE

6 6 x + 3 x2
x3 3 x2 + 6 x 2
In[9]:= diffA
, xE
x2 1

Out[8]=

Out[9]=

H 1 + x2L H6 6 x + 3 x2L 2 x H 2 + 6 x 3 x2 + x3L


H 1 + x2L2

:
) ,
) , ,
,
)
,
)
,
) ,
,
) ,
, ...,
) ,
)
.
. :
2 p 1 p .
p=2,3 .
Mathematica
p.
In[1]:= i = 1;

While@PrimeQ @2Prime@iD - 1D,


++iD
Print@i, "th prime=", Prime@iDD

5th prime=11

p=11 .
In[4]:=

FactorIntegerA211 1E

Out[4]= 8823, 1<, 889, 1<<

211 1 = 231 891 .

.
VanDermonde
1 x1
1 x2
D ( x1 , x2 ,..., xn ) = 1 x3

 
1 xn

x12
x22
x32

xn2







x1n 1
x2n 1
x3n 1

n 1
xn

Mathematica
..

In[1]:= A={{1,x1,x1^2},{1,x2,x2^2},{1,x3,x3^2}};
In[2]:= Factor[Det[A]]
Out[2]= -((x1 - x2) (x1 - x3) (x2 - x3))
In[3]:= A={{1,x1,x1^2,x1^3},{1,x2,x2^2,x2^3},{1,x3,x3^2,x3^3},{1,x4,x4^2,x4^3}};
In[4]:= Factor[Det[A]]
Out[4]= (x1 - x2) (x1 - x3) (x2 - x3) (x1 - x4) (x2 - x4) (x3 - x4)


:
D ( x1 , x2 ,..., xn ) = ( 1)

( x x ) = ( x x )
i

i, j
i< j

i, j
i> j


:
) ,
) ,
) ,
)
.. ,
) ,
)
,
,
)
.
,

, .
,
.


.
,
,


.
; .
,
,
.

( ),
.
,
,
, ,

, ,
.

. ...,
5
,
Mathematica.
, ..,
http://anemos.web.auth.gr/mathematica/index4.htm
http://users.auth.gr/~epsom/Symbolic/index.htm .
. Internet

:
/,
http://www.inf.uth.gr/greek/coursedesc_308.htm
http://www.inf.uth.gr/greek/coursedesc_408.htm

http://eclass.di.uoa.gr/D231/

http://www.math.uoi.gr/~nglinos/sm/ma644.html

http://www.math.uoc.gr/~marios/sy03/

,
(ACM Communications in Computer Algebra,
Journal of Symbolic Computation), (International Symposium on Symbolic
and Algebraic Computation (ISSAC)),

Association for Computing Machinery
http://www.sigsam.org/ .
, , ,
,

,

, Internet ( ),

.
.
, .

[1] K. O. Geddes, S.R. Czapor and G. Labahn, 1995, Algorithms for Computer
Algebra, Kluwer Academic Publisher.
[2] J. Grabmeier, E. Kaltofen and V. Weispfenning, 2003, Computer Algebra
Handbook, Springer-Verlag, Berlin, Heidelberg, New York.
[3] N. P. Karampetakis and A.I. Vardulakis, 2006, Special issue on the use of
computer algebra systems for computer aided control system design, International
Journal of Control, Vol.79, Issue 11, pp.1313-1320.
[4] R. Mankiewicz, 2002, , .
[5] . , 1999, , .
[6] .. , . . , 2004,
Mathematica, .
[7] The MacTutor History of Mathematics archive, http://www-groups.dcs.stand.ac.uk/~history/ .

You might also like