Hi Matthew, On Saturday, April 6, 2013 6:08:01 PM UTC+5:30, Matthew wrote: > > I think that a symbolic SPICE engine would be sufficient for a GSOC > project. I have some questions about it's feasibility. > > What are some advantages of solving this problem symbolically rather than > numerically? A user loses a factor of a thousand in performance. What do > they gain? What manipulations or calculations are commonly desired but not > accessible in current numeric systems? > It would be nice to see a motivating example of what this could accomplish. >
The main advantage of solving the problem symbolically is that you get the transfer functions(s domain) i.e. the relation between input and output in terms of circuit elements. You can also get the unknown voltages and currents as function of time and circuit elements. Solving it numerically would just produce a number. Let me give you a very basic example. Let's check this simple circuit.<http://farm4.static.flickr.com/3148/2898592146_e1eb963f2e.jpg> A symbolic solver would be able to return the transfer function given in the figure for the corresponding input and output ports. From this relation, a user can understand and infer the behavior of this circuit which in this case is a Low Pass Filter. For small values of s = jw, the gain(magnitude of the transfer function) will equal to one, and will keep on decaying as we increase frequency. In the same way, a symbolic solver can also get the unknown quantities, in this case, for e.g. Vc(t), the voltage across the capacitor as a function of time. A numerical solver on the other hand would just return the numerical value based on the value of given circuit elements, thus giving the user no information about dependence among circuit parameters and hence why he is getting the particular output value. Thus a numerical solver becomes more useful(because of it's better performance) if all you want to do is testing and simulating the circuit. A symbolic solver would be more useful for understanding, designing and analyzing the circuit. > Can you verify that SymPy's matrices module is up to the task? For large > circuits I suspect you'll want to use sparse matrix. I'm not certain how > efficient our solver routines are in this case. > A symbolic solver would require very commonly used matrix operations. So in terms of functional requirements, the matrices module is up to the task. But I guess you are thinking of performance for large circuits, about which I am not very sure about since I haven't tested them. To test it, I can probably try the required matrix operations with large matrices. If you think there is better way for testing, please let me know. Thank you. Ankit Agrawal -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy?hl=en-US. For more options, visit https://groups.google.com/groups/opt_out.