====== polymake Workshop at UC Berkeley ====== This took place September 13, 2011, 13:00-18:00 (939 Evans Hall). The event start out with a short introduction by [[http://math.berkeley.edu/~bernd/|Bernd Sturmfels]] to the mathematical problems listed on the {{:polymake-exercises.pdf|Exercise sheet}}. This was followed by an introduction to polymake as outlined below. Afterwards attendees explored the system via solving exercises. ===== Introduction ===== ==== simple computations with polytopes ==== $c=cube(3); print $c->FACETS; print $c->F_VECTOR; $polar_of_c=polarize($c); print $polar_of_c->F_VECTOR; $polar_of_c->VISUAL; product(n_gon(5),n_gon(7))->SCHLEGEL(FACET=>1); $my_own_cube=new Polytope(POINTS=>[[1,-1,-1,-1],[1,-1,-1,1],[1,-1,1,-1],[1,-1,1,1],[1,1,-1,-1],[1,1,-1,1],[1,1,1,-1],[1,1,1,1]]); print equal_polyhedra($c,$my_own_cube); ==== rule based computations ==== $p57=product(n_gon(5),n_gon(7)); print join(", ", $p57->list_properties); $schedule=$p57->get_schedule("GRAPH.BIPARTITE"); print join("\n", $schedule->list); $schedule->apply($p57); print join(", ", $p57->list_properties); print $p57->GRAPH->BIPARTITE; ==== getting help ==== help 'objects'; help 'objects/Polytope'; help 'VERTICES'; $t=typeof $p57; print join(", ", sorted_uniq(sort { $a cmp $b } map { keys %{$_->properties} } $t, @{$t->super})); ==== long integer arithmetic ==== $f = new Integer(1); for ($i = new Integer(100); $i>0; --$i) { $f *= $i; } print $f; ==== other objects ==== application "topaz"; $rp2=projective_plane(); print $rp2->HOMOLOGY; fan::normal_fan(load("snub-dodecahedron.poly"))->VISUAL; ===== Solutions to Selected Exercises ===== ==== 10. Smooth fan in R^3 with 10 rays ==== $c=cube(3); $cc=new Polytope(INEQUALITIES=>($c->FACETS/(new Matrix([[2,-1,-1,-1],[2,-1,1,1],[2,1,-1,1],[2,1,1,-1]])))); print $cc->N_FACETS, ", ", $cc->SMOOTH; $cc->VISUAL; $f=fan::normal_fan($cc); $f->VISUAL;