KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I was just testing an example from Numerical Methods in Engineering with Python . from numpy import zeros, array from math import sin, log from newtonRaphson2 import * def f(x): f = zeros(len(x)) f[0] = sin(x[0]) + x[1]**2 + log(x[2]) - 7.0 f[1] = 3.0*x[0] + 2.0**x[1] - x[2]**3 + 1.0 f[2] = x[0] + x[1] + x[2] -5.0 return f x = array([1.0, 1.0, 1.0]) print(newtonRaphson2(f,x)) When I run it, it shows the following error: File "example NR2method.py", line 8, in f f[0] = sin(x[0]) + x[1]**2 + log(x[2]) - 7.0 ValueError: math domain error I have narrowed it down to the log as when I remove log and add a different function, it works. I assume it is because of some sort of interference with the base, I can't figure out how. Can anyone suggest a solution? See also: Python math domain error using math.acos function for the equivalent problem using math.acos ; python math domain error - sqrt for the equivalent problem using math.sqrt .
Tags (comma-separated)
Save Edits
Cancel