Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346# scscp, chapter 6 # [ "doc/../lib/connect.gd", 47, 61 ] gap> SetInfoLevel( InfoSCSCP, 2 ); gap> s:=NewSCSCPconnection("localhost",26133); #I Creating a socket ... #I Connecting to a remote socket via TCP/IP ... #I Got connection initiation message #I <?scscp service_name="GAP" service_version="4.dev" service_id="localhost:2\ 6133:52918" scscp_versions="1.0 1.1 1.2 1.3" ?> #I Requesting version 1.3 from the server ... #I Server confirmed version 1.3 to the client ... < connection to localhost:26133 session_id=localhost:26133:52918 > gap> CloseSCSCPconnection(s); # [ "doc/../lib/connect.gd", 85, 92 ] gap> SetInfoLevel( InfoSCSCP, 0 ); gap> s:=NewSCSCPconnection("localhost",26133); < connection to localhost:26133 session_id=localhost:26133:52918 > gap> CloseSCSCPconnection(s); # [ "doc/../lib/process.gd", 142, 150 ] gap> s := NewProcess( "WS_Factorial", [10], "localhost", 26133 ); < process at localhost:26133 pid=52918 > gap> x := CompleteProcess(s); rec( attributes := [ [ "call_id", "localhost:26133:52918:TPNiMjCT" ] ], object := 3628800 ) # [ "doc/../lib/scscp.gd", 541, 561 ] gap> EvaluateBySCSCP( "WS_Factorial",[10],"localhost",26133); #I Creating a socket ... #I Connecting to a remote socket via TCP/IP ... #I Got connection initiation message #I Requesting version 1.3 from the server ... #I Server confirmed version 1.3 to the client ... #I Request sent ... #I Waiting for reply ... rec( attributes := [ [ "call_id", "localhost:26133:2442:6hMEN40d" ] ], object := 3628800 ) gap> SetInfoLevel(InfoSCSCP,0); gap> EvaluateBySCSCP( "WS_Factorial",[10],"localhost",26133 : output:="cookie" ); rec( attributes := [ [ "call_id", "localhost:26133:2442:jNQG6rml" ] ], object := < remote object scscp://localhost:26133/TEMPVarSCSCP5KZIeiKD > ) gap> EvaluateBySCSCP( "WS_Factorial",[10],"localhost",26133 : output:="nothing" ); rec( attributes := [ [ "call_id", "localhost:26133:2442:9QHQrCjv" ] ], object := "procedure completed" ) # [ "doc/client.xml", 60, 73 ] gap> G:=SymmetricGroup(4); Sym( [ 1 .. 4 ] ) gap> gens:=GeneratorsOfGroup(G); [ (1,2,3,4), (1,2) ] gap> EvaluateBySCSCP( "GroupIdentificationService", [ gens ], > "localhost", 26133 : debuglevel:=3 ); rec( attributes := [ [ "call_id", "localhost:26133:2442:xOilXtnw" ], [ "info_runtime", 4 ], [ "info_memory", 2596114432 ], [ "info_message", "Memory usage for the result is 48 bytes" ] ], object := [ 24, 12 ] ) # [ "doc/client.xml", 77, 91 ] gap> IdGroupWS := function( G ) > local H, result; > if not IsPermGroup(G) then > H:= Image( IsomorphismPermGroup( G ) ); > else > H := G; > fi; > result := EvaluateBySCSCP ( "GroupIdentificationService", > [ GeneratorsOfGroup(H) ], "localhost", 26133 ); > return result.object; > end;; # [ "doc/client.xml", 95, 102 ] gap> G:=DihedralGroup(64); <pc group of size 64 with 6 generators> gap> IdGroupWS(G); [ 64, 52 ] # [ "doc/client.xml", 115, 120 ] gap> x := [ Z(3)^0, Z(3), 0*Z(3) ]; [ Z(3)^0, Z(3), 0*Z(3) ] # [ "doc/client.xml", 122, 135 ] gap> OMString( x ); "<OMOBJ xmlns=\"http://www.openmath.org/OpenMath\" version=\"2.0\"> <OMA> <OMS\ cd=\"list1\" name=\"list\"/> <OMA> <OMS cd=\"arith1\" name=\"power\"/> <OMA> \ <OMS cd=\"finfield1\" name=\"primitive_element\"/> <OMI>3</OMI> </OMA> <OMI>0<\ /OMI> </OMA> <OMA> <OMS cd=\"arith1\" name=\"power\"/> <OMA> <OMS cd=\"finfiel\ d1\" name=\"primitive_element\"/> <OMI>3</OMI> </OMA> <OMI>1</OMI> </OMA> <OMA\ > <OMS cd=\"arith1\" name=\"times\"/> <OMA> <OMS cd=\"finfield1\" name=\"primi\ tive_element\"/> <OMI>3</OMI> </OMA> <OMI>0</OMI> </OMA> </OMA> </OMOBJ>" gap> Length( OMString(x) ); 507 # [ "doc/client.xml", 273, 311 ] gap> stream:=InputOutputTCPStream( "localhost", 26133 ); < input/output TCP stream to localhost:26133 > gap> StartSCSCPsession(stream); "localhost:26133:6184" gap> OMPutProcedureCall( stream, "store_session", > rec( object := [ SymmetricGroup(3) ], > attributes := [ [ "call_id", "1" ], > ["option_return_cookie"] ] ) ); true gap> SCSCPwait( stream ); gap> G:=OMGetObjectWithAttributes( stream ).object; < remote object scscp://localhost:26133/TEMPVarSCSCPo3Bc8J75 > gap> OMPutProcedureCall( stream, "PointImages", > rec( object := [ G, 1 ], > attributes := [ [ "call_id", "2" ] ] ) ); true gap> SCSCPwait( stream ); gap> OMGetObjectWithAttributes( stream ); rec( attributes := [ [ "call_id", "2" ] ], object := [ 2 ] ) gap> OMPutProcedureCall( stream, "PointImages", > rec( object := [ G, 2 ], > attributes := [ [ "call_id", "3" ] ] ) ); true gap> SCSCPwait( stream ); gap> OMGetObjectWithAttributes( stream ); rec( attributes := [ [ "call_id", "3" ] ], object := [ 1, 3 ] ) gap> OMPutProcedureCall( stream, "retrieve", > rec( object := [ G ], > attributes := [ [ "call_id", "4" ] ] ) ); true gap> SCSCPwait( stream ); gap> OMGetObjectWithAttributes( stream ); rec( attributes := [ [ "call_id", "4" ] ], object := Group([ (1,2,3), (1,2) ]) ) gap> CloseStream(stream); # [ "doc/../lib/remote.gd", 74, 79 ] gap> s:=StoreAsRemoteObject( SymmetricGroup(3), "localhost", 26133 ); < remote object scscp://localhost:26133/TEMPVarSCSCPLvIUUtL3 > # [ "doc/client.xml", 337, 346 ] gap> s![1]; "TEMPVarSCSCPLvIUUtL3" gap> s![2]; "localhost" gap> s![3]; 26133 # [ "doc/client.xml", 352, 359 ] gap> OMPrint(s); <OMOBJ> <OMR href="scscp://localhost:26133/TEMPVarSCSCPLvIUUtL3" /> </OMOBJ> # [ "doc/client.xml", 364, 371 ] gap> EvaluateBySCSCP("WS_IdGroup",[s],"localhost",26133); rec( attributes := [ [ "call_id", "localhost:26133:52918:Viq6EWBP" ] ], Line 183 : object := [ 6, 1 ] ) # [ "doc/../lib/remote.gd", 105, 110 ] gap> RetrieveRemoteObject(s); Group([ (1,2,3), (1,2) ]) # [ "doc/../lib/remote.gd", 134, 139 ] gap> UnbindRemoteObject(s); true # [ "doc/client.xml", 381, 388 ] gap> s:=StoreAsRemoteObject( SymmetricGroup(3), "localhost", 26133 ); < remote object scscp://localhost:26133/TEMPVarSCSCPNqc8Bkan > gap> EvaluateBySCSCP( "WS_IdGroup", [ s ], "localhost", 26134 ); rec( object := [ 6, 1 ], attributes := [ [ "call_id", "localhost:26134:7414" ] ] ) # [ "doc/client.xml", 392, 398 ] gap> EvaluateBySCSCP("WS_IdGroup",[s],"localhost",26133 : output:="cookie" ); rec( attributes := [ [ "call_id", "localhost:26133:52918:mRU6w471" ] ], object := < remote object scscp://localhost:26133/TEMPVarSCSCPS9SVe9PZ > )