Interactive information portal for algorithmic mathematics

Štefan  Porubský

Institute of Computer Science of the Academy of Sciences of the Czech Republic
Prague

The site was opened in 2006 and it is devoted to algorithmic mathematics.

● The address of the site is http://www.cs.cas.cz/portal/.

● Its aim is to present dynamic web pages devoted to the theoretical foundations of selected aspects of algorithmic mathematics.

● The site is supported by the webMathematica technology for interactive sample computational examples.

The work on the project is supported by the Program Information Society of the Academy of Sciences of the Czech Republic and it is running on the Institute of Computer Science of the Academy of Sciences of the Czech Republic.

Presently the following main chapters are opened 
(1) Foundation of mathematics, 
(2) Mathematical analysis, 
(3) Algebraic structures, 
(4) Computer science, 
(5) Number theory, and 
(6) Geometry.

Sample  subdirectory

Structure tree of the available pages (stand Oct. 11, 2007)

Style[Import["E:\webMathematica\zoznam.txt"],Bold,FontFamily->"Courier",FontSize->18]

Preparation of the pages

The textual material is prepared in Publicon and then exported to a htm file which is then addapted manualy to its final form

This is its final form

Code generating the table demonstrating the peasant multiplication:

x=73;y=67;
sucet=0;
dimenzia=Ceiling[Log[2,y]];
xx=Table[0,{i,dimenzia+1}];
yy=Table[0,{i,dimenzia+1}];
zz=Table[0,{i,dimenzia+1}];
xx[[1]]=x;yy[[1]]=y;
If[yy[[1]]/2≠Floor[yy[[1]]/2],zz[[1]]="+";
zz[[dimenzia+1]]=zz[[dimenzia+1]]+xx[[1]]];
i=1;
While[yy[[i]]≠0,i=i+1;
xx[[i]]=2*xx[[i-1]];
yy[[i]]=Floor[yy[[i-1]]/2];
If[yy[[i]]/2≠Floor[yy[[i]]/2],zz[[i]]="+";
zz[[dimenzia+1]]=zz[[dimenzia+1]]+xx[[i]]]];
xx[[dimenzia+1]]=zz[[dimenzia+1]];
For[i=1,i≤dimenzia+1,i++,If[zz[[i]]≠"+",zz[[i]]=""]];
For[i=1,i≤dimenzia,i++,If[zz[[i]]=="+",xx[[i]]=StyleForm[xx[[i]],FontColor->Red]]];
yy[[dimenzia+1]]="";
xx[[dimenzia]]=StyleForm[xx[[dimenzia]],FontColor->Red,Underlined];
xx[[dimenzia+1]]=StyleForm[xx[[dimenzia+1]],FontColor->Blue];
Print[TableForm[Table[{zz[[i]],xx[[i]],yy[[i]]},{i,dimenzia+1}],TableHeadings->{None,{"","doubles","halves"}},TableAlignments->Right]];

Pictures are prepared using Mathematica 5.2 or Geometrica05

<<Geometrica`Geometrica05`
zakladna=To3D@Conic[7,5];
Stred=CPoint[0,8,12];
kuzel=Cone[Stred,zakladna,PRange->{{.1Pi,-Pi},{0,1},{9,2}}];
rovina=Plane[CPoint[-2,11,9],CPoint[-1,-4,4];CPoint[-9,-3,11]];
vrch=Intersections[kuzel,rovina];
VrcholLavy=Pointer[zakladna,Pi];VrcholPravy=Pointer[zakladna,0];
rezModry=Cone[Stred,Segment[VrcholLavy,VrcholPravy]];
VrcholHorny=Pointer[zakladna,Pi/2];VrcholDolny=Pointer[zakladna,-Pi/2];
rezCerveny=Cone[Stred,Segment[VrcholHorny,VrcholDolny]];
VrcholLavyStred=ELine[VrcholLavy,Stred];
VrcholPravyStred=ELine[VrcholPravy,Stred];
VrcholHornyStred=ELine[VrcholHorny,Stred];
VrcholDolnyStred=ELine[VrcholDolny,Stred];
VrcholLavyHore=Intersections[VrcholLavyStred,rovina];
VrcholPravyHore=Intersections[VrcholPravyStred,rovina];
VrcholHornyHore=Intersections[VrcholHornyStred,rovina];
VrcholDolnyHore=Intersections[VrcholDolnyStred,rovina];
PriemetStred=Intersections[ELine[CPoint[0,0,0],Stred],rovina];

aa=Translate[{rezModry,Segment[VrcholLavyHore,VrcholPravyHore],Segment[Stred,CPoint[0,0,0]]},CPoint[0,0,0],CPoint[17,5,0]];

bb=Translate[Rotate[{rezCerveny,Segment[VrcholHornyHore,VrcholDolnyHore],Segment[Stred,CPoint[0,0,0]]},ELine[Stred,CPoint[0,0,0]],-Pi/1.3],CPoint[0,0,0],CPoint[30,10,0]];

Draw3D[Dashing[{.01,.01}],Green,kuzel,Dashing[{1,1}],Black,zakladna,vrch,Blue,VrcholHorny,VrcholDolny,VrcholHornyHore,VrcholDolnyHore,Blue,VrcholLavy,VrcholPravy,VrcholLavyHore,VrcholPravyHore,Dashing[{.01,.01}],Red,Segment[Stred,CPoint[0,0,0]],PriemetStred,CPoint[0,0,0],Blue,rezModry,Segment[VrcholLavyHore,VrcholPravyHore],Blue,Segment[VrcholHornyHore,VrcholDolnyHore],rezCerveny,Black,Stred,Background->RGBColor[1,1,.5],ImageSize->450]

Export["E:\webMathematica\Stei.GIF",%,"GIF"]

Import["E:\webMathematica\Stei.GIF","GIF"]

Two samples of  the webMathematica pages. The first shows the peasant multiplication:

The second one demonstrates the precision of one of Euler technique for numerical calculation of the Euler-Mascheroni constant