Решение должно быть точным с точностью до машинного эпсилона
>>> from numpy import sin as sin_np
>>> from math import sin as sin_math
>>> x = 0.0
>>> sin_np(x) - x
0.0
>>> sin_math(x) - x
0.0
>>>
Вы можете использовать scipy.optimize
для этой задачи:
>>> from scipy.optimize import minimize
>>> from math import sin
>>> a = 1.0
Затем определите свой цель как так:
>>> def obj(x):
... return abs(x - a*sin(x))
...
И вы можете решить эту проблему численно:
>>> sol = minimize(obj, 0.0)
>>> sol
fun: array([ 0.])
hess_inv: array([[1]])
jac: array([ 0.])
message: 'Optimization terminated successfully.'
nfev: 3
nit: 0
njev: 1
status: 0
success: True
x: array([ 0.])
Теперь давайте попробуем с новым значением
>>> a = .5
>>> sol = minimize(obj, 0.0)
>>> sol
fun: array([ 0.])
hess_inv: array([[1]])
jac: array([ 0.5])
message: 'Desired error not necessarily achieved due to precision loss.'
nfev: 315
nit: 0
njev: 101
status: 2
success: False
x: array([ 0.])
>>>
[ 1115] Если вы хотите найти нетривиальное решение этой проблемы, вам нужно итеративно изменить x0
на значения больше нуля, а также меньше чем. Кроме того, для управления границами x
в режиме минимизации, установив bounds
в scipy.optimize.minimize, вы сможете переходить от -infty до + infty (или очень больших чисел).
Электроинструменты являются Вашим лучшим выбором.
Кроме того, вот инструмент Microsoft для проверки лучших практик. Документация указывает, что проверяет T-SQL. Это может или не может сделать то, что Вы хотите.
Можно хотеть посмотреть на комплект RedGate инструментов, особенно SQL Осуществляет рефакторинг и Подсказка SQL.
Этот будет расположение Ваш код T-SQL стандартным способом и также предоставлять Вам способность настроить стандарты, которые используются для Вашего определенного магазина.
http://www.red-gate.com/products/SQL_Refactor/index.htm
С наилучшими пожеланиями, John