gserdyuk / gnucap-a

gnucap-a fork of gnucap simulator
1 stars 1 forks source link

linear solver fails if diagonal is zero #14

Open gserdyuk opened 12 years ago

gserdyuk commented 12 years ago

Lets take system:

[ gmin -1 ] * X = [ -1 ] 10 -10 0

if gmin = 0 this system has exact solution X= 1; 1

but current solver behaves wrong (gives X= {1.0} ) in wide range of gmin.

shortly : if gmin <=1.e-17 solver returns X={0, 1} if gmin = 1e-6 X={1,1} (correct)

pls see attached a) circuit file with test ckt b) test functiion for "boost test"

now can use current solver, keep in mid that gmin ~ 1.e-6

in future - substitute linear solver with another one.

gserdyuk commented 12 years ago

circuit file for test:

I1 1 0 dc 0 G11 1 0 1 0 -10 G12 1 0 2 0 +10

G21 2 0 1 0 -1 I2 2 0 dc 1

.print op v(1) v(2) i(i1) i(i2) .op .end

gserdyuk commented 12 years ago

low priority as quite artificial circuit