// test_nuderiv.swift // file nuderiv.swift included below, should be import print("test nuderiv.test") var npoint = 7 var x = [0.1, 0.2, 0.4, 0.6, 0.8, 0.9, 1.1] var y = [Double](repeating:0,count:npoint) // function var yp = [Double](repeating:0,count:npoint) // first deriv var ypp = [Double](repeating:0,count:npoint) // second deriv var cx = [Double](repeating:0,count:npoint) var cxx = [Double](repeating:0,count:npoint) var deriv = 0.0 var order = 1 for i in 0..[Double]{ let n = npoint var B = [[Double]](repeating:[Double](repeating:0.0,count:n),count:n) var fct = [Double](repeating:0,count:n) var c = [Double](repeating:0,count:n) var pwr = 0.0 for i in 0.. [[Double]] { let n = a.count var inv = [[Double]](repeating:[Double](repeating:0.0,count:n),count:n) for i in 0.. abs_pivot { I_pivot = i J_pivot = j pivot = inv[row[i]][col[j]] } } } if abs(pivot) < 1.0E-10 { print("Matrix is singular !") return [[Double]](repeating:[Double](repeating:0.0,count:n),count:n) } hold = row[k] row[k] = row[I_pivot] row[I_pivot] = hold hold = col[k] col[k] = col[J_pivot] col[J_pivot] = hold // reduce about pivot inv[row[k]][col[k]] = 1.0 / pivot for j in 0..