Circuit Analysis: Theory and Practice