{% extends "layout.html" %}

{% block title %}Cadabra: features{% endblock %}

{% block head %}{%- endblock %}

{% block main %}

<h1>Features</h1>
<p>
  ... 
</p>


<h1>Comparison of Cadabra with other systems</h1>
<p>
  In order to understand whether Cadabra is useful for you, a
  comparison to other system may help. Without going too much into
  detail, here are some notable differences and similarities with
  other systems.
</p>

<h2>Patterns versus maths</h2>
<p>
  Cadabra is predominantly a 'field theory aware notebook'. What this
  means is that is is designed to be useful for the manipulations of
  patterns which occur in the description of field theory problems. It
  knows about patterns more than it knows about the mathematical
  meaning of those patterns. 
</p>
<p>
  Other programs in this class
  are <a href="http://www.nikhef.nl/~form/">FORM</a> and its
  predecessor <a href="http://www-personal.umich.edu/~williams/archive/schoonschip/">Schoonship</a>,
  which both know relatively little about the maths or physics which
  people do with them, but primarily provide a cleverly thought-out
  toolbox of algorithms to manipulate expressions. Just like when you
  compute things with pen and paper, you can do things with these
  programs which are manifest mathematical nonsense.
</p>
<p>
  Programs like Sage
  (with <a href="http://sagemanifolds.obspm.fr/">SageManifolds</a>)
  and <a href="http://www.xact.es/">xAct</a> tend to be much more strict in how you define your problem:
  they know a lot about the mathematical meaning of symbols, and often
  insist that you are very precise about defining them. Cadabra can be
  much more relaxed, which tends to make its input easier to read.
</p>
<p>
  Neither of these approaches is best, they are just different.
</p>

<h2>Targetted versus comprehensive</h2>
<p>
  Cadabra is intentionally not designed to cover 'as much of
  mathematics as we can implement'. It is specifically meant to help
  solving a particular class of problems which occur in field
  theory. This is in part because of its roots (it originally was just
  a simple tool to help write research papers), and in part because
  I do not believe that a 'megalomanic' approach can work. Especially
  not if you do not have hundreds of developers. 
</p>
<p>
  Programs like Mathematica, Maple and Sage have a different
  philosophy. They try to target, not always with success, a very
  large audience, by aiming to cover 'all of maths'. 
</p>




{%- endblock %}
