Maker Pro
Maker Pro

Can we predict Simulation?

D

Dilips

Jan 1, 1970
0
Hello,

This question may seem strange to you, but it is of very huge
significance for me.
Can we predict, if a circuit will simulate or not looking at the matrix
formed?
The AX=B which the iterative or direct solvers in SPICE use, I want to
know if given A and B. Is there some mathematical operation that can be
performed to know that
a) a solution will exist?
b) if a solution exists, will it converge to the correct answer?
c) will it converge to an answer at all?

These questions mean a lot to my thesis work and I shall be really
really thankful if someone can answer this

Thank you,
Dilip
 
H

hrh1818

Jan 1, 1970
0
Numerical Methods in Engineering with Python by Jaan Kiusalaas provides
the following information.

On page 28 the book says "A system on n linear equations in n unknowns
has a unique solution, provided the determinant of the coefficient
matrix is nonsingular; that is |A| is not equal to 0.".

Page 85 in the book provides the following guidance when using
iterative methods to solve a system of linear equations. "A serious
drawback of iterative methods is that they do not always converge to
the solution. It can be shown that convergence is guaranteed only if
the coefficient matrix is diagonally dominant. The initial guess for X
plays no role in determining whether convergence takes place--if the
procedure converges for one starting vector, it would do so for any
starting vector. The initial guess affects only the number of
iterations that are required for convergence."

Page 158 and 159 in the book provides the following guidance when using
the Newton-Raphson method to solve n simultaneous nonlinear equations,
"The simplest and the most effective method of computing X is the
Newton-Raphson method. It works well with simultaneous equations,
provided that it is supplied a good starting point. There are other
methods that have better global convergence characteristics, but all of
them are variants of the Newton-Raphson method. As in the one
dimensional case, suceess of the Newton-Raphson method procedure
depends entirely on the initial estimate of X. If a good starting
point is used, convergence to the solution is very rapid. Otherwise,
the results are unpredictable."

Hence, I conclude the answer is yes if you have a system of linear
equations but the answer is no if you have a system of nonlinear
equations.

You also might want to post your questions in the Sci-math.num.analysis
group to see what the numerical method pros there say.

Howard
 
D

Dilips

Jan 1, 1970
0
Hello Howard,

Thanks for your answer. That was a very useful excerpt from the book. I
understand that it helps with linear equations but is not the case with
non-linear equations.
Another question now would be, how good is it if that knowledge is
known for linear equations alone.

Thanks for your answer.
Dilip Seshadri
 
H

hrh1818

Jan 1, 1970
0
Dilips said:
Hello Howard,

Thanks for your answer. That was a very useful excerpt from the book. I
understand that it helps with linear equations but is not the case with
non-linear equations.

The book covers a lot more than linear equations. The book covers all
of the topics that are typically covered in a first course in numerical
methods. Topics, like Systems of Linear Algebraic Equations,
Interpolation and Curve Fitting, Roots of Equations, Numerical
Differention, Numerical Integration, Ordinary Diffrential Equations,
Two Point Boundary Value Problems, Symmetric Matrix Eigenvalue
Problems, and an Introduction to Optimization.
Another question now would be, how good is it if that knowledge is
known for linear equations alone.

I am not sure what you mean by "knowledge known for linear equations
alone". However, as any circuit that contains a semiconductor will be
modeled by a system of nonlinear equations and as provided by the
guidance given on pages 158 and 159 by Jaan Kiusalaas in his book if
you make a bad initial guess for the approximate solution to your
system of nonlinear equations you won't be able to tell ahead of time
if your numerical method will converge on a solution.

Howard
 
J

Joel Kolstad

Jan 1, 1970
0
Howard,

hrh1818 said:
Numerical Methods in Engineering with Python by Jaan Kiusalaas provides
the following information.

Interesting... he has the same book for Matlab as well! Do you happen to have
access to both and, if so, could you provide a comparison? I've done some
"objected oriented" programming in Matlab and, while I'm actually rather
impressed with how object oriented Matlab can be given what roots it began
with, clearly Python is a much more sophisticated general purpose programming
language... but I figured that in Python you'd immediately miss out on many of
the powerful built-in function in Matlab, such as the graphing tools and of
course all the toolkits.

---Joel
 
H

Hal Murray

Jan 1, 1970
0
Interesting... he has the same book for Matlab as well! Do you happen to have
access to both and, if so, could you provide a comparison? I've done some
"objected oriented" programming in Matlab and, while I'm actually rather
impressed with how object oriented Matlab can be given what roots it began
with, clearly Python is a much more sophisticated general purpose programming
language... but I figured that in Python you'd immediately miss out on many of
the powerful built-in function in Matlab, such as the graphing tools and of
course all the toolkits.

There is a python wrapper for gnuplot
http://gnuplot-py.sourceforge.net/

PyMat - An interface between Python and MATLAB
http://claymore.engineer.gvsu.edu/~steriana/Python/pymat.html

There is NumPy
The fundamental package needed for scientific computing with Python is called NumPy
http://numpy.scipy.org/

Octaviz might be interesting:
http://octaviz.sourceforge.net/
 
H

hrh1818

Jan 1, 1970
0
Joel,

I don't have access to the Matlab version of Jaan Kiusalaas Numerical
Methods book. However, I made a quick comparison at Amazon.com. Both
books cost $85, both books have approximately the same number of pages,
exactly the same topics are listed in the table of contents, and a
quick check of the index indicates both books cover the same topics.
Hence I strongly suspect the only differece between the two books is
one book uses Matlab m files and the other uses Python script filles.

Jaan kiusalass does not make use of the object oriented features of
Python. Instead each script file is a procedure. At one level
Python can be an easy programmng language to learn. But it also can
appear to be mysterious as it can compress a lot of action into very
few lines of code.

Certainly if you are looking for tools or books to help you solve
problems in an unusual engineerig or science field than Matlab beats
Python. But for general numerical analysis the performance of Python
and numpy compare quite favorably with Matlab. And of couse the
diehards who post on the Python NewsGroup will tell you Python and
numpy are free.

Howard

Joel Kolstad wr
 
J

Joel Kolstad

Jan 1, 1970
0
Thanks for the response Howard. If I get a copy, I think I might head the
Python route... it seems potentially easier to go from Python->Matlab than the
other way around.

hrh1818 said:
At one level
Python can be an easy programmng language to learn. But it also can
appear to be mysterious as it can compress a lot of action into very
few lines of code.

Python streeses trying to make code more explicit by, e.g., removing a lot of
the "magic" that C++ has (such as a very fancy scheme for automatic type
conversions), yet they still have plenty of magic of their own, such as "for"
searching for an iterator method for the object in question and then
defaulting to indexing methods if one isn't found; it's an interesting
combination.

---Joel
 
Top