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:
$V
– short forVector.create
$M
– short forMatrix.create
$L
– short forLine.create
$P
– short forPlane.create
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
.