How can I compute knots? Is there a documented way to compute knots? (circumferences embedded in a 3-dimensional Euclidean space).

I mean, a datatype to represent them, and an algorithm to determine if two instances of the datatype represent the same knot.

If the answer is positive, what about the complexity of that problem?
The most natural ways to represent knots are either to embed them piecewise linearly in $\mathbb{R}^3$ (just store the coordinates of the vertices and where you want to put segments) (any tame knot can be embedded piecewise linearly) or with a knot diagram, i.e. storing a projection on $\mathbb{R}^2$ as a graph where at every crossing you specify which strand is above.

As Suresh pointed out, checking knot equivalence is highly non-trivial (not known to be in P) but experimental results for unknot recognition are polynomial-like -- knot equivalence looks much harder though. If you are looking for software, peek at Regina .