Hi Ondrej and Travis,
I have looked through Travis code and compared it to mine. And there
are some differences
in the way the matrices are constructed. And mine is more
heavyweighted with more dependencies.
Here are some features:
* numeric and symbolic solutions
* Pythonic interface for entering circuits that is similar to eispice
* ac, dc, noise analyses
* 2-port analysis that calculates 2-port parameters of a circuit
Like Travis I also have problems with large expressions that are slow
to simplify. There
is also a need to do approximations. I have been looking into a method called
Determinant-Decision-Diagrams [0] which is a compact representation of
determinants where
approximations can be done before the full result expression is
developed. Unfortunately
I didn't come that far.
Anyways, here is an example to whet your appetite :-)
# Construct circuit, in this case a resistive voltage divider
>>> R1=Symbol('R1', real=True)
>>> R2=Symbol('R2', real=True)
>>> c = SubCircuit()
>>> n1,n2 = c.addNodes('net1', 'net2')
>>> c['vs'] = VS(n1, gnd, v=Symbol('V'))
>>> c['R1'] = R(n1, n2, r=R1)
>>> c['R2'] = R(n2, gnd, r=R2)
# Perform a symbolic noise analysis
>>> res = SymbolicNoise(c, inputsrc=c['vs'], outputnodes=(n2,
>>> gnd)).run(Symbol('s'), complexfreq=True)
# Print input and output referred voltage noise PSD
>>> simplify(res['Svnout'])
4*R1*R2*kT/(R1 + R2)
>>> simplify(res['Svninp'])
4*R1*kT*(-R1 - R2)**2/(R2*(R1 + R2))
>>> simplify(res['gain'])
R2 / (R1 + R2))
Best regards,
Henrik
[0]
http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/6599/17618/00813942.pdf?arnumber=813942
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sympy" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sympy?hl=en
-~----------~----~----~----~------~----~------~--~---