advice on a GiNaC based project.
Hi Everybody, I have just started using GiNaC (actually yet to be able to compile my first program), and I am also not an expert on C++. So I thought I would ask for a little advice here. I wish to write a few programs that do something like this: take a graph or a tree each vertex or edge of the graph has a variable associated with it. walk on the graph or find certain subgraphs, and compute certain multivariable polynomials in terms of the variables associated with vertices or edges. later possibly do numerical optimization of the polynomials using an optimization library. I thought GiNaC would be ideal for this type of applications because C++ will give me complete control over the data structures and the efficiency. But could someone comment if GiNaC is not the right choice? Thank you, Bhalchandra Thatte Alfréd Rényi Institute of Mathematics Budapest
Hi, Bhalchandra Thatte schrieb:
I wish to write a few programs that do something like this: take a graph or a tree each vertex or edge of the graph has a variable associated with it. walk on the graph or find certain subgraphs, and compute certain multivariable polynomials in terms of the variables associated with vertices or edges. later possibly do numerical optimization of the polynomials using an optimization library. I thought GiNaC would be ideal for this type of applications because C++ will give me complete control over the data structures and the efficiency. But could someone comment if GiNaC is not the right choice?
yes, C++ with GiNaC is a good choice for that (I programed similar stuff already). BUT: for the optimization you will maybe miss polynomial factorization. Polynomial factorization is not available in GiNaC. Regards, Jens
Hello! On Fri, May 23, 2008 at 12:47:55AM -0700, Bhalchandra Thatte wrote:
I wish to write a few programs that do something like this: take a graph or a tree each vertex or edge of the graph has a variable associated with it. walk on the graph or find certain subgraphs, and compute certain multivariable polynomials in terms of the variables associated with vertices or edges.
I think boost.graph (for graph manipulations) and GiNaC (for symbolic computation) is a reasonable choice.
later possibly do numerical optimization of the polynomials using an optimization library.
Be forewarned: GiNaC does not provide any kind of numerical optimization.
I thought GiNaC would be ideal for this type of applications because C++ will give me complete control over the data structures and the efficiency.
I suggest to think twice if you really need a low level programming language (such as C++) at all. Best regards, Alexei -- All science is either physics or stamp collecting.
I agree with Alexei, here is a similar example that I put together some time ago using Python, perhaps a high level script would be a better tool for the job! Enjoy. Alex http://www.alexfb.com/cgi-bin/twiki/view/PtPhysics/Adjacency-Matrix-EigenVec... 2008/5/23 Alexei Sheplyakov <varg@theor.jinr.ru>:
Hello!
On Fri, May 23, 2008 at 12:47:55AM -0700, Bhalchandra Thatte wrote:
I wish to write a few programs that do something like this: take a graph or a tree each vertex or edge of the graph has a variable associated with it. walk on the graph or find certain subgraphs, and compute certain multivariable polynomials in terms of the variables associated with vertices or edges.
I think boost.graph (for graph manipulations) and GiNaC (for symbolic computation) is a reasonable choice.
later possibly do numerical optimization of the polynomials using an optimization library.
Be forewarned: GiNaC does not provide any kind of numerical optimization.
I thought GiNaC would be ideal for this type of applications because C++ will give me complete control over the data structures and the efficiency.
I suggest to think twice if you really need a low level programming language (such as C++) at all.
Best regards, Alexei
-- All science is either physics or stamp collecting.
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQIVAwUBSDaEzyXMWnuYxRVqAQL7XxAAok3ywm5yWWvGwSOI/XMCIE3Y7j23Q9td DH8TEX5hIt1kzASA33iaDsWVkvBPRyWPGTF6AJLOvnyOLX1LHcB0Q8F+ojfKmVIw o2raKOltLYO4oDB8K/edUtfLlUrLv7r688t6qdBBzDmxfbMQ/4/W32hioMvzr9yh isWgXIjBV/FV86D2hVF/q7PvbloulHVyxH3TwINkmyItaygfToaS5OyDJVdBeKbv SJ0gbqEKNkyWZ/4ZIZeJ0ckkOhP/fIDGO04YqVKrLUwy7Q1UZuuti3i92Vosr+Yb m7x7v5yZk0J/3W/S1x+ZOl/1tt8UVacAc9maIlQXM9kH0B8wG7vQCHHNKZ6XzHtN krUxNxw7ciWz4WY0tXg2vzePzMCzVN3nfaWLJ9Fznt3VPPDYuFfWQmsS7zPXXOS9 nHkmM9pSZ4wR8nLDZAmIH36J9QMmImx9d/T91na3tAhKm1/4Q/3uO1SLHahIgCcj dYkA8F1GWR082XlBqnWoISwlJjv1ZqNFsjISllixYk24+MvtODHohDEJnEUsAoWg jdol4XxpZS3UAGa+Cy7xpzC1iOpksEmG/3zQaI9QUI8GXdnXfM1noeAGDnH/JeF8 aEsu5Z6Wva3iZYBFj3SM/mnFqleumt6Jf4YBMDYiohQG5RoQCtQ4k/DjSED1JZiP gx4tfNdbA9A= =HgPN -----END PGP SIGNATURE-----
_______________________________________________ GiNaC-list mailing list GiNaC-list@ginac.de https://www.cebix.net/mailman/listinfo/ginac-list
-- Mobile: 07788 872118 Blog: www.alexfb.com -- All science is either physics or stamp collecting.
participants (4)
-
alexander baker
-
Alexei Sheplyakov
-
Bhalchandra Thatte
-
Jens Vollinga