Update to paper: Computing Tropical Prevarieties with Satisfiability Modulo Theories (SMT) Solvers

I posted an updated version of my paper with faster timings and better text.

Abstract: “A novel way to use SMT (Satisfiability Modulo Theories) solvers to compute the tropical prevariety (resp. equilibrium) of a polynomial system is presented. The new method is benchmarked against a naive approach that uses purely polyhedral methods. It turns out that the SMT approach is faster than the polyhedral approach for models that would otherwise take more than one minute to compute, in many cases by a factor of 60 or more, and in the worst case is only slower by a factor of two. Furthermore, the new approach is an anytime algorithm, thus offering a way to compute parts of the solution when the polyhedral approach is infeasible. ”

Paper on arXiv: https://arxiv.org/abs/2004.07058

Source code: https://gitlab.com/cxxl/smtcut

Paper: Computing Tropical Prevarieties with Satisfiability Modulo Theory (SMT) Solvers

Abstract: “I am presenting a novel way to use SMT (Satisfiability Modulo Theory) to compute the tropical prevariety (resp. equilibrium) of a polynomial system. The new method is benchmarked against a naive approach that uses purely polyhedral methods. It turns out that the SMT approach is faster than the polyhedral approach for models that would otherwise take more than one minute to compute, in many cases by a factor of 25 or more. Furthermore, the new approach offers a way to compute at least parts of the solution if the polyhedral approach is infeasible.”

The paper is available on arXiv: https://arxiv.org/abs/2004.07058

The source code is available at https://gitlab.com/cxxl/smtcut.

Side-by-side installation of Cygwin SSH and Git on Windows

I have a Cygwin installation on my Windows box and now I downloaded the lastest Git version (for Windows). Git has a small Cygwin included as well and I thought the two would interact nicely—but they don’t.

The problem is that they use a different layout of the mapped drives (i.e., mapped from Windows to the Posix world of Cygwin). My regular Cygwin has its root under C:\cygwin64 and from there the, for example, SSH key directory is under /home/chris/.ssh, whereas Git has its root directory somewhere in the Git installation and the home directory is where the Windows User directory is, i.e., C:\Users\chris and there lies the .ssh directory as well.

I thought some symbolic links would do the trick, so I linked the Git .ssh directory to my (real) .ssh directory in Cygwin.

Nice, but not enough. Now, SSH will not find the keys, since it still want to load the keys from /c/Users/chris/.ssh, so I added another symbolic link to add the /home directory to Git and map it to the /home of Cygwin and add a symbolic link to /etc/ssh_config and add a IdentityFile /home/chris/.ssh/id_rsa.

Not bad, but still not good enough. This time, Git’s ssh-agent is not able to connect to the already loaded (regular Cygwin) ssh-agent. The reason is that both Cygwin’s have different /tmp directories. When I added the Git version to my regular Cygwin (that is, have /tmp map to the user’s TEMP directory, usually under C:\Users\chris\AppData\Local\Temp by changing the /etc/fstab file, nothing changed. Calling mount to check if the changes worked showed no changes.

The trick here is: you have to close all programs that use Cygwin: ssh-agent, bash, sshd, mintty, everything. Then reload and voila! Now the proper /tmp is there and it’s the same on both Cygwin’s, ssh-agent can be accessed from both installations and due to the symbolic links both SSH’s use the same config and key files.

Victory at last!

Kosten und Emissionen eines Elektroautos

Wir fahren 20.000 km pro Jahr und vergleichen in dem unten genannten Artikel die Kosten für die Anschaffung eines Neuwagens, Unterhalt und Verkauf nach 10 Jahren von einem Golf, einem BMW 318d und einem Tesla Model 3. Es zeigt sich, dass das Model 3 (wenn es mit Öko-Strom betankt wird) 5-mal geringere CO2-Emissionen hat als die Verbrenner hat. Es kostet ähnlich viel wie der Golf und ist wesentlich günstiger als der BMW. Um einen eigenen Eindruck zu bekommen, stellen wir auch ein Worksheet mit den Berechnungen zur Verfügung.

Hier mein Artikel zu dem Thema und hier das Worksheet.

I use cFosSpeed to keep my Ping time nice and low

I use cFosSpeed to keep my Ping time low and be able to use VoIP, terminal sessions, remote desktop, IRC sessions and online games on the one hand and up/downloads on the other hand at the same time. cFosSpeed keeps the “pressure” of the file transfers on the line low, so urgent data can still pass quickly.

Since I’m one of the developers of cFosSpeed it’s probably no wonder I like it and endorse its use.

So, if you’re interested, click here to get to the cFosSpeed site:

 

Finally! PPLpy for Windows (Python 3.7)!

Jonas Weinz has finally managed to compiled a version of PPLpy (together with gmpy2) that works under Windows and can be installed without compiling the whole lot. Many thanks again! 🙂 This version works for Python 3.7 only.

His compiled binaries can be found on his Github page, together with his recipe how to compile it yourself.

I mirror the files here as well:

PtCut v3.3.0 available

I just released PtCut v3.3.0.

The news are:

  • “–bbox” switches on calculation of bounding boxes for polyhedra in common planes. This allows for a much faster calculation of BIOMD0000000146_numer.
  • “–filter X” allows to only use the first X polyhedra per iteration. This allows to at least calculate a subset of the solution.
  • “–remove X,…” will remove polyhedra from bags. With this, one can rewmove superfluous polyhedra. That fact and their name can be found in common planes computation.
  • I started a first attempt at some documentation! <gasp> So far, only some switches are in it.

Download here. Full PtCut page is here.