GiNaC

Призыв остановить войну в Украине

Стремление к истине всегда объединяло ученых. И наука, в свою очередь, лучше всего развивается за счет международного сотрудничества. Ученые и программисты из многих стран, включая Россию и Украину, сделали весомый вклад в GiNaC. Без них проект не существовал бы в нынешнем виде.

Мы полностью поддерживаем призыв к миру в Украине. Мы должны убедить все государства в ценности и перспективах мирного сотрудничества и необходимости незамедлительно остановить войну. Все государства должны приложить совместные усилия чтобы восстановить мир в Украине и возобновить сотрудничество во всех областях.

Давайте заниматься наукой, а не войной!

(копия призыва к мирут)


Call for the End of War in Ukraine

The pursuit of truth is a unifying element of all scientists. And science thrives best in international cooperation. Scientists and developers from many countries, including Russia and Ukraine, have contributed to GiNaC. Without these contributions, it would not be what it is today.

We strongly support the call for peace in Ukraine. We must make all governments understand the value and prospect of peaceful cooperation and end this war now. All governments must work together to bring peace to Ukraine and re-enable collaboration on all fields.

Let's make science, not war!

(copy of call for peace)

GiNaC is a C++ library. It is designed to allow the creation of integrated systems that embed symbolic manipulations together with more established areas of computer science (like computation- intense numeric applications, graphical interfaces, etc.) under one roof. It is distributed under the terms and conditions of the GNU general public license (GPL). GiNaC is an iterated and recursive acronym for GiNaC is Not a CAS, where CAS stands for Computer Algebra System.

It has been specifically developed to be an engine for computing Feynman integrals. However, it is not restricted to high energy physics applications. Its design is revolutionary in a sense that contrary to other CAS it does not try to provide extensive algebraic capabilities and a simple programming language but instead accepts a given language (C++) and extends it by a set of algebraic capabilities.

Perplexed? Feel free to read this paper which describes the philosophy behind GiNaC in more detail. It also addresses some design principles and questions of efficiency, although some implementation details have changed since it was written.