Sha256: 0a074065714a55141106e3aa80c20ef3f7fa09c715f8cf074bb93a3bd6322cd0
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
o:$YARD::CodeObjects::MethodObject: @name: norm:@docstringIC:YARD::Docstring":@objectu:YARD::StubProxyNewton#norm: @summary0:@line_range0: @tags[: @all":@ref_tags[: @linei%:@visibility:public:@files[[",ext/bigdecimal/lib/bigdecimal/newton.rbi%;[:@parameters[["fv0[" zero"0.0: @dynamicT: @path"Newton#norm:@source_type: ruby:@explicitT:@signature"def norm(fv,zero=0.0):@source"�def norm(fv,zero=0.0) s = zero n = fv.size for i in 0...n do s += fv[i]*fv[i] end s end def nlsolve(f,x) nRetry = 0 n = x.size f0 = f.values(x) zero = f.zero one = f.one two = f.two p5 = one/two d = norm(f0,zero) minfact = f.ten*f.ten*f.ten minfact = one/minfact e = f.eps while d >= e do nRetry += 1 # Not yet converged. => Compute Jacobian matrix dfdx = jacobian(f,f0,x) # Solve dfdx*dx = -f0 to estimate dx dx = lusolve(dfdx,f0,ludecomp(dfdx,n,zero,one),zero) fact = two xs = x.dup begin fact *= p5 if fact < minfact then raise "Failed to reduce function values." end for i in 0...n do x[i] = xs[i] - dx[i]*fact end f0 = f.values(x) dn = norm(f0,zero) end while(dn>=d) d = dn end nRetry end end:@namespaceu;Newton:@scope: instance:@current_file_has_commentsF
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pry-0.6.9pre1-i386-mingw32 | lib/pry/stdlib_docs18/objects/Newton/norm_i.dat |