API Documentation

There a couple of things that don’t really fit in to any of the class references listed above. The first one is that there exist a series of shorthand functions for creating objects in Sylvester. They are:

Note on accuracy

The second is that a lot of functionality in Sylvester relies on computing various quantities and comparing them to zero. Rounding errors on floating point numbers mean that quantities that should be zero can actually be a bit off. Therefore, quantities are compared to the value of Sylvester.precision – if the absolute value of x is less than this number, x is considered to be equal to zero. By default, Sylvester.precision is set to 1e-6, but you can just set the value yourself if you want to be more strict – it should ideally be several orders of magnitude smaller than the vector/matrix elements you’re working with.

Null return values

Finally, as a general rule, trying to compute something that is not mathematically meaningful (like multiplying matrices with incompatible sizes) will produce a result of null. Similarly, trying to compute something that does not exist, such as the intersection of two parallel lines, will return null.