How to ensure Topological Correctness Question:
I read through an enormous amount of material on topology and knot-theory in wikipedia, but I still am stuck at the following fundamental problem:
Given two representations of closed curves, how do you establish their "linkedness"?  
So in a really simple example, given the equations for two circles in $\mathbf{R}^3$ how do I tell if they are a Hopf link or disjoint loops?
Background:
Myself and a conspirator have written a simulator for rope which minimizes stored energies by means of an iterative approach.  It works very well for a myriad of test cases, like a hanging segment, centenary, and we have used it to reproduce the shape of a unit-knit.  
The problem comes when we tried to add rope-rope interactions.  In a nutshell, you have to go to fairly extreme lengths to ensure that the ropes do not pull through each other using the minimization process.  I believe this is not the way to go about things, so I am on the search of a more principled answer.

Choose a generic 2-plane in 3-space and project your link onto it. Then use the idea in http://en.wikipedia.org/wiki/Linking_number#Computing_the_linking_number.
To make it computationally feasible, you might have to approximate your link by a sufficiently close polygonal curve.
(This answers what I think is your main question, "Given the equations for two circles in R3 how do I tell if they are a Hopf link or disjoint loops?".)
EDIT: As Kevin Carlson points out in the comments, if the links can be disentangled, the linking number will be zero. If the linking number is zero, the links can be disentangled if each component is allowed to pass through itself (but not the other link), but possibly not if this not allowed (see http://en.wikipedia.org/wiki/Whitehead_link for an example). 
