<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Jean-Philippe Labbé's webpage - Development</title><link href="https://jplab.github.io/" rel="alternate"></link><link href="https://jplab.github.io/feeds/development.atom.xml" rel="self"></link><id>https://jplab.github.io/</id><updated>2025-06-30T12:00:00+02:00</updated><entry><title>Sage Days 128</title><link href="https://jplab.github.io/sagedays128.html" rel="alternate"></link><published>2025-06-30T12:00:00+02:00</published><updated>2025-06-30T12:00:00+02:00</updated><author><name>Jean-Philippe Labbé</name></author><id>tag:jplab.github.io,2025-06-30:/sagedays128.html</id><summary type="html">&lt;p class="first last"&gt;Some notes on the Sage Days 128&lt;/p&gt;
</summary><content type="html">&lt;p&gt;During the &lt;a class="reference external" href="https://wiki.sagemath.org/days128"&gt;Sage Days 128&lt;/a&gt;
in Le Teich, I worked on the implementation of a function that
I wanted to have in Sage for a long time!&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://github.com/sagemath/sage/pull/39496"&gt;Add deformation cones and checking for regularity for Point Configurations and normal fans of Polyhedra #39496&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This functionalities are available in Sage version 10.6+.&lt;/p&gt;
&lt;p&gt;You can check whether a (full-dimensional) fan is polytopal:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
sage: def mother(epsilon=0):
....:     rays = [(4-epsilon,epsilon,0),(0,4-epsilon,epsilon),(epsilon,0,4-epsilon),(2,1,1),(1,2,1),(1,1,2),(-1,-1,-1)]
....:     L = [(0,1,4),(0,3,4),(1,2,5),(1,4,5),(0,2,3),(2,3,5),(3,4,5),(6,0,1),(6,1,2),(6,2,0)]
....:     S1 = [Cone([rays[i] for i in indices]) for indices in L]
....:     return Fan(S1)
&lt;/pre&gt;
&lt;p&gt;When epsilon=0, it is not polytopal:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
sage: epsilon = 0
sage: mother(epsilon).is_polytopal()
False
&lt;/pre&gt;
&lt;p&gt;Doing a slight perturbation makes the same subdivision polytopal:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
sage: epsilon = 1/2
sage: mother(epsilon).is_polytopal()
True
&lt;/pre&gt;
&lt;p&gt;You can also obtain the deformation cone of a polytope using this functionality.
The deformation cone provides the cone of so-called &amp;quot;right-hand-sides&amp;quot; of the
H-representation of the starting polytope which provide a deformed polytope whose
normal fan coarsens that of the starting polytope. The interior direction of the
deformation cone provide the deformation of the polytope that preserve the normal
fan (i.e. the space of all the normally equivalent polytopes). The output format
follows the order of the normals of the starting polytope and it is not quotiented
by the linear transformations (since the output would not be canonical, we run
into representations issues here...).&lt;/p&gt;
&lt;p&gt;Let's examine the deformation cone of the square with one truncated vertex:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
sage: tc = Polyhedron([(1, -1), (1/3, 1), (1, 1/3), (-1, 1), (-1, -1)])
sage: dc = tc.deformation_cone()
sage: dc.an_element()
(2, 1, 1, 0, 0)
sage: [_.A() for _ in tc.Hrepresentation()]
[(1, 0), (0, 1), (0, -1), (-3, -3), (-1, 0)]
sage: P = Polyhedron(rays=[(1, 0, 2), (0, 1, 1), (0, -1, 1), (-3, -3, 0), (-1, 0, 0)])
sage: P.rays()
(A ray in the direction (-1, -1, 0),
 A ray in the direction (-1, 0, 0),
 A ray in the direction (0, -1, 1),
 A ray in the direction (0, 1, 1),
 A ray in the direction (1, 0, 2))
&lt;/pre&gt;
&lt;p&gt;Now, let's compute the deformation cone of the pyramid over a square
and verify that it is not full dimensional:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
sage: py = Polyhedron([(0, -1, -1), (0, -1, 1), (0, 1, -1), (0, 1, 1), (1, 0, 0)])
sage: dc_py = py.deformation_cone(); dc_py
A 4-dimensional polyhedron in QQ^5 defined as the convex hull of 1 vertex, 1 ray, 3 lines
sage: [ineq.b() for ineq in py.Hrepresentation()]
[0, 1, 1, 1, 1]
sage: r = dc_py.rays()[0]
sage: l1,l2,l3 = dc_py.lines()
sage: r.vector()-l1.vector()/2-l2.vector()-l3.vector()/2
(0, 1, 1, 1, 1)
&lt;/pre&gt;
&lt;p&gt;This function uses the Gale transform as described in Section 5.4 of the Triangulations' book of De Loera-Rambau-Santos.&lt;/p&gt;
</content><category term="éducation"></category><category term="math"></category><category term="recherche"></category><category term="Sage"></category></entry><entry><title>Computer Algebra System citations in MSC2020 52-Convex and discrete geometry</title><link href="https://jplab.github.io/sage_cite.html" rel="alternate"></link><published>2022-08-10T14:40:00+02:00</published><updated>2022-08-10T14:40:00+02:00</updated><author><name>Jean-Philippe Labbé</name></author><id>tag:jplab.github.io,2022-08-10:/sage_cite.html</id><summary type="html">&lt;p class="first last"&gt;Usage of Sagemath by researchers in convex and discrete geometry vs other softwares&lt;/p&gt;
</summary><content type="html">&lt;p&gt;Some time ago, I had the idea to measure the quantity of citations of Sagemath
and other computer algebra systems in my area of research work, that is the
Mathematics Subject Classification (MSC) 2020: 52-Convex and discrete geometry.&lt;/p&gt;
&lt;div class="section" id="recent-history"&gt;
&lt;h2&gt;Recent history&lt;/h2&gt;
&lt;p&gt;At the &lt;a class="reference external" href="https://wiki.sagemath.org/days79"&gt;Sage Days 79&lt;/a&gt;, that I organized in November 2016, several Sage developers
manifested their interests in pushing forward the capacities of Sagemath in
polyhedral geometry, working to improve the interface with other open source
projects, while enlarging the community and increase the communication between
users and programmers.&lt;/p&gt;
&lt;p&gt;This led to the &lt;a class="reference external" href="https://wiki.sagemath.org/days84"&gt;Sage Days 84&lt;/a&gt; in March 2017, an intensive 2-weeks long retreat where a
dozen of Sage developers met and set the table for several years of work
involved in making the polyhedral library of Sage both user-friendly and
research-efficient. This workshop also involved the generous collaboration
with developers of PARI/GP and polymake that helped to bring closer the
communities.&lt;/p&gt;
&lt;p&gt;Two coding sprints then occured during the &lt;a class="reference external" href="https://wiki.sagemath.org/days88"&gt;Year of Coding Sprints at the IMA&lt;/a&gt; in 2017/18,
where the collaboration with developers of Normaliz and pynormaliz was very
fruitful.&lt;/p&gt;
&lt;p&gt;Since then, the development of Optimization and Polyhedral Geometry in Sagemath
is monitored on the &lt;a class="reference external" href="https://trac.sagemath.org/wiki/SagePolyhedralGeometry"&gt;Wiki Page&lt;/a&gt;, and the &lt;a class="reference external" href="https://wiki.sagemath.org/ReleaseTours"&gt;Release Tours&lt;/a&gt; describe the new
developments in polyhedral geometry as well.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="research-works-in-convex-and-discrete-geometry-refering-to-cas-softwares"&gt;
&lt;h2&gt;Research Works in Convex and Discrete Geometry refering to CAS softwares&lt;/h2&gt;
&lt;p&gt;As all developers of open source computer algebra system or specialized packages,
it is difficult to measure the impact of the work involved in integrating,
deploying, developing and maintaining a software. In the mathematical field,
I am under the impression (and likely not alone having this impression) that
Academic institutions (whether they are Governmental Funding institutions
or Educational) and their members are slow in increasing the recognition of
work in the implementation of theoretical methods to provide evidence whether
certain assertions be valid or not. Perhaps this lies in the fact that
softwares are often shortlived? It is hard to measure the impact in this
case when a piece of software was written to obtain the results in a few
papers...&lt;/p&gt;
&lt;p&gt;Launched in 2005, Sage is now close to attain its age of majority (well, at
least here in Québec). One may now answer confidently to those that doubted
its viability involved in its mission statement: &lt;em&gt;Creating a viable free
open source alternative to Magma, Maple, Mathematica and Matlab.&lt;/em&gt; It surely
is living its life and is now running on Windows, OSX and Linux.&lt;/p&gt;
&lt;p&gt;But is it an alternative to Magma, Maple, Mathematica and Matlab?&lt;/p&gt;
&lt;p&gt;I am particularly interested to the answer in the case of research in Convex
and Discrete Geometry. So, I have harvested &lt;a class="reference external" href="other/MSC2020-52_Citations.ipynb"&gt;the data&lt;/a&gt;. from MathSciNet. I
looked at the citations to known CAS softwares with 52 as 1) its primary
classification 2) a secondary classification and 3) either of the two.&lt;/p&gt;
&lt;p&gt;The softwares/packages that I used to compile the data are: sage, normaliz,
ppl, cdd, topcom, latte, polymake, porta, qhull, cgal, mathematica, maple,
magma, and matlab.&lt;/p&gt;
&lt;p&gt;The first graphic shows the citations to CAS with a Primary classification in 52:&lt;/p&gt;
&lt;img alt="The citations for 52 Primary" class="align-center" src="images/stacked_52Primary.png" style="width: 20cm;" /&gt;
&lt;p&gt;The second graphic shows the citations to CAS with a Secondary classification in 52:&lt;/p&gt;
&lt;img alt="The citations for 52 Secondary" class="align-center" src="images/stacked_52Secondary.png" style="width: 20cm;" /&gt;
&lt;p&gt;The third graphic shows the total citations to CAS with a classification in 52:&lt;/p&gt;
&lt;img alt="The citations for 52 Primary &amp;amp; Secondary" class="align-center" src="images/stacked_52PS.png" style="width: 20cm;" /&gt;
&lt;p&gt;In the 20 first years of the century, we may observe that the citations to CAS
in 52 increased five-fold, from around a dozen to more than 60.&lt;/p&gt;
&lt;p&gt;Below is the same data, now in relative terms:&lt;/p&gt;
&lt;img alt="The citations for 52 Primary" class="align-center" src="images/100stacked_52Primary.png" style="width: 20cm;" /&gt;
&lt;p&gt;The second graphic shows the citations to CAS with a Secondary classification in 52:&lt;/p&gt;
&lt;img alt="The citations for 52 Secondary" class="align-center" src="images/100stacked_52Secondary.png" style="width: 20cm;" /&gt;
&lt;p&gt;The third graphic shows the total citations to CAS with a classification in 52:&lt;/p&gt;
&lt;img alt="The citations for 52 Primary &amp;amp; Secondary" class="align-center" src="images/100stacked_52PS.png" style="width: 20cm;" /&gt;
&lt;p&gt;One may then observe that the bottom 7 softwares (which are either standard or
optional packages in Sage) available account for 64% of the total number of
citations, and citations to Sage form half of them, making Sage cited one out
of three times when a CAS is cited in the 52-class.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="conclusion"&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;At the beginning of the century, one could say that Magma, Maple, Mathematica,
and matlab took about 50% of the share of citations. Currently, the four
together are cited in around 32% of the cases and Sagemath winds up being cited
also around 32%, and other Open Source discrete geometry projects collect the
rest of the acknowledgements.&lt;/p&gt;
&lt;p&gt;My intention in producing these graphics are to measure the growing impact of
Open Source CAS in research in convex and discrete geometry. Further, to foster
collaboration and also knowledge about softwares (perhaps I missed a software,
let me know!).  Sieving through articles, I discovered certain tools that could
be used in certain cases and it is definitely useful to have them reported
somewhere...&lt;/p&gt;
&lt;p&gt;This post is also to acknowledge the huge amount of work that was put in the
Open Source Projects listed above by their developers community. All the
scientific work reported above could not have been possible without your
contributions and we definitely should not forget to support each other
through our projects.&lt;/p&gt;
&lt;/div&gt;
</content><category term="éducation"></category><category term="math"></category><category term="recherche"></category><category term="Sage"></category></entry><entry><title>Draw polytopes using TikZ</title><link href="https://jplab.github.io/polytope.html" rel="alternate"></link><published>2020-11-06T11:00:00+01:00</published><updated>2020-11-06T11:00:00+01:00</updated><author><name>Jean-Philippe Labbé</name></author><id>tag:jplab.github.io,2020-11-06:/polytope.html</id><summary type="html">&lt;p class="first last"&gt;How to draw polytopes in LaTeX using Sage, TikZ and SageTex&lt;/p&gt;
</summary><content type="html">&lt;p&gt;It is sometimes very helpful to draw 3-dimensional polytope in a paper. TikZ is
a very versatile tool to draw in scientific documents and Sage can deal easily
with 3-dimensional polytopes. Finally sagetex makes everything work together
nicely between Sage, tikz and latex. Since version 6.3 of Sage, there is a
function for (projection of) polytopes to output a TikZ picture of the
polytope. This short tutorial shows how it all works. Since version 9.2 of Sage
it became even easier!&lt;/p&gt;
&lt;p&gt;To put an image of a 3d-polytope in latex using TikZ and Sage, simply follow the instructions:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Install &lt;a class="reference external" href="http://www.sagemath.org"&gt;Sage 9.2&lt;/a&gt; or higher&lt;/li&gt;
&lt;li&gt;Install &lt;a class="reference external" href="http://www.sagemath.org/doc/tutorial/sagetex.html"&gt;SageTex&lt;/a&gt; (optionnal but recommended!)&lt;/li&gt;
&lt;li&gt;Put &lt;tt class="docutils literal"&gt;\usepackage{tikz}&lt;/tt&gt; in the preamble of your article&lt;/li&gt;
&lt;li&gt;Open Sage and change the directory to your article's by the command &lt;tt class="docutils literal"&gt;cd /path/to/article&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Input your polytope, called P, to Sage&lt;/li&gt;
&lt;li&gt;Visualize the polytope P using the command &lt;tt class="docutils literal"&gt;P.show(aspect_ratio=1)&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;This will open an interactive view in your default browser, where you can rotate the polytope.&lt;/li&gt;
&lt;li&gt;Once the desired view angle is found, click on the information icon in the
lower right-hand corner and select &lt;em&gt;Get Viewpoint&lt;/em&gt;. This will copy a string of
the form ‘[x,y,z],angle’ to your local clipboard.&lt;/li&gt;
&lt;li&gt;Go back to Sage and type &lt;tt class="docutils literal"&gt;Img = &lt;span class="pre"&gt;P.tikz([x,y,z],angle)&lt;/span&gt;&lt;/tt&gt;. You can paste the string here to save some typing.&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;Img&lt;/tt&gt; contains a Sage object of type LatexExpr containing the raw tikz picture of your polytope&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then, you can either copy-paste it to your article by typing Img in Sage or save it to a file, by doing&lt;/p&gt;
&lt;pre class="literal-block"&gt;
f=open('Img_poly.tex','w')
f.write(Img)
f.close()
&lt;/pre&gt;
&lt;p&gt;Then in the pwd (present working directory of sage, the one of your article) you will have a file named Img_poly.tex containing the tikzpicture of your polytope&lt;/p&gt;
&lt;p&gt;You can customize the polytope using the following options in the command &lt;tt class="docutils literal"&gt;P.tikz()&lt;/tt&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;scale&lt;/tt&gt; : positive number to scale the polytope&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;edge_color&lt;/tt&gt; : string (default: &lt;tt class="docutils literal"&gt;blue!95!black&lt;/tt&gt;) representing colors which tikz recognize&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;facet_color&lt;/tt&gt; : string (default: &lt;tt class="docutils literal"&gt;blue!95!black&lt;/tt&gt;) representing colors which tikz recognize&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;vertex_color&lt;/tt&gt; : string (default: &lt;tt class="docutils literal"&gt;green&lt;/tt&gt;) representing colors which tikz recognize&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;opacity&lt;/tt&gt; : real number (default: &lt;tt class="docutils literal"&gt;0.8&lt;/tt&gt;) between 0 and 1 giving the opacity of the front facets.&lt;/li&gt;
&lt;li&gt;&lt;tt class="docutils literal"&gt;axis&lt;/tt&gt; : Boolean (default: &lt;tt class="docutils literal"&gt;False&lt;/tt&gt;) draw the axes at the origin or not.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="example"&gt;
&lt;h2&gt;Example&lt;/h2&gt;
&lt;p&gt;Let's say I want to draw the polar dual of the following (nice!) polytope given by the following list of vertices:&lt;/p&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;[[1,0,1],[1,0,0],[1,1,0],[0,0,-1],[0,1,0],[-1,0,0],[0,1,1],[0,0,1],[0,-1,0]]&lt;/span&gt;&lt;/tt&gt;&lt;/p&gt;
&lt;p&gt;In Sage, I type:&lt;/p&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;P = &lt;span class="pre"&gt;Polyhedron(vertices=[[1,0,1],[1,0,0],[1,1,0],[0,0,-1],[0,1,0],[-1,0,0],[0,1,1],[0,0,1],[0,-1,0]]).polar()&lt;/span&gt;&lt;/tt&gt;&lt;/p&gt;
&lt;p&gt;Then, I visualize the polytope by typing &lt;tt class="docutils literal"&gt;P.show(aspect_ratio=1)&lt;/tt&gt;&lt;/p&gt;
&lt;p&gt;When I found a good angle, I follow the above procedure to obtain the values [674,108,-731] and angle=112&lt;/p&gt;
&lt;p&gt;The image corresponding to the code &lt;tt class="docutils literal"&gt;Img = &lt;span class="pre"&gt;P.tikz([674,108,-731],112)&lt;/span&gt;&lt;/tt&gt; is&lt;/p&gt;
&lt;img alt="A 3-dim. associahedron" class="align-center" src="images/AssoTikZ.png" style="width: 10cm;" /&gt;
&lt;p&gt;Then, I may want to customize using the command&lt;/p&gt;
&lt;pre class="literal-block"&gt;
Img = P.tikz([674,108,-731],112,scale=2, edge_color='orange',facet_color='red',vertex_color='blue',opacity=0.4)
&lt;/pre&gt;
&lt;p&gt;which gives the image (the scaling difference do not appear here)&lt;/p&gt;
&lt;img alt="A 3-dim. associahedron" class="align-center" src="images/AssoTikZ2.png" style="width: 10cm;" /&gt;
&lt;p&gt;Further, I may want to edit deeper the style of the polytope inside the tikzpicture. For example, line 6-9 in the tikzpicture reads:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
back/.style={loosely dotted, thin},
edge/.style={color=orange, thick},
facet/.style={fill=red,fill opacity=0.400000},
vertex/.style={inner sep=1pt,circle,draw=blue!25!black,fill=blue!75!black,thick,anchor=base}]
&lt;/pre&gt;
&lt;p&gt;I can replace it by the following 4 lines (and adding &lt;tt class="docutils literal"&gt;\usetikzlibrary{shapes}&lt;/tt&gt; in the preamble)&lt;/p&gt;
&lt;pre class="literal-block"&gt;
back/.style={loosely dashed,line width=2pt},
edge/.style={color=yellow, line width=2pt},
facet/.style={fill=cyan,fill opacity=0.400000},
vertex/.style={inner sep=4pt,star,star points=7,draw=blue!75!white,fill=blue!85!white,thick,anchor=base}]
&lt;/pre&gt;
&lt;p&gt;to give&lt;/p&gt;
&lt;img alt="A 3-dim. associahedron" class="align-center" src="images/AssoTikZ3.png" style="width: 10cm;" /&gt;
&lt;p&gt;Finally, you may want to tweak your picture my adding labels, elements on vertices, edges, facets, etc. Possibilities are unlimited with the possibilities of TikZ!&lt;/p&gt;
&lt;img alt="A 3-dim. associahedron" class="align-center" src="images/AssoTikZ4.png" style="width: 15cm;" /&gt;
&lt;p&gt;The source for the last image can be downloaded &lt;a class="reference external" href="images/Poly.tex"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="automatize-using-sagetex"&gt;
&lt;h2&gt;Automatize using SageTex&lt;/h2&gt;
&lt;p&gt;For this you need to put&lt;/p&gt;
&lt;p&gt;&lt;tt class="docutils literal"&gt;\usepackage{sagetex}&lt;/tt&gt;&lt;/p&gt;
&lt;p&gt;in the preamble of your article&lt;/p&gt;
&lt;p&gt;There are different ways to use sagetex and you may create your own. Here are some possibilities.&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;You can directly type in a sagestr in the article:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="literal-block"&gt;
\sagestr{(polytopes.permutahedron(4)).projection().tikz([4,5,6],45,scale=0.75, facet_color='red',vertex_color='yellow',opacity=0.3)}
&lt;/pre&gt;
&lt;p&gt;You should get&lt;/p&gt;
&lt;img alt="A 3-dim. permutahedron" class="align-center" src="images/PermuTikZ.png" style="width: 7cm;" /&gt;
&lt;ol class="arabic simple" start="2"&gt;
&lt;li&gt;You may create the following tex commands&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="literal-block"&gt;
\newcommand{\polytopeimg}[4]{\sagestr{(#1).projection().tikz(#2,#3,#4)}}
\newcommand{\polytopeimgopt}[9]{\sagestr{(#1).projection().tikz(#2,#3,#4,#5,#6,#7,#8,#9)}}
&lt;/pre&gt;
&lt;p&gt;in your preamble and use them with a sagesilent in your article:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
\begin{sagesilent}
Polytope=polytopes.great_rhombicuboctahedron()
\end{sagesilent}
&lt;/pre&gt;
&lt;pre class="literal-block"&gt;
\polytopeimg{Polytope}{[276,-607,-746]}{102}{1}
\polytopeimgopt{Polytope}{view=[-907,379,183]}{angle=129}{scale=2}{edge_color='red'}{facet_color='yellow'}{vertex_color='blue'}{opacity=0.6}{axis=False}
&lt;/pre&gt;
&lt;p&gt;Then, run pdflatex, execute Sage on the file article_name.sagetex.sage and run pdflatex again.&lt;/p&gt;
&lt;p&gt;You should get&lt;/p&gt;
&lt;img alt="A great rhombicuboctahedron" class="align-center" src="images/GRC1.png" style="width: 10cm;" /&gt;
&lt;img alt="A great rhombicuboctahedron" class="align-center" src="images/GRC2.png" style="width: 10cm;" /&gt;
&lt;/div&gt;
</content><category term="TikZ"></category><category term="LaTeX"></category><category term="Sage"></category></entry><entry><title>Introduction to Sage and Polyhedral Computations</title><link href="https://jplab.github.io/sageosna.html" rel="alternate"></link><published>2018-07-04T17:00:00+02:00</published><updated>2018-07-04T17:00:00+02:00</updated><author><name>Jean-Philippe Labbé</name></author><id>tag:jplab.github.io,2018-07-04:/sageosna.html</id><summary type="html">&lt;p class="first last"&gt;A reference page for the tutorials&lt;/p&gt;
</summary><content type="html">&lt;p&gt;This page contains the relevant links and files for the
introduction sessions of July 4-5-6 2018 at the University of Osnabrück.&lt;/p&gt;
&lt;div class="section" id="sage-jupyter-notebooks"&gt;
&lt;h2&gt;Sage Jupyter Notebooks&lt;/h2&gt;
&lt;p&gt;&lt;a class="reference external" href="../~labbe/other/First_steps_in_Sage.ipynb"&gt;First steps in Sage&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="../~labbe/other/First_steps_in_Sage_Solution.ipynb"&gt;First steps in Sage -- Solution&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="../~labbe/other/introduction_to_imperative_programming.ipynb"&gt;Introduction to imperative programming&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="../~labbe/other/introduction_to_imperative_programming--Solution.ipynb"&gt;Introduction to imperative programming -- Solution&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="../~labbe/other/python_object_oriented.ipynb"&gt;Python object oriented&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="../~labbe/other/object_oriented_python--Solution.ipynb"&gt;Python object oriented -- Solution&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="../~labbe/other/Polytope_playground.ipynb"&gt;Polytope Playground&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="../~labbe/other/introPolytopesEng.ipynb"&gt;Introduction to Polytopes&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="links-to-relevant-pages"&gt;
&lt;h2&gt;Links to relevant pages&lt;/h2&gt;
&lt;p&gt;&lt;a class="reference external" href="http://doc.sagemath.org/html/en/index.html"&gt;Sage Documentation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="http://page.mi.fu-berlin.de/labbe/polytope.html"&gt;Draw polytopes in tikz&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="http://doc.sagemath.org/html/en/thematic_tutorials/geometry/polyhedra_tutorial.html"&gt;Recent tutorial on polyhedral geometry in Sage&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://groups.google.com/forum/#!forum/sage-support"&gt;Sage Support Google Group&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://ask.sagemath.org/questions/"&gt;Ask Sage&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://groups.google.com/forum/#!forum/sage-devel"&gt;Sage Development Google Group&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://doc.sagemath.org/html/en/developer/"&gt;Sage Developer's Guide -- Writing code for Sage&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
</content><category term="éducation"></category><category term="math"></category><category term="recherche"></category><category term="Sage"></category></entry><entry><title>Sage Days on Polytopes</title><link href="https://jplab.github.io/sagedays.html" rel="alternate"></link><published>2017-03-26T17:00:00+02:00</published><updated>2017-03-26T17:00:00+02:00</updated><author><name>Jean-Philippe Labbé</name></author><id>tag:jplab.github.io,2017-03-26:/sagedays.html</id><summary type="html">&lt;p class="first last"&gt;Some notes on the Sage Days 84&lt;/p&gt;
</summary><content type="html">&lt;p&gt;During the &lt;a class="reference external" href="https://wiki.sagemath.org/days84"&gt;Sage Days 84&lt;/a&gt; in Olot,
I collected the tickets concerning the polyhedron class into a meta-ticket:&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://trac.sagemath.org/ticket/22420"&gt;Meta-ticket: Polyhedron: new features and known bugs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here are some notes that I took to help me.&lt;/p&gt;
&lt;p&gt;To build the documentation without producing the plots:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
make doc-html-no-plot
&lt;/pre&gt;
&lt;p&gt;This command makes a doc-clean(!).&lt;/p&gt;
&lt;p&gt;To build only a section of the doc:&lt;/p&gt;
&lt;pre class="literal-block"&gt;
sage -b &amp;amp;&amp;amp; sage -docbuild thematic_tutorials html
&lt;/pre&gt;
&lt;p&gt;You can also just select a folder.&lt;/p&gt;
</content><category term="éducation"></category><category term="math"></category><category term="recherche"></category><category term="Sage"></category></entry></feed>