fa.bianp.net

Summer of Code is over

Category: General, sympy, Tecnologí­a

By Fabian Pedregosa.

Google Summer of Code program is officially over. It has been four months of intense work, exciting benchmarks and patch reviewing. It was a huge pleasure working with you guys! As for the project, I implemented a complete logic module and then an assumption system for sympy (sympy.logic, sympy …

Speed improvements for ask() (sympy.queries.ask)

Category: General, sympy, Tecnologí­a

By Fabian Pedregosa.

I managed to overcome the overhead in ask() that arises when converting between symbol and integer representation of sentences in conjunctive normal. The result went beyond what I expected. The test suite for the query module got 10x times faster in my laptop. From 26 seconds, it descended to an …

Logic module (sympy.logic): improving speed

Category: General, sympy, Tecnologí­a

By Fabian Pedregosa.

Today I've been doing some speed improvements for the logic module. More precisely, I implemented an efficient internal representation for clauses in conjunctive normal form. In practice this means a huge performance boost for all problems that make use the function satisfiable() or dpll_satisfiable(). For example, test_dimacs.py has moved …

Query module - finally in trunk

Category: General, sympy, Tecnologí­a

By Fabian Pedregosa.

The query module is finally in the main SymPy repository. I made substantial changes since last post, most of them at the user interface level (thanks to Vinzent and Mateusz for many insightful comments). Main function is ask(), which replaces the old expression.is_* syntax. You can ask many things …

can we merge now, pleeease ?

Category: General, sympy, Tecnologí­a

By Fabian Pedregosa.

Three months after I began to write sympy.queries, I feel it's about time to include it in sympy's trunk, so today I sent for review 4 patches that implement the complete query module. It's been a lot of fun, but it has also caused me some headaches ... specially last …

Refine module, proof of concept

Category: General, sympy, Tecnologí­a

By Fabian Pedregosa.

The 0.6.5 release of SymPy is taking longer than expected because some bugs in the testing framework, so my query module is not merged into trunk (yet). In the meantime, I am implementing a refine module (very little code is available yet). The refine module implements a refine …

Preparing a new release

Category: General, sympy, Tecnologí­a

By Fabian Pedregosa.

Last days I've been busy preparing the first public beta of SymPy 0.6.5. Most of the time was spent solving a bug that made documentation tests fail under python2.4, but now that this is solved, I hope that by the end of the week we could have …

Queries and performance

Category: General, sympy, Tecnologí­a

By Fabian Pedregosa.

After some hacking on the queries module, I finally got it right without the limitations of past versions. You can check it out from my repo http://fseoane.net/git/sympy.git, branch master. It now relies even more on logic.inference.satisfiable(), which is just an implementation of the …

Reading CNF files

Category: General, sympy, Tecnologí­a

By Fabian Pedregosa.

The DIMACS CNF file format is used to define a Boolean expression, written in conjunctive normal form, that may be used as an example of the satisfiability problem. The new logic module (sympy.logic) can read the content of a cnf file and transform it into a boolean expression suitable …

Logic module merged

Category: General, sympy, Tecnologí­a

By Fabian Pedregosa.

Yesterday I finally merged the logic module in sympy's official master branch, and should be released together with SymPy 0.6.5. Next thing to do: profile the code and write some docs before the release.