I mean finding the equivalent resistance between any two nodes of an arbitrarily complex resistor network. It's a kind of opposite problem compared to finding the replacement network for a missing resistor value. When finding the network, you try to find the best network for specified value. When solving, you are given a network, and now you are trying to find the equivalent resistance. This is a fascinating problem, especially if the network is large.
"Arbitrary complex resistor network"...hmmm...
nerd sniping, are you?
From a pragmatical point of view, I'll say that the UI is going to take more effort that I can put in - if you volunteer to write the user interface and provide me the connectivity network (resistance between node i,j), then I'll consider.
As for the actual computation, I'd go on this path:
Simplifying complex resistor networks - for pragmatical real-world network resistors (on the order of hundreds up to 1000) would be feasible even in browser.
If linear system solving is too trivial (it's only O(N
3) complexity... with a little bit of elbow grease maybe a O(N
2 log(N)), then I can think of an approach of NP-complexity that is very simple to program:
1. linearity of the system conduces to: the conductance of a resistor network between two nodes is the sum of conductances of all simple paths between the two nodes considered.
2. plug in a simple algo to enumerate all the simple (no node repetition) paths between the two nodes - problem already known as NP hard (come on, don't be a wimp, what those computers are for anyway?) - compute the conductances, invert and come back with the answer.
Speaking of nerd-sniping: have fun analyzing
this one.