diff --git a/crocoddyl/__init__.py b/crocoddyl/__init__.py index 068c48fb9b1ba2cef5abe456412e9fd75f453f2c..5661caec976610a3c604af69081cc44639e7111f 100644 --- a/crocoddyl/__init__.py +++ b/crocoddyl/__init__.py @@ -3,7 +3,8 @@ from .action import (ActionDataAbstract, ActionDataLQR, ActionDataNumDiff, Actio from .activation import (ActivationDataInequality, ActivationDataQuad, ActivationDataSmoothAbs, ActivationDataWeightedQuad, ActivationModelInequality, ActivationModelQuad, ActivationModelSmoothAbs, ActivationModelWeightedQuad) -from .actuation import ActuationDataFreeFloating, ActuationDataFull, ActuationModelFreeFloating, ActuationModelFull, ActuationModelUAM +from .actuation import (ActuationDataFreeFloating, ActuationDataFull, ActuationDataUAM, ActuationDataDoublePendulum, + ActuationModelFreeFloating, ActuationModelFull, ActuationModelUAM, ActuationModelDoublePendulum) from .box_ddp import SolverBoxDDP from .box_kkt import SolverBoxKKT from .callbacks import CallbackDDPLogger, CallbackDDPVerbose, CallbackSolverDisplay, CallbackSolverTimer @@ -14,7 +15,7 @@ from .cost import (CostDataCoM, CostDataControl, CostDataForce, CostDataFramePla CostDataState, CostDataSum, CostModelCoM, CostModelControl, CostModelForce, CostModelForceLinearCone, CostModelFramePlacement, CostModelFrameRotation, CostModelFrameTranslation, CostModelFrameVelocity, CostModelFrameVelocityLinear, CostModelNumDiff, - CostModelPinocchio, CostModelState, CostModelSum) + CostModelPinocchio, CostModelState, CostModelSum, CostModelDoublePendulum, CostDataDoublePendulum) from .ddp import SolverDDP from .diagnostic import displayTrajectory, plotDDPConvergence, plotOCSolution from .differential_action import (DifferentialActionDataAbstract, DifferentialActionDataFullyActuated, diff --git a/crocoddyl/actuation.py b/crocoddyl/actuation.py index 4da7abda2299fa2aced15258d501787feae743d6..446ee7498e4830326db75f583b4b38c1f42f32ca 100644 --- a/crocoddyl/actuation.py +++ b/crocoddyl/actuation.py @@ -2,6 +2,41 @@ import warnings import numpy as np +class ActuationModelDoublePendulum: + def __init__(self, pinocchioModel): + self.pinocchio = pinocchioModel + self.nq = pinocchioModel.nq + self.nv = pinocchioModel.nv + self.nx = self.nq + self.nv + self.ndx = self.nv * 2 + self.nu = 1 + + def calc(self, data, x, u): + S = np.zeros([self.nv,self.nu]) + #S[1] = 1 + S[0] = 1 + data.a = np.dot(S,u) + return data.a + + def calcDiff(self, data, x, u, recalc=True): + if recalc: + self.calc(data, x, u) + return data.a + + def createData(self, pinocchioData): + return ActuationDataDoublePendulum(self, pinocchioData) + +class ActuationDataDoublePendulum: + def __init__(self, model, pinocchioData): + self.pinocchio = pinocchioData + ndx, nv, nu = model.ndx, model.nv, model.nu + self.a = np.zeros(nv) # result of calc + self.A = np.zeros([nv, ndx + nu]) # result of calcDiff + self.Ax = self.A[:, :ndx] + self.Au = self.A[:, ndx:] + # self.Au[1,0] = 1 + self.Au[0,0] = 1 + class ActuationModelUAM: ''' This model transforms an actuation u into a joint torque tau. diff --git a/crocoddyl/cost.py b/crocoddyl/cost.py index 223992044fd5a60ee2653d9aff722452058805e3..9a5b5bc7f3e638b5845bd6661e7b624d466d7f62 100644 --- a/crocoddyl/cost.py +++ b/crocoddyl/cost.py @@ -560,7 +560,11 @@ class CostModelControl(CostModelPinocchio): # data.Ru[:,:] = np.eye(nu) Ax, Axx = self.activation.calcDiff(data.activation, data.residuals, recalc=recalc) data.Lu[:] = Ax - data.Luu[:, :] = np.diag(m2a(Axx)) + if type(Axx) is np.ndarray: + data.Luu[:, :] = np.diag(Axx) + else: + data.Luu[:, :] = np.diag(m2a(Axx)) + #data.Luu[:, :] = np.diag(m2a(Axx)) class CostDataControl(CostDataPinocchio): @@ -676,3 +680,54 @@ class CostDataForceCone(CostDataPinocchio): CostDataPinocchio.__init__(self, model, pinocchioData) self.contact = contactData self.activation = model.activation.createData() + +class CostModelDoublePendulum(CostModelPinocchio): + def __init__(self, pinocchioModel, frame, ref, nu=None, activation=None): + self.CostDataType = CostDataDoublePendulum + CostModelPinocchio.__init__(self, pinocchioModel, ncost=6, nu=nu) + self.ref = ref + self.frame = frame + self.activation = activation if activation is not None else ActivationModelQuad() + + def calc(self, data, x, u): + c1 = np.cos(x[0]) + c2 = np.cos(x[1]) + s1 = np.sin(x[0]) + s2 = np.sin(x[1]) + data.residuals = np.array([s1, s2, 1-c1, 1-c2, x[2], x[3]]) + data.cost = sum(self.activation.calc(data.activation, data.residuals)) + return data.cost + + def calcDiff(self, data, x, u, recalc=True): + if recalc: + self.calc(data, x, u) + c1 = np.cos(x[0]) + c2 = np.cos(x[1]) + s1 = np.sin(x[0]) + s2 = np.sin(x[1]) + nq = self.nq + Ax, Axx = self.activation.calcDiff(data.activation, data.residuals, recalc=recalc) + J = np.zeros([6, 4]) + J[:2,:2] = np.diag([c1, c2]) + J[2:4,:2] = np.diag([s1, s2]) + J[4:6,2:4] = np.diag([1,1]) + data.Lx[:] = np.dot(np.transpose(J), Ax) + H = np.zeros([6, 4]) + H[:2,:2] = np.diag([c1**2-s1**2, c2**2-s2**2]) + H[2:4,:2] = np.diag([s1**2+(1-c1)*c1, s2**2+(1-c2)*c2]) + J[4:6,2:4] = np.diag([1,1]) + data.Lxx[:, :] = np.dot(np.transpose(H), Axx) + return data.cost + + +class CostDataDoublePendulum(CostDataPinocchio): + def __init__(self, model, pinocchioData): + CostDataPinocchio.__init__(self, model, pinocchioData) + self.activation = model.activation.createData() + self.Lu = 0 + self.Lv = 0 + self.Lxu = 0 + self.Luu = 0 + self.Lvv = 0 + self.Ru = 0 + self.Rv = 0 diff --git a/crocoddyl/double_pendulum.py b/crocoddyl/double_pendulum.py new file mode 100644 index 0000000000000000000000000000000000000000..cd1b73cfc79f515e59350e540012e06cee8a0cf3 --- /dev/null +++ b/crocoddyl/double_pendulum.py @@ -0,0 +1,73 @@ +import numpy as np +import pinocchio + +from .differential_action import DifferentialActionDataAbstract, DifferentialActionModelAbstract +from .state import StatePinocchio +from .utils import a2m, m2a + +class DifferentialActionModelDoublePendulum(DifferentialActionModelAbstract): + def __init__(self, pinocchioModel, actuationModel, costModel): + DifferentialActionModelAbstract.__init__(self, pinocchioModel.nq, pinocchioModel.nv, actuationModel.nu) + self.DifferentialActionDataType = DifferentialActionDataDoublePendulum + self.pinocchio = pinocchioModel + self.State = StatePinocchio(self.pinocchio) + self.actuation = actuationModel + self.costs = costModel + + @property + def ncost(self): + return self.costs.ncost + + def calc(self, data, x, u=None): + if u is None: + u = self.unone + nq, nv = self.nq, self.nv + q = a2m(x[:nq]) + v = a2m(x[-nv:]) + tauq[:] = self.actuation.calc(data.actuation, x, u) + + pinocchio.computeAllTerms(self.pinocchio, data.pinocchio, q, v) + data.M = data.pinocchio.M + data.Minv = np.linalg.inv(data.M) + data.r = data.tauq - m2a(data.pinocchio.nle) + data.xout[:] = np.dot(data.Minv, data.r) + + # --- Cost + pinocchio.forwardKinematics(self.pinocchio, data.pinocchio, q, v) + pinocchio.updateFramePlacements(self.pinocchio, data.pinocchio) + data.cost = self.costs.calc(data.costs, x, u) + return data.xout, data.cost + + def calcDiff(self, data, x, u=None, recalc=True): + if u is None: + u = self.unone + if recalc: + xout, cost = self.calc(data, x, u) + nq, nv = self.nq, self.nv + q = a2m(x[:nq]) + v = a2m(x[-nv:]) + tauq = a2m(u) + a = a2m(data.xout) + # --- Dynamics + if self.forceAba: + pinocchio.computeABADerivatives(self.pinocchio, data.pinocchio, q, v, tauq) + data.Fx[:, :nv] = data.pinocchio.ddq_dq + data.Fx[:, nv:] = data.pinocchio.ddq_dv + data.Fu[:, :] = data.pinocchio.Minv + else: + pinocchio.computeRNEADerivatives(self.pinocchio, data.pinocchio, q, v, a) + data.Fx[:, :nv] = -np.dot(data.Minv, data.pinocchio.dtau_dq) + data.Fx[:, nv:] = -np.dot(data.Minv, data.pinocchio.dtau_dv) + data.Fu[:, :] = data.Minv + # --- Cost + pinocchio.computeJointJacobians(self.pinocchio, data.pinocchio, q) + pinocchio.updateFramePlacements(self.pinocchio, data.pinocchio) + self.costs.calcDiff(data.costs, x, u, recalc=False) + return data.xout, data.cost + + +class DifferentialActionDataDoublePendulum(DifferentialActionDataAbstract): + def __init__(self, model): + self.pinocchio = model.pinocchio.createData() + costData = model.costs.createData(self.pinocchio) + DifferentialActionDataAbstract.__init__(self, model, costData) diff --git a/crocoddyl/flying.py b/crocoddyl/flying.py index 3d12396adb14e0d0c66caab9bd11738f8a60bfb0..6d9d2400141d7144f771fb53045c06ec3adb125d 100644 --- a/crocoddyl/flying.py +++ b/crocoddyl/flying.py @@ -78,7 +78,6 @@ class DifferentialActionDataUAM(DifferentialActionDataAbstract): self.pinocchio = model.pinocchio.createData() self.actuation = model.actuation.createData(self.pinocchio) costData = model.costs.createData(self.pinocchio) - # print self.costs.Lu DifferentialActionDataAbstract.__init__(self, model, costData) nv = model.nv diff --git a/crocoddyl/robots.py b/crocoddyl/robots.py index 8008ad622f7a1d1dae2710494fffdc951e4ce1ce..6be2250e84b6f0255f6e3f869e6d227fb9f7388b 100644 --- a/crocoddyl/robots.py +++ b/crocoddyl/robots.py @@ -145,6 +145,6 @@ def loadKintonArm(modelPath='/opt/openrobots/share/example-robot-data'): def loadBorinotArm(modelPath='/opt/openrobots/share/example-robot-data'): URDF_FILENAME = "borinot_arm.urdf" URDF_SUBPATH = "/borinot_arm/urdf/" + URDF_FILENAME - robot = RobotWrapper.BuildFromURDF(modelPath + URDF_SUBPATH, [modelPath]) - robot.q0.flat = [np.pi,0] + robot = RobotWrapper.BuildFromURDF(modelPath + URDF_SUBPATH, [modelPath], None) + robot.q0.flat = [np.pi] return robot diff --git a/examples/notebooks/borinot_arm.ipynb b/examples/notebooks/borinot_arm.ipynb index 492a1840bddaf2978f70214924c8eb9269e3d964..9f2584ccf315d147f988b8599fdf67c29e08f8d8 100644 --- a/examples/notebooks/borinot_arm.ipynb +++ b/examples/notebooks/borinot_arm.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 98, + "execution_count": 76, "metadata": {}, "outputs": [], "source": [ @@ -13,7 +13,7 @@ "robot = loadBorinotArm()\n", "robot.initViewer(loadModel=True)\n", "\n", - "q0 = [-3.14, 3.14]\n", + "q0 = [1, 0]\n", "robot.q0.flat = q0\n", "robot.framesForwardKinematics(robot.q0)\n", "robot.display(robot.q0)\n", @@ -44,397 +44,4716 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 80, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 83.50136921]\n", + " [-85.98316903]]\n", + "[[ 84.70309115]\n", + " [-90.32383132]]\n", + "[[ 86.59918836]\n", + " [-96.95340459]]\n", + "[[ 88.95862434]\n", + " [-104.52228931]]\n", + "[[ 91.37907111]\n", + " [-110.6576778 ]]\n", + "[[ 93.26402308]\n", + " [-111.80199792]]\n", + "[[ 93.88473349]\n", + " [-103.51136159]]\n", + "[[ 92.5891125 ]\n", + " [-81.58454278]]\n", + "[[ 89.10194306]\n", + " [-43.82327148]]\n", + "[[83.65842531]\n", + " [ 8.80182813]]\n", + "[[76.71813123]\n", + " [72.86262902]]\n", + "[[ 68.38561553]\n", + " [144.58298192]]\n", + "[[ 57.97665644]\n", + " [221.42583416]]\n", + "[[ 44.0376546 ]\n", + " [302.03973374]]\n", + "[[ 24.92095193]\n", + " [384.74444739]]\n", + "[[1.95719954e-01]\n", + " [4.64134205e+02]]\n", + "[[-26.19296193]\n", + " [521.96147225]]\n", + "[[-39.55225879]\n", + " [503.6501806 ]]\n", + "[[ -9.96926312]\n", + " [296.59092812]]\n", + "[[ 73.91310413]\n", + " [-136.22981776]]\n", + "[[ 148.97427591]\n", + " [-535.31189161]]\n", + "[[ 166.98309409]\n", + " [-719.42755562]]\n", + "[[ 146.51320183]\n", + " [-750.69994522]]\n", + "[[ 109.20935373]\n", + " [-674.28917521]]\n", + "[[ 59.57975477]\n", + " [-475.74664519]]\n", + "[[ -4.1901011 ]\n", + " [-152.58091458]]\n", + "[[-68.72550257]\n", + " [190.22869197]]\n", + "[[-112.31675902]\n", + " [ 406.88071122]]\n", + "[[-132.65670823]\n", + " [ 473.9520921 ]]\n", + "[[-138.20051989]\n", + " [ 444.78248451]]\n", + "[[-133.65862871]\n", + " [ 362.44702047]]\n", + "[[-120.72450066]\n", + " [ 251.47298998]]\n", + "[[-102.40848719]\n", + " [ 133.23636595]]\n", + "[[-84.11812522]\n", + " [ 31.59577825]]\n", + "[[-70.83885461]\n", + " [-35.65977892]]\n", + "[[-64.27830644]\n", + " [-65.31802994]]\n", + "[[-63.18233419]\n", + " [-65.51744139]]\n", + "[[-65.32122936]\n", + " [-47.29375061]]\n", + "[[-68.80840565]\n", + " [-19.60167778]]\n", + "[[-72.40942032]\n", + " [ 11.5815572 ]]\n", + "[[-75.39354127]\n", + " [ 42.50429597]]\n", + "[[-77.32331316]\n", + " [ 70.75810643]]\n", + "[[-77.9196505 ]\n", + " [ 94.73858185]]\n", + "[[-77.01698334]\n", + " [113.47954328]]\n", + "[[-74.57622862]\n", + " [126.72699222]]\n", + "[[-70.70505115]\n", + " [135.04471066]]\n", + "[[-65.64180323]\n", + " [139.76835485]]\n", + "[[-59.6934461 ]\n", + " [142.76423238]]\n", + "[[-53.15808675]\n", + " [146.09876776]]\n", + "[[-46.28629094]\n", + " [151.74194256]]\n", + "[[-39.35649084]\n", + " [161.25993761]]\n", + "[[-33.02745554]\n", + " [175.06529172]]\n", + "[[-29.3916203 ]\n", + " [189.99582081]]\n", + "[[-34.37724601]\n", + " [193.25646162]]\n", + "[[-59.29030553]\n", + " [158.09427067]]\n", + "[[-107.08797816]\n", + " [ 79.0040319 ]]\n", + "[[-148.33851072]\n", + " [ 33.23996252]]\n", + "[[-159.59836753]\n", + " [ 84.35558473]]\n", + "[[-158.1121612 ]\n", + " [ 204.82872277]]\n", + "[[-166.49609699]\n", + " [ 371.07636992]]\n", + "[[-199.30621075]\n", + " [ 608.69221474]]\n", + "[[-269.84773737]\n", + " [ 982.00990242]]\n", + "[[-330.4582086 ]\n", + " [1282.94944111]]\n", + "[[ 116.23592039]\n", + " [-816.8842808 ]]\n", + "[[ 281.11251038]\n", + " [-1640.90958482]]\n", + "[[ 124.78519414]\n", + " [-1067.92424959]]\n", + "[[ 43.00371367]\n", + " [-820.61342287]]\n", + "[[ 5.6041512 ]\n", + " [-739.20205904]]\n", + "[[ -1.54514748]\n", + " [-730.63366527]]\n", + "[[ 19.02966305]\n", + " [-753.20338046]]\n", + "[[ 67.14643624]\n", + " [-790.62855464]]\n", + "[[ 139.48676183]\n", + " [-846.67086153]]\n", + "[[ 226.43008473]\n", + " [-943.2491212 ]]\n", + "[[ 306.12103578]\n", + " [-1086.05730091]]\n", + "[[ 284.59149339]\n", + " [-964.70215695]]\n", + "[[-76.74325139]\n", + " [445.34359995]]\n", + "[[-275.08855682]\n", + " [1137.42907253]]\n", + "[[-210.31203362]\n", + " [ 921.12652379]]\n", + "[[-131.01402138]\n", + " [ 730.62151147]]\n", + "[[-65.31104152]\n", + " [606.36844063]]\n", + "[[-13.91476792]\n", + " [512.26938765]]\n", + "[[ 23.68929673]\n", + " [428.20592428]]\n", + "[[ 48.91861012]\n", + " [347.48471097]]\n", + "[[ 64.34291271]\n", + " [270.15549592]]\n", + "[[ 73.07559504]\n", + " [198.18283392]]\n", + "[[ 77.99782555]\n", + " [132.93008617]]\n", + "[[81.28012072]\n", + " [74.62018697]]\n", + "[[84.24443647]\n", + " [22.92280275]]\n", + "[[ 87.43065295]\n", + " [-22.20342436]]\n", + "[[ 90.7709468 ]\n", + " [-60.05361653]]\n", + "[[ 93.85326609]\n", + " [-89.44726085]]\n", + "[[ 96.23919343]\n", + " [-109.59265884]]\n", + "[[ 97.71834995]\n", + " [-120.89257421]]\n", + "[[ 98.37946681]\n", + " [-125.04245786]]\n", + "[[ 98.50379508]\n", + " [-124.40396174]]\n", + "[[ 98.39586512]\n", + " [-121.16638912]]\n", + "[[ 98.25359974]\n", + " [-116.74418191]]\n", + "[[ 98.10534433]\n", + " [-111.50996529]]\n", + "[[ 97.79575173]\n", + " [-104.76236958]]\n", + "[[ 97.00189602]\n", + " [-94.84639814]]\n", + "[[ 95.27887513]\n", + " [-79.44890561]]\n", + "[[ 92.14414019]\n", + " [-56.15046655]]\n", + "[[ 87.1951339 ]\n", + " [-23.23533422]]\n", + "[[80.21832255]\n", + " [19.45794326]]\n", + "[[71.23151878]\n", + " [70.02079471]]\n", + "[[ 60.46310129]\n", + " [124.46294473]]\n", + "[[ 48.3933095 ]\n", + " [176.83820128]]\n", + "[[ 36.03964642]\n", + " [218.81180586]]\n", + "[[ 25.52579179]\n", + " [238.4071791 ]]\n", + "[[ 20.4994729 ]\n", + " [219.38149387]]\n", + "[[ 25.08312885]\n", + " [146.13738336]]\n", + "[[39.97206931]\n", + " [19.50745119]]\n", + "[[ 58.53776385]\n", + " [-128.44446621]]\n", + "[[ 70.26428811]\n", + " [-249.72554504]]\n", + "[[ 69.01360909]\n", + " [-313.27857705]]\n", + "[[ 55.03397054]\n", + " [-312.13107498]]\n", + "[[ 31.41389179]\n", + " [-252.0610912 ]]\n", + "[[ 1.85295065]\n", + " [-147.68844289]]\n", + "[[-29.17344889]\n", + " [-24.97797807]]\n", + "[[-56.72001781]\n", + " [ 84.10241629]]\n", + "[[-77.30118833]\n", + " [156.51229907]]\n", + "[[-90.0904056 ]\n", + " [186.85782883]]\n", + "[[-96.13974932]\n", + " [182.77601152]]\n", + "[[-97.16028259]\n", + " [156.46791358]]\n", + "[[-94.95122626]\n", + " [119.77463676]]\n", + "[[-91.22618941]\n", + " [ 82.41756308]]\n", + "[[-87.43424806]\n", + " [ 51.30313823]]\n", + "[[-84.55297807]\n", + " [ 30.20150459]]\n", + "[[-83.00696791]\n", + " [ 19.99227727]]\n", + "[[-82.76517941]\n", + " [ 19.48076435]]\n", + "[[-83.52836441]\n", + " [ 26.38390329]]\n", + "[[-84.89460751]\n", + " [ 38.07996062]]\n", + "[[-86.45553188]\n", + " [ 51.99348777]]\n", + "[[-87.83813806]\n", + " [ 65.72412892]]\n", + "[[-88.73074112]\n", + " [ 77.10578726]]\n", + "[[-88.92238645]\n", + " [ 84.33341643]]\n", + "[[-88.35761407]\n", + " [ 86.16924899]]\n", + "[[-87.17921689]\n", + " [ 82.1054007 ]]\n", + "[[-85.72371171]\n", + " [ 72.32028131]]\n", + "[[-84.45914397]\n", + " [ 57.37988179]]\n", + "[[-83.89088163]\n", + " [ 37.8078921 ]]\n", + "[[-84.47188045]\n", + " [ 13.71877981]]\n", + "[[-86.53108302]\n", + " [-15.36063502]]\n", + "[[-90.20116973]\n", + " [-50.4586602 ]]\n", + "[[-95.30963729]\n", + " [-92.9430621 ]]\n", + "[[-101.20406694]\n", + " [-144.1634801 ]]\n", + "[[-106.51151073]\n", + " [-205.03641787]]\n", + "[[-108.86581336]\n", + " [-275.74144914]]\n", + "[[-104.63662289]\n", + " [-355.7116956 ]]\n", + "[[ -88.67765544]\n", + " [-443.98251035]]\n", + "[[ -54.31512584]\n", + " [-540.14988678]]\n", + "[[ 5.55681442]\n", + " [-647.39485236]]\n", + "[[ 95.2383941 ]\n", + " [-780.24235031]]\n", + "[[ 211.99863417]\n", + " [-977.25430619]]\n", + "[[ 340.19077262]\n", + " [-1294.00148129]]\n", + "[[ 365.88546441]\n", + " [-1414.21158336]]\n", + "[[-259.94479105]\n", + " [ 953.39946874]]\n", + "[[-501.45746268]\n", + " [1745.19762341]]\n", + "[[-358.13868869]\n", + " [1402.01330745]]\n", + "[[-229.35112644]\n", + " [1257.5683578 ]]\n", + "[[-131.66785263]\n", + " [1191.44299866]]\n", + "[[ -75.09364066]\n", + " [1118.71266999]]\n", + "[[-55.11777577]\n", + " [995.04874894]]\n", + "[[-21.92603881]\n", + " [658.48478511]]\n", + "[[ 102.58553162]\n", + " [-154.86654496]]\n", + "[[ 198.65426441]\n", + " [-760.28619619]]\n", + "[[ 188.82041234]\n", + " [-763.85021392]]\n", + "[[ 160.50878248]\n", + " [-621.14713593]]\n", + "[[ 140.74690729]\n", + " [-490.1668535 ]]\n", + "[[ 128.43286409]\n", + " [-384.67389461]]\n", + "[[ 119.65899458]\n", + " [-298.63441502]]\n", + "[[ 111.77851867]\n", + " [-226.88055934]]\n", + "[[ 103.5300835 ]\n", + " [-166.49913685]]\n", + "[[ 94.64863633]\n", + " [-116.04984818]]\n", + "[[ 85.47324659]\n", + " [-74.97799604]]\n", + "[[ 76.62913764]\n", + " [-43.28171365]]\n", + "[[ 68.79066146]\n", + " [-21.24672479]]\n", + "[[62.51848449]\n", + " [-9.16289509]]\n", + "[[58.16777134]\n", + " [-7.06780884]]\n", + "[[ 55.86321737]\n", + " [-14.60231378]]\n", + "[[ 55.51894942]\n", + " [-30.97685861]]\n", + "[[ 56.85808907]\n", + " [-54.91333077]]\n", + "[[ 59.38263944]\n", + " [-84.37507264]]\n", + "[[ 62.28157202]\n", + " [-116.04407468]]\n", + "[[ 64.36361497]\n", + " [-144.95142917]]\n", + "[[ 64.23086733]\n", + " [-165.26881378]]\n", + "[[ 60.85275477]\n", + " [-172.9896738 ]]\n", + "[[ 54.21112765]\n", + " [-168.93380104]]\n", + "[[ 45.28851149]\n", + " [-158.72476324]]\n", + "[[ 35.29851875]\n", + " [-149.42458809]]\n", + "[[ 24.93671216]\n", + " [-146.48772381]]\n", + "[[ 14.18933227]\n", + " [-153.27799834]]\n", + "[[ 2.60251972]\n", + " [-171.9968742 ]]\n", + "[[ -9.94018594]\n", + " [-203.66313339]]\n", + "[[ -20.62021974]\n", + " [-242.98136622]]\n", + "[[ -15.34277467]\n", + " [-257.65825082]]\n", + "[[ 40.68996624]\n", + " [-163.37859382]]\n", + "[[144.73820055]\n", + " [ 28.04561586]]\n", + "[[198.27306639]\n", + " [ 73.46428794]]\n", + "[[192.80533886]\n", + " [-49.13633218]]\n", + "[[ 184.97764034]\n", + " [-235.04657529]]\n", + "[[ 201.80097563]\n", + " [-474.78465169]]\n", + "[[ 256.72008735]\n", + " [-824.95415064]]\n", + "[[ 331.47447793]\n", + " [-1218.41780321]]\n", + "[[ 49.14146154]\n", + " [115.70005256]]\n", + "[[-279.65979655]\n", + " [1707.47401561]]\n", + "[[-117.92299175]\n", + " [1134.2756651 ]]\n", + "[[-22.19090782]\n", + " [866.40909675]]\n", + "[[ 23.99896881]\n", + " [798.47034469]]\n", + "[[ 34.61712011]\n", + " [823.59748398]]\n", + "[[ 8.06152535]\n", + " [892.78324351]]\n", + "[[-61.36467776]\n", + " [988.11683756]]\n", + "[[-173.56687866]\n", + " [1122.49105863]]\n", + "[[-311.71063384]\n", + " [1336.05923271]]\n", + "[[-397.01230975]\n", + " [1496.8000929 ]]\n", + "[[-20.1934323 ]\n", + " [ -7.80717795]]\n", + "[[ 441.45259441]\n", + " [-1686.68005131]]\n", + "[[ 338.06361182]\n", + " [-1414.29478454]]\n", + "[[ 210.18552359]\n", + " [-1206.74493029]]\n", + "[[ 111.15947659]\n", + " [-1084.66864843]]\n", + "[[ 48.27011706]\n", + " [-971.48053944]]\n", + "[[ 18.70056848]\n", + " [-835.8656522 ]]\n", + "[[-1.93944078e-01]\n", + " [-6.26504553e+02]]\n", + "[[ -51.30731363]\n", + " [-215.62842565]]\n", + "[[-130.88102116]\n", + " [ 310.31329451]]\n", + "[[-159.69040485]\n", + " [ 533.47833405]]\n", + "[[-143.57297196]\n", + " [ 492.02816977]]\n", + "[[-120.12667438]\n", + " [ 387.94188709]]\n", + "[[-100.52312257]\n", + " [ 289.72068143]]\n", + "[[-84.99608666]\n", + " [207.39714879]]\n", + "[[-72.08732093]\n", + " [138.97879313]]\n", + "[[-60.66270342]\n", + " [ 81.49639348]]\n", + "[[-50.09706976]\n", + " [ 32.78889458]]\n", + "[[-40.13893014]\n", + " [ -8.50523965]]\n", + "[[-30.76505255]\n", + " [-43.18082718]]\n", + "[[-22.07244511]\n", + " [-71.6662737 ]]\n", + "[[-14.20261125]\n", + " [-94.19111927]]\n", + "[[ -7.28572372]\n", + " [-110.94678308]]\n", + "[[ -1.39699952]\n", + " [-122.24017 ]]\n", + "[[ 3.47492502]\n", + " [-128.60766489]]\n", + "[[ 7.44348341]\n", + " [-130.84535673]]\n", + "[[ 10.72227394]\n", + " [-129.93302875]]\n", + "[[ 13.61317469]\n", + " [-126.87035765]]\n", + "[[ 16.50006029]\n", + " [-122.47057552]]\n", + "[[ 19.86530499]\n", + " [-117.15031617]]\n", + "[[ 24.33654537]\n", + " [-110.73746315]]\n", + "[[ 30.73432724]\n", + " [-102.37284572]]\n", + "[[ 39.97674676]\n", + " [-90.87768357]]\n", + "[[ 52.45747498]\n", + " [-76.6454556 ]]\n", + "[[ 66.52617267]\n", + " [-66.14664277]]\n", + "[[ 77.43109358]\n", + " [-75.34695553]]\n", + "[[ 80.66110805]\n", + " [-121.00909789]]\n", + "[[ 78.4609903 ]\n", + " [-203.33708659]]\n", + "[[ 80.03723215]\n", + " [-307.9469677 ]]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 95.21246679]\n", + " [-430.85174337]]\n", + "[[ 132.11278654]\n", + " [-599.64080284]]\n", + "[[ 202.82458364]\n", + " [-884.62393858]]\n", + "[[ 321.52216601]\n", + " [-1366.63146487]]\n", + "[[ 268.98649449]\n", + " [-1008.08162352]]\n", + "[[-398.71120681]\n", + " [2258.42736303]]\n", + "[[-194.01322158]\n", + " [1522.78813875]]\n", + "[[ -66.0986264 ]\n", + " [1107.80765671]]\n", + "[[-18.5689496 ]\n", + " [987.74689635]]\n", + "[[-23.7017946 ]\n", + " [987.29968948]]\n", + "[[ -76.26833803]\n", + " [1040.48434911]]\n", + "[[-171.57271032]\n", + " [1135.40069004]]\n", + "[[-290.28349816]\n", + " [1286.66888943]]\n", + "[[-357.17609641]\n", + " [1348.85511713]]\n", + "[[-64.21631365]\n", + " [125.35701102]]\n", + "[[ 340.40041573]\n", + " [-1398.57966306]]\n", + "[[ 286.63369296]\n", + " [-1270.13003312]]\n", + "[[ 180.40311884]\n", + " [-1071.37907941]]\n", + "[[ 93.51573295]\n", + " [-937.39879121]]\n", + "[[ 33.99896246]\n", + " [-820.2478418 ]]\n", + "[[ 0.84653894]\n", + " [-697.53582042]]\n", + "[[ -16.01788895]\n", + " [-554.58070794]]\n", + "[[ -35.65165417]\n", + " [-350.94246918]]\n", + "[[-74.80699978]\n", + " [-49.90755813]]\n", + "[[-116.27087945]\n", + " [ 236.39183042]]\n", + "[[-128.17399731]\n", + " [ 345.81242248]]\n", + "[[-116.73314909]\n", + " [ 316.70651465]]\n", + "[[-99.28201091]\n", + " [243.55839948]]\n", + "[[-83.04847052]\n", + " [168.9105624 ]]\n", + "[[-69.36810616]\n", + " [103.70353069]]\n", + "[[-58.00431602]\n", + " [ 49.04478364]]\n", + "[[-48.58032356]\n", + " [ 3.89294458]]\n", + "[[-40.88037736]\n", + " [-32.97015779]]\n", + "[[-34.8463347 ]\n", + " [-62.63465605]]\n", + "[[-30.51767001]\n", + " [-86.168403 ]]\n", + "[[ -27.98159881]\n", + " [-104.77003264]]\n", + "[[ -27.34921864]\n", + " [-119.86015071]]\n", + "[[ -28.7536279 ]\n", + " [-133.08114198]]\n", + "[[ -32.34484913]\n", + " [-146.19016296]]\n", + "[[ -38.21191829]\n", + " [-160.75137303]]\n", + "[[ -46.04479317]\n", + " [-177.23471665]]\n", + "[[ -54.0563158 ]\n", + " [-192.35046246]]\n", + "[[ -56.32217677]\n", + " [-192.44451563]]\n", + "[[ -39.68026727]\n", + " [-145.83361589]]\n", + "[[ 6.98885739]\n", + " [-27.10416542]]\n", + "[[ 62.71971248]\n", + " [108.07569417]]\n", + "[[ 91.17668732]\n", + " [171.57572424]]\n", + "[[ 92.26274196]\n", + " [165.89069549]]\n", + "[[ 83.49369713]\n", + " [131.28383347]]\n", + "[[75.04589784]\n", + " [89.22869666]]\n", + "[[70.11765637]\n", + " [45.13436646]]\n", + "[[69.3001683 ]\n", + " [-1.96464705]]\n", + "[[ 72.69563396]\n", + " [-55.29718411]]\n", + "[[ 80.68718305]\n", + " [-119.35388092]]\n", + "[[ 94.2032241 ]\n", + " [-199.73520033]]\n", + "[[ 114.42480859]\n", + " [-301.09303024]]\n", + "[[ 139.85877615]\n", + " [-412.24782741]]\n", + "[[ 152.5699841 ]\n", + " [-438.69980264]]\n", + "[[ 100.20899096]\n", + " [-117.07162271]]\n", + "[[ 8.01649531]\n", + " [432.8957217 ]]\n", + "[[-11.24569009]\n", + " [652.93231519]]\n", + "[[ 5.66168056]\n", + " [693.15302529]]\n", + "[[ 13.85362945]\n", + " [737.27924708]]\n", + "[[ -1.62371435]\n", + " [818.62376821]]\n", + "[[-47.931308 ]\n", + " [934.60717044]]\n", + "[[-124.03516809]\n", + " [1075.13919575]]\n", + "[[-198.56753953]\n", + " [1162.44068797]]\n", + "[[-134.29401874]\n", + " [ 718.11129764]]\n", + "[[ 191.53299913]\n", + " [-714.11842131]]\n", + "[[ 316.3643924 ]\n", + " [-1329.57723793]]\n", + "[[ 258.30134602]\n", + " [-1336.90929275]]\n", + "[[ 178.84865994]\n", + " [-1228.98615677]]\n", + "[[ 105.52897813]\n", + " [-974.19701254]]\n", + "[[ 9.66329683]\n", + " [-425.36547284]]\n", + "[[-110.49189173]\n", + " [ 307.99312747]]\n", + "[[-176.65902496]\n", + " [ 711.14319216]]\n", + "[[-189.23880549]\n", + " [ 757.24025538]]\n", + "[[-184.93395071]\n", + " [ 666.23033536]]\n", + "[[-172.03367161]\n", + " [ 526.52282651]]\n", + "[[-147.3289569]\n", + " [ 356.5752236]]\n", + "[[-111.59558967]\n", + " [ 172.08096934]]\n", + "[[-74.48615782]\n", + " [ 10.67134334]]\n", + "[[-47.20153751]\n", + " [-91.13426811]]\n", + "[[ -32.79970151]\n", + " [-130.19419273]]\n", + "[[ -27.44245568]\n", + " [-127.42919855]]\n", + "[[ -26.32216545]\n", + " [-104.24425871]]\n", + "[[-26.24684696]\n", + " [-74.0812425 ]]\n", + "[[-25.56501416]\n", + " [-43.88384945]]\n", + "[[-23.53349305]\n", + " [-16.96001344]]\n", + "[[-19.85397068]\n", + " [ 5.15976299]]\n", + "[[-14.42742778]\n", + " [ 21.77938571]]\n", + "[[-7.24765256]\n", + " [32.60365038]]\n", + "[[ 1.63104956]\n", + " [37.53991725]]\n", + "[[12.09031851]\n", + " [36.58359887]]\n", + "[[23.92795186]\n", + " [29.71118128]]\n", + "[[36.82954643]\n", + " [16.75377345]]\n", + "[[50.33374769]\n", + " [-2.74083854]]\n", + "[[ 63.79579805]\n", + " [-29.6264266 ]]\n", + "[[ 76.36585791]\n", + " [-65.21064562]]\n", + "[[ 87.01772074]\n", + " [-111.18408107]]\n", + "[[ 94.68237889]\n", + " [-169.36617294]]\n", + "[[ 98.54587965]\n", + " [-241.23722629]]\n", + "[[ 98.55140342]\n", + " [-327.32613295]]\n", + "[[ 96.10456723]\n", + " [-426.77254201]]\n", + "[[ 94.90888541]\n", + " [-537.98299133]]\n", + "[[ 101.70589814]\n", + " [-662.39447214]]\n", + "[[ 126.54726533]\n", + " [-813.34573122]]\n", + "[[ 181.30527498]\n", + " [-1021.02960175]]\n", + "[[ 256.21191401]\n", + " [-1221.82215961]]\n", + "[[ 141.14593463]\n", + " [-385.08915915]]\n", + "[[-185.19474376]\n", + " [1527.95334973]]\n", + "[[-132.112186 ]\n", + " [1500.84655415]]\n", + "[[ -92.51182866]\n", + " [1365.23989556]]\n", + "[[-126.75517144]\n", + " [1370.34162968]]\n", + "[[-213.8080921 ]\n", + " [1435.00198829]]\n", + "[[-273.10373212]\n", + " [1339.26731145]]\n", + "[[-71.90739825]\n", + " [268.03652305]]\n", + "[[ 257.98954185]\n", + " [-1177.52561172]]\n", + "[[ 264.96851671]\n", + " [-1386.07703526]]\n", + "[[ 179.30778635]\n", + " [-1270.80608031]]\n", + "[[ 99.33549744]\n", + " [-1055.1793384 ]]\n", + "[[ 25.15909235]\n", + " [-677.61528843]]\n", + "[[ -65.5505145 ]\n", + " [-102.52576598]]\n", + "[[-143.5973295 ]\n", + " [ 408.86424566]]\n", + "[[-170.36689216]\n", + " [ 601.52119215]]\n", + "[[-166.92494774]\n", + " [ 586.61272696]]\n", + "[[-154.96455954]\n", + " [ 502.24238373]]\n", + "[[-139.48616527]\n", + " [ 400.23100866]]\n", + "[[-119.82281748]\n", + " [ 294.07506037]]\n", + "[[-95.75455241]\n", + " [188.72481168]]\n", + "[[-69.30542494]\n", + " [ 91.53440029]]\n", + "[[-44.05370421]\n", + " [ 12.70777738]]\n", + "[[-22.90224599]\n", + " [-41.22680234]]\n", + "[[ -6.51886335]\n", + " [-72.11926952]]\n", + "[[ 6.21970577]\n", + " [-87.71956701]]\n", + "[[ 16.92484433]\n", + " [-96.5762992 ]]\n", + "[[ 26.87391085]\n", + " [-105.25770026]]\n", + "[[ 36.82479412]\n", + " [-118.05739834]]\n", + "[[ 47.12790851]\n", + " [-137.64736184]]\n", + "[[ 57.90422904]\n", + " [-165.74210844]]\n", + "[[ 69.21824218]\n", + " [-203.49259901]]\n", + "[[ 81.23525489]\n", + " [-251.54055158]]\n", + "[[ 94.32121417]\n", + " [-309.52105028]]\n", + "[[ 108.8784871 ]\n", + " [-374.10263769]]\n", + "[[ 124.22501814]\n", + " [-432.50093404]]\n", + "[[ 134.90582352]\n", + " [-444.43346173]]\n", + "[[ 124.91747979]\n", + " [-317.31866528]]\n", + "[[79.4216599 ]\n", + " [24.12337752]]\n", + "[[ 23.76949311]\n", + " [427.84927157]]\n", + "[[-12.31623051]\n", + " [695.38141658]]\n", + "[[-40.77092143]\n", + " [839.70833018]]\n", + "[[-71.63956613]\n", + " [893.84187357]]\n", + "[[-81.49292135]\n", + " [778.44299495]]\n", + "[[-15.51161172]\n", + " [313.05308058]]\n", + "[[ 111.9338288 ]\n", + " [-392.60863258]]\n", + "[[ 176.4957794 ]\n", + " [-822.26399333]]\n", + "[[ 155.74378614]\n", + " [-876.69721105]]\n", + "[[ 90.0052982 ]\n", + " [-656.09662988]]\n", + "[[ 1.51913186]\n", + " [-231.6802438 ]]\n", + "[[-82.71943015]\n", + " [208.77550189]]\n", + "[[-133.65808635]\n", + " [ 453.58182628]]\n", + "[[-149.5321031 ]\n", + " [ 481.48421215]]\n", + "[[-140.58450953]\n", + " [ 372.406124 ]]\n", + "[[-116.04973018]\n", + " [ 202.10627116]]\n", + "[[-86.8532934 ]\n", + " [ 34.83146017]]\n", + "[[-63.20430747]\n", + " [-84.75524075]]\n", + "[[ -49.01836955]\n", + " [-145.30655856]]\n", + "[[ -42.36214232]\n", + " [-159.93480155]]\n", + "[[ -39.55358753]\n", + " [-147.62956468]]\n", + "[[ -37.69861371]\n", + " [-123.39951232]]\n", + "[[-35.15875876]\n", + " [-96.72749672]]\n", + "[[-31.22130842]\n", + " [-72.85190935]]\n", + "[[-25.71057947]\n", + " [-54.21314297]]\n", + "[[-18.72835938]\n", + " [-41.48321796]]\n", + "[[-10.51270248]\n", + " [-34.2183277 ]]\n", + "[[ -1.37291239]\n", + " [-31.24249684]]\n", + "[[ 8.33009097]\n", + " [-30.83780901]]\n", + "[[ 18.17761302]\n", + " [-30.80504351]]\n", + "[[ 27.67846721]\n", + " [-28.48270376]]\n", + "[[ 36.26723458]\n", + " [-20.8583657 ]]\n", + "[[43.34038486]\n", + " [-4.93583085]]\n", + "[[48.3451445 ]\n", + " [21.53532856]]\n", + "[[50.9072408 ]\n", + " [59.04956558]]\n", + "[[ 50.96403987]\n", + " [105.33358627]]\n", + "[[ 48.91485333]\n", + " [154.52873489]]\n", + "[[ 45.8976675 ]\n", + " [196.38048982]]\n", + "[[ 44.25614111]\n", + " [215.33579724]]\n", + "[[ 47.73686928]\n", + " [191.35786061]]\n", + "[[ 59.95065323]\n", + " [108.02819367]]\n", + "[[ 80.00853453]\n", + " [-28.34903957]]\n", + "[[ 99.19324005]\n", + " [-174.97924399]]\n", + "[[ 105.43655434]\n", + " [-271.10354599]]\n", + "[[ 91.70302161]\n", + " [-273.4760292 ]]\n", + "[[ 59.12386716]\n", + " [-176.75289523]]\n", + "[[ 16.05464437]\n", + " [-21.2221567 ]]\n", + "[[-25.09934506]\n", + " [121.1729073 ]]\n", + "[[-54.2657822 ]\n", + " [191.45358755]]\n", + "[[-68.17417402]\n", + " [176.50292312]]\n", + "[[-69.92053657]\n", + " [103.40032939]]\n", + "[[-66.15161797]\n", + " [ 15.56958592]]\n", + "[[-63.09413521]\n", + " [-51.38085759]]\n", + "[[-63.51241125]\n", + " [-82.97568286]]\n", + "[[-66.77515498]\n", + " [-83.25233493]]\n", + "[[-70.80738028]\n", + " [-64.46304126]]\n", + "[[-73.70616245]\n", + " [-38.80889528]]\n", + "[[-74.36249444]\n", + " [-14.76470397]]\n", + "[[-72.44035458]\n", + " [ 3.39515527]]\n", + "[[-68.12127388]\n", + " [ 14.58202478]]\n", + "[[-61.83604379]\n", + " [ 19.52601238]]\n", + "[[-54.06877823]\n", + " [ 19.64955264]]\n", + "[[-45.2462626 ]\n", + " [ 16.36814139]]\n", + "[[-35.69406068]\n", + " [ 10.76910824]]\n", + "[[-25.63418489]\n", + " [ 3.54000227]]\n", + "[[-15.20435074]\n", + " [ -4.96863043]]\n", + "[[ -4.48690094]\n", + " [-14.6176617 ]]\n", + "[[ 6.45778185]\n", + " [-25.3218169 ]]\n", + "[[ 17.55408978]\n", + " [-36.8632351 ]]\n", + "[[ 28.6685581 ]\n", + " [-48.66557263]]\n", + "[[ 39.56002757]\n", + " [-59.52128924]]\n", + "[[ 49.8249636 ]\n", + " [-67.29727562]]\n", + "[[ 58.85283003]\n", + " [-68.72978319]]\n", + "[[ 65.8306548 ]\n", + " [-59.57259151]]\n", + "[[ 69.86055294]\n", + " [-35.50595228]]\n", + "[[70.23457539]\n", + " [ 5.92421656]]\n", + "[[66.80298011]\n", + " [62.7793088 ]]\n", + "[[ 60.26394759]\n", + " [126.9002981 ]]\n", + "[[ 52.31522623]\n", + " [183.74747083]]\n", + "[[ 45.8123924 ]\n", + " [213.61438144]]\n", + "[[ 44.66487519]\n", + " [194.87076454]]\n", + "[[ 52.0860129 ]\n", + " [113.80312946]]\n", + "[[ 66.41332762]\n", + " [-17.140994 ]]\n", + "[[ 78.73894856]\n", + " [-150.80628939]]\n", + "[[ 78.17654833]\n", + " [-229.21210476]]\n", + "[[ 59.83711519]\n", + " [-219.52981667]]\n", + "[[ 27.00255188]\n", + " [-129.90784395]]\n", + "[[-11.39461022]\n", + " [ -4.96881682]]\n", + "[[-45.22670705]\n", + " [ 98.12838194]]\n", + "[[-67.9969323 ]\n", + " [143.17023733]]\n", + "[[-78.72175197]\n", + " [128.97456087]]\n", + "[[-80.50271481]\n", + " [ 78.47354125]]\n", + "[[-77.95979816]\n", + " [ 20.34027746]]\n", + "[[-74.8561602 ]\n", + " [-24.71125468]]\n", + "[[-72.88703993]\n", + " [-48.78826839]]\n", + "[[-71.96519122]\n", + " [-53.98173075]]\n", + "[[-71.20709076]\n", + " [-46.80472188]]\n", + "[[-69.72779657]\n", + " [-33.95203801]]\n", + "[[-66.97947741]\n", + " [-20.36412253]]\n", + "[[-62.77326782]\n", + " [ -8.90728095]]\n", + "[[-57.17289546]\n", + " [ -0.80105922]]\n", + "[[-50.37247395]\n", + " [ 3.76953644]]\n", + "[[-42.60311171]\n", + " [ 5.12605977]]\n", + "[[-34.07670893]\n", + " [ 3.73828968]]\n", + "[[-24.96078601]\n", + " [ 0.02871918]]\n", + "[[-15.37494069]\n", + " [ -5.69918361]]\n", + "[[ -5.40115812]\n", + " [-13.24743393]]\n", + "[[ 4.89671412]\n", + " [-22.4492647 ]]\n", + "[[ 15.44603066]\n", + " [-33.04267171]]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 26.13041353]\n", + " [-44.48819887]]\n", + "[[ 36.74538689]\n", + " [-55.72495503]]\n", + "[[ 46.94531134]\n", + " [-64.877963 ]]\n", + "[[ 56.19143486]\n", + " [-68.99372882]]\n", + "[[ 63.73164952]\n", + " [-64.01389197]]\n", + "[[ 68.67058421]\n", + " [-45.36536988]]\n", + "[[70.18943598]\n", + " [-9.53939796]]\n", + "[[67.89087618]\n", + " [43.50150744]]\n", + "[[ 62.10945112]\n", + " [108.18330381]]\n", + "[[ 54.0679062 ]\n", + " [172.64894496]]\n", + "[[ 46.04391163]\n", + " [219.36772508]]\n", + "[[ 41.64436993]\n", + " [226.47827587]]\n", + "[[ 45.21684947]\n", + " [173.04158345]]\n", + "[[58.49237577]\n", + " [54.73675112]]\n", + "[[ 75.73458546]\n", + " [-96.44080104]]\n", + "[[ 84.92117675]\n", + " [-218.9545476 ]]\n", + "[[ 76.66141736]\n", + " [-260.26702542]]\n", + "[[ 50.08470469]\n", + " [-205.5482336 ]]\n", + "[[ 11.84267232]\n", + " [-82.37179617]]\n", + "[[-27.42102492]\n", + " [ 51.31363474]]\n", + "[[-58.11495362]\n", + " [139.64556007]]\n", + "[[-75.89130485]\n", + " [159.75777851]]\n", + "[[-81.8674171 ]\n", + " [123.72677817]]\n", + "[[-80.38085949]\n", + " [ 61.08370767]]\n", + "[[-76.33182785]\n", + " [ 0.68688289]]\n", + "[[-73.01317519]\n", + " [-40.32473864]]\n", + "[[-71.40602927]\n", + " [-58.22345596]]\n", + "[[-70.91124942]\n", + " [-57.83831479]]\n", + "[[-70.44220094]\n", + " [-46.730707 ]]\n", + "[[-69.11092764]\n", + " [-31.57932285]]\n", + "[[-66.43999779]\n", + " [-16.88439652]]\n", + "[[-62.31256527]\n", + " [ -5.02286158]]\n", + "[[-56.84102598]\n", + " [ 3.17181621]]\n", + "[[-50.24338145]\n", + " [ 7.76755028]]\n", + "[[-42.75625947]\n", + " [ 9.22627304]]\n", + "[[-34.58554561]\n", + " [ 8.07720601]]\n", + "[[-25.8858301]\n", + " [ 4.7461422]]\n", + "[[-16.75878917]\n", + " [ -0.50423951]]\n", + "[[-7.26298311]\n", + " [-7.56224558]]\n", + "[[ 2.56929034]\n", + " [-16.40704495]]\n", + "[[ 12.70961315]\n", + " [-27.00812422]]\n", + "[[ 23.10479873]\n", + " [-39.17817956]]\n", + "[[ 33.63953958]\n", + " [-52.36387137]]\n", + "[[ 44.08726725]\n", + " [-65.3588462 ]]\n", + "[[ 54.04890836]\n", + " [-75.94885757]]\n", + "[[ 62.89134016]\n", + " [-80.58445033]]\n", + "[[ 69.72677148]\n", + " [-74.36295793]]\n", + "[[ 73.51478903]\n", + " [-51.84051547]]\n", + "[[73.36418014]\n", + " [-9.15181869]]\n", + "[[68.9704079 ]\n", + " [52.95458799]]\n", + "[[ 60.92609842]\n", + " [126.89894631]]\n", + "[[ 50.77208139]\n", + " [198.31540002]]\n", + "[[ 41.13865462]\n", + " [247.3247983 ]]\n", + "[[ 36.1662664 ]\n", + " [249.80865814]]\n", + "[[ 40.8388969 ]\n", + " [183.19778644]]\n", + "[[56.73777521]\n", + " [45.51168246]]\n", + "[[ 76.35520721]\n", + " [-122.32271002]]\n", + "[[ 85.77037934]\n", + " [-249.96546454]]\n", + "[[ 75.65775623]\n", + " [-284.45026169]]\n", + "[[ 46.47917357]\n", + " [-216.25883578]]\n", + "[[ 6.08754545]\n", + " [-79.29120118]]\n", + "[[-34.16882802]\n", + " [ 63.29560126]]\n", + "[[-64.64439542]\n", + " [154.17953257]]\n", + "[[-81.44208236]\n", + " [172.7060945 ]]\n", + "[[-86.13292169]\n", + " [133.58826813]]\n", + "[[-83.29845814]\n", + " [ 67.6713516 ]]\n", + "[[-77.97123996]\n", + " [ 4.22264969]]\n", + "[[-73.54980016]\n", + " [-39.44670167]]\n", + "[[-71.09128452]\n", + " [-59.46279321]]\n", + "[[-70.02806179]\n", + " [-60.54119935]]\n", + "[[-69.26670892]\n", + " [-50.1905154 ]]\n", + "[[-67.88827542]\n", + " [-35.11537456]]\n", + "[[-65.37192168]\n", + " [-19.91826221]]\n", + "[[-61.55407244]\n", + " [ -7.12584095]]\n", + "[[-56.50415787]\n", + " [ 2.27267278]]\n", + "[[-50.40544795]\n", + " [ 8.21724685]]\n", + "[[-43.46946229]\n", + " [ 11.08491728]]\n", + "[[-35.88535754]\n", + " [ 11.36033319]]\n", + "[[-27.79644886]\n", + " [ 9.45041991]]\n", + "[[-19.29480694]\n", + " [ 5.60376578]]\n", + "[[-10.42679871]\n", + " [ -0.10197477]]\n", + "[[-1.20514746]\n", + " [-7.72912542]]\n", + "[[ 8.37444988]\n", + " [-17.41596293]]\n", + "[[ 18.31213397]\n", + " [-29.27731581]]\n", + "[[ 28.57640838]\n", + " [-43.25593885]]\n", + "[[ 39.06688144]\n", + " [-58.90022939]]\n", + "[[ 49.56198826]\n", + " [-75.03792554]]\n", + "[[ 59.64709492]\n", + " [-89.33150432]]\n", + "[[ 68.62940797]\n", + " [-97.78691841]]\n", + "[[ 75.48314201]\n", + " [-94.52555504]]\n", + "[[ 78.93713249]\n", + " [-72.53212602]]\n", + "[[ 77.84726192]\n", + " [-26.24076023]]\n", + "[[71.80505686]\n", + " [44.32189535]]\n", + "[[ 61.54727469]\n", + " [130.50915831]]\n", + "[[ 48.83705743]\n", + " [215.80045216]]\n", + "[[ 36.39104607]\n", + " [278.43104756]]\n", + "[[ 28.54737582]\n", + " [292.2722204 ]]\n", + "[[ 31.32004165]\n", + " [230.14807586]]\n", + "[[48.1688708 ]\n", + " [82.97796664]]\n", + "[[ 72.12019372]\n", + " [-109.34079395]]\n", + "[[ 86.8286073]\n", + " [-265.7957278]]\n", + "[[ 80.33719024]\n", + " [-321.94837971]]\n", + "[[ 52.34918862]\n", + " [-262.75512904]]\n", + "[[ 10.80200583]\n", + " [-119.43762793]]\n", + "[[-32.36706353]\n", + " [ 42.41223024]]\n", + "[[-66.21018211]\n", + " [156.33953591]]\n", + "[[-85.63744627]\n", + " [192.7686855 ]]\n", + "[[-91.6167319 ]\n", + " [162.40637195]]\n", + "[[-88.55753192]\n", + " [ 96.0106793 ]]\n", + "[[-81.80245849]\n", + " [ 25.44084456]]\n", + "[[-75.47333696]\n", + " [-27.98467654]]\n", + "[[-71.33303751]\n", + " [-56.94102975]]\n", + "[[-69.17820194]\n", + " [-64.38317395]]\n", + "[[-67.95433209]\n", + " [-57.52229858]]\n", + "[[-66.61847875]\n", + " [-43.52607326]]\n", + "[[-64.48973694]\n", + " [-27.69371787]]\n", + "[[-61.26657181]\n", + " [-13.21382799]]\n", + "[[-56.91883738]\n", + " [ -1.59308403]]\n", + "[[-51.56712952]\n", + " [ 6.76263622]]\n", + "[[-45.38959529]\n", + " [ 12.03962556]]\n", + "[[-38.56228671]\n", + " [ 14.64932865]]\n", + "[[-31.22714546]\n", + " [ 14.99947161]]\n", + "[[-23.47926232]\n", + " [ 13.37228657]]\n", + "[[-15.36625542]\n", + " [ 9.87528553]]\n", + "[[-6.89488437]\n", + " [ 4.4378211 ]]\n", + "[[ 1.95777856]\n", + " [-3.16213597]]\n", + "[[ 11.22960299]\n", + " [-13.2458285 ]]\n", + "[[ 20.95488105]\n", + " [-26.15147394]]\n", + "[[ 31.14079228]\n", + " [-42.10755787]]\n", + "[[ 41.73591654]\n", + " [-61.03436943]]\n", + "[[ 52.58442743]\n", + " [-82.22790566]]\n", + "[[ 63.35422729]\n", + " [-103.86148295]]\n", + "[[ 73.42500928]\n", + " [-122.25807558]]\n", + "[[ 81.74387891]\n", + " [-131.05911492]]\n", + "[[ 86.74693929]\n", + " [-120.97215571]]\n", + "[[ 86.61715574]\n", + " [-81.72989634]]\n", + "[[80.14944022]\n", + " [-7.80701 ]]\n", + "[[67.79628156]\n", + " [94.56778061]]\n", + "[[ 51.66808125]\n", + " [206.47930722]]\n", + "[[ 34.55137464]\n", + " [302.87453514]]\n", + "[[ 20.08484466]\n", + " [356.59815013]]\n", + "[[ 14.50768325]\n", + " [336.01381098]]\n", + "[[ 25.6560899 ]\n", + " [212.19766474]]\n", + "[[53.63529204]\n", + " [-3.39097261]]\n", + "[[ 81.96166611]\n", + " [-227.5933136 ]]\n", + "[[ 90.13919224]\n", + " [-360.91033434]]\n", + "[[ 71.76761259]\n", + " [-360.10805911]]\n", + "[[ 32.99827918]\n", + " [-238.93889198]]\n", + "[[-14.42100154]\n", + " [-54.00440258]]\n", + "[[-57.05992552]\n", + " [113.97909457]]\n", + "[[-85.64995013]\n", + " [206.21682161]]\n", + "[[-98.33729894]\n", + " [213.50158417]]\n", + "[[-98.37147751]\n", + " [160.9390924 ]]\n", + "[[-91.11153227]\n", + " [ 83.68358229]]\n", + "[[-81.91310503]\n", + " [ 11.66477768]]\n", + "[[-74.33285031]\n", + " [-38.25544989]]\n", + "[[-69.47679228]\n", + " [-62.73487747]]\n", + "[[-66.7469037 ]\n", + " [-66.80764184]]\n", + "[[-64.98136825]\n", + " [-58.08746762]]\n", + "[[-63.1776577 ]\n", + " [-43.31353828]]\n", + "[[-60.72216087]\n", + " [-27.18753772]]\n", + "[[-57.35341524]\n", + " [-12.44139682]]\n", + "[[-53.04553127]\n", + " [ -0.33531198]]\n", + "[[-47.89750953]\n", + " [ 8.80143907]]\n", + "[[-42.05294848]\n", + " [ 15.12899888]]\n", + "[[-35.64997393]\n", + " [ 18.98511321]]\n", + "[[-28.79428639]\n", + " [ 20.68840157]]\n", + "[[-21.5479147 ]\n", + " [ 20.42815243]]\n", + "[[-13.92801946]\n", + " [ 18.21297431]]\n", + "[[-5.91220341]\n", + " [13.85798535]]\n", + "[[2.55145221]\n", + " [6.99900401]]\n", + "[[11.53035017]\n", + " [-2.8703469 ]]\n", + "[[ 21.08983355]\n", + " [-16.33735613]]\n", + "[[ 31.27297401]\n", + " [-33.97872733]]\n", + "[[ 42.07850594]\n", + " [-56.22410973]]\n", + "[[ 53.43528504]\n", + " [-83.13888371]]\n", + "[[ 65.16336579]\n", + " [-114.04553065]]\n", + "[[ 76.89348709]\n", + " [-146.82543504]]\n", + "[[ 87.88981212]\n", + " [-176.66196484]]\n", + "[[ 96.72113547]\n", + " [-194.11280798]]\n", + "[[ 100.89955531]\n", + " [-183.48467972]]\n", + "[[ 97.18743261]\n", + " [-125.61188254]]\n", + "[[ 83.69130281]\n", + " [-11.0598735 ]]\n", + "[[ 62.54773841]\n", + " [143.03467236]]\n", + "[[ 38.6521912 ]\n", + " [298.16047265]]\n", + "[[ 15.677312 ]\n", + " [418.56224833]]\n", + "[[ -2.95317693]\n", + " [475.65206163]]\n", + "[[ -8.82800414]\n", + " [431.87233075]]\n", + "[[ 10.5210408 ]\n", + " [246.47285694]]\n", + "[[ 53.73007695]\n", + " [-55.06485991]]\n", + "[[ 91.93646923]\n", + " [-335.39751188]]\n", + "[[ 98.4406475 ]\n", + " [-470.03415961]]\n", + "[[ 72.34446625]\n", + " [-435.29210414]]\n", + "[[ 25.11548308]\n", + " [-265.10782308]]\n", + "[[-28.81734822]\n", + " [-33.69065631]]\n", + "[[-74.14105318]\n", + " [160.88154024]]\n", + "[[-101.73842943]\n", + " [ 257.10762818]]\n", + "[[-111.5051746 ]\n", + " [ 255.97554515]]\n", + "[[-107.96847852]\n", + " [ 191.45570588]]\n", + "[[-97.02437739]\n", + " [102.49467803]]\n", + "[[-84.40815141]\n", + " [ 20.52896933]]\n", + "[[-74.02405258]\n", + " [-36.82620277]]\n", + "[[-67.1334874 ]\n", + " [-66.17174301]]\n", + "[[-63.08502483]\n", + " [-72.98821753]]\n", + "[[-60.57108121]\n", + " [-65.42503523]]\n", + "[[-58.4433445 ]\n", + " [-50.63388342]]\n", + "[[-55.97147586]\n", + " [-33.61110049]]\n", + "[[-52.80361354]\n", + " [-17.32766644]]\n", + "[[-48.84174378]\n", + " [ -3.26136857]]\n", + "[[-44.12594316]\n", + " [ 8.06005643]]\n", + "[[-38.75150622]\n", + " [ 16.62560217]]\n", + "[[-32.81685069]\n", + " [ 22.63224033]]\n", + "[[-26.39422295]\n", + " [ 26.28196882]]\n", + "[[-19.51605765]\n", + " [ 27.65926012]]\n", + "[[-12.17217513]\n", + " [ 26.66679933]]\n", + "[[-4.31518013]\n", + " [23.00403823]]\n", + "[[ 4.1271721 ]\n", + " [16.17935355]]\n", + "[[13.23366464]\n", + " [ 5.54996171]]\n", + "[[23.06755142]\n", + " [-9.61645796]]\n", + "[[ 33.6550518 ]\n", + " [-30.06559955]]\n", + "[[ 44.97046618]\n", + " [-56.46827913]]\n", + "[[ 56.93292411]\n", + " [-89.30193578]]\n", + "[[ 69.41214229]\n", + " [-128.63390168]]\n", + "[[ 82.21887655]\n", + " [-173.6346384 ]]\n", + "[[ 95.00392063]\n", + " [-221.43556148]]\n", + "[[ 106.88658881]\n", + " [-264.56218473]]\n", + "[[ 115.54156701]\n", + " [-285.99731909]]\n", + "[[ 115.95691915]\n", + " [-253.83452726]]\n", + "[[ 101.58084491]\n", + " [-130.4210631 ]]\n", + "[[72.04793341]\n", + " [82.69631171]]\n", + "[[ 37.83266551]\n", + " [316.09133104]]\n", + "[[ 7.49082034]\n", + " [499.63801757]]\n", + "[[-18.97153718]\n", + " [609.20909266]]\n", + "[[-37.98230873]\n", + " [622.6086226 ]]\n", + "[[-31.95801465]\n", + " [478.79427905]]\n", + "[[ 17.56156389]\n", + " [128.89615443]]\n", + "[[ 85.7102329 ]\n", + " [-296.56563017]]\n", + "[[ 118.28378363]\n", + " [-562.5643058 ]]\n", + "[[ 103.01302932]\n", + " [-602.62343899]]\n", + "[[ 56.42294183]\n", + " [-455.68582896]]\n", + "[[ -5.29936328]\n", + " [-185.19703908]]\n", + "[[-64.55446464]\n", + " [ 97.32145236]]\n", + "[[-105.33417121]\n", + " [ 279.74811595]]\n", + "[[-123.65721496]\n", + " [ 331.84390174]]\n", + "[[-124.09574226]\n", + " [ 287.24445297]]\n", + "[[-112.84197167]\n", + " [ 192.20850115]]\n", + "[[-96.30939913]\n", + " [ 86.9170096 ]]\n", + "[[-80.32838688]\n", + " [ 0.17095235]]\n", + "[[-68.32405863]\n", + " [-54.92340871]]\n", + "[[-60.78061 ]\n", + " [-79.43446642]]\n", + "[[-56.43826404]\n", + " [-81.63912042]]\n", + "[[-53.70071197]\n", + " [-70.69357353]]\n", + "[[-51.34738779]\n", + " [-53.716903 ]]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[-48.6591202 ]\n", + " [-35.33036016]]\n", + "[[-45.30280144]\n", + " [-18.1560103 ]]\n", + "[[-41.18028375]\n", + " [ -3.47228741]]\n", + "[[-36.31055331]\n", + " [ 8.23877473]]\n", + "[[-30.752993 ]\n", + " [ 16.89431943]]\n", + "[[-24.562603 ]\n", + " [ 22.54197414]]\n", + "[[-17.7673784 ]\n", + " [ 25.18989994]]\n", + "[[-10.36112827]\n", + " [ 24.71120316]]\n", + "[[-2.30779796]\n", + " [20.80514562]]\n", + "[[ 6.4452357 ]\n", + " [13.00220828]]\n", + "[[15.94761635]\n", + " [ 0.70133685]]\n", + "[[ 26.22448443]\n", + " [-16.77322092]]\n", + "[[ 37.25928112]\n", + " [-40.10670096]]\n", + "[[ 48.9880176 ]\n", + " [-69.92033863]]\n", + "[[ 61.30936062]\n", + " [-106.65985101]]\n", + "[[ 74.10408539]\n", + " [-150.3532235 ]]\n", + "[[ 87.22760786]\n", + " [-200.01034473]]\n", + "[[ 100.3639441 ]\n", + " [-252.12896834]]\n", + "[[ 112.47192832]\n", + " [-297.16209322]]\n", + "[[ 120.4248982 ]\n", + " [-312.52950067]]\n", + "[[ 117.38984496]\n", + " [-256.10290556]]\n", + "[[ 95.83227724]\n", + " [-86.16002238]]\n", + "[[ 59.53055363]\n", + " [170.64096567]]\n", + "[[ 23.57188738]\n", + " [414.91840366]]\n", + "[[ -6.23464559]\n", + " [585.74401149]]\n", + "[[-32.73143312]\n", + " [674.8707695 ]]\n", + "[[-49.20888686]\n", + " [653.5151968 ]]\n", + "[[-31.21827102]\n", + " [440.31461151]]\n", + "[[36.50306875]\n", + " [ 5.56857873]]\n", + "[[ 107.79271225]\n", + " [-434.85825414]]\n", + "[[ 127.68945656]\n", + " [-648.45162226]]\n", + "[[ 99.46525293]\n", + " [-625.51961077]]\n", + "[[ 43.63618183]\n", + " [-419.27824943]]\n", + "[[ -23.40158552]\n", + " [-106.54359256]]\n", + "[[-82.04800319]\n", + " [179.62121015]]\n", + "[[-117.71497548]\n", + " [ 334.38088757]]\n", + "[[-130.19251561]\n", + " [ 353.43626788]]\n", + "[[-125.65915491]\n", + " [ 283.51321479]]\n", + "[[-110.6719139 ]\n", + " [ 173.20083489]]\n", + "[[-91.99993596]\n", + " [ 62.32515145]]\n", + "[[-75.46260644]\n", + " [-22.45593357]]\n", + "[[-63.88336512]\n", + " [-71.79223945]]\n", + "[[-57.0272244 ]\n", + " [-90.14106682]]\n", + "[[-53.21118343]\n", + " [-87.52225315]]\n", + "[[-50.72166568]\n", + " [-73.46865588]]\n", + "[[-48.3735057 ]\n", + " [-54.85104716]]\n", + "[[-45.51986851]\n", + " [-35.90659879]]\n", + "[[-41.88807952]\n", + " [-18.93538172]]\n", + "[[-37.41793503]\n", + " [ -5.00088485]]\n", + "[[-32.14759387]\n", + " [ 5.53413386]]\n", + "[[-26.14379175]\n", + " [ 12.63607009]]\n", + "[[-19.46360673]\n", + " [ 16.35771434]]\n", + "[[-12.13721676]\n", + " [ 16.69120713]]\n", + "[[-4.16484703]\n", + " [13.49202163]]\n", + "[[4.47630151]\n", + " [6.45644137]]\n", + "[[13.8182858 ]\n", + " [-4.86013778]]\n", + "[[ 23.88515048]\n", + " [-20.99327602]]\n", + "[[ 34.67618173]\n", + " [-42.49188495]]\n", + "[[ 46.15337375]\n", + " [-69.80343571]]\n", + "[[ 58.23257215]\n", + " [-103.07981385]]\n", + "[[ 70.76430109]\n", + " [-141.79087048]]\n", + "[[ 83.45753931]\n", + " [-183.8898302 ]]\n", + "[[ 95.63529468]\n", + " [-224.02852843]]\n", + "[[ 105.6435893 ]\n", + " [-250.16623116]]\n", + "[[ 109.94284158]\n", + " [-239.29330388]]\n", + "[[ 103.22206472]\n", + " [-159.95013798]]\n", + "[[82.65309391]\n", + " [ 2.117022 ]]\n", + "[[ 53.63617209]\n", + " [209.91426058]]\n", + "[[ 24.77761949]\n", + " [399.45682037]]\n", + "[[ -1.23844223]\n", + " [533.31532679]]\n", + "[[-23.01287583]\n", + " [591.11275458]]\n", + "[[-29.59270061]\n", + " [528.92896983]]\n", + "[[ -1.05716269]\n", + " [282.6917238 ]]\n", + "[[ 60.85258573]\n", + " [-113.37013436]]\n", + "[[ 110.45425169]\n", + " [-452.27011155]]\n", + "[[ 114.83125517]\n", + " [-586.75828265]]\n", + "[[ 80.82316661]\n", + " [-518.83392625]]\n", + "[[ 24.44436603]\n", + " [-296.18524429]]\n", + "[[-37.79215816]\n", + " [ -8.92352244]]\n", + "[[-87.57207356]\n", + " [219.37477042]]\n", + "[[-115.2157236 ]\n", + " [ 320.05880391]]\n", + "[[-122.47361152]\n", + " [ 306.09356932]]\n", + "[[-115.21747745]\n", + " [ 222.4906428 ]]\n", + "[[-100.13004331]\n", + " [ 114.33028043]]\n", + "[[-83.84430086]\n", + " [ 17.19521691]]\n", + "[[-70.94597453]\n", + " [-49.23272859]]\n", + "[[-62.75471994]\n", + " [-82.13212703]]\n", + "[[-58.24980398]\n", + " [-88.94714566]]\n", + "[[-55.70955621]\n", + " [-79.67205973]]\n", + "[[-53.70478048]\n", + " [-62.63989222]]\n", + "[[-51.35722254]\n", + " [-43.46917323]]\n", + "[[-48.24866049]\n", + " [-25.42895047]]\n", + "[[-44.25439648]\n", + " [-10.13654269]]\n", + "[[-39.4045653]\n", + " [ 1.8131842]]\n", + "[[-33.7912121 ]\n", + " [ 10.37503454]]\n", + "[[-27.51277323]\n", + " [ 15.7273328 ]]\n", + "[[-20.64446 ]\n", + " [ 18.06222733]]\n", + "[[-13.22583107]\n", + " [ 17.46320431]]\n", + "[[-5.25996152]\n", + " [13.84646687]]\n", + "[[3.27916518]\n", + " [6.94962115]]\n", + "[[12.43324944]\n", + " [-3.64269886]]\n", + "[[ 22.24224128]\n", + " [-18.44139555]]\n", + "[[ 32.72514083]\n", + " [-37.96269527]]\n", + "[[ 43.86082533]\n", + " [-62.59195659]]\n", + "[[ 55.56698646]\n", + " [-92.36011703]]\n", + "[[ 67.66395347]\n", + " [-126.53225991]]\n", + "[[ 79.78504807]\n", + " [-162.80092406]]\n", + "[[ 91.1550103 ]\n", + " [-195.74274688]]\n", + "[[ 100.1479131 ]\n", + " [-214.30003848]]\n", + "[[ 103.77299797]\n", + " [-199.5005607 ]]\n", + "[[ 98.11575456]\n", + " [-128.28734566]]\n", + "[[81.35892618]\n", + " [ 7.95472593]]\n", + "[[ 57.11845493]\n", + " [182.74458532]]\n", + "[[ 31.4430471 ]\n", + " [348.83944702]]\n", + "[[ 7.47997485]\n", + " [470.83702419]]\n", + "[[-11.77750586]\n", + " [522.53474059]]\n", + "[[-16.32673898]\n", + " [462.25380253]]\n", + "[[ 8.93197217]\n", + " [241.95313008]]\n", + "[[ 60.39440433]\n", + " [-100.79929876]]\n", + "[[ 101.64615577]\n", + " [-397.84956109]]\n", + "[[ 105.11054463]\n", + " [-521.74770979]]\n", + "[[ 74.04123246]\n", + " [-463.08133372]]\n", + "[[ 21.99208078]\n", + " [-263.81435205]]\n", + "[[-35.46221623]\n", + " [ -7.93919004]]\n", + "[[-81.84564506]\n", + " [195.98218762]]\n", + "[[-108.36856346]\n", + " [ 287.33952166]]\n", + "[[-116.08794933]\n", + " [ 275.10108335]]\n", + "[[-110.25871782]\n", + " [ 198.94496583]]\n", + "[[-97.22616122]\n", + " [100.63985387]]\n", + "[[-83.10952328]\n", + " [ 12.98297959]]\n", + "[[-71.94818793]\n", + " [-46.45199229]]\n", + "[[-64.83873126]\n", + " [-75.40608504]]\n", + "[[-60.86049797]\n", + " [-80.68401416]]\n", + "[[-58.50146176]\n", + " [-71.34417953]]\n", + "[[-56.50858864]\n", + " [-54.98515426]]\n", + "[[-54.11434495]\n", + " [-36.76097476]]\n", + "[[-50.96145601]\n", + " [-19.66589078]]\n", + "[[-46.95717864]\n", + " [ -5.15293734]]\n", + "[[-42.14838984]\n", + " [ 6.28456666]]\n", + "[[-36.63585415]\n", + " [ 14.66534866]]\n", + "[[-30.52194729]\n", + " [ 20.20749466]]\n", + "[[-23.88220375]\n", + " [ 23.12620501]]\n", + "[[-16.75291506]\n", + " [ 23.51452511]]\n", + "[[-9.12968314]\n", + " [21.28408269]]\n", + "[[-0.97400346]\n", + " [16.1496117 ]]\n", + "[[7.77378267]\n", + " [7.64724668]]\n", + "[[17.17667447]\n", + " [-4.81943745]]\n", + "[[ 27.28073861]\n", + " [-21.90955536]]\n", + "[[ 38.09601461]\n", + " [-44.25127712]]\n", + "[[ 49.5820843 ]\n", + " [-72.31118047]]\n", + "[[ 61.63708056]\n", + " [-106.17833194]]\n", + "[[ 74.07406512]\n", + " [-145.13909344]]\n", + "[[ 86.53415354]\n", + " [-186.77240972]]\n", + "[[ 98.22310123]\n", + " [-225.06962527]]\n", + "[[ 107.31333492]\n", + " [-247.05898414]]\n", + "[[ 110.14059356]\n", + " [-229.20152706]]\n", + "[[ 101.68753663]\n", + " [-141.99241065]]\n", + "[[80.03810042]\n", + " [23.25462904]]\n", + "[[ 51.01105403]\n", + " [226.33100644]]\n", + "[[ 22.44001506]\n", + " [406.89071615]]\n", + "[[ -3.18468401]\n", + " [529.93300594]]\n", + "[[-23.21332947]\n", + " [571.999064 ]]\n", + "[[-25.41172372]\n", + " [486.19696448]]\n", + "[[ 7.71749339]\n", + " [219.84561445]]\n", + "[[ 67.2611591 ]\n", + " [-164.16059571]]\n", + "[[ 108.22592028]\n", + " [-463.60579711]]\n", + "[[ 105.82639736]\n", + " [-563.03335022]]\n", + "[[ 68.95139389]\n", + " [-473.68466633]]\n", + "[[ 12.87699335]\n", + " [-246.72047119]]\n", + "[[-46.06812793]\n", + " [ 24.26246836]]\n", + "[[-91.21922352]\n", + " [226.39259085]]\n", + "[[-115.1833327 ]\n", + " [ 307.17071526]]\n", + "[[-120.40431856]\n", + " [ 284.80279172]]\n", + "[[-112.6001017 ]\n", + " [ 202.23793049]]\n", + "[[-98.12845069]\n", + " [100.94939299]]\n", + "[[-83.01050617]\n", + " [ 12.48224591]]\n", + "[[-71.15330271]\n", + " [-46.80256459]]\n", + "[[-63.53475731]\n", + " [-75.45548482]]\n", + "[[-59.16523069]\n", + " [-80.61676904]]\n", + "[[-56.50856358]\n", + " [-71.34824922]]\n", + "[[-54.3079398 ]\n", + " [-55.11398457]]\n", + "[[-51.7934774 ]\n", + " [-36.93031588]]\n", + "[[-48.5991683 ]\n", + " [-19.71019917]]\n", + "[[-44.61641735]\n", + " [ -4.89148482]]\n", + "[[-39.87121397]\n", + " [ 6.99498654]]\n", + "[[-34.44089032]\n", + " [ 15.89657037]]\n", + "[[-28.40378463]\n", + " [ 21.94162459]]\n", + "[[-21.81210826]\n", + " [ 25.24703573]]\n", + "[[-14.68067524]\n", + " [ 25.80449536]]\n", + "[[-6.98700035]\n", + " [23.42552474]]\n", + "[[ 1.31973373]\n", + " [17.73142401]]\n", + "[[10.30261049]\n", + " [ 8.17834569]]\n", + "[[20.01626413]\n", + " [-5.89137093]]\n", + "[[ 30.48573633]\n", + " [-25.18085953]]\n", + "[[ 41.69088317]\n", + " [-50.35884362]]\n", + "[[ 53.56200165]\n", + " [-81.95689877]]\n", + "[[ 65.98669191]\n", + " [-120.19097175]]\n", + "[[ 78.81056154]\n", + " [-164.5663383 ]]\n", + "[[ 91.77060748]\n", + " [-212.93907465]]\n", + "[[ 104.20479353]\n", + " [-259.3359811 ]]\n", + "[[ 114.25100633]\n", + " [-289.4264418 ]]\n", + "[[ 117.47388351]\n", + " [-274.11950525]]\n", + "[[ 106.90582649]\n", + " [-172.52768232]]\n", + "[[79.63045432]\n", + " [29.17622631]]\n", + "[[ 44.74513659]\n", + " [271.41923319]]\n", + "[[ 13.1305735 ]\n", + " [473.14493096]]\n", + "[[-14.29589212]\n", + " [602.61794241]]\n", + "[[-36.61556168]\n", + " [644.39765677]]\n", + "[[-39.35865536]\n", + " [545.96511378]]\n", + "[[ 0.5756585 ]\n", + " [237.07100442]]\n", + "[[ 72.24251263]\n", + " [-206.51936187]]\n", + "[[ 118.40668535]\n", + " [-533.70029096]]\n", + "[[ 113.4633637 ]\n", + " [-627.66657995]]\n", + "[[ 72.01275916]\n", + " [-518.48129035]]\n", + "[[ 11.22971851]\n", + " [-262.77002408]]\n", + "[[-51.77406317]\n", + " [ 37.61739336]]\n", + "[[-98.8141039 ]\n", + " [256.35933288]]\n", + "[[-122.54663748]\n", + " [ 339.32367387]]\n", + "[[-126.53732881]\n", + " [ 311.86471687]]\n", + "[[-117.04026097]\n", + " [ 221.70023181]]\n", + "[[-100.58007304]\n", + " [ 112.20485883]]\n", + "[[-83.49782833]\n", + " [ 16.39080061]]\n", + "[[-70.07497709]\n", + " [-48.19341789]]\n", + "[[-61.43713729]\n", + " [-79.87009032]]\n", + "[[-56.50948864]\n", + " [-86.31606704]]\n", + "[[-53.59387484]\n", + " [-77.27501015]]\n", + "[[-51.29798951]\n", + " [-60.71396146]]\n", + "[[-48.76453027]\n", + " [-41.95437864]]\n", + "[[-45.57559603]\n", + " [-24.09229926]]\n", + "[[-41.59073307]\n", + " [ -8.68966214]]\n", + "[[-36.81423988]\n", + " [ 3.62488404]]\n", + "[[-31.30717344]\n", + " [ 12.71422751]]\n", + "[[-25.13532715]\n", + " [ 18.63167439]]\n", + "[[-18.34207996]\n", + " [ 21.42823059]]\n", + "[[-10.93810461]\n", + " [ 21.04085326]]\n", + "[[-2.90304858]\n", + " [17.24151577]]\n", + "[[5.80386032]\n", + " [9.63264487]]\n", + "[[15.22697597]\n", + " [-2.32237176]]\n", + "[[ 25.39476563]\n", + " [-19.24354691]]\n", + "[[ 36.30271301]\n", + " [-41.76024209]]\n", + "[[ 47.90387705]\n", + " [-70.4132986 ]]\n", + "[[ 60.10878302]\n", + " [-105.49631054]]\n", + "[[ 72.78363607]\n", + " [-146.72979914]]\n", + "[[ 85.70295728]\n", + " [-192.51619155]]\n", + "[[ 98.33951234]\n", + " [-238.23179769]]\n", + "[[ 109.26014426]\n", + " [-272.62559389]]\n", + "[[ 114.96701944]\n", + " [-272.11645826]]\n", + "[[ 109.31495411]\n", + " [-199.74810313]]\n", + "[[ 87.68228547]\n", + " [-30.79457377]]\n", + "[[ 55.41678713]\n", + " [198.54255866]]\n", + "[[ 23.68696209]\n", + " [409.82476424]]\n", + "[[ -4.03243121]\n", + " [558.3393112 ]]\n", + "[[-28.02058346]\n", + " [628.66368337]]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[-38.57249179]\n", + " [581.42279575]]\n", + "[[-13.29385079]\n", + " [343.38621895]]\n", + "[[ 52.16445417]\n", + " [-73.56528707]]\n", + "[[ 110.09433316]\n", + " [-451.84843674]]\n", + "[[ 119.7892229 ]\n", + " [-614.55118955]]\n", + "[[ 87.62191767]\n", + " [-562.09528143]]\n", + "[[ 31.19611217]\n", + " [-343.56105879]]\n", + "[[-33.0947353 ]\n", + " [-44.39010665]]\n", + "[[-86.24521753]\n", + " [206.60895785]]\n", + "[[-116.80104805]\n", + " [ 327.48613058]]\n", + "[[-125.94586584]\n", + " [ 325.80929981]]\n", + "[[-119.6420246 ]\n", + " [ 247.28884654]]\n", + "[[-104.46480252]\n", + " [ 138.06993357]]\n", + "[[-87.11782941]\n", + " [ 35.35778559]]\n", + "[[-72.70545247]\n", + " [-38.37280996]]\n", + "[[-63.13577599]\n", + " [-77.77564417]]\n", + "[[-57.67874112]\n", + " [-89.17893574]]\n", + "[[-54.61960373]\n", + " [-82.58875361]]\n", + "[[-52.41821508]\n", + " [-66.77879121]]\n", + "[[-50.0780015 ]\n", + " [-47.83213259]]\n", + "[[-47.09128651]\n", + " [-29.38625555]]\n", + "[[-43.27361812]\n", + " [-13.32793489]]\n", + "[[-38.61689844]\n", + " [ -0.44473448]]\n", + "[[-33.18886407]\n", + " [ 9.08197983]]\n", + "[[-27.07232153]\n", + " [ 15.33538962]]\n", + "[[-20.33221028]\n", + " [ 18.44105258]]\n", + "[[-13.00121193]\n", + " [ 18.43418172]]\n", + "[[-5.07800055]\n", + " [15.19319797]]\n", + "[[3.4654417 ]\n", + " [8.42305511]]\n", + "[[12.66997581]\n", + " [-2.32296555]]\n", + "[[ 22.57155857]\n", + " [-17.5905014 ]]\n", + "[[ 33.1829299 ]\n", + " [-37.94323006]]\n", + "[[ 44.47803544]\n", + " [-63.84536549]]\n", + "[[ 56.37912739]\n", + " [-95.4707936 ]]\n", + "[[ 68.7350808 ]\n", + " [-132.34019579]]\n", + "[[ 81.2517098 ]\n", + " [-172.56496283]]\n", + "[[ 93.28139908]\n", + " [-211.27427304]]\n", + "[[ 103.3246795 ]\n", + " [-237.68735438]]\n", + "[[ 108.25714633]\n", + " [-231.39753142]]\n", + "[[ 103.3151646 ]\n", + " [-163.90488726]]\n", + "[[ 85.41233424]\n", + " [-19.01516258]]\n", + "[[ 58.40476467]\n", + " [175.85689517]]\n", + "[[ 30.19652222]\n", + " [362.55985642]]\n", + "[[ 4.36809342]\n", + " [500.35015238]]\n", + "[[-17.47918343]\n", + " [566.63994394]]\n", + "[[-26.06316508]\n", + " [521.90936992]]\n", + "[[ -3.24349011]\n", + " [306.46457302]]\n", + "[[ 52.94266305]\n", + " [-62.45900972]]\n", + "[[ 103.31813392]\n", + " [-403.32125478]]\n", + "[[ 112.60514031]\n", + " [-558.80236904]]\n", + "[[ 83.27042294]\n", + " [-515.52604825]]\n", + "[[ 30.33364524]\n", + " [-315.81064121]]\n", + "[[-30.3342834 ]\n", + " [-41.48435261]]\n", + "[[-80.94809727]\n", + " [189.6207085 ]]\n", + "[[-110.76761928]\n", + " [ 302.3279384 ]]\n", + "[[-120.3141596 ]\n", + " [ 300.77846428]]\n", + "[[-114.99386024]\n", + " [ 226.3032539 ]]\n", + "[[-101.2650235 ]\n", + " [ 123.13890529]]\n", + "[[-85.62907004]\n", + " [ 27.130443 ]]\n", + "[[-72.79968721]\n", + " [-40.78112582]]\n", + "[[-64.39993075]\n", + " [-76.1487513 ]]\n", + "[[-59.66144212]\n", + " [-85.27358906]]\n", + "[[-56.97606075]\n", + " [-77.68948287]]\n", + "[[-54.93036072]\n", + " [-61.69605045]]\n", + "[[-52.62363637]\n", + " [-43.03774809]]\n", + "[[-49.61071065]\n", + " [-25.12726991]]\n", + "[[-45.74710803]\n", + " [ -9.69352726]]\n", + "[[-41.05163501]\n", + " [ 2.59699145]]\n", + "[[-35.6113698 ]\n", + " [ 11.66105668]]\n", + "[[-29.5235525 ]\n", + " [ 17.66292859]]\n", + "[[-22.86369065]\n", + " [ 20.7952726 ]]\n", + "[[-15.67126055]\n", + " [ 21.14815438]]\n", + "[[-7.94737321]\n", + " [18.64255805]]\n", + "[[ 0.33892919]\n", + " [13.01148615]]\n", + "[[9.237815 ]\n", + " [3.81764629]]\n", + "[[18.80115569]\n", + " [-9.4990892 ]]\n", + "[[ 29.06301093]\n", + " [-27.54796763]]\n", + "[[ 40.02147542]\n", + " [-50.88431457]]\n", + "[[ 51.62400716]\n", + " [-79.85585423]]\n", + "[[ 63.75151849]\n", + " [-114.33372881]]\n", + "[[ 76.17774252]\n", + " [-153.17398235]]\n", + "[[ 88.44029416]\n", + " [-193.09351126]]\n", + "[[ 99.49979093]\n", + " [-226.4542625 ]]\n", + "[[ 107.08012307]\n", + " [-237.76490619]]\n", + "[[ 107.10466451]\n", + " [-201.67766217]]\n", + "[[ 95.16755077]\n", + " [-93.09051994]]\n", + "[[71.5682962 ]\n", + " [82.96686332]]\n", + "[[ 43.2358122 ]\n", + " [277.92897095]]\n", + "[[ 16.23652661]\n", + " [439.61704406]]\n", + "[[ -7.77640974]\n", + " [540.11626987]]\n", + "[[-23.89346405]\n", + " [550.92146992]]\n", + "[[-17.14652399]\n", + " [418.16361718]]\n", + "[[ 25.71331663]\n", + " [109.08134527]]\n", + "[[ 83.27402718]\n", + " [-263.86966886]]\n", + "[[ 111.58046199]\n", + " [-505.81700589]]\n", + "[[ 97.79688372]\n", + " [-546.80498326]]\n", + "[[ 54.16759113]\n", + " [-412.33108774]]\n", + "[[ -4.23898927]\n", + " [-163.17219898]]\n", + "[[-60.36705337]\n", + " [ 95.21568283]]\n", + "[[-99.39841657]\n", + " [261.25066784]]\n", + "[[-117.35743365]\n", + " [ 306.6545189 ]]\n", + "[[-118.13918035]\n", + " [ 261.09546878]]\n", + "[[-107.75764517]\n", + " [ 168.53182018]]\n", + "[[-92.68694359]\n", + " [ 68.41478785]]\n", + "[[-78.52710596]\n", + " [-11.75328917]]\n", + "[[-68.25156149]\n", + " [-60.65360835]]\n", + "[[-62.02788655]\n", + " [-80.47703116]]\n", + "[[-58.53220143]\n", + " [-79.69048829]]\n", + "[[-56.25088154]\n", + " [-67.16317656]]\n", + "[[-54.07869004]\n", + " [-49.64355677]]\n", + "[[-51.39461164]\n", + " [-31.4385387 ]]\n", + "[[-47.93845721]\n", + " [-14.92107157]]\n", + "[[-43.66535941]\n", + " [ -1.16606139]]\n", + "[[-38.63458656]\n", + " [ 9.51690903]]\n", + "[[-32.93740605]\n", + " [ 17.19386925]]\n", + "[[-26.65495528]\n", + " [ 22.04246726]]\n", + "[[-19.83675792]\n", + " [ 24.18573852]]\n", + "[[-12.49328127]\n", + " [ 23.59844207]]\n", + "[[-4.59857252]\n", + " [20.06699172]]\n", + "[[ 3.8992716 ]\n", + " [13.19017303]]\n", + "[[13.0615309 ]\n", + " [ 2.41195451]]\n", + "[[ 22.93864468]\n", + " [-12.92069574]]\n", + "[[ 33.55034321]\n", + " [-33.48059655]]\n", + "[[ 44.87113034]\n", + " [-59.86177917]]\n", + "[[ 56.82415675]\n", + " [-92.43387662]]\n", + "[[ 69.27731691]\n", + " [-131.06878765]]\n", + "[[ 82.0106446 ]\n", + " [-174.54449795]]\n", + "[[ 94.56864575]\n", + " [-219.20755804]]\n", + "[[ 105.81829221]\n", + " [-256.15516602]]\n", + "[[ 113.02969965]\n", + " [-266.47791552]]\n", + "[[ 111.05811718]\n", + " [-218.37213347]]\n", + "[[ 94.62440891]\n", + " [-82.24069218]]\n", + "[[ 65.6281668 ]\n", + " [126.79811916]]\n", + "[[ 33.95500437]\n", + " [341.07655375]]\n", + "[[ 5.60053966]\n", + " [504.74150362]]\n", + "[[-19.20440607]\n", + " [596.4270391 ]]\n", + "[[-34.32377586]\n", + " [586.19728819]]\n", + "[[-20.98329078]\n", + " [410.03734228]]\n", + "[[33.1334263 ]\n", + " [44.10120673]]\n", + "[[ 94.96208076]\n", + " [-350.71505429]]\n", + "[[ 117.21838447]\n", + " [-568.79634503]]\n", + "[[ 95.36901132]\n", + " [-571.58707275]]\n", + "[[ 45.58928782]\n", + " [-399.38917931]]\n", + "[[ -16.32913846]\n", + " [-122.6391141 ]]\n", + "[[-72.36842511]\n", + " [141.42881586]]\n", + "[[-108.50810076]\n", + " [ 294.46983549]]\n", + "[[-122.94974178]\n", + " [ 322.55049417]]\n", + "[[-120.73438934]\n", + " [ 263.75506646]]\n", + "[[-108.1367152 ]\n", + " [ 163.66239468]]\n", + "[[-91.68102076]\n", + " [ 60.92941882]]\n", + "[[-76.84938886]\n", + " [-18.58472129]]\n", + "[[-66.33179972]\n", + " [-65.44253772]]\n", + "[[-60.02241629]\n", + " [-83.21498448]]\n", + "[[-56.45149668]\n", + " [-80.96103226]]\n", + "[[-54.06930126]\n", + " [-67.5886461 ]]\n", + "[[-51.7829786]\n", + " [-49.664163 ]]\n", + "[[-48.99091897]\n", + " [-31.29564378]]\n", + "[[-45.44332771]\n", + " [-14.71934304]]\n", + "[[-41.09452219]\n", + " [ -0.94739623]]\n", + "[[-35.99445092]\n", + " [ 9.71322464]]\n", + "[[-30.22006477]\n", + " [ 17.28990198]]\n", + "[[-23.83621398]\n", + " [ 21.89671654]]\n", + "[[-16.87666513]\n", + " [ 23.5806586 ]]\n", + "[[-9.33899932]\n", + " [22.23787036]]\n", + "[[-1.18973282]\n", + " [17.58269813]]\n", + "[[7.62267136]\n", + " [9.15739456]]\n", + "[[17.14929892]\n", + " [-3.62725492]]\n", + "[[ 27.42042983]\n", + " [-21.42935002]]\n", + "[[ 38.42853668]\n", + " [-44.89699815]]\n", + "[[ 50.11993263]\n", + " [-74.56515004]]\n", + "[[ 62.39598527]\n", + " [-110.68482025]]\n", + "[[ 75.11030241]\n", + " [-152.86493448]]\n", + "[[ 88.01150117]\n", + " [-199.24702227]]\n", + "[[ 100.50124878]\n", + " [-244.61943243]]\n", + "[[ 110.96306993]\n", + " [-276.51315457]]\n", + "[[ 115.55713361]\n", + " [-269.41654775]]\n", + "[[ 107.92961578]\n", + " [-185.52158288]]\n", + "[[84.24682985]\n", + " [-5.04997716]]\n", + "[[ 51.24833848]\n", + " [227.07884101]]\n", + "[[ 19.80018264]\n", + " [432.55805766]]\n", + "[[ -7.65411422]\n", + " [572.1905313 ]]\n", + "[[-30.8016679 ]\n", + " [630.17001619]]\n", + "[[-38.01593878]\n", + " [561.76176777]]\n", + "[[ -6.76157215]\n", + " [295.3804395 ]]\n", + "[[ 60.94231847]\n", + " [-130.64204425]]\n", + "[[ 113.37994545]\n", + " [-484.61750132]]\n", + "[[ 116.52349202]\n", + " [-616.33694 ]]\n", + "[[ 80.39596467]\n", + " [-539.45983753]]\n", + "[[ 22.27654943]\n", + " [-305.84091379]]\n", + "[[-41.22150132]\n", + " [ -7.68149768]]\n", + "[[-91.48168367]\n", + " [227.58317443]]\n", + "[[-118.91025544]\n", + " [ 330.71842664]]\n", + "[[-125.76176096]\n", + " [ 317.34164615]]\n", + "[[-118.10653117]\n", + " [ 233.88717753]]\n", + "[[-102.48535524]\n", + " [ 125.09895986]]\n", + "[[-85.41984791]\n", + " [ 26.15236049]]\n", + "[[-71.60598249]\n", + " [-42.86686425]]\n", + "[[-62.56806896]\n", + " [-78.38071709]]\n", + "[[-57.41486228]\n", + " [-87.33552519]]\n", + "[[-54.45071749]\n", + " [-79.5681001 ]]\n", + "[[-52.21690633]\n", + " [-63.43071887]]\n", + "[[-49.79085673]\n", + " [-44.61988867]]\n", + "[[-46.7124157 ]\n", + " [-26.50032598]]\n", + "[[-42.82115826]\n", + " [-10.79318759]]\n", + "[[-38.11713191]\n", + " [ 1.79923382]]\n", + "[[-32.6667119 ]\n", + " [ 11.12581053]]\n", + "[[-26.54610626]\n", + " [ 17.26429466]]\n", + "[[-19.81109995]\n", + " [ 20.31285921]]\n", + "[[-12.48442175]\n", + " [ 20.26676902]]\n", + "[[-4.55535673]\n", + " [16.95844218]]\n", + "[[ 4.01164482]\n", + " [10.04548505]]\n", + "[[13.26184029]\n", + " [-0.96436857]]\n", + "[[ 23.23149071]\n", + " [-16.65994153]]\n", + "[[ 33.92962959]\n", + " [-37.65005715]]\n", + "[[ 45.32471572]\n", + " [-64.4584501 ]]\n", + "[[ 57.33759603]\n", + " [-97.35710964]]\n", + "[[ 69.83113133]\n", + " [-136.04312075]]\n", + "[[ 82.55845343]\n", + " [-178.9365665 ]]\n", + "[[ 94.97154469]\n", + " [-221.63917888]]\n", + "[[ 105.706482 ]\n", + " [-253.82768897]]\n", + "[[ 111.64339071]\n", + " [-254.58383551]]\n", + "[[ 107.46628262]\n", + " [-191.74140236]]\n", + "[[ 88.93275318]\n", + " [-42.28628831]]\n", + "[[ 59.76648236]\n", + " [167.44625446]]\n", + "[[ 29.48727032]\n", + " [370.16825757]]\n", + "[[ 2.3392761 ]\n", + " [519.47287493]]\n", + "[[-21.15338418]\n", + " [595.59230804]]\n", + "[[-32.60865186]\n", + " [562.10314833]]\n", + "[[-12.21091163]\n", + " [352.99017966]]\n", + "[[ 46.4395213 ]\n", + " [-30.89817158]]\n", + "[[ 103.2580127 ]\n", + " [-402.47576947]]\n", + "[[ 116.9727907 ]\n", + " [-581.13267708]]\n", + "[[ 89.12973186]\n", + " [-550.02004048]]\n", + "[[ 35.98115576]\n", + " [-352.7156223 ]]\n", + "[[-26.48488347]\n", + " [-68.36118652]]\n", + "[[-79.87869528]\n", + " [180.88844248]]\n", + "[[-112.05677304]\n", + " [ 309.40839535]]\n", + "[[-123.04066336]\n", + " [ 316.87888615]]\n", + "[[-118.33013802]\n", + " [ 245.36445449]]\n", + "[[-104.3906129 ]\n", + " [ 140.41168975]]\n", + "[[-87.85693246]\n", + " [ 39.49312018]]\n", + "[[-73.86155403]\n", + " [-34.21761232]]\n", + "[[-64.45335038]\n", + " [-74.45345657]]\n", + "[[-59.05134509]\n", + " [-86.8206598 ]]\n", + "[[-56.02738212]\n", + " [-80.98563474]]\n", + "[[-53.87047818]\n", + " [-65.6605917 ]]\n", + "[[-51.58558876]\n", + " [-46.98403407]]\n", + "[[-48.66003944]\n", + " [-28.66520966]]\n", + "[[-44.90669034]\n", + " [-12.63913813]]\n", + "[[-40.3189013 ]\n", + " [ 0.28895736]]\n", + "[[-34.96911406]\n", + " [ 9.9450072 ]]\n", + "[[-28.94651957]\n", + " [ 16.43598432]]\n", + "[[-22.32259496]\n", + " [ 19.92005527]]\n", + "[[-15.13533717]\n", + " [ 20.46753212]]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[-7.3862281]\n", + " [17.9888886]]\n", + "[[ 0.95362617]\n", + " [12.2127348 ]]\n", + "[[9.93049893]\n", + " [2.70221198]]\n", + "[[ 19.59044165]\n", + " [-11.09793521]]\n", + "[[ 29.96012377]\n", + " [-29.78803425]]\n", + "[[ 41.02980222]\n", + " [-53.91089246]]\n", + "[[ 52.74049287]\n", + " [-83.79659067]]\n", + "[[ 64.96969864]\n", + " [-119.28396644]]\n", + "[[ 77.48929868]\n", + " [-159.15046702]]\n", + "[[ 89.82481966]\n", + " [-199.90361665]]\n", + "[[ 100.87884353]\n", + " [-233.37525776]]\n", + "[[ 108.20543558]\n", + " [-242.93082892]]\n", + "[[ 107.43517832]\n", + " [-201.55151629]]\n", + "[[ 94.07081751]\n", + " [-83.83988552]]\n", + "[[ 69.05329555]\n", + " [101.15124143]]\n", + "[[ 40.06902537]\n", + " [299.74546908]]\n", + "[[ 12.95478515]\n", + " [459.90177309]]\n", + "[[-11.04218896]\n", + " [555.90404539]]\n", + "[[-26.46300557]\n", + " [558.26338016]]\n", + "[[-17.11459336]\n", + " [409.80418474]]\n", + "[[29.62247579]\n", + " [81.81969978]]\n", + "[[ 88.25931533]\n", + " [-296.49424943]]\n", + "[[ 113.97799767]\n", + " [-527.66151465]]\n", + "[[ 97.01655132]\n", + " [-553.24590557]]\n", + "[[ 50.97038223]\n", + " [-403.8912867 ]]\n", + "[[ -8.82153219]\n", + " [-144.2131235 ]]\n", + "[[-64.87133927]\n", + " [115.46289919]]\n", + "[[-102.66977291]\n", + " [ 274.957943 ]]\n", + "[[-119.12161397]\n", + " [ 312.00083814]]\n", + "[[-118.59043047]\n", + " [ 259.84601813]]\n", + "[[-107.24613049]\n", + " [ 163.37414592]]\n", + "[[-91.65569711]\n", + " [ 61.98331927]]\n", + "[[-77.38559208]\n", + " [-17.49316906]]\n", + "[[-67.23513517]\n", + " [-64.78375427]]\n", + "[[-61.1882213 ]\n", + " [-82.95506204]]\n", + "[[-57.82049196]\n", + " [-80.89962725]]\n", + "[[-55.59463303]\n", + " [-67.56451505]]\n", + "[[-53.41797589]\n", + " [-49.62166362]]\n", + "[[-50.68973216]\n", + " [-31.26967378]]\n", + "[[-47.16595035]\n", + " [-14.79081342]]\n", + "[[-42.81171054]\n", + " [ -1.19837415]]\n", + "[[-37.69103295]\n", + " [ 9.23336371]]\n", + "[[-31.8965323 ]\n", + " [ 16.58589008]]\n", + "[[-25.50891267]\n", + " [ 21.03903578]]\n", + "[[-18.5767992 ]\n", + " [ 22.71050248]]\n", + "[[-11.11035021]\n", + " [ 21.56715217]]\n", + "[[-3.08471363]\n", + " [17.38925254]]\n", + "[[5.54898602]\n", + " [9.77497709]]\n", + "[[14.84700766]\n", + " [-1.8233476 ]]\n", + "[[ 24.85327696]\n", + " [-18.0374934 ]]\n", + "[[ 35.58041717]\n", + " [-39.49909514]]\n", + "[[ 46.99564911]\n", + " [-66.7249605 ]]\n", + "[[ 59.01222903]\n", + " [-99.93417532]]\n", + "[[ 71.4748805]\n", + " [-138.6931163]]\n", + "[[ 84.09740312]\n", + " [-181.15126992]]\n", + "[[ 96.24960523]\n", + " [-222.39673974]]\n", + "[[ 106.41747055]\n", + " [-251.26773821]]\n", + "[[ 111.30507693]\n", + " [-246.00996093]]\n", + "[[ 105.68776506]\n", + " [-175.2914233 ]]\n", + "[[ 86.09564061]\n", + " [-20.8270635 ]]\n", + "[[ 56.99583888]\n", + " [186.22535955]]\n", + "[[ 27.32628967]\n", + " [381.00066297]]\n", + "[[ 0.66600168]\n", + " [521.30852554]]\n", + "[[-21.76013745]\n", + " [586.20539791]]\n", + "[[-30.21610103]\n", + " [535.50521625]]\n", + "[[ -5.45502157]\n", + " [306.83984344]]\n", + "[[ 53.70188333]\n", + " [-77.72060474]]\n", + "[[ 104.86913417]\n", + " [-423.47898288]]\n", + "[[ 112.71998671]\n", + " [-573.57867535]]\n", + "[[ 81.72964548]\n", + " [-522.23964445]]\n", + "[[ 27.67987223]\n", + " [-315.0351412 ]]\n", + "[[-33.43687715]\n", + " [-35.84563361]]\n", + "[[-83.80577242]\n", + " [196.16997476]]\n", + "[[-113.01086105]\n", + " [ 307.43470939]]\n", + "[[-121.9820114 ]\n", + " [ 304.53703061]]\n", + "[[-116.26219638]\n", + " [ 229.66211392]]\n", + "[[-102.23568186]\n", + " [ 126.6288704 ]]\n", + "[[-86.29197631]\n", + " [ 30.62777378]]\n", + "[[-73.10888549]\n", + " [-37.68089407]]\n", + "[[-64.34952011]\n", + " [-73.74832493]]\n", + "[[-59.29987305]\n", + " [-83.65639994]]\n", + "[[-56.38289729]\n", + " [-76.76691815]]\n", + "[[-54.19180182]\n", + " [-61.2810967 ]]\n", + "[[-51.81840525]\n", + " [-42.90118077]]\n", + "[[-48.80402366]\n", + " [-25.03737028]]\n", + "[[-44.98876975]\n", + " [ -9.44400935]]\n", + "[[-40.37594619]\n", + " [ 3.16915347]]\n", + "[[-35.03779764]\n", + " [ 12.66643155]]\n", + "[[-29.05766385]\n", + " [ 19.15648331]]\n", + "[[-22.49810077]\n", + " [ 22.77626785]]\n", + "[[-15.38659209]\n", + " [ 23.56081177]]\n", + "[[-7.71351156]\n", + " [21.37665382]]\n", + "[[ 0.5607506 ]\n", + " [15.90326749]]\n", + "[[9.49154109]\n", + " [6.65162055]]\n", + "[[19.13089195]\n", + " [-6.98863398]]\n", + "[[ 29.50729604]\n", + " [-25.68072199]]\n", + "[[ 40.60931238]\n", + " [-50.05374921]]\n", + "[[ 52.37743539]\n", + " [-80.58298187]]\n", + "[[ 64.70271068]\n", + " [-117.38155422]]\n", + "[[ 77.41269824]\n", + " [-159.75878418]]\n", + "[[ 90.182378 ]\n", + " [-205.21890261]]\n", + "[[ 102.22263132]\n", + " [-247.25425003]]\n", + "[[ 111.51713098]\n", + " [-271.11551664]]\n", + "[[ 113.72143328]\n", + " [-248.87875621]]\n", + "[[ 102.76770288]\n", + " [-145.2005052 ]]\n", + "[[76.99946664]\n", + " [46.52445171]]\n", + "[[ 44.71281869]\n", + " [270.91823169]]\n", + "[[ 14.82334179]\n", + " [458.60365049]]\n", + "[[-11.54095069]\n", + " [579.41199786]]\n", + "[[-32.0413311 ]\n", + " [612.92911714]]\n", + "[[-31.96978062]\n", + " [505.53442243]]\n", + "[[ 8.73529494]\n", + " [198.13399347]]\n", + "[[ 75.75234849]\n", + " [-221.8904316 ]]\n", + "[[ 116.29759213]\n", + " [-522.3302322 ]]\n", + "[[ 108.91333414]\n", + " [-601.36194864]]\n", + "[[ 67.06813606]\n", + " [-485.76020493]]\n", + "[[ 7.06372015]\n", + " [-232.44085614]]\n", + "[[-53.91603614]\n", + " [ 55.17678275]]\n", + "[[-98.60215717]\n", + " [257.79402863]]\n", + "[[-120.67632615]\n", + " [ 329.25391398]]\n", + "[[-123.75383187]\n", + " [ 296.08419421]]\n", + "[[-113.979187 ]\n", + " [ 204.74268617]]\n", + "[[-97.91254416]\n", + " [ 97.63987772]]\n", + "[[-81.74279483]\n", + " [ 6.40516496]]\n", + "[[-69.36523723]\n", + " [-53.2722354 ]]\n", + "[[-61.57502734]\n", + " [-81.04780583]]\n", + "[[-57.18470828]\n", + " [-84.98243109]]\n", + "[[-54.53716153]\n", + " [-74.62045347]]\n", + "[[-52.32689269]\n", + " [-57.5770492 ]]\n", + "[[-49.77320913]\n", + " [-38.8656714 ]]\n", + "[[-46.51170239]\n", + " [-21.35630926]]\n", + "[[-42.43605228]\n", + " [ -6.45260096]]\n", + "[[-37.57178548]\n", + " [ 5.32724238]]\n", + "[[-31.99323061]\n", + " [ 13.92347988]]\n", + "[[-25.77457512]\n", + " [ 19.44383031]]\n", + "[[-18.96441402]\n", + " [ 21.97780774]]\n", + "[[-11.57620255]\n", + " [ 21.48972112]]\n", + "[[-3.5899967]\n", + " [17.7704184]]\n", + "[[ 5.03730806]\n", + " [10.43377184]]\n", + "[[14.35555165]\n", + " [-1.05237022]]\n", + "[[ 24.40176223]\n", + " [-17.30924619]]\n", + "[[ 35.18189567]\n", + " [-38.96982743]]\n", + "[[ 46.65871112]\n", + " [-66.57589928]]\n", + "[[ 58.74747711]\n", + " [-100.41533411]]\n", + "[[ 71.30955395]\n", + " [-140.20064768]]\n", + "[[ 84.10389843]\n", + " [-184.35583632]]\n", + "[[ 96.59154587]\n", + " [-228.42127834]]\n", + "[[ 107.39153092]\n", + " [-261.77390711]]\n", + "[[ 113.25984096]\n", + " [-262.56377264]]\n", + "[[ 108.57284644]\n", + " [-196.7885399 ]]\n", + "[[ 88.873758 ]\n", + " [-40.34170006]]\n", + "[[ 58.39409552]\n", + " [177.33021271]]\n", + "[[ 27.35123164]\n", + " [384.35726507]]\n", + "[[-1.54587899e-01]\n", + " [ 5.34136962e+02]]\n", + "[[-23.9029571 ]\n", + " [608.41535982]]\n", + "[[-35.1063281 ]\n", + " [570.01897734]]\n", + "[[-13.0581 ]\n", + " [350.58502484]]\n", + "[[ 47.9898499 ]\n", + " [-45.28783315]]\n", + "[[ 105.27272048]\n", + " [-419.67092349]]\n", + "[[ 117.59390284]\n", + " [-592.80951073]]\n", + "[[ 88.24397255]\n", + " [-554.27839153]]\n", + "[[ 34.02725285]\n", + " [-349.95735975]]\n", + "[[-28.95432826]\n", + " [-60.97776998]]\n", + "[[-82.17915806]\n", + " [188.68698546]]\n", + "[[-113.76900774]\n", + " [ 314.81502423]]\n", + "[[-124.142292 ]\n", + " [ 319.68582074]]\n", + "[[-118.9504787 ]\n", + " [ 246.46847325]]\n", + "[[-104.66055038]\n", + " [ 140.69396467]]\n", + "[[-87.87937004]\n", + " [ 39.51860139]]\n", + "[[-73.70914629]\n", + " [-34.18742795]]\n", + "[[-64.17210714]\n", + " [-74.36339395]]\n", + "[[-58.67049256]\n", + " [-86.71039936]]\n", + "[[-55.56942259]\n", + " [-80.90613294]]\n", + "[[-53.35647546]\n", + " [-65.63417115]]\n", + "[[-51.03602677]\n", + " [-46.99843774]]\n", + "[[-48.09357099]\n", + " [-28.68484939]]\n", + "[[-44.33848672]\n", + " [-12.62097907]]\n", + "[[-39.75936755]\n", + " [ 0.38147418]]\n", + "[[-34.42316231]\n", + " [ 10.13226221]]\n", + "[[-28.41334501]\n", + " [ 16.71652336]]\n", + "[[-21.79584702]\n", + " [ 20.26787758]]\n", + "[[-14.60363991]\n", + " [ 20.83127925]]\n", + "[[-6.83410918]\n", + " [18.29240695]]\n", + "[[ 1.54426809]\n", + " [12.3569608 ]]\n", + "[[10.57830481]\n", + " [ 2.56837597]]\n", + "[[ 20.31202307]\n", + " [-11.64435633]]\n", + "[[ 30.76756348]\n", + " [-30.89420732]]\n", + "[[ 41.92927388]\n", + " [-55.73686265]]\n", + "[[ 53.73346695]\n", + " [-86.52128905]]\n", + "[[ 66.05823019]\n", + " [-123.11713648]]\n", + "[[ 78.68572409]\n", + " [-164.34292335]]\n", + "[[ 91.16119972]\n", + " [-206.72373969]]\n", + "[[ 102.3959491 ]\n", + " [-241.94852747]]\n", + "[[ 109.86915443]\n", + " [-252.7008624 ]]\n", + "[[ 108.93270868]\n", + " [-210.19430852]]\n", + "[[ 94.70504581]\n", + " [-86.8719497 ]]\n", + "[[ 68.3014276]\n", + " [107.0885922]]\n", + "[[ 38.23609368]\n", + " [312.92812786]]\n", + "[[ 10.57594779]\n", + " [476.24321645]]\n", + "[[-13.87093306]\n", + " [572.81472662]]\n", + "[[-29.67641264]\n", + " [573.74100464]]\n", + "[[-19.7407632]\n", + " [419.1706884]]\n", + "[[29.37455145]\n", + " [78.31635893]]\n", + "[[ 90.32055003]\n", + " [-311.37082303]]\n", + "[[ 116.19696786]\n", + " [-544.49884857]]\n", + "[[ 98.17541517]\n", + " [-566.21088089]]\n", + "[[ 50.90908917]\n", + " [-410.46768597]]\n", + "[[ -9.99887421]\n", + " [-143.33419847]]\n", + "[[-66.75554275]\n", + " [121.89066866]]\n", + "[[-104.64466449]\n", + " [ 283.009754 ]]\n", + "[[-120.79981589]\n", + " [ 318.98597675]]\n", + "[[-119.8317467 ]\n", + " [ 264.84890947]]\n", + "[[-107.99597263]\n", + " [ 166.29033293]]\n", + "[[-91.91749904]\n", + " [ 63.0602274 ]]\n", + "[[-77.24216995]\n", + " [-17.7573216 ]]\n", + "[[-66.81559922]\n", + " [-65.81763597]]\n", + "[[-60.61069204]\n", + " [-84.3079746 ]]\n", + "[[-57.16467704]\n", + " [-82.30069063]]\n", + "[[-54.90492144]\n", + " [-68.88005858]]\n", + "[[-52.71589409]\n", + " [-50.79675898]]\n", + "[[-49.98389408]\n", + " [-32.29065428]]\n", + "[[-46.45757265]\n", + " [-15.66825688]]\n", + "[[-42.09716489]\n", + " [ -1.96109349]]\n", + "[[-36.96298762]\n", + " [ 8.54021299]]\n", + "[[-31.14459814]\n", + " [ 15.90176343]]\n", + "[[-24.72022732]\n", + " [ 20.28904957]]\n", + "[[-17.73675698]\n", + " [ 21.80689086]]\n", + "[[-10.20360897]\n", + " [ 20.41143068]]\n", + "[[-2.09656286]\n", + " [15.87552105]]\n", + "[[6.63091116]\n", + " [7.79477589]]\n", + "[[16.03085948]\n", + " [-4.3743709 ]]\n", + "[[ 26.14136691]\n", + " [-21.25074958]]\n", + "[[ 36.9682648 ]\n", + " [-43.44051123]]\n", + "[[ 48.47172373]\n", + " [-71.41362322]]\n", + "[[ 60.55693945]\n", + " [-105.29910298]]\n", + "[[ 73.05379637]\n", + " [-144.47917155]]\n", + "[[ 85.6362457 ]\n", + " [-186.71595329]]\n", + "[[ 97.56724751]\n", + " [-226.30314869]]\n", + "[[ 107.0964323 ]\n", + " [-250.63572246]]\n", + "[[ 110.5855542 ]\n", + " [-236.18174506]]\n", + "[[ 102.80342945]\n", + " [-152.05699299]]\n", + "[[81.36841131]\n", + " [13.24093089]]\n", + "[[ 52.02783228]\n", + " [220.25714661]]\n", + "[[ 23.10610473]\n", + " [406.04651523]]\n", + "[[ -2.84849577]\n", + " [534.43218034]]\n", + "[[-23.80392054]\n", + " [583.57975438]]\n", + "[[-27.99370269]\n", + " [507.67014514]]\n", + "[[ 3.41055122]\n", + " [248.19941837]]\n", + "[[ 64.51590815]\n", + " [-143.74047216]]\n", + "[[ 109.40796681]\n", + " [-461.35457629]]\n", + "[[ 109.80375568]\n", + " [-575.63580317]]\n", + "[[ 74.00560231]\n", + " [-494.86571725]]\n", + "[[ 17.67208773]\n", + " [-268.89512811]]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[-42.78176051]\n", + " [ 9.9473726 ]]\n", + "[[-89.94810716]\n", + " [223.81892905]]\n", + "[[-115.47762028]\n", + " [ 313.36587185]]\n", + "[[-121.55917616]\n", + " [ 294.78096329]]\n", + "[[-113.9819547 ]\n", + " [ 211.94152741]]\n", + "[[-99.22496516]\n", + " [107.78851959]]\n", + "[[-83.55709903]\n", + " [ 15.53395994]]\n", + "[[-71.18120793]\n", + " [-47.01743148]]\n", + "[[-63.24032851]\n", + " [-77.75087931]]\n", + "[[-58.74835139]\n", + " [-83.86538536]]\n", + "[[-56.09727147]\n", + " [-74.78407601]]\n", + "[[-53.95667295]\n", + " [-58.33177839]]\n", + "[[-51.50711351]\n", + " [-39.78508537]]\n", + "[[-48.3562729 ]\n", + " [-22.21772939]]\n", + "[[-44.38495965]\n", + " [ -7.15509117]]\n", + "[[-39.61776535]\n", + " [ 4.83320843]]\n", + "[[-34.13567388]\n", + " [ 13.68667593]]\n", + "[[-28.02342525]\n", + " [ 19.54487931]]\n", + "[[-21.34122292]\n", + " [ 22.54763608]]\n", + "[[-14.11287709]\n", + " [ 22.7171358 ]]\n", + "[[-6.32543618]\n", + " [19.9006657 ]]\n", + "[[ 2.06256345]\n", + " [13.75898459]]\n", + "[[11.10622017]\n", + " [ 3.7901477 ]]\n", + "[[ 20.85512513]\n", + " [-10.61897072]]\n", + "[[ 31.33358805]\n", + " [-30.11935414]]\n", + "[[ 42.52490435]\n", + " [-55.30402682]]\n", + "[[ 54.36293033]\n", + " [-86.56847274]]\n", + "[[ 66.7264687 ]\n", + " [-123.85724207]]\n", + "[[ 79.41040077]\n", + " [-166.12440254]]\n", + "[[ 91.99858162]\n", + " [-210.13538748]]\n", + "[[ 103.47858768]\n", + " [-247.93850057]]\n", + "[[ 111.41290531]\n", + " [-262.47436132]]\n", + "[[ 111.07018444]\n", + " [-224.16894207]]\n", + "[[ 97.05452618]\n", + " [-102.31355756]]\n", + "[[69.94224525]\n", + " [96.14813422]]\n", + "[[ 38.72783927]\n", + " [310.03300548]]\n", + "[[ 10.25053628]\n", + " [480.22504195]]\n", + "[[-14.88449461]\n", + " [582.19502931]]\n", + "[[-31.95170276]\n", + " [589.31537318]]\n", + "[[-23.87421853]\n", + " [441.68710985]]\n", + "[[ 24.69679587]\n", + " [101.19371573]]\n", + "[[ 88.03507637]\n", + " [-300.28297298]]\n", + "[[ 116.81165881]\n", + " [-547.3171127 ]]\n", + "[[ 100.37297366]\n", + " [-578.55386051]]\n", + "[[ 53.73937436]\n", + " [-428.45263917]]\n", + "[[ -7.33104112]\n", + " [-161.40313751]]\n", + "[[-65.11989065]\n", + " [110.35337983]]\n", + "[[-104.32745051]\n", + " [ 280.39412191]]\n", + "[[-121.53255614]\n", + " [ 323.35376794]]\n", + "[[-121.25831183]\n", + " [ 273.28367689]]\n", + "[[-109.72483296]\n", + " [ 176.07245769]]\n", + "[[-93.50629289]\n", + " [ 71.84039145]]\n", + "[[-78.36095794]\n", + " [-11.44083373]]\n", + "[[-67.37634171]\n", + " [-62.26200072]]\n", + "[[-60.71580138]\n", + " [-83.01375052]]\n", + "[[-56.98150236]\n", + " [-82.51880319]]\n", + "[[-54.58315371]\n", + " [-69.93484458]]\n", + "[[-52.36196813]\n", + " [-52.18179008]]\n", + "[[-49.6642985 ]\n", + " [-33.65996298]]\n", + "[[-46.20962191]\n", + " [-16.80131874]]\n", + "[[-41.93869643]\n", + " [ -2.72935777]]\n", + "[[-36.89920884]\n", + " [ 8.19971889]]\n", + "[[-31.17247415]\n", + " [ 16.0060967 ]]\n", + "[[-24.83112501]\n", + " [ 20.82324436]]\n", + "[[-17.91794619]\n", + " [ 22.73292405]]\n", + "[[-10.43912065]\n", + " [ 21.67323551]]\n", + "[[-2.3678722 ]\n", + " [17.40123812]]\n", + "[[6.34394739]\n", + " [9.49733693]]\n", + "[[15.74853209]\n", + " [-2.5980098 ]]\n", + "[[ 25.88219391]\n", + " [-19.52314966]]\n", + "[[ 36.74736322]\n", + " [-41.91431505]]\n", + "[[ 48.30126714]\n", + " [-70.29741844]]\n", + "[[ 60.45218878]\n", + " [-104.91278022]]\n", + "[[ 73.05098943]\n", + " [-145.36215494]]\n", + "[[ 85.83233787]\n", + " [-189.82161484]]\n", + "[[ 98.19010528]\n", + " [-233.2912311 ]]\n", + "[[ 108.5774965]\n", + " [-264.0709023]]\n", + "[[ 113.45793551]\n", + " [-258.69012633]]\n", + "[[ 107.05209114]\n", + " [-182.58111177]]\n", + "[[ 85.59816011]\n", + " [-16.02564041]]\n", + "[[ 54.53701849]\n", + " [203.94372848]]\n", + "[[ 23.85983523]\n", + " [405.38796135]]\n", + "[[ -3.27605587]\n", + " [546.73255468]]\n", + "[[-26.20939141]\n", + " [609.75598418]]\n", + "[[-34.48864143]\n", + " [552.66060394]]\n", + "[[ -7.12940751]\n", + " [307.90284057]]\n", + "[[ 56.3312886 ]\n", + " [-97.85078726]]\n", + "[[ 109.07602545]\n", + " [-452.00269981]]\n", + "[[ 115.36942348]\n", + " [-596.83866948]]\n", + "[[ 82.14934815]\n", + " [-535.15863274]]\n", + "[[ 26.09639714]\n", + " [-315.65090822]]\n", + "[[-36.47600838]\n", + " [-25.78011887]]\n", + "[[-87.24182372]\n", + " [210.46006967]]\n", + "[[-115.94409958]\n", + " [ 319.88178981]]\n", + "[[-124.08224952]\n", + " [ 312.85162226]]\n", + "[[-117.48276832]\n", + " [ 233.85259546]]\n", + "[[-102.63248795]\n", + " [ 127.48436234]]\n", + "[[-86.02903916]\n", + " [ 29.26664687]]\n", + "[[-72.42083597]\n", + " [-40.10667268]]\n", + "[[-63.44533576]\n", + " [-76.38830397]]\n", + "[[-58.30887318]\n", + " [-86.07151848]]\n", + "[[-55.36335128]\n", + " [-78.81938304]]\n", + "[[-53.16081794]\n", + " [-62.98383287]]\n", + "[[-50.77481139]\n", + " [-44.32150068]]\n", + "[[-47.73970508]\n", + " [-26.25613672]]\n", + "[[-43.89263895]\n", + " [-10.54565597]]\n", + "[[-39.23468836]\n", + " [ 2.094681 ]]\n", + "[[-33.83572174]\n", + " [ 11.519233 ]]\n", + "[[-27.77667476]\n", + " [ 17.82328684]]\n", + "[[-21.1181736 ]\n", + " [ 21.12904009]]\n", + "[[-13.8868948 ]\n", + " [ 21.45770947]]\n", + "[[-6.07422211]\n", + " [18.66559894]]\n", + "[[ 2.35602128]\n", + " [12.42839142]]\n", + "[[11.45304986]\n", + " [ 2.26264006]]\n", + "[[ 21.26041004]\n", + " [-12.42394555]]\n", + "[[ 31.79685414]\n", + " [-32.25933356]]\n", + "[[ 43.04135403]\n", + " [-57.80922647]]\n", + "[[ 54.92495449]\n", + " [-89.42989213]]\n", + "[[ 67.32353401]\n", + " [-126.99516775]]\n", + "[[ 80.02221841]\n", + " [-169.31225632]]\n", + "[[ 92.57031557]\n", + " [-212.83082063]]\n", + "[[ 103.86037781]\n", + " [-248.95780998]]\n", + "[[ 111.26641805]\n", + " [-259.57829152]]\n", + "[[ 109.88193784]\n", + " [-214.34652815]]\n", + "[[ 94.60560212]\n", + " [-84.56946531]]\n", + "[[ 66.93576827]\n", + " [117.17288798]]\n", + "[[ 36.09933911]\n", + " [327.54062179]]\n", + "[[ 8.13074736]\n", + " [491.34147911]]\n", + "[[-16.5160195 ]\n", + " [585.98276379]]\n", + "[[-32.12974035]\n", + " [582.23193967]]\n", + "[[-20.69592868]\n", + " [417.7505229 ]]\n", + "[[31.04918773]\n", + " [63.65039981]]\n", + "[[ 93.01405514]\n", + " [-331.23162704]]\n", + "[[ 117.51753428]\n", + " [-559.00628854]]\n", + "[[ 97.66963694]\n", + " [-572.11957733]]\n", + "[[ 49.00756035]\n", + " [-407.81302526]]\n", + "[[ -12.71191135]\n", + " [-134.31320098]]\n", + "[[-69.46554787]\n", + " [132.31843179]]\n", + "[[-106.71312747]\n", + " [ 290.58391603]]\n", + "[[-122.08441607]\n", + " [ 322.71290525]]\n", + "[[-120.44585473]\n", + " [ 265.62463291]]\n", + "[[-108.10811279]\n", + " [ 165.36251026]]\n", + "[[-91.70809023]\n", + " [ 61.50275905]]\n", + "[[-76.86879826]\n", + " [-19.22291073]]\n", + "[[-66.37584768]\n", + " [-66.87653481]]\n", + "[[-60.14264057]\n", + " [-84.94694603]]\n", + "[[-56.67386328]\n", + " [-82.63778044]]\n", + "[[-54.38810416]\n", + " [-69.04388391]]\n", + "[[-52.17173995]\n", + " [-50.87801973]]\n", + "[[-49.41467345]\n", + " [-32.33836397]]\n", + "[[-45.86733384]\n", + " [-15.70333121]]\n", + "[[-41.48939586]\n", + " [ -1.99250192]]\n", + "[[-36.33885112]\n", + " [ 8.50240831]]\n", + "[[-30.50193068]\n", + " [ 15.83762265]]\n", + "[[-24.05320323]\n", + " [ 20.16362988]]\n", + "[[-17.03610136]\n", + " [ 21.56788037]]\n", + "[[-9.45731571]\n", + " [19.98894288]]\n", + "[[-1.29113324]\n", + " [15.18384904]]\n", + "[[7.50871834]\n", + " [6.73608157]]\n", + "[[16.99191899]\n", + " [-5.90459828]]\n", + "[[ 27.19210938]\n", + " [-23.35685914]]\n", + "[[ 38.10922798]\n", + " [-46.218545 ]]\n", + "[[ 49.69726269]\n", + " [-74.93997499]]\n", + "[[ 61.85585388]\n", + " [-109.60894939]]\n", + "[[ 74.4083212 ]\n", + " [-149.51640069]]\n", + "[[ 87.01135477]\n", + " [-192.21331466]]\n", + "[[ 98.87195911]\n", + " [-231.51332824]]\n", + "[[ 108.09268391]\n", + " [-253.83263007]]\n", + "[[ 110.77861269]\n", + " [-234.19229088]]\n", + "[[ 101.5859842 ]\n", + " [-141.31232919]]\n", + "[[78.7224928 ]\n", + " [32.58742372]]\n", + "[[ 48.81270833]\n", + " [242.37511571]]\n", + "[[ 19.99124184]\n", + " [425.04895366]]\n", + "[[ -5.773057 ]\n", + " [547.52898318]]\n", + "[[-26.01091034]\n", + " [587.58404543]]\n", + "[[-27.66356047]\n", + " [495.8850028 ]]\n", + "[[ 7.94790458]\n", + " [216.12497595]]\n", + "[[ 70.59201552]\n", + " [-182.58077112]]\n", + "[[ 112.21011833]\n", + " [-485.98823778]]\n", + "[[ 108.45141264]\n", + " [-580.49320009]]\n", + "[[ 69.77625057]\n", + " [-482.29573843]]\n", + "[[ 11.93621793]\n", + " [-244.44476176]]\n", + "[[-48.30420748]\n", + " [ 35.38183285]]\n", + "[[-93.78094361]\n", + " [240.08817415]]\n", + "[[-117.30320125]\n", + " [ 318.18987462]]\n", + "[[-121.75198361]\n", + " [ 291.10615285]]\n", + "[[-113.07466325]\n", + " [ 203.75669198]]\n", + "[[-97.81315792]\n", + " [ 98.69194243]]\n", + "[[-82.17075934]\n", + " [ 8.07857716]]\n", + "[[-70.10520771]\n", + " [-51.76439908]]\n", + "[[-62.49971995]\n", + " [-79.95401308]]\n", + "[[-58.23338307]\n", + " [-84.24844162]]\n", + "[[-55.68012434]\n", + " [-74.1085907 ]]\n", + "[[-53.54296066]\n", + " [-57.18174418]]\n", + "[[-51.04222125]\n", + " [-38.54119949]]\n", + "[[-47.81507111]\n", + " [-21.10070529]]\n", + "[[-43.75973464]\n", + " [ -6.27934029]]\n", + "[[-38.9090132 ]\n", + " [ 5.41467813]]\n", + "[[-33.34617414]\n", + " [ 13.94949012]]\n", + "[[-27.15489015]\n", + " [ 19.4712954 ]]\n", + "[[-20.39278842]\n", + " [ 22.11309289]]\n", + "[[-13.08091628]\n", + " [ 21.88340455]]\n", + "[[-5.2043617 ]\n", + " [18.61415995]]\n", + "[[ 3.27876207]\n", + " [11.95322224]]\n", + "[[12.42199942]\n", + " [ 1.39164658]]\n", + "[[ 22.27138474]\n", + " [-13.68172944]]\n", + "[[ 32.84612089]\n", + " [-33.90321923]]\n", + "[[ 44.12352269]\n", + " [-59.83121803]]\n", + "[[ 56.0304471 ]\n", + " [-91.78951033]]\n", + "[[ 68.4339886]\n", + " [-129.5740142]]\n", + "[[ 81.09933115]\n", + " [-171.82581895]]\n", + "[[ 93.52882234]\n", + " [-214.65865499]]\n", + "[[ 104.51416014]\n", + " [-248.86157737]]\n", + "[[ 111.26806169]\n", + " [-255.46261871]]\n", + "[[ 108.80986618]\n", + " [-203.91147859]]\n", + "[[ 92.44789611]\n", + " [-68.12637877]]\n", + "[[ 64.45680818]\n", + " [134.50885291]]\n", + "[[ 34.00069843]\n", + " [340.24215292]]\n", + "[[ 6.42163203]\n", + " [497.56094327]]\n", + "[[-17.66943799]\n", + " [584.50882995]]\n", + "[[-31.52416091]\n", + " [569.00970946]]\n", + "[[-16.69685049]\n", + " [388.23214519]]\n", + "[[37.12272473]\n", + " [25.78133345]]\n", + "[[ 96.24378007]\n", + " [-355.92925548]]\n", + "[[ 116.1108921 ]\n", + " [-562.16695216]]\n", + "[[ 93.22174067]\n", + " [-557.89717973]]\n", + "[[ 43.17347309]\n", + " [-382.35459422]]\n", + "[[ -18.33548178]\n", + " [-107.4864057 ]]\n", + "[[-73.31296289]\n", + " [149.51839996]]\n", + "[[-108.32062652]\n", + " [ 294.63779819]]\n", + "[[-121.94137849]\n", + " [ 317.09904955]]\n", + "[[-119.22590154]\n", + " [ 255.30548064]]\n", + "[[-106.47896912]\n", + " [ 154.54869664]]\n", + "[[-90.25836873]\n", + " [ 53.1124105 ]]\n", + "[[-75.92187164]\n", + " [-23.98644308]]\n", + "[[-65.93851044]\n", + " [-68.32741879]]\n", + "[[-60.04634367]\n", + " [-84.11662176]]\n", + "[[-56.73257833]\n", + " [-80.5733223 ]]\n", + "[[-54.4712824 ]\n", + " [-66.51143967]]\n", + "[[-52.21098791]\n", + " [-48.33937126]]\n", + "[[-49.38629972]\n", + " [-30.02292918]]\n", + "[[-45.77353304]\n", + " [-13.68836748]]\n", + "[[-41.3445857 ]\n", + " [ -0.26646215]]\n", + "[[-36.16111621]\n", + " [ 9.99516546]]\n", + "[[-30.30806199]\n", + " [ 17.16700731]]\n", + "[[-23.85599971]\n", + " [ 21.39480432]]\n", + "[[-16.84306262]\n", + " [ 22.74973861]]\n", + "[[-9.27025268]\n", + " [21.14767784]]\n", + "[[-1.10651349]\n", + " [16.32003747]]\n", + "[[7.69870533]\n", + " [7.82428006]]\n", + "[[17.19758372]\n", + " [-4.91474898]]\n", + "[[ 27.42398278]\n", + " [-22.53979548]]\n", + "[[ 38.37593575]\n", + " [-45.67553514]]\n", + "[[ 50.00490686]\n", + " [-74.8110069 ]]\n", + "[[ 62.21128052]\n", + " [-110.10228196]]\n", + "[[ 74.83014239]\n", + " [-150.96841039]]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 87.55403015]\n", + " [-195.19344291]]\n", + "[[ 99.66487185]\n", + " [-236.9650072 ]]\n", + "[[ 109.36801992]\n", + " [-263.09284469]]\n", + "[[ 112.76924585]\n", + " [-248.27397375]]\n", + "[[ 104.11138513]\n", + " [-158.57811079]]\n", + "[[80.85562344]\n", + " [18.18816945]]\n", + "[[ 49.73804235]\n", + " [236.59665806]]\n", + "[[ 19.89348339]\n", + " [427.97186855]]\n", + "[[ -6.57568763]\n", + " [557.12306775]]\n", + "[[-27.99881266]\n", + " [604.17723866]]\n", + "[[-31.78761728]\n", + " [521.28354431]]\n", + "[[ 2.29523335]\n", + " [246.00003427]]\n", + "[[ 66.96431093]\n", + " [-163.51303627]]\n", + "[[ 112.58144413]\n", + " [-485.70491988]]\n", + "[[ 111.3601755 ]\n", + " [-594.04042817]]\n", + "[[ 73.66009675]\n", + " [-503.91424687]]\n", + "[[ 15.74089336]\n", + " [-267.66196084]]\n", + "[[-45.70470386]\n", + " [ 19.07405573]]\n", + "[[-92.95177596]\n", + " [235.21055154]]\n", + "[[-117.93392088]\n", + " [ 322.76003217]]\n", + "[[-123.30427851]\n", + " [ 301.0132265 ]]\n", + "[[-115.03466226]\n", + " [ 215.33930787]]\n", + "[[-99.64983871]\n", + " [109.01643365]]\n", + "[[-83.47018696]\n", + " [ 15.32046063]]\n", + "[[-70.73504079]\n", + " [-47.9962338 ]]\n", + "[[-62.57365432]\n", + " [-79.00999985]]\n", + "[[-57.95671404]\n", + " [-85.14365561]]\n", + "[[-55.23633086]\n", + " [-75.97409116]]\n", + "[[-53.05698295]\n", + " [-59.39849379]]\n", + "[[-50.58562977]\n", + " [-40.71878355]]\n", + "[[-47.42208013]\n", + " [-23.0186 ]]\n", + "[[-43.44129444]\n", + " [ -7.833884 ]]\n", + "[[-38.66247504]\n", + " [ 4.24987241]]\n", + "[[-33.16132274]\n", + " [ 13.15160262]]\n", + "[[-27.01756157]\n", + " [ 18.98764662]]\n", + "[[-20.28700179]\n", + " [ 21.87391862]]\n", + "[[-12.99015835]\n", + " [ 21.80980671]]\n", + "[[-5.11248048]\n", + " [18.62281441]]\n", + "[[ 3.38673145]\n", + " [11.95918939]]\n", + "[[12.55890863]\n", + " [ 1.31013505]]\n", + "[[ 22.44699447]\n", + " [-13.93456404]]\n", + "[[ 33.06639227]\n", + " [-34.41122927]]\n", + "[[ 44.39078406]\n", + " [-60.68243122]]\n", + "[[ 56.34528341]\n", + " [-93.08514361]]\n", + "[[ 68.79980862]\n", + " [-131.44330049]]\n", + "[[ 81.53014968]\n", + " [-174.44442745]]\n", + "[[ 94.05817534]\n", + " [-218.25508109]]\n", + "[[ 105.19312931]\n", + " [-253.6483678 ]]\n", + "[[ 112.11596465]\n", + " [-261.31672715]]\n", + "[[ 109.67330501]\n", + " [-209.61674686]]\n", + "[[ 92.90403775]\n", + " [-70.94429808]]\n", + "[[ 64.16914246]\n", + " [136.79317641]]\n", + "[[ 33.14522337]\n", + " [346.77633618]]\n", + "[[ 5.2874421 ]\n", + " [506.21968981]]\n", + "[[-19.11042156]\n", + " [594.24902841]]\n", + "[[-33.3889784 ]\n", + " [579.29419372]]\n", + "[[-18.53840746]\n", + " [396.66969696]]\n", + "[[36.53854998]\n", + " [27.4142558 ]]\n", + "[[ 97.27868179]\n", + " [-362.09298378]]\n", + "[[ 117.67787587]\n", + " [-571.57233947]]\n", + "[[ 94.51267456]\n", + " [-567.00110005]]\n", + "[[ 43.91198175]\n", + " [-388.94513181]]\n", + "[[ -18.29929909]\n", + " [-109.70959745]]\n", + "[[-73.91120757]\n", + " [151.6684722 ]]\n", + "[[-109.23339818]\n", + " [ 299.12992217]]\n", + "[[-122.88493455]\n", + " [ 321.93699132]]\n", + "[[-120.0312444]\n", + " [ 259.3587763]]\n", + "[[-107.02755319]\n", + " [ 157.25861575]]\n", + "[[-90.49003526]\n", + " [ 54.33909513]]\n", + "[[-75.86508158]\n", + " [-23.99612076]]\n", + "[[-65.68222132]\n", + " [-69.12584521]]\n", + "[[-59.68320991]\n", + " [-85.28674129]]\n", + "[[-56.32705988]\n", + " [-81.83469405]]\n", + "[[-54.05747573]\n", + " [-67.71344683]]\n", + "[[-51.80198534]\n", + " [-49.41933945]]\n", + "[[-48.98325008]\n", + " [-30.97058676]]\n", + "[[-45.37141901]\n", + " [-14.52392529]]\n", + "[[-40.93533915]\n", + " [ -1.0283632 ]]\n", + "[[-35.73521717]\n", + " [ 9.25717763]]\n", + "[[-29.85542674]\n", + " [ 16.39610812]]\n", + "[[-23.36660869]\n", + " [ 20.52995701]]\n", + "[[-16.3075637]\n", + " [ 21.7280102]]\n", + "[[-8.68065274]\n", + " [19.90657126]]\n", + "[[-0.45697065]\n", + " [14.80024877]]\n", + "[[8.41108759]\n", + " [5.97313579]]\n", + "[[17.97216559]\n", + " [-7.1389001 ]]\n", + "[[ 28.25642912]\n", + " [-25.16137315]]\n", + "[[ 39.25851481]\n", + " [-48.69106505]]\n", + "[[ 50.92659229]\n", + " [-78.16751833]]\n", + "[[ 63.15537027]\n", + " [-113.65074024]]\n", + "[[ 75.7635881 ]\n", + " [-154.36381041]]\n", + "[[ 88.39609024]\n", + " [-197.68904945]]\n", + "[[ 100.21567108]\n", + " [-237.03216658]]\n", + "[[ 109.19672953]\n", + " [-257.92828136]]\n", + "[[ 111.20294457]\n", + " [-234.00590255]]\n", + "[[ 100.75590168]\n", + " [-133.41382627]]\n", + "[[76.56245856]\n", + " [48.4718188 ]]\n", + "[[ 46.03604432]\n", + " [261.41477781]]\n", + "[[ 17.1789885]\n", + " [442.1256563]]\n", + "[[ -8.51779861]\n", + " [560.01610074]]\n", + "[[-28.19587008]\n", + " [592.4456733 ]]\n", + "[[-27.66354142]\n", + " [487.02791749]]\n", + "[[ 11.56671437]\n", + " [189.66511557]]\n", + "[[ 75.45328111]\n", + " [-214.70698176]]\n", + "[[ 114.34429067]\n", + " [-506.44506191]]\n", + "[[ 107.2187292 ]\n", + " [-584.88159145]]\n", + "[[ 66.20808555]\n", + " [-472.39285308]]\n", + "[[ 7.1569217 ]\n", + " [-224.86700201]]\n", + "[[-52.86516314]\n", + " [ 55.59633096]]\n", + "[[-96.95152071]\n", + " [252.91762667]]\n", + "[[-118.86447452]\n", + " [ 322.07059015]]\n", + "[[-122.01581612]\n", + " [ 288.47289294]]\n", + "[[-112.46851804]\n", + " [ 197.75963606]]\n", + "[[-96.80264071]\n", + " [ 92.09834852]]\n", + "[[-81.15499647]\n", + " [ 2.77479386]]\n", + "[[-69.28967631]\n", + " [-55.05072327]]\n", + "[[-61.8988176 ]\n", + " [-81.40010895]]\n", + "[[-57.76840929]\n", + " [-84.41305301]]\n", + "[[-55.26353389]\n", + " [-73.55260405]]\n", + "[[-53.11313875]\n", + " [-56.32120449]]\n", + "[[-50.56620307]\n", + " [-37.63698031]]\n", + "[[-47.28013811]\n", + " [-20.29585618]]\n", + "[[-43.16426965]\n", + " [ -5.642032 ]]\n", + "[[-38.2557072 ]\n", + " [ 5.85608588]]\n", + "[[-32.63775193]\n", + " [ 14.18134961]]\n", + "[[-26.3917839 ]\n", + " [ 19.47819694]]\n", + "[[-19.57220355]\n", + " [ 21.86808879]]\n", + "[[-12.19692064]\n", + " [ 21.34332561]]\n", + "[[-4.24878644]\n", + " [17.71893934]]\n", + "[[ 4.31475944]\n", + " [10.62854646]]\n", + "[[13.54591876]\n", + " [-0.44557164]]\n", + "[[ 23.48727787]\n", + " [-16.11545147]]\n", + "[[ 34.15289784]\n", + " [-37.00773905]]\n", + "[[ 45.51405259]\n", + " [-63.6556327 ]]\n", + "[[ 57.49104434]\n", + " [-96.32964177]]\n", + "[[ 69.94162436]\n", + " [-134.71324199]]\n", + "[[ 82.60872816]\n", + " [-177.20466665]]\n", + "[[ 94.93193767]\n", + " [-219.39760108]]\n", + "[[ 105.54690293]\n", + " [-251.05200291]]\n", + "[[ 111.38348186]\n", + " [-251.61316386]]\n", + "[[ 107.26564866]\n", + " [-189.72948316]]\n", + "[[ 89.06745558]\n", + " [-42.9994781 ]]\n", + "[[ 60.31551789]\n", + " [163.40307126]]\n", + "[[ 30.22718583]\n", + " [364.10379426]]\n", + "[[ 3.13910668]\n", + " [512.66702186]]\n", + "[[-20.18187668]\n", + " [588.34875918]]\n", + "[[-31.40884879]\n", + " [554.81205336]]\n", + "[[-11.28931409]\n", + " [348.02510836]]\n", + "[[ 46.11105797]\n", + " [-29.68325933]]\n", + "[[ 101.72776381]\n", + " [-395.54713222]]\n", + "[[ 115.241813 ]\n", + " [-572.55507569]]\n", + "[[ 87.80334864]\n", + " [-542.63825115]]\n", + "[[ 35.30264315]\n", + " [-348.62616634]]\n", + "[[-26.40526503]\n", + " [-68.91247925]]\n", + "[[-79.23017884]\n", + " [176.7094719 ]]\n", + "[[-111.22082431]\n", + " [ 304.15273317]]\n", + "[[-122.30128398]\n", + " [ 312.48331754]]\n", + "[[-117.85308486]\n", + " [ 242.7450489 ]]\n", + "[[-104.25737823]\n", + " [ 139.77326473]]\n", + "[[-88.03948576]\n", + " [ 40.4742992 ]]\n", + "[[-74.24174094]\n", + " [-32.30731196]]\n", + "[[-64.90185217]\n", + " [-72.27200675]]\n", + "[[-59.48553589]\n", + " [-84.78166687]]\n", + "[[-56.41726013]\n", + " [-79.25999704]]\n", + "[[-54.21972663]\n", + " [-64.26326697]]\n", + "[[-51.91308338]\n", + " [-45.85099031]]\n", + "[[-48.98889374]\n", + " [-27.69964167]]\n", + "[[-45.25924023]\n", + " [-11.73517881]]\n", + "[[-40.71485124]\n", + " [ 1.23491726]]\n", + "[[-35.42501227]\n", + " [ 11.02921213]]\n", + "[[-29.47562805]\n", + " [ 17.74512353]]\n", + "[[-22.93473008]\n", + " [ 21.53010268]]\n", + "[[-15.83652191]\n", + " [ 22.44243189]]\n", + "[[-8.17817254]\n", + " [20.37840094]]\n", + "[[ 0.07404163]\n", + " [15.049166 ]]\n", + "[[8.97143642]\n", + " [5.99586943]]\n", + "[[18.56470675]\n", + " [-7.36535869]]\n", + "[[ 28.88412058]\n", + " [-25.67500334]]\n", + "[[ 39.92260358]\n", + " [-49.53968605]]\n", + "[[ 51.62550608]\n", + " [-79.4041374 ]]\n", + "[[ 63.88483459]\n", + " [-115.32884539]]\n", + "[[ 76.51794065]\n", + " [-156.5285996 ]]\n", + "[[ 89.16895983]\n", + " [-200.35225742]]\n", + "[[ 100.9935178 ]\n", + " [-240.09878508]]\n", + "[[ 109.93069692]\n", + " [-261.01368954]]\n", + "[[ 111.74968242]\n", + " [-236.12864967]]\n", + "[[ 100.86088389]\n", + " [-132.98948742]]\n", + "[[76.06731095]\n", + " [52.38213081]]\n", + "[[ 45.10864037]\n", + " [267.69403295]]\n", + "[[ 16.0666715]\n", + " [448.7986496]]\n", + "[[ -9.72130562]\n", + " [565.74627916]]\n", + "[[-29.3249653 ]\n", + " [595.96783378]]\n", + "[[-28.17482113]\n", + " [486.1238522 ]]\n", + "[[ 12.25085347]\n", + " [182.58045938]]\n", + "[[ 76.70269734]\n", + " [-224.58428582]]\n", + "[[ 114.875866 ]\n", + " [-513.40760587]]\n", + "[[ 106.74493552]\n", + " [-587.14771787]]\n", + "[[ 65.02606846]\n", + " [-470.3777219 ]]\n", + "[[ 5.62421503]\n", + " [-219.94501392]]\n", + "[[-54.32258939]\n", + " [ 60.85835574]]\n", + "[[-98.00469405]\n", + " [256.33446712]]\n", + "[[-119.46386141]\n", + " [ 323.28714248]]\n", + "[[-122.26644815]\n", + " [ 288.22779424]]\n", + "[[-112.49851022]\n", + " [ 196.91454578]]\n", + "[[-96.72366293]\n", + " [ 91.28427925]]\n", + "[[-81.04097278]\n", + " [ 2.3073125 ]]\n", + "[[-69.16844967]\n", + " [-55.13390611]]\n", + "[[-61.76789962]\n", + " [-81.21252568]]\n", + "[[-57.61746019]\n", + " [-84.09513636]]\n", + "[[-55.08696815]\n", + " [-73.20745314]]\n", + "[[-52.91248672]\n", + " [-56.00135659]]\n", + "[[-50.34788212]\n", + " [-37.35459981]]\n", + "[[-47.05249239]\n", + " [-20.03853233]]\n", + "[[-42.9352718 ]\n", + " [ -5.38683461]]\n", + "[[-38.03150533]\n", + " [ 6.13229813]]\n", + "[[-32.421879 ]\n", + " [ 14.49522356]]\n", + "[[-26.18481182]\n", + " [ 19.8359208 ]]\n", + "[[-19.37169266]\n", + " [ 22.26325479]]\n", + "[[-11.9976093 ]\n", + " [ 21.75597588]]\n", + "[[-4.04305347]\n", + " [18.11551066]]\n" + ] + } + ], "source": [ - "state = StatePinocchio(robot.model)\n", + "import time \n", + "dt = 0.01\n", + "t = np.arange(0,20,dt)\n", + "q0 = np.array([[1, 0]]).T\n", "\n", - "goalOrientationCost1 = CostModelFrameRotation(robot.model, \n", - " frame=robot.model.getFrameId('link1'), \n", - " ref=Mref.rotation, \n", - " nu=robot.model.nv)\n", - "goalOrientationCost2 = CostModelFrameRotation(robot.model, \n", - " frame=robot.model.getFrameId('link2'), \n", - " ref=Mref.rotation, \n", - " nu=robot.model.nv)\n", + "q = q0\n", + "q_d = np.zeros([2,1])\n", + "q_dd = np.zeros([2,1])\n", "\n", - "xRegCost = CostModelState(robot.model, state, ref=state.zero(), nu=robot.model.nv)\n", - "uRegCost = CostModelControl(robot.model, nu=robot.model.nv)\n", - "uLimCost = CostModelControl(robot.model, \n", - " nu=robot.model.nv,\n", - " activation = ActivationModelInequality(np.array([-1e-3, -1e-3]), np.array([1e-3, 1e-3])))\n", + "for i in range(len(t)):\n", + " pin.computeAllTerms(robot.model, robot.data, q, q_d)\n", + " M = robot.data.M\n", + " Minv = np.linalg.inv(M)\n", + " nle = robot.data.nle\n", + " q_dd = np.dot(Minv, m2a(-nle)).T\n", + " q_d = q_d + q_dd*dt\n", + " q = q + q_d*dt + 0.5*q_dd*dt**2\n", + " print q_dd\n", + " robot.framesForwardKinematics(q)\n", + " robot.display(q)\n", + " time.sleep(0.01)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [], + "source": [ + "state = StatePinocchio(robot.model)\n", "\n", + "xRegCost = CostModelState(robot.model, state, ref=state.zero(), nu=1)\n", + "uRegCost = CostModelControl(robot.model, nu = 1)\n", + "xPendCost = CostModelDoublePendulum(robot.model, \n", + " frame=state, \n", + " ref=state.zero, \n", + " nu=1,\n", + " activation=ActivationModelWeightedQuad(np.np.array([1]*4+[0.001]*2))) \n", "\n", + "runningCostModel = CostModelSum(robot.model, nu=1)\n", + "terminalCostModel = CostModelSum(robot.model, nu=1)\n", "\n", - "runningCostModel = CostModelSum(robot.model)\n", - "terminalCostModel = CostModelSum(robot.model)\n", + "runningCostModel.addCost(name=\"regx\", weight=1e-6, cost=xRegCost)\n", + "runningCostModel.addCost(name=\"regu\", weight=1e-6, cost=uRegCost)\n", + "runningCostModel.addCost(name=\"pend\", weight=0.1, cost=xPendCost)\n", + "terminalCostModel.addCost(name=\"ori2\", weight=100, cost=xPendCost)" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [], + "source": [ + "actModel = ActuationModelDoublePendulum(robot.model)\n", + "runningModel = IntegratedActionModelEuler(DifferentialActionModelUAM(robot.model, actModel, runningCostModel))\n", + "terminalModel = IntegratedActionModelEuler(DifferentialActionModelUAM(robot.model, actModel, terminalCostModel))" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [], + "source": [ + "# Defining the time duration for running action models and the terminal one\n", + "dt = 5e-2\n", + "runningModel.timeStep = dt\n", "\n", - "runningCostModel.addCost(name=\"ori1\", weight=1e-2, cost=goalOrientationCost1)\n", - "runningCostModel.addCost(name=\"ori2\", weight=1e-2, cost=goalOrientationCost2)\n", - "runningCostModel.addCost(name=\"regx\", weight=1e-7, cost=xRegCost)\n", - "runningCostModel.addCost(name=\"regu\", weight=1e-1, cost=uRegCost)\n", - "runningCostModel.addCost(name=\"limu\", weight=10000, cost=uLimCost)\n", - "terminalCostModel.addCost(name=\"ori1\", weight=5, cost=goalOrientationCost1)\n", - "terminalCostModel.addCost(name=\"ori2\", weight=5, cost=goalOrientationCost2)" + "# For this optimal control problem, we define 250 knots (or running action\n", + "# models) plus a terminal knot\n", + "T = 100\n", + "x0 = np.np.array([3.14, 0, 0., 0. ])\n", + "problem = ShootingProblem(x0, [runningModel] * T, terminalModel)" ] }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 74, "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'array' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m<ipython-input-74-dbb70293a1df>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m xs = [np.array([3.14, 0. , 0. , 0. ]),\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m \u001b[0;36m3.71059542\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m2.05541894\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m11.41190835\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m41.10837881\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m \u001b[0;36m3.76668242\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m2.83395101\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1.12174006\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m15.5706414\u001b[0m \u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m \u001b[0;36m3.89056434\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m2.99656298\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m2.47763835\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m3.25223937\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m \u001b[0;36m3.71635446\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m3.12552479\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m3.48419748\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m2.57923624\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'array' is not defined" + ] + } + ], + "source": [ + "xs = [np.np.array([3.14, 0. , 0. , 0. ]),\n", + " np.array([ 3.71059542, -2.05541894, 11.41190835, -41.10837881]),\n", + " np.array([ 3.76668242, -2.83395101, 1.12174006, -15.5706414 ]),\n", + " np.array([ 3.89056434, -2.99656298, 2.47763835, -3.25223937]),\n", + " np.array([ 3.71635446, -3.12552479, -3.48419748, -2.57923624]),\n", + " np.array([ 3.5244489 , -2.92584309, -3.83811128, 3.99363411]),\n", + " np.array([ 2.92679904, -2.97209156, -11.95299728, -0.92496958]),\n", + " np.array([ 2.338523 , -2.87566759, -11.76552081, 1.92847956]),\n", + " np.array([ 1.95375756, -2.56138768, -7.69530875, 6.28559803]),\n", + " np.array([ 1.77584689, -2.1567364 , -3.55821333, 8.09302574]),\n", + " np.array([ 1.72344537, -1.86560016, -1.04803039, 5.82272469]),\n", + " np.array([ 1.367794 , -1.5842915 , -7.11302751, 5.62617331]),\n", + " np.array([ 1.34280047, -1.42985981, -0.49987048, 3.08863373]),\n", + " np.array([ 1.44705705, -1.50587472, 2.08513161, -1.52029819]),\n", + " np.array([ 1.54391907, -1.58254265, 1.93724031, -1.53335868]),\n", + " np.array([ 1.51479801, -1.53731134, -0.58242123, 0.90462621]),\n", + " np.array([ 1.44800478, -1.46329318, -1.33586448, 1.48036335]),\n", + " np.array([ 1.40542619, -1.41846823, -0.85157192, 0.89649887]),\n", + " np.array([ 1.36151447, -1.37544602, -0.8782344 , 0.86044414]),\n", + " np.array([ 1.29170425, -1.29740573, -1.39620442, 1.56080594]),\n", + " np.array([ 1.21684746, -1.2021926 , -1.49713579, 1.90426261]),\n", + " np.array([ 1.16579769, -1.13015334, -1.02099531, 1.44078521]),\n", + " np.array([ 1.18899947, -1.18593751, 0.4640355 , -1.11568352]),\n", + " np.array([ 1.18923678, -1.19305194, 0.00474629, -0.14228851]),\n", + " np.array([ 1.18450234, -1.19285596, -0.09468873, 0.00391948]),\n", + " np.array([ 1.16938901, -1.17758861, -0.30226665, 0.30534706]),\n", + " np.array([ 1.14860889, -1.1556876 , -0.41560239, 0.43802026]),\n", + " np.array([ 1.12381992, -1.12905946, -0.49577947, 0.53256269]),\n", + " np.array([ 1.09763939, -1.10139022, -0.5236106 , 0.55338486]),\n", + " np.array([ 1.07129065, -1.07415824, -0.52697478, 0.54463952]),\n", + " np.array([ 1.04520189, -1.04775071, -0.52177524, 0.52815074]),\n", + " np.array([ 1.01925473, -1.02176134, -0.51894314, 0.51978733]),\n", + " np.array([ 0.99326029, -0.99576573, -0.51988888, 0.51991216]),\n", + " np.array([ 0.96713226, -0.96957085, -0.52256045, 0.52389762]),\n", + " np.array([ 0.94089059, -0.94318632, -0.52483347, 0.52769065]),\n", + " np.array([ 0.91460743, -0.91671151, -0.52566331, 0.52949614]),\n", + " np.array([ 0.88836448, -0.89025679, -0.52485899, 0.52909444]),\n", + " np.array([ 0.8622333 , -0.86391161, -0.52262358, 0.52690367]),\n", + " np.array([ 0.83627113, -0.83774103, -0.51924341, 0.52341162]),\n", + " np.array([ 0.81052314, -0.81179221, -0.51495979, 0.51897629]),\n", + " np.array([ 0.78502583, -0.7861013 , -0.50994604, 0.51381814]),\n", + " np.array([ 0.75980973, -0.76069794, -0.50432205, 0.50806732]),\n", + " np.array([ 0.73490108, -0.73560765, -0.49817305, 0.50180573]),\n", + " np.array([ 0.71032295, -0.71085309, -0.49156268, 0.49509113]),\n", + " np.array([ 0.68609592, -0.68645468, -0.48454062, 0.48796838]),\n", + " np.array([ 0.66223857, -0.66243097, -0.4771469 , 0.48047417]),\n", + " np.array([ 0.63876784, -0.638799 , -0.46941458, 0.47263926]),\n", + " np.array([ 0.61569926, -0.61557451, -0.46137163, 0.46448992]),\n", + " np.array([ 0.59304714, -0.59277205, -0.45304233, 0.45604915]),\n", + " np.array([ 0.57082472, -0.57040516, -0.44444851, 0.44733776]),\n", + " np.array([ 0.5490442 , -0.5484864 , -0.43561042, 0.43837527]),\n", + " np.array([ 0.52771682, -0.52702737, -0.42654753, 0.42918064]),\n", + " np.array([ 0.50685287, -0.50603872, -0.41727905, 0.41977288]),\n", + " np.array([ 0.48646165, -0.48553015, -0.40782438, 0.41017143]),\n", + " np.array([ 0.46655148, -0.46551033, -0.39820344, 0.40039651]),\n", + " np.array([ 0.44712963, -0.44598686, -0.38843682, 0.39046924]),\n", + " np.array([ 0.42820234, -0.42696627, -0.37854593, 0.38041178]),\n", + " np.array([ 0.40977469, -0.40845391, -0.36855301, 0.37024729]),\n", + " np.array([ 0.39185063, -0.39045392, -0.35848111, 0.35999991]),\n", + " np.array([ 0.37443293, -0.37296918, -0.34835401, 0.34969464]),\n", + " np.array([ 0.35752313, -0.35600132, -0.33819611, 0.33935717]),\n", + " np.array([ 0.34112151, -0.33955064, -0.32803223, 0.32901368]),\n", + " np.array([ 0.32522714, -0.32361611, -0.31788744, 0.31869062]),\n", + " np.array([ 0.3098378 , -0.30819539, -0.30778687, 0.30841447]),\n", + " np.array([ 0.29495002, -0.29328481, -0.29775549, 0.29821151]),\n", + " np.array([ 0.28055913, -0.27887943, -0.28781785, 0.28810754]),\n", + " np.array([ 0.26665924, -0.26497305, -0.27799791, 0.27812764]),\n", + " np.array([ 0.2532433 , -0.25155825, -0.26831881, 0.26829597]),\n", + " np.array([ 0.24030316, -0.23862648, -0.25880271, 0.25863553]),\n", + " np.array([ 0.22782963, -0.22616808, -0.24947056, 0.249168 ]),\n", + " np.array([ 0.21581253, -0.2141724 , -0.240342 , 0.23991356]),\n", + " np.array([ 0.20424077, -0.20262786, -0.23143524, 0.23089078]),\n", + " np.array([ 0.19310242, -0.19152203, -0.22276693, 0.22211657]),\n", + " np.array([ 0.18238482, -0.18084173, -0.21435216, 0.21360604]),\n", + " np.array([ 0.1720746 , -0.1705731 , -0.20620435, 0.20537255]),\n", + " np.array([ 0.16215783, -0.16070172, -0.1983353 , 0.19742769]),\n", + " np.array([ 0.15262007, -0.15121265, -0.19075521, 0.18978131]),\n", + " np.array([ 0.14344644, -0.14209057, -0.18347268, 0.1824416 ]),\n", + " np.array([ 0.1346217 , -0.13331981, -0.17649481, 0.17541513]),\n", + " np.array([ 0.12613034, -0.12488446, -0.16982728, 0.16870702]),\n", + " np.array([ 0.11795661, -0.11676841, -0.16347443, 0.162321 ]),\n", + " np.array([ 0.11008464, -0.10895544, -0.1574394 , 0.15625955]),\n", + " np.array([ 0.10249843, -0.10142923, -0.1517242 , 0.15052409]),\n", + " np.array([ 0.09518194, -0.09417348, -0.14632985, 0.14511507]),\n", + " np.array([ 0.08811912, -0.08717187, -0.14125652, 0.14003219]),\n", + " np.array([ 0.08129394, -0.08040814, -0.13650357, 0.13527455]),\n", + " np.array([ 0.07469045, -0.0738661 , -0.13206966, 0.13084086]),\n", + " np.array([ 0.06829281, -0.06752961, -0.12795279, 0.12672967]),\n", + " np.array([ 0.0620853 , -0.06138263, -0.12415021, 0.12293963]),\n", + " np.array([ 0.05605239, -0.05540914, -0.12065827, 0.11946986]),\n", + " np.array([ 0.05017879, -0.04959312, -0.11747205, 0.11632045]),\n", + " np.array([ 0.04444955, -0.04391845, -0.11458473, 0.11349339]),\n", + " np.array([ 0.03885023, -0.03836872, -0.11198653, 0.11099465]),\n", + " np.array([ 0.03336706, -0.03292676, -0.10966334, 0.10883912]),\n", + " np.array([ 0.02798731, -0.02757362, -0.10759493, 0.10706279]),\n", + " np.array([ 0.02269973, -0.02228629, -0.10575156, 0.10574658]),\n", + " np.array([ 0.01749586, -0.01703493, -0.10407742, 0.10502727]),\n", + " np.array([ 0.01237456, -0.01178555, -0.10242597, 0.10498748]),\n", + " np.array([ 0.00735098, -0.00651136, -0.10047168, 0.10548388]),\n", + " np.array([ 0.00245966, -0.00117719, -0.09782643, 0.10668329]),\n", + " np.array([-0.00194355, 0.0032169 , -0.08806415, 0.08788188])]" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": { + "scrolled": true + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", - " 0 8.22722e+02 1.53608e-07 2.85796e-11 1.00000e-09 1.00000e-09 1.0000 1\n", - " 1 7.82866e+02 1.64964e+07 1.64366e+03 1.00000e-09 1.00000e-09 0.1250 1\n", - " 2 7.74377e+02 1.59686e+07 1.55226e+03 1.00000e-09 1.00000e-09 0.0156 1\n", - " 3 7.65439e+02 1.66619e+07 1.51114e+03 1.00000e-09 1.00000e-09 0.0156 1\n", - " 4 7.46728e+02 1.71219e+07 1.47746e+03 1.00000e-09 1.00000e-09 0.0625 1\n", - " 5 6.73463e+02 1.67466e+07 1.42448e+03 1.00000e-09 1.00000e-09 0.1250 1\n", - " 6 5.15004e+02 1.34686e+07 1.34587e+03 1.00000e-09 1.00000e-09 0.2500 1\n", - " 7 2.06038e+02 1.11691e+07 9.69961e+02 1.00000e-09 1.00000e-09 0.5000 1\n", - " 8 2.00761e+02 4.14994e+06 4.06760e+02 1.00000e-09 1.00000e-09 0.0312 1\n", - " 9 1.47211e+02 3.94685e+06 3.53679e+02 1.00000e-09 1.00000e-09 0.2500 1\n", + " 0 1.23861e-01 1.86586e+02 -1.56928e+06 1.00000e+02 1.00000e+02 0.0312 0\n", + " 1 2.87954e-01 1.72339e+03 -1.52928e+06 1.00000e+02 1.00000e+02 0.0156 0\n", + " 2 5.39916e-01 3.56269e+03 -1.49132e+06 1.00000e+02 1.00000e+02 0.0156 0\n", + " 3 8.96508e-01 7.01725e+03 -1.45873e+06 1.00000e+02 1.00000e+02 0.0156 0\n", + " 4 1.37132e+00 1.33917e+04 -1.43153e+06 1.00000e+02 1.00000e+02 0.0156 0\n", + " 5 1.96286e+00 2.45857e+04 -1.40971e+06 1.00000e+02 1.00000e+02 0.0156 0\n", + " 6 2.63553e+00 4.20907e+04 -1.39320e+06 1.00000e+02 1.00000e+02 0.0156 0\n", + " 7 3.31405e+00 6.44937e+04 -1.38188e+06 1.00000e+02 1.00000e+02 0.0156 0\n", + " 8 4.61426e+00 8.64758e+04 -1.33121e+06 1.00000e+02 1.00000e+02 0.0312 0\n", + " 9 4.32704e+00 1.36846e+05 -1.46865e+06 1.00000e+02 1.00000e+02 0.0156 0\n", "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", - " 10 1.45307e+02 3.07307e+06 2.93457e+02 1.00000e-09 1.00000e-09 0.0625 1\n", - " 11 1.43810e+02 2.95843e+06 2.80205e+02 1.00000e-09 1.00000e-09 0.0156 1\n", - " 12 1.31407e+02 3.12254e+06 2.61558e+02 1.00000e-09 1.00000e-09 0.0625 1\n", - " 13 1.30515e+02 2.71872e+06 2.55405e+02 1.00000e-09 1.00000e-09 0.0156 1\n", - " 14 1.18786e+02 2.87331e+06 2.45170e+02 1.00000e-09 1.00000e-09 0.0625 1\n", - " 15 1.06145e+02 2.56880e+06 2.14438e+02 1.00000e-09 1.00000e-09 0.0625 1\n", - " 16 9.25951e+01 2.37605e+06 1.97031e+02 1.00000e-09 1.00000e-09 0.2500 1\n", - " 17 8.30065e+01 2.11979e+06 1.83576e+02 1.00000e-09 1.00000e-09 0.2500 1\n", - " 18 8.16102e+01 1.74436e+06 1.63244e+02 1.00000e-09 1.00000e-09 0.0625 1\n", - " 19 3.81373e+01 8.63706e+06 1.59411e+02 1.00000e-09 1.00000e-09 0.5000 1\n", + " 10 4.17093e+00 1.36816e+05 -1.52823e+06 1.00000e+02 1.00000e+02 0.0078 0\n", + " 11 3.97099e+00 1.38023e+05 -1.47497e+06 1.00000e+02 1.00000e+02 0.0078 0\n", + " 12 3.95794e+00 1.43984e+05 -1.45162e+06 1.00000e+02 1.00000e+02 0.0078 0\n", + " 13 4.65072e+00 1.33650e+05 -1.44111e+06 1.00000e+02 1.00000e+02 0.0078 0\n", + " 14 4.76588e+00 1.58157e+05 -1.40792e+06 1.00000e+02 1.00000e+02 0.0078 0\n", + " 15 4.87966e+00 1.58820e+05 -1.36980e+06 1.00000e+02 1.00000e+02 0.0078 0\n", + " 16 5.09447e+00 1.59441e+05 -1.29127e+06 1.00000e+02 1.00000e+02 0.0156 0\n", + " 17 5.54177e+00 1.61417e+05 -1.15753e+06 1.00000e+02 1.00000e+02 0.0156 0\n", + " 18 5.81175e+00 1.71170e+05 -9.70149e+05 1.00000e+02 1.00000e+02 0.0156 0\n", + " 19 5.98966e+00 1.74643e+05 -8.08422e+05 1.00000e+02 1.00000e+02 0.0156 0\n", "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", - " 20 3.76670e+01 7.76821e+05 7.41861e+01 1.00000e-09 1.00000e-09 0.0625 1\n", - " 21 3.64285e+01 6.99766e+05 7.11054e+01 1.00000e-09 1.00000e-09 0.0312 1\n", - " 22 3.39374e+01 2.99123e+06 6.26298e+01 1.00000e-09 1.00000e-09 0.1250 1\n", - " 23 3.36298e+01 6.43193e+05 6.04564e+01 1.00000e-09 1.00000e-09 0.0156 1\n", - " 24 3.33496e+01 6.69338e+05 5.79480e+01 1.00000e-09 1.00000e-09 0.0078 1\n", - " 25 3.14735e+01 1.10352e+06 5.58016e+01 1.00000e-09 1.00000e-09 0.0625 1\n", - " 26 3.12530e+01 6.91668e+05 4.73205e+01 1.00000e-09 1.00000e-09 0.0078 1\n", - " 27 2.78995e+01 1.67839e+06 4.56223e+01 1.00000e-09 1.00000e-09 0.2500 1\n", - " 28 2.72211e+01 6.11993e+05 4.80125e+01 1.00000e-09 1.00000e-09 0.0156 1\n", - " 29 2.28130e+01 8.76072e+05 4.70907e+01 1.00000e-09 1.00000e-09 0.1250 1\n", + " 20 6.16152e+00 1.76037e+05 -6.72795e+05 1.00000e+02 1.00000e+02 0.0156 0\n", + " 21 6.42863e+00 1.77806e+05 -5.61106e+05 1.00000e+02 1.00000e+02 0.0156 0\n", + " 22 6.73548e+00 1.83311e+05 -4.69909e+05 1.00000e+02 1.00000e+02 0.0156 0\n", + " 23 6.95229e+00 1.90390e+05 -3.94696e+05 1.00000e+02 1.00000e+02 0.0156 0\n", + " 24 7.31945e+00 1.94028e+05 -3.21455e+05 1.00000e+02 1.00000e+02 0.0312 0\n", + " 25 7.40508e+00 2.02550e+05 -2.29037e+05 1.00000e+02 1.00000e+02 0.0312 0\n", + " 26 7.63842e+00 2.02480e+05 -1.66189e+05 1.00000e+02 1.00000e+02 0.0312 0\n", + " 27 7.96976e+00 2.04366e+05 -1.23731e+05 1.00000e+02 1.00000e+02 0.0312 0\n", + " 28 8.23922e+00 2.10523e+05 -9.44868e+04 1.00000e+02 1.00000e+02 0.0312 0\n", + " 29 8.98672e+00 2.14750e+05 -6.88851e+04 1.00000e+02 1.00000e+02 0.0625 0\n", "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", - " 30 2.25688e+01 5.26996e+05 2.87922e+01 1.00000e-09 1.00000e-09 0.0156 1\n", - " 31 2.22231e+01 5.34503e+05 2.65264e+01 1.00000e-09 1.00000e-09 0.0312 1\n", - " 32 2.21574e+01 3.32318e+05 3.37833e+01 1.00000e-09 1.00000e-09 0.0078 1\n", - " 33 2.19798e+01 3.88303e+05 2.83477e+01 1.00000e-09 1.00000e-09 0.0312 1\n", - " 34 2.15549e+01 6.01611e+05 4.21262e+01 1.00000e-09 1.00000e-09 0.0312 1\n", - " 35 2.13188e+01 5.70678e+05 2.82849e+01 1.00000e-09 1.00000e-09 0.0312 1\n", - " 36 2.09601e+01 4.95414e+05 2.56437e+01 1.00000e-09 1.00000e-09 0.0312 1\n", - " 37 2.06580e+01 5.11630e+05 2.49112e+01 1.00000e-09 1.00000e-09 0.0312 1\n", - " 38 2.03268e+01 4.84106e+05 2.42919e+01 1.00000e-09 1.00000e-09 0.0312 1\n", - " 39 2.00539e+01 4.87820e+05 2.34225e+01 1.00000e-09 1.00000e-09 0.0312 1\n", + " 30 9.22857e+00 2.32228e+05 -4.50699e+04 1.00000e+02 1.00000e+02 0.0625 0\n", + " 31 9.39012e+00 2.33438e+05 -3.13395e+04 1.00000e+02 1.00000e+02 0.0625 0\n", + " 32 9.60129e+00 2.33613e+05 -1.97340e+04 1.00000e+02 1.00000e+02 0.1250 0\n", + " 33 9.61976e+00 2.33014e+05 -8.01319e+03 1.00000e+02 1.00000e+02 0.2500 0\n", + " 34 9.86093e+00 2.25240e+05 8.37669e-03 1.00000e+02 1.00000e+02 0.5000 0\n", + " 35 9.92731e+00 2.19184e+05 -9.94228e+02 1.00000e+02 1.00000e+02 0.2500 0\n", + " 36 9.76790e+00 2.16211e+05 7.23548e-03 1.00000e+02 1.00000e+02 0.5000 0\n", + " 37 9.79297e+00 2.02314e+05 1.26367e-01 1.00000e+02 1.00000e+02 0.5000 0\n", + " 38 9.75768e+00 1.93974e+05 1.17514e-01 1.00000e+02 1.00000e+02 0.5000 0\n", + " 39 9.71158e+00 1.85253e+05 1.12120e-01 1.00000e+02 1.00000e+02 0.5000 0\n", "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", - " 40 1.98552e+01 4.55520e+05 2.32399e+01 1.00000e-09 1.00000e-09 0.0156 1\n", - " 41 1.29691e+01 4.04156e+05 1.89734e+01 1.00000e-09 1.00000e-09 1.0000 1\n", - " 42 1.28452e+01 3.29528e+05 1.98127e+01 1.00000e-09 1.00000e-09 0.0156 1\n", - " 43 1.26077e+01 3.40873e+05 1.86347e+01 1.00000e-09 1.00000e-09 0.0156 1\n", - " 44 1.24248e+01 3.09126e+05 1.68829e+01 1.00000e-09 1.00000e-09 0.0156 1\n", - " 45 1.21672e+01 2.77048e+05 1.51092e+01 1.00000e-09 1.00000e-09 0.0312 1\n", - " 46 1.19678e+01 1.54374e+05 9.19618e+00 1.00000e-09 1.00000e-09 0.0312 1\n", - " 47 1.14039e+01 7.31306e+04 4.50704e+00 1.00000e-09 1.00000e-09 0.2500 1\n", - " 48 1.13527e+01 2.32491e+05 1.85320e+01 1.00000e-09 1.00000e-09 0.0039 1\n", - " 49 1.12639e+01 1.00167e+05 6.47902e+00 1.00000e-09 1.00000e-09 0.0625 1\n", + " 40 9.66298e+00 1.76815e+05 1.07005e-01 1.00000e+02 1.00000e+02 0.5000 0\n", + " 41 9.61461e+00 1.68674e+05 1.02097e-01 1.00000e+02 1.00000e+02 0.5000 0\n", + " 42 9.56752e+00 1.60855e+05 9.74035e-02 1.00000e+02 1.00000e+02 0.5000 0\n", + " 43 9.47799e+00 1.53372e+05 1.74671e-01 1.00000e+01 1.00000e+01 1.0000 1\n", + " 44 9.39568e+00 1.39259e+05 8.44952e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 45 9.32081e+00 1.26418e+05 7.68473e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 46 9.25268e+00 1.14764e+05 6.99156e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 47 9.19065e+00 1.04188e+05 6.36339e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 48 9.13416e+00 9.45950e+04 5.79420e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 49 9.08269e+00 8.58949e+04 5.27850e-02 1.00000e+01 1.00000e+01 1.0000 1\n", "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", - " 50 1.12175e+01 1.58071e+05 5.61753e+00 1.00000e-09 1.00000e-09 0.0156 1\n", - " 51 1.11446e+01 9.74140e+04 3.05637e+00 1.00000e-09 1.00000e-09 0.0625 1\n", - " 52 1.10797e+01 6.36989e+04 3.71029e+00 1.00000e-09 1.00000e-09 0.0312 1\n", - " 53 1.08488e+01 5.33516e+04 1.88867e+00 1.00000e-09 1.00000e-09 0.2500 1\n", - " 54 1.07958e+01 9.80265e+04 5.78745e+00 1.00000e-09 1.00000e-09 0.0312 1\n", - " 55 1.07894e+01 1.98524e+04 1.63667e+00 1.00000e-09 1.00000e-09 0.0039 1\n", - " 56 1.07906e+01 1.95905e+04 1.61528e+00 1.00000e-08 1.00000e-08 0.0020 1\n", - " 57 1.07906e+01 1.95880e+04 1.61494e+00 1.00000e-07 1.00000e-07 0.0020 1\n", - " 58 1.07906e+01 1.95632e+04 1.61153e+00 1.00000e-06 1.00000e-06 0.0020 1\n", - " 59 1.07900e+01 1.93589e+04 1.58081e+00 1.00000e-05 1.00000e-05 0.0020 1\n", + " 50 9.03577e+00 7.80067e+04 4.81132e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 51 8.99296e+00 7.08562e+04 4.38813e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 52 8.95388e+00 6.43758e+04 4.00482e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 53 8.91818e+00 5.85038e+04 3.65766e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 54 8.88553e+00 5.31841e+04 3.34326e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 55 8.85566e+00 4.83657e+04 3.05855e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 56 8.82831e+00 4.40020e+04 2.80073e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 57 8.80322e+00 4.00507e+04 2.56728e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 58 8.78019e+00 3.64735e+04 2.35589e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 59 8.75903e+00 3.32353e+04 2.16450e-02 1.00000e+01 1.00000e+01 1.0000 1\n", "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", - " 60 1.07879e+01 1.90422e+04 1.42054e+00 1.00000e-04 1.00000e-04 0.0020 1\n", - " 61 1.02103e+01 2.98240e+04 1.10740e+00 1.00000e-05 1.00000e-05 1.0000 1\n", - " 62 1.01981e+01 8.72589e+04 4.89501e+00 1.00000e-05 1.00000e-05 0.0039 1\n", - " 63 1.01948e+01 7.21877e+04 4.09142e+00 1.00000e-05 1.00000e-05 0.0078 1\n", - " 64 1.01577e+01 4.55547e+04 2.65963e+00 1.00000e-05 1.00000e-05 0.0312 1\n", - " 65 1.01547e+01 4.53278e+03 3.03044e-01 1.00000e-05 1.00000e-05 0.0156 1\n", - " 66 1.00715e+01 4.45681e+03 2.69529e-01 1.00000e-06 1.00000e-06 1.0000 1\n", - " 67 1.00615e+01 4.86969e+04 3.84934e+00 1.00000e-06 1.00000e-06 0.0039 1\n", - " 68 1.00290e+01 3.87853e+04 3.45709e+00 1.00000e-06 1.00000e-06 0.0312 1\n", - " 69 1.00273e+01 8.13921e+03 5.75614e-01 1.00000e-06 1.00000e-06 0.0156 1\n", + " 60 8.73955e+00 3.03045e+04 1.99122e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 61 8.72160e+00 2.76522e+04 1.83433e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 62 8.70503e+00 2.52524e+04 1.69229e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 63 8.68972e+00 2.30811e+04 1.56369e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 64 8.67554e+00 2.11170e+04 1.44726e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 65 8.66239e+00 1.93405e+04 1.34186e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 66 8.65016e+00 1.77339e+04 1.24643e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 67 8.63878e+00 1.62811e+04 1.16003e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 68 8.62816e+00 1.49675e+04 1.08182e-02 1.00000e+01 1.00000e+01 1.0000 1\n", + " 69 8.61823e+00 1.37799e+04 1.01100e-02 1.00000e+01 1.00000e+01 1.0000 1\n", "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", - " 70 9.90109e+00 6.61931e+03 4.95109e-01 1.00000e-06 1.00000e-06 0.5000 1\n", - " 71 9.87496e+00 3.85419e+04 2.16375e+00 1.00000e-06 1.00000e-06 0.0312 1\n", - " 72 9.85083e+00 1.04511e+04 7.01008e-01 1.00000e-06 1.00000e-06 0.0625 1\n", - " 73 9.83419e+00 1.65326e+04 9.76490e-01 1.00000e-06 1.00000e-06 0.0312 1\n", - " 74 9.81900e+00 7.15274e+03 5.06347e-01 1.00000e-06 1.00000e-06 0.1250 1\n", - " 75 9.79734e+00 3.63683e+04 2.22425e+00 1.00000e-06 1.00000e-06 0.0312 1\n", - " 76 9.79187e+00 6.94897e+03 4.35140e-01 1.00000e-06 1.00000e-06 0.0625 1\n", - " 77 9.78163e+00 1.49202e+04 8.83738e-01 1.00000e-06 1.00000e-06 0.0312 1\n", - " 78 9.77308e+00 5.07870e+03 3.13076e-01 1.00000e-06 1.00000e-06 0.0625 1\n", - " 79 9.76524e+00 9.18986e+03 5.38885e-01 1.00000e-06 1.00000e-06 0.0312 1\n", + " 70 8.60893e+00 1.27065e+04 9.46882e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 71 8.60019e+00 1.17363e+04 8.88830e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 72 8.59196e+00 1.08595e+04 8.36267e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 73 8.58420e+00 1.00673e+04 7.88673e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 74 8.57686e+00 9.35153e+03 7.45576e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 75 8.56989e+00 8.70497e+03 7.06549e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 76 8.56327e+00 8.12098e+03 6.71206e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 77 8.55697e+00 7.59359e+03 6.39197e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 78 8.55094e+00 7.11738e+03 6.10205e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 79 8.54518e+00 6.68745e+03 5.83945e-03 1.00000e+01 1.00000e+01 1.0000 1\n", "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", - " 80 9.75879e+00 4.07717e+03 2.47685e-01 1.00000e-06 1.00000e-06 0.1250 1\n", - " 81 9.74569e+00 2.27846e+04 1.39813e+00 1.00000e-06 1.00000e-06 0.0156 1\n", - " 82 9.74030e+00 5.15182e+03 2.97725e-01 1.00000e-06 1.00000e-06 0.0625 1\n", - " 83 9.73264e+00 9.41877e+03 5.59391e-01 1.00000e-06 1.00000e-06 0.0312 1\n", - " 84 9.72719e+00 3.69964e+03 2.10082e-01 1.00000e-06 1.00000e-06 0.1250 1\n", - " 85 9.71550e+00 1.88164e+04 1.09219e+00 1.00000e-06 1.00000e-06 0.0312 1\n", - " 86 9.70972e+00 4.11346e+03 2.28018e-01 1.00000e-06 1.00000e-06 0.0625 1\n", - " 87 9.70378e+00 6.68727e+03 3.92024e-01 1.00000e-06 1.00000e-06 0.0312 1\n", - " 88 9.69636e+00 3.09346e+03 1.70084e-01 1.00000e-06 1.00000e-06 0.1250 1\n", - " 89 9.68786e+00 1.31137e+04 7.60712e-01 1.00000e-06 1.00000e-06 0.0312 1\n" + " 80 8.53964e+00 6.29936e+03 5.60156e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 81 8.53431e+00 5.94911e+03 5.38604e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 82 8.52918e+00 5.63305e+03 5.19075e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 83 8.52421e+00 5.34789e+03 5.01379e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 84 8.51941e+00 5.09067e+03 4.85341e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 85 8.51474e+00 4.85868e+03 4.70803e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 86 8.51020e+00 4.64950e+03 4.57623e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 87 8.50578e+00 4.46091e+03 4.45672e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 88 8.50147e+00 4.29093e+03 4.34832e-03 1.00000e+01 1.00000e+01 1.0000 1\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ + " 89 8.49725e+00 4.13776e+03 4.24999e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", + " 90 8.49312e+00 3.99976e+03 4.16077e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 91 8.48907e+00 3.87546e+03 4.07979e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 92 8.48508e+00 3.76352e+03 4.00626e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 93 8.48117e+00 3.66274e+03 3.93949e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 94 8.47731e+00 3.57204e+03 3.87882e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 95 8.47351e+00 3.49042e+03 3.82368e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 96 8.46975e+00 3.41700e+03 3.77354e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 97 8.46604e+00 3.35096e+03 3.72793e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 98 8.46238e+00 3.29159e+03 3.68642e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 99 8.45874e+00 3.23822e+03 3.64861e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", + " 100 8.45514e+00 3.19026e+03 3.61416e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 101 8.45158e+00 3.14717e+03 3.58274e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 102 8.44804e+00 3.10847e+03 3.55407e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 103 8.44452e+00 3.07371e+03 3.52789e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 104 8.44103e+00 3.04251e+03 3.50396e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 105 8.43756e+00 3.01451e+03 3.48207e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 106 8.43411e+00 2.98938e+03 3.46202e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 107 8.43068e+00 2.96682e+03 3.44363e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 108 8.42726e+00 2.94659e+03 3.42676e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 109 8.42386e+00 2.92843e+03 3.41125e-03 1.00000e+01 1.00000e+01 1.0000 1\n", "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", - " 90 9.68266e+00 3.39338e+03 1.86600e-01 1.00000e-06 1.00000e-06 0.0625 1\n", - " 91 9.67773e+00 5.36183e+03 3.10928e-01 1.00000e-06 1.00000e-06 0.0312 1\n", - " 92 9.66189e+00 2.90718e+03 1.72239e-01 1.00000e-06 1.00000e-06 0.2500 1\n", - " 93 9.64225e+00 2.91833e+04 1.69669e+00 1.00000e-06 1.00000e-06 0.0312 1\n", - " 94 9.63974e+00 3.81247e+03 2.09775e-01 1.00000e-06 1.00000e-06 0.0625 1\n", - " 95 9.63921e+00 7.92591e+03 4.91333e-01 1.00000e-05 1.00000e-05 0.0020 1\n", - " 96 9.63659e+00 6.15321e+03 3.70180e-01 1.00000e-05 1.00000e-05 0.0078 1\n", - " 97 9.63661e+00 4.43899e+03 2.76598e-01 1.00000e-04 1.00000e-04 0.0020 1\n", - " 98 9.63637e+00 3.23573e+03 1.68842e-01 1.00000e-03 1.00000e-03 0.0020 1\n", - " 99 9.60595e+00 2.74333e+03 5.91110e-02 1.00000e-04 1.00000e-04 1.0000 1\n" + " 110 8.42047e+00 2.91214e+03 3.39698e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 111 8.41710e+00 2.89752e+03 3.38383e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 112 8.41374e+00 2.88439e+03 3.37170e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 113 8.41039e+00 2.87260e+03 3.36048e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 114 8.40705e+00 2.86201e+03 3.35009e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 115 8.40372e+00 2.85249e+03 3.34045e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 116 8.40039e+00 2.84391e+03 3.33149e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 117 8.39708e+00 2.83619e+03 3.32315e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 118 8.39377e+00 2.82922e+03 3.31536e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 119 8.39047e+00 2.82292e+03 3.30808e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", + " 120 8.38718e+00 2.81721e+03 3.30125e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 121 8.38389e+00 2.81202e+03 3.29484e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 122 8.38061e+00 2.80730e+03 3.28881e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 123 8.37734e+00 2.80298e+03 3.28311e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 124 8.37407e+00 2.79902e+03 3.27772e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 125 8.37080e+00 2.79538e+03 3.27261e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 126 8.36754e+00 2.79200e+03 3.26774e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 127 8.36429e+00 2.78886e+03 3.26311e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 128 8.36104e+00 2.78593e+03 3.25868e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 129 8.35779e+00 2.78316e+03 3.25445e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", + " 130 8.35455e+00 2.78055e+03 3.25038e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 131 8.35131e+00 2.77806e+03 3.24646e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 132 8.34807e+00 2.77567e+03 3.24268e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 133 8.34484e+00 2.77337e+03 3.23903e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 134 8.34161e+00 2.77113e+03 3.23549e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 135 8.33839e+00 2.76895e+03 3.23206e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 136 8.33517e+00 2.76681e+03 3.22872e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 137 8.33195e+00 2.76470e+03 3.22547e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 138 8.32873e+00 2.76261e+03 3.22229e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 139 8.32552e+00 2.76052e+03 3.21918e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", + " 140 8.32231e+00 2.75844e+03 3.21614e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 141 8.31911e+00 2.75635e+03 3.21315e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 142 8.31590e+00 2.75425e+03 3.21022e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 143 8.31270e+00 2.75213e+03 3.20733e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 144 8.30951e+00 2.74999e+03 3.20449e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 145 8.30631e+00 2.74782e+03 3.20169e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 146 8.30312e+00 2.74562e+03 3.19892e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 147 8.29993e+00 2.74339e+03 3.19618e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 148 8.29674e+00 2.74112e+03 3.19348e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 149 8.29356e+00 2.73882e+03 3.19080e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", + " 150 8.29038e+00 2.73648e+03 3.18815e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 151 8.28720e+00 2.73409e+03 3.18552e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 152 8.28402e+00 2.73167e+03 3.18290e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 153 8.28085e+00 2.72920e+03 3.18031e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 154 8.27768e+00 2.72669e+03 3.17774e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 155 8.27451e+00 2.72413e+03 3.17518e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 156 8.27134e+00 2.72153e+03 3.17263e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 157 8.26818e+00 2.71889e+03 3.17010e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 158 8.26502e+00 2.71620e+03 3.16758e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 159 8.26186e+00 2.71347e+03 3.16507e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", + " 160 8.25871e+00 2.71070e+03 3.16257e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 161 8.25555e+00 2.70788e+03 3.16008e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 162 8.25240e+00 2.70503e+03 3.15760e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 163 8.24925e+00 2.70213e+03 3.15512e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 164 8.24611e+00 2.69919e+03 3.15266e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 165 8.24296e+00 2.69621e+03 3.15020e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 166 8.23982e+00 2.69319e+03 3.14774e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 167 8.23669e+00 2.69013e+03 3.14530e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 168 8.23355e+00 2.68704e+03 3.14285e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 169 8.23042e+00 2.68391e+03 3.14042e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", + " 170 8.22728e+00 2.68075e+03 3.13799e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 171 8.22415e+00 2.67755e+03 3.13556e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 172 8.22103e+00 2.67431e+03 3.13313e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 173 8.21790e+00 2.67105e+03 3.13071e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 174 8.21478e+00 2.66775e+03 3.12830e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 175 8.21166e+00 2.66442e+03 3.12589e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 176 8.20855e+00 2.66107e+03 3.12348e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 177 8.20543e+00 2.65768e+03 3.12107e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 178 8.20232e+00 2.65427e+03 3.11867e-03 1.00000e+01 1.00000e+01 1.0000 1\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 179 8.19921e+00 2.65083e+03 3.11627e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", + " 180 8.19610e+00 2.64737e+03 3.11387e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 181 8.19300e+00 2.64388e+03 3.11148e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 182 8.18989e+00 2.64037e+03 3.10909e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 183 8.18679e+00 2.63683e+03 3.10670e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 184 8.18370e+00 2.63328e+03 3.10431e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 185 8.18060e+00 2.62970e+03 3.10193e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 186 8.17751e+00 2.62611e+03 3.09954e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 187 8.17442e+00 2.62249e+03 3.09716e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 188 8.17133e+00 2.61886e+03 3.09479e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 189 8.16824e+00 2.61521e+03 3.09241e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + "iter \t cost \t stop \t grad \t xreg \t ureg \t step \t feas\n", + " 190 8.16516e+00 2.61155e+03 3.09004e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 191 8.16208e+00 2.60787e+03 3.08766e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 192 8.15900e+00 2.60418e+03 3.08529e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 193 8.15592e+00 2.60047e+03 3.08292e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 194 8.15285e+00 2.59675e+03 3.08056e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 195 8.14978e+00 2.59302e+03 3.07819e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 196 8.14671e+00 2.58927e+03 3.07583e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 197 8.14364e+00 2.58552e+03 3.07347e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 198 8.14057e+00 2.58176e+03 3.07111e-03 1.00000e+01 1.00000e+01 1.0000 1\n", + " 199 8.13751e+00 2.57798e+03 3.06875e-03 1.00000e+01 1.00000e+01 1.0000 1\n" ] }, { "data": { "text/plain": [ - "([array([-1.57, 2. , 0. , 0. ]),\n", - " array([-1.57729822, 2.25472028, -0.72982157, 25.47202793]),\n", - " array([-1.58761746, 2.67904827, -1.03192475, 42.43279939]),\n", - " array([-1.59731008, 3.25701976, -0.9692615 , 57.7971489 ]),\n", - " array([-1.60946252, 4.05982748, -1.21524398, 80.28077163]),\n", - " array([ -1.6522568 , 5.23211205, -4.27942802, 117.22845748]),\n", - " array([ -1.77571909, 6.84244399, -12.34622953, 161.03319408]),\n", - " array([-1.78004082, 7.21894508, -0.43217242, 37.65010873]),\n", - " array([ -1.75504158, 6.92260739, 2.4999235 , -29.63376914]),\n", - " array([ -1.70629477, 6.09817215, 4.87468119, -82.44352436]),\n", - " array([ -1.62343745, 4.53268252, 8.2857316 , -156.54896297]),\n", - " array([ -1.65617699, 2.43274086, -3.27395349, -209.99416576]),\n", - " array([ -1.51706154, 1.13198405, 13.91154471, -130.0756807 ]),\n", - " array([ -1.33968906, 0.12781729, 17.73724874, -100.41667583]),\n", - " array([ -1.18632898, -0.57513708, 15.33600765, -70.29543771]),\n", - " array([ -1.06266698, -1.03065706, 12.36620031, -45.5519972 ]),\n", - " array([ -0.95895031, -1.30359692, 10.37166617, -27.29398688]),\n", - " array([ -0.86863262, -1.42562081, 9.03176962, -12.20238886]),\n", - " array([-0.7887652 , -1.41375691, 7.98674213, 1.18639031]),\n", - " array([-0.71903626, -1.28140676, 6.97289382, 13.23501526]),\n", - " array([-0.66084481, -1.04181904, 5.8191444 , 23.95877183]),\n", - " array([-0.61615675, -0.70586636, 4.46880612, 33.59526793]),\n", - " array([-0.58524158, -0.29456809, 3.09151774, 41.12982675]),\n", - " array([-0.55812054, 0.05757514, 2.7121037 , 35.21432366]),\n", - " array([-0.5299746 , 0.32937182, 2.81459345, 27.17966714]),\n", - " array([-0.49987966, 0.52367651, 3.00949449, 19.43046966]),\n", - " array([-0.46866911, 0.65226196, 3.12105539, 12.8585447 ]),\n", - " array([-0.43735011, 0.72676502, 3.13189911, 7.45030647]),\n", - " array([-0.40660917, 0.75621649, 3.07409411, 2.94514648]),\n", - " array([-0.37676164, 0.74675187, 2.98475308, -0.94646144]),\n", - " array([-0.34777852, 0.70121889, 2.89831216, -4.55329882]),\n", - " array([-0.31942034, 0.62080112, 2.835818 , -8.04177688]),\n", - " array([ -0.2910036 , 0.50034969, 2.84167399, -12.04514253]),\n", - " array([-0.26802719, 0.44045374, 2.29764129, -5.98959569]),\n", - " array([-0.24460786, 0.34319677, 2.34193254, -9.72569682]),\n", - " array([-0.22572688, 0.29411836, 1.88809813, -4.90784049]),\n", - " array([-0.20556718, 0.20117149, 2.01596965, -9.29468741]),\n", - " array([-0.1902392 , 0.16448097, 1.53279837, -3.66905205]),\n", - " array([-0.17555308, 0.11943583, 1.46861252, -4.5045136 ]),\n", - " array([-0.16295542, 0.09070122, 1.25976544, -2.87346114]),\n", - " array([-0.15460476, 0.11364076, 0.83506599, 2.29395423]),\n", - " array([-0.14400337, 0.08821623, 1.06013876, -2.54245359]),\n", - " array([-0.13585892, 0.08940033, 0.81444583, 0.11841017]),\n", - " array([-0.12900215, 0.10019553, 0.68567639, 1.0795202 ]),\n", - " array([-0.11982961, 0.06545706, 0.91725422, -3.47384749]),\n", - " array([-0.11446431, 0.08196587, 0.5365297 , 1.65088127]),\n", - " array([-0.10628473, 0.04737721, 0.81795833, -3.4588661 ]),\n", - " array([-0.10173975, 0.06330045, 0.45449781, 1.59232381]),\n", - " array([-0.09809684, 0.08796058, 0.36429142, 2.46601341]),\n", - " array([-0.09156342, 0.06292209, 0.6533417 , -2.50384852]),\n", - " array([-0.08860098, 0.08981797, 0.29624414, 2.68958801]),\n", - " array([-8.41113402e-02, 8.98192415e-02, 4.48963844e-01, 1.26682246e-04]),\n", - " array([-0.07661463, 0.04047993, 0.74967094, -4.93393149]),\n", - " array([-0.07248192, 0.0420825 , 0.41327131, 0.16025745]),\n", - " array([-0.07033286, 0.0737576 , 0.21490544, 3.16751019]),\n", - " array([-0.06500669, 0.05565112, 0.53261783, -1.81064785]),\n", - " array([-0.06223331, 0.05606752, 0.27733792, 0.04163911]),\n", - " array([-0.06072503, 0.05537575, 0.1508272 , -0.06917702]),\n", - " array([-0.0588008 , 0.04934024, 0.19242303, -0.60355095]),\n", - " array([-0.05728975, 0.05114879, 0.15110566, 0.18085526]),\n", - " array([-0.055406 , 0.04880485, 0.18837493, -0.23439388]),\n", - " array([-0.05331239, 0.04513304, 0.20936049, -0.36718057]),\n", - " array([-0.05267916, 0.06647398, 0.06332339, 2.13409325]),\n", - " array([-0.04860043, 0.03661077, 0.40787264, -2.98632059]),\n", - " array([-0.04619855, 0.03585542, 0.24018852, -0.07553512]),\n", - " array([-0.04445763, 0.04875379, 0.17409218, 1.28983689]),\n", - " array([-0.04051333, 0.03105542, 0.39442964, -1.76983726]),\n", - " array([-0.03805347, 0.04075067, 0.24598583, 0.96952547]),\n", - " array([-0.03437846, 0.03626091, 0.36750111, -0.44897559]),\n", - " array([-0.02994425, 0.0252697 , 0.44342106, -1.09912161]),\n", - " array([-0.027269 , 0.0259477 , 0.26752522, 0.0678004 ]),\n", - " array([-0.02542369, 0.02427671, 0.18453117, -0.16709934]),\n", - " array([-0.02460686, 0.02364566, 0.08168262, -0.06310455]),\n", - " array([-0.02481139, 0.02407397, -0.02045263, 0.04283052]),\n", - " array([-0.02602649, 0.02535938, -0.12151053, 0.1285416 ]),\n", - " array([-0.02677571, 0.02602598, -0.07492197, 0.06665973]),\n", - " array([-0.02699581, 0.02496493, -0.02200992, -0.10610475]),\n", - " array([-0.02718888, 0.02995008, -0.0193066 , 0.49851444]),\n", - " array([-0.02777722, 0.02583974, -0.05883449, -0.41103367]),\n", - " array([-0.02836596, 0.02807469, -0.05887446, 0.22349431]),\n", - " array([-0.02842209, 0.02826759, -0.00561248, 0.01929074]),\n", - " array([-0.02804609, 0.02797519, 0.03760035, -0.02923988]),\n", - " array([-0.02724169, 0.02731715, 0.08043927, -0.06580413]),\n", - " array([-0.02599902, 0.02627106, 0.12426707, -0.10460939]),\n", - " array([-0.02430443, 0.02482775, 0.16945914, -0.14433051]),\n", - " array([-0.02214184, 0.02301411, 0.21625914, -0.18136414]),\n", - " array([-0.01949498, 0.02093098, 0.26468595, -0.20831347]),\n", - " array([-0.01631936, 0.01832006, 0.31756155, -0.26109166]),\n", - " array([-0.01198065, 0.00582109, 0.43387199, -1.24989718]),\n", - " array([-0.00855068, 0.01634518, 0.34299684, 1.05240916]),\n", - " array([-0.00501021, 0.01295793, 0.35404617, -0.33872542]),\n", - " array([-1.24294444e-03, -5.58053665e-03, 3.76727050e-01, -1.85384633e+00]),\n", - " array([6.41658650e-05, 3.07925391e-03, 1.30711031e-01, 8.65979057e-01]),\n", - " array([ 0.00137679, 0.00082214, 0.1312623 , -0.22571172]),\n", - " array([ 0.00192728, -0.00019212, 0.05504921, -0.10142579]),\n", - " array([ 0.00186848, -0.00046669, -0.00588028, -0.02745668]),\n", - " array([ 0.0015055 , -0.00040407, -0.03629733, 0.00626157]),\n", - " array([ 0.00106432, -0.00022673, -0.04411862, 0.01773411]),\n", - " array([ 6.60498153e-04, -5.22579516e-05, -4.03820501e-02, 1.74473308e-02]),\n", - " array([ 0.00031978, 0.00027062, -0.03407198, 0.03228813]),\n", - " array([ 7.63120643e-05, -1.21393142e-07, -2.43466316e-02, -2.70744739e-02])],\n", - " [array([0.00502226, 0.00625281]),\n", - " array([0.00489282, 0.0039777 ]),\n", - " array([0.00478028, 0.00332897]),\n", - " array([0.00475778, 0.00519445]),\n", - " array([0.00466625, 0.0094731 ]),\n", - " array([0.00411383, 0.00663804]),\n", - " array([ 0.00505131, -0.02061498]),\n", - " array([ 0.00438541, -0.0147986 ]),\n", - " array([ 0.00410653, -0.01100935]),\n", - " array([ 0.00418671, -0.01524423]),\n", - " array([ 0.00327164, -0.01583679]),\n", - " array([0.00374192, 0.01572243]),\n", - " array([0.00293841, 0.01104967]),\n", - " array([0.00277776, 0.00637701]),\n", - " array([0.00274507, 0.00369555]),\n", - " array([0.00261952, 0.0031665 ]),\n", - " array([0.00247602, 0.00309112]),\n", - " array([0.00232936, 0.003006 ]),\n", - " array([0.00218436, 0.00282198]),\n", - " array([0.00204913, 0.00250989]),\n", - " array([0.00193328, 0.00211665]),\n", - " array([0.00185542, 0.00142247]),\n", - " array([ 0.00181241, -0.00136566]),\n", - " array([ 0.0017519 , -0.00164286]),\n", - " array([ 0.00168072, -0.00166064]),\n", - " array([ 0.00160976, -0.00157204]),\n", - " array([ 0.00154407, -0.0014534 ]),\n", - " array([ 0.00148501, -0.00133774]),\n", - " array([ 0.00143259, -0.00124103]),\n", - " array([ 0.00138695, -0.00118182]),\n", - " array([ 0.00134574, -0.00112911]),\n", - " array([ 0.00131417, -0.00118104]),\n", - " array([0.00127332, 0.00098092]),\n", - " array([ 0.00124508, -0.0010138 ]),\n", - " array([0.00121884, 0.00077885]),\n", - " array([ 0.00119889, -0.00104467]),\n", - " array([0.00117496, 0.00100738]),\n", - " array([ 0.00115702, -0.00025267]),\n", - " array([0.00114045, 0.00026378]),\n", - " array([0.00112558, 0.00097862]),\n", - " array([ 0.00111239, -0.00100235]),\n", - " array([0.00110028, 0.00049139]),\n", - " array([0.00108956, 0.00015807]),\n", - " array([ 0.00107994, -0.00093198]),\n", - " array([0.00107162, 0.00099536]),\n", - " array([ 0.00106528, -0.00102585]),\n", - " array([0.001057 , 0.00099499]),\n", - " array([0.00105049, 0.00016548]),\n", - " array([ 0.00104482, -0.00099788]),\n", - " array([0.00103887, 0.00101763]),\n", - " array([ 0.00103559, -0.00054779]),\n", - " array([ 0.00103163, -0.00098835]),\n", - " array([0.00102698, 0.00101591]),\n", - " array([0.0010248 , 0.00060581]),\n", - " array([ 0.00102194, -0.00098234]),\n", - " array([-0.00098061, 0.00024471]),\n", - " array([-0.00098289, -0.00014065]),\n", - " array([ 1.01519924e-03, -9.47907578e-05]),\n", - " array([0.00101353, 0.00016862]),\n", - " array([ 1.01197354e-03, -6.78071478e-05]),\n", - " array([ 1.01060480e-03, -1.03015698e-05]),\n", - " array([0.00100927, 0.00051015]),\n", - " array([ 0.00100809, -0.00100069]),\n", - " array([0.00100694, 0.00059735]),\n", - " array([0.00100597, 0.00029484]),\n", - " array([ 0.0010051 , -0.00058193]),\n", - " array([0.00100432, 0.00056958]),\n", - " array([ 0.00100363, -0.00025239]),\n", - " array([ 1.00301107e-03, -9.74510906e-05]),\n", - " array([-0.00099753, 0.00013933]),\n", - " array([-0.00099798, -0.00013557]),\n", - " array([-9.98333942e-04, -6.73736000e-05]),\n", - " array([-9.98635957e-04, -6.63477125e-05]),\n", - " array([-9.98900230e-04, -7.06702645e-05]),\n", - " array([1.00087811e-03, 2.75223616e-05]),\n", - " array([1.00070763e-03, 5.06084878e-06]),\n", - " array([0.00100053, 0.00015832]),\n", - " array([-0.0009996 , -0.00027063]),\n", - " array([0.00100028, 0.00016338]),\n", - " array([ 1.00021206e-03, -2.95272879e-06]),\n", - " array([1.00017228e-03, 2.74865484e-05]),\n", - " array([1.00016177e-03, 3.01461957e-05]),\n", - " array([1.00018110e-03, 3.03899067e-05]),\n", - " array([1.00023097e-03, 3.12860647e-05]),\n", - " array([1.00031215e-03, 3.32925301e-05]),\n", - " array([1.00042553e-03, 3.71435397e-05]),\n", - " array([1.00057211e-03, 3.42757779e-05]),\n", - " array([ 0.00100063, -0.00014687]),\n", - " array([0.00100057, 0.00050868]),\n", - " array([-0.00099958, -0.0003504 ]),\n", - " array([-0.00099974, -0.00037148]),\n", - " array([-0.00099982, 0.00047292]),\n", - " array([-0.00099989, -0.00028052]),\n", - " array([-9.99948052e-04, -3.98666926e-05]),\n", - " array([-8.34998757e-04, -3.83462283e-05]),\n", - " array([-4.33343683e-04, -2.03126144e-05]),\n", - " array([-1.24132527e-04, -4.99066334e-06]),\n", - " array([3.75674851e-05, 2.82131419e-06]),\n", - " array([9.45901732e-05, 9.20707568e-06]),\n", - " array([ 8.03317879e-05, -6.59839394e-06])],\n", + "([array([3.14, 0. , 0. , 0. ]),\n", + " array([ 3.71059542, -2.05541894, 11.41190835, -41.10837881]),\n", + " array([ 3.76668242, -2.83395101, 1.12174006, -15.5706414 ]),\n", + " array([ 3.89056434, -2.99656298, 2.47763835, -3.25223937]),\n", + " array([ 3.71635446, -3.12552479, -3.48419748, -2.57923624]),\n", + " array([ 3.5244489 , -2.92584309, -3.83811128, 3.99363411]),\n", + " array([ 2.92679904, -2.97209156, -11.95299728, -0.92496958]),\n", + " array([ 2.338523 , -2.87566759, -11.76552081, 1.92847956]),\n", + " array([ 1.95375756, -2.56138768, -7.69530875, 6.28559803]),\n", + " array([ 1.77584689, -2.1567364 , -3.55821333, 8.09302574]),\n", + " array([ 1.72344537, -1.86560016, -1.04803039, 5.82272469]),\n", + " array([ 1.367794 , -1.5842915 , -7.11302751, 5.62617331]),\n", + " array([ 1.34280047, -1.42985981, -0.49987048, 3.08863373]),\n", + " array([ 1.44705705, -1.50587472, 2.08513161, -1.52029819]),\n", + " array([ 1.54391907, -1.58254265, 1.93724031, -1.53335868]),\n", + " array([ 1.51479801, -1.53731134, -0.58242123, 0.90462621]),\n", + " array([ 1.44800478, -1.46329318, -1.33586448, 1.48036335]),\n", + " array([ 1.40542619, -1.41846823, -0.85157192, 0.89649887]),\n", + " array([ 1.36151447, -1.37544602, -0.8782344 , 0.86044414]),\n", + " array([ 1.29170425, -1.29740573, -1.39620442, 1.56080594]),\n", + " array([ 1.21684746, -1.2021926 , -1.49713579, 1.90426261]),\n", + " array([ 1.16579769, -1.13015334, -1.02099531, 1.44078521]),\n", + " array([ 1.18899947, -1.18593751, 0.4640355 , -1.11568352]),\n", + " array([ 1.18923678, -1.19305194, 0.00474629, -0.14228851]),\n", + " array([ 1.18450234, -1.19285596, -0.09468873, 0.00391948]),\n", + " array([ 1.16938901, -1.17758861, -0.30226665, 0.30534706]),\n", + " array([ 1.14860889, -1.1556876 , -0.41560239, 0.43802026]),\n", + " array([ 1.12381992, -1.12905946, -0.49577947, 0.53256269]),\n", + " array([ 1.09763939, -1.10139022, -0.5236106 , 0.55338486]),\n", + " array([ 1.07129065, -1.07415824, -0.52697478, 0.54463952]),\n", + " array([ 1.04520189, -1.04775071, -0.52177524, 0.52815074]),\n", + " array([ 1.01925473, -1.02176134, -0.51894314, 0.51978733]),\n", + " array([ 0.99326029, -0.99576573, -0.51988888, 0.51991216]),\n", + " array([ 0.96713226, -0.96957085, -0.52256045, 0.52389762]),\n", + " array([ 0.94089059, -0.94318632, -0.52483347, 0.52769065]),\n", + " array([ 0.91460743, -0.91671151, -0.52566331, 0.52949614]),\n", + " array([ 0.88836448, -0.89025679, -0.52485899, 0.52909444]),\n", + " array([ 0.8622333 , -0.86391161, -0.52262358, 0.52690367]),\n", + " array([ 0.83627113, -0.83774103, -0.51924341, 0.52341162]),\n", + " array([ 0.81052314, -0.81179221, -0.51495979, 0.51897629]),\n", + " array([ 0.78502583, -0.7861013 , -0.50994604, 0.51381814]),\n", + " array([ 0.75980973, -0.76069794, -0.50432205, 0.50806732]),\n", + " array([ 0.73490108, -0.73560765, -0.49817305, 0.50180573]),\n", + " array([ 0.71032295, -0.71085309, -0.49156268, 0.49509113]),\n", + " array([ 0.68609592, -0.68645468, -0.48454062, 0.48796838]),\n", + " array([ 0.66223857, -0.66243097, -0.4771469 , 0.48047417]),\n", + " array([ 0.63876784, -0.638799 , -0.46941458, 0.47263926]),\n", + " array([ 0.61569926, -0.61557451, -0.46137163, 0.46448992]),\n", + " array([ 0.59304714, -0.59277205, -0.45304233, 0.45604915]),\n", + " array([ 0.57082472, -0.57040516, -0.44444851, 0.44733776]),\n", + " array([ 0.5490442 , -0.5484864 , -0.43561042, 0.43837527]),\n", + " array([ 0.52771682, -0.52702737, -0.42654753, 0.42918064]),\n", + " array([ 0.50685287, -0.50603872, -0.41727905, 0.41977288]),\n", + " array([ 0.48646165, -0.48553015, -0.40782438, 0.41017143]),\n", + " array([ 0.46655148, -0.46551033, -0.39820344, 0.40039651]),\n", + " array([ 0.44712963, -0.44598686, -0.38843682, 0.39046924]),\n", + " array([ 0.42820234, -0.42696627, -0.37854593, 0.38041178]),\n", + " array([ 0.40977469, -0.40845391, -0.36855301, 0.37024729]),\n", + " array([ 0.39185063, -0.39045392, -0.35848111, 0.35999991]),\n", + " array([ 0.37443293, -0.37296918, -0.34835401, 0.34969464]),\n", + " array([ 0.35752313, -0.35600132, -0.33819611, 0.33935717]),\n", + " array([ 0.34112151, -0.33955064, -0.32803223, 0.32901368]),\n", + " array([ 0.32522714, -0.32361611, -0.31788744, 0.31869062]),\n", + " array([ 0.3098378 , -0.30819539, -0.30778687, 0.30841447]),\n", + " array([ 0.29495002, -0.29328481, -0.29775549, 0.29821151]),\n", + " array([ 0.28055913, -0.27887943, -0.28781785, 0.28810754]),\n", + " array([ 0.26665924, -0.26497305, -0.27799791, 0.27812764]),\n", + " array([ 0.2532433 , -0.25155825, -0.26831881, 0.26829597]),\n", + " array([ 0.24030316, -0.23862648, -0.25880271, 0.25863553]),\n", + " array([ 0.22782963, -0.22616808, -0.24947056, 0.249168 ]),\n", + " array([ 0.21581253, -0.2141724 , -0.240342 , 0.23991356]),\n", + " array([ 0.20424077, -0.20262786, -0.23143524, 0.23089078]),\n", + " array([ 0.19310242, -0.19152203, -0.22276693, 0.22211657]),\n", + " array([ 0.18238482, -0.18084173, -0.21435216, 0.21360604]),\n", + " array([ 0.1720746 , -0.1705731 , -0.20620435, 0.20537255]),\n", + " array([ 0.16215783, -0.16070172, -0.1983353 , 0.19742769]),\n", + " array([ 0.15262007, -0.15121265, -0.19075521, 0.18978131]),\n", + " array([ 0.14344644, -0.14209057, -0.18347268, 0.1824416 ]),\n", + " array([ 0.1346217 , -0.13331981, -0.17649481, 0.17541513]),\n", + " array([ 0.12613034, -0.12488446, -0.16982728, 0.16870702]),\n", + " array([ 0.11795661, -0.11676841, -0.16347443, 0.162321 ]),\n", + " array([ 0.11008464, -0.10895544, -0.1574394 , 0.15625955]),\n", + " array([ 0.10249843, -0.10142923, -0.1517242 , 0.15052409]),\n", + " array([ 0.09518194, -0.09417348, -0.14632985, 0.14511507]),\n", + " array([ 0.08811912, -0.08717187, -0.14125652, 0.14003219]),\n", + " array([ 0.08129394, -0.08040814, -0.13650357, 0.13527455]),\n", + " array([ 0.07469045, -0.0738661 , -0.13206966, 0.13084086]),\n", + " array([ 0.06829281, -0.06752961, -0.12795279, 0.12672967]),\n", + " array([ 0.0620853 , -0.06138263, -0.12415021, 0.12293963]),\n", + " array([ 0.05605239, -0.05540914, -0.12065827, 0.11946986]),\n", + " array([ 0.05017879, -0.04959312, -0.11747205, 0.11632045]),\n", + " array([ 0.04444955, -0.04391845, -0.11458473, 0.11349339]),\n", + " array([ 0.03885023, -0.03836872, -0.11198653, 0.11099465]),\n", + " array([ 0.03336706, -0.03292676, -0.10966334, 0.10883912]),\n", + " array([ 0.02798731, -0.02757362, -0.10759493, 0.10706279]),\n", + " array([ 0.02269973, -0.02228629, -0.10575156, 0.10574658]),\n", + " array([ 0.01749586, -0.01703493, -0.10407742, 0.10502727]),\n", + " array([ 0.01237456, -0.01178555, -0.10242597, 0.10498748]),\n", + " array([ 0.00735098, -0.00651136, -0.10047168, 0.10548388]),\n", + " array([ 0.00245966, -0.00117719, -0.09782643, 0.10668329]),\n", + " array([-0.00194355, 0.0032169 , -0.08806415, 0.08788188])],\n", + " [array([0.4866609]),\n", + " array([-0.16534915]),\n", + " array([0.19685077]),\n", + " array([-0.13141714]),\n", + " array([0.09778713]),\n", + " array([-0.31548976]),\n", + " array([-0.0881419]),\n", + " array([-0.05118947]),\n", + " array([-0.09959294]),\n", + " array([-0.16997898]),\n", + " array([-0.80757709]),\n", + " array([0.13825521]),\n", + " array([-0.17131604]),\n", + " array([-0.39017407]),\n", + " array([-0.57631949]),\n", + " array([-0.4394058]),\n", + " array([-0.34153197]),\n", + " array([-0.37870836]),\n", + " array([-0.41298379]),\n", + " array([-0.37387454]),\n", + " array([-0.32108156]),\n", + " array([-0.24198414]),\n", + " array([-0.38692992]),\n", + " array([-0.36172493]),\n", + " array([-0.36918615]),\n", + " array([-0.36005173]),\n", + " array([-0.35433378]),\n", + " array([-0.34641826]),\n", + " array([-0.34012226]),\n", + " array([-0.33475816]),\n", + " array([-0.33002287]),\n", + " array([-0.32520387]),\n", + " array([-0.32001327]),\n", + " array([-0.31442664]),\n", + " array([-0.3085249]),\n", + " array([-0.30238686]),\n", + " array([-0.29606381]),\n", + " array([-0.28958512]),\n", + " array([-0.28296947]),\n", + " array([-0.27623222]),\n", + " array([-0.26938846]),\n", + " array([-0.26245374]),\n", + " array([-0.2554439]),\n", + " array([-0.24837482]),\n", + " array([-0.24126222]),\n", + " array([-0.23412157]),\n", + " array([-0.22696801]),\n", + " array([-0.21981632]),\n", + " array([-0.21268086]),\n", + " array([-0.20557555]),\n", + " array([-0.19851381]),\n", + " array([-0.19150853]),\n", + " array([-0.184572]),\n", + " array([-0.17771589]),\n", + " array([-0.17095119]),\n", + " array([-0.16428818]),\n", + " array([-0.15773637]),\n", + " array([-0.15130451]),\n", + " array([-0.14500052]),\n", + " array([-0.13883148]),\n", + " array([-0.13280362]),\n", + " array([-0.12692232]),\n", + " array([-0.12119208]),\n", + " array([-0.11561656]),\n", + " array([-0.11019856]),\n", + " array([-0.10494009]),\n", + " array([-0.09984231]),\n", + " array([-0.09490565]),\n", + " array([-0.09012982]),\n", + " array([-0.08551381]),\n", + " array([-0.08105598]),\n", + " array([-0.0767541]),\n", + " array([-0.0726054]),\n", + " array([-0.06860661]),\n", + " array([-0.06475399]),\n", + " array([-0.06104345]),\n", + " array([-0.05747052]),\n", + " array([-0.05403043]),\n", + " array([-0.05071818]),\n", + " array([-0.04752854]),\n", + " array([-0.0444561]),\n", + " array([-0.04149531]),\n", + " array([-0.03864052]),\n", + " array([-0.035886]),\n", + " array([-0.03322594]),\n", + " array([-0.03065453]),\n", + " array([-0.0281659]),\n", + " array([-0.02575419]),\n", + " array([-0.02341353]),\n", + " array([-0.02113806]),\n", + " array([-0.0189219]),\n", + " array([-0.01675918]),\n", + " array([-0.01464397]),\n", + " array([-0.0125703]),\n", + " array([-0.01053193]),\n", + " array([-0.00852156]),\n", + " array([-0.00652851]),\n", + " array([-0.00453919]),\n", + " array([-0.00254965]),\n", + " array([-0.00030361])],\n", " False)" ] }, - "execution_count": 112, + "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "runningModel = IntegratedActionModelEuler(DifferentialActionModelFullyActuated(robot.model, runningCostModel))\n", - "terminalModel = IntegratedActionModelEuler(DifferentialActionModelFullyActuated(robot.model, terminalCostModel))\n", - "\n", - "# Defining the time duration for running action models and the terminal one\n", - "dt = 1e-2\n", - "runningModel.timeStep = dt\n", - "\n", - "# For this optimal control problem, we define 250 knots (or running action\n", - "# models) plus a terminal knot\n", - "T = 100\n", - "q0 = [-1.57, 2]\n", - "x0 = np.hstack([q0, np.zeros(robot.model.nv)])\n", - "problem = ShootingProblem(x0, [runningModel] * T, terminalModel)\n", - "\n", "# Creating the DDP solver for this OC problem, defining a logger\n", - "ddp = SolverDDP(problem)\n", + "ddp = SolverFDDP(problem)\n", "ddp.callback = [CallbackDDPVerbose()]\n", "ddp.callback.append(CallbackDDPLogger())\n", "\n", @@ -444,133 +4763,184 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 71, "metadata": {}, "outputs": [], "source": [ - "from crocoddyl.diagnostic import displayTrajectory\n", - "\n", "displayTrajectory(robot, ddp.xs, runningModel.timeStep)" ] }, { "cell_type": "code", - "execution_count": 109, + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[array([3.14, 0. , 0. , 0. ]),\n", + " array([ 3.71059542, -2.05541894, 11.41190835, -41.10837881]),\n", + " array([ 3.76668242, -2.83395101, 1.12174006, -15.5706414 ]),\n", + " array([ 3.89056434, -2.99656298, 2.47763835, -3.25223937]),\n", + " array([ 3.71635446, -3.12552479, -3.48419748, -2.57923624]),\n", + " array([ 3.5244489 , -2.92584309, -3.83811128, 3.99363411]),\n", + " array([ 2.92679904, -2.97209156, -11.95299728, -0.92496958]),\n", + " array([ 2.338523 , -2.87566759, -11.76552081, 1.92847956]),\n", + " array([ 1.95375756, -2.56138768, -7.69530875, 6.28559803]),\n", + " array([ 1.77584689, -2.1567364 , -3.55821333, 8.09302574]),\n", + " array([ 1.72344537, -1.86560016, -1.04803039, 5.82272469]),\n", + " array([ 1.367794 , -1.5842915 , -7.11302751, 5.62617331]),\n", + " array([ 1.34280047, -1.42985981, -0.49987048, 3.08863373]),\n", + " array([ 1.44705705, -1.50587472, 2.08513161, -1.52029819]),\n", + " array([ 1.54391907, -1.58254265, 1.93724031, -1.53335868]),\n", + " array([ 1.51479801, -1.53731134, -0.58242123, 0.90462621]),\n", + " array([ 1.44800478, -1.46329318, -1.33586448, 1.48036335]),\n", + " array([ 1.40542619, -1.41846823, -0.85157192, 0.89649887]),\n", + " array([ 1.36151447, -1.37544602, -0.8782344 , 0.86044414]),\n", + " array([ 1.29170425, -1.29740573, -1.39620442, 1.56080594]),\n", + " array([ 1.21684746, -1.2021926 , -1.49713579, 1.90426261]),\n", + " array([ 1.16579769, -1.13015334, -1.02099531, 1.44078521]),\n", + " array([ 1.18899947, -1.18593751, 0.4640355 , -1.11568352]),\n", + " array([ 1.18923678, -1.19305194, 0.00474629, -0.14228851]),\n", + " array([ 1.18450234, -1.19285596, -0.09468873, 0.00391948]),\n", + " array([ 1.16938901, -1.17758861, -0.30226665, 0.30534706]),\n", + " array([ 1.14860889, -1.1556876 , -0.41560239, 0.43802026]),\n", + " array([ 1.12381992, -1.12905946, -0.49577947, 0.53256269]),\n", + " array([ 1.09763939, -1.10139022, -0.5236106 , 0.55338486]),\n", + " array([ 1.07129065, -1.07415824, -0.52697478, 0.54463952]),\n", + " array([ 1.04520189, -1.04775071, -0.52177524, 0.52815074]),\n", + " array([ 1.01925473, -1.02176134, -0.51894314, 0.51978733]),\n", + " array([ 0.99326029, -0.99576573, -0.51988888, 0.51991216]),\n", + " array([ 0.96713226, -0.96957085, -0.52256045, 0.52389762]),\n", + " array([ 0.94089059, -0.94318632, -0.52483347, 0.52769065]),\n", + " array([ 0.91460743, -0.91671151, -0.52566331, 0.52949614]),\n", + " array([ 0.88836448, -0.89025679, -0.52485899, 0.52909444]),\n", + " array([ 0.8622333 , -0.86391161, -0.52262358, 0.52690367]),\n", + " array([ 0.83627113, -0.83774103, -0.51924341, 0.52341162]),\n", + " array([ 0.81052314, -0.81179221, -0.51495979, 0.51897629]),\n", + " array([ 0.78502583, -0.7861013 , -0.50994604, 0.51381814]),\n", + " array([ 0.75980973, -0.76069794, -0.50432205, 0.50806732]),\n", + " array([ 0.73490108, -0.73560765, -0.49817305, 0.50180573]),\n", + " array([ 0.71032295, -0.71085309, -0.49156268, 0.49509113]),\n", + " array([ 0.68609592, -0.68645468, -0.48454062, 0.48796838]),\n", + " array([ 0.66223857, -0.66243097, -0.4771469 , 0.48047417]),\n", + " array([ 0.63876784, -0.638799 , -0.46941458, 0.47263926]),\n", + " array([ 0.61569926, -0.61557451, -0.46137163, 0.46448992]),\n", + " array([ 0.59304714, -0.59277205, -0.45304233, 0.45604915]),\n", + " array([ 0.57082472, -0.57040516, -0.44444851, 0.44733776]),\n", + " array([ 0.5490442 , -0.5484864 , -0.43561042, 0.43837527]),\n", + " array([ 0.52771682, -0.52702737, -0.42654753, 0.42918064]),\n", + " array([ 0.50685287, -0.50603872, -0.41727905, 0.41977288]),\n", + " array([ 0.48646165, -0.48553015, -0.40782438, 0.41017143]),\n", + " array([ 0.46655148, -0.46551033, -0.39820344, 0.40039651]),\n", + " array([ 0.44712963, -0.44598686, -0.38843682, 0.39046924]),\n", + " array([ 0.42820234, -0.42696627, -0.37854593, 0.38041178]),\n", + " array([ 0.40977469, -0.40845391, -0.36855301, 0.37024729]),\n", + " array([ 0.39185063, -0.39045392, -0.35848111, 0.35999991]),\n", + " array([ 0.37443293, -0.37296918, -0.34835401, 0.34969464]),\n", + " array([ 0.35752313, -0.35600132, -0.33819611, 0.33935717]),\n", + " array([ 0.34112151, -0.33955064, -0.32803223, 0.32901368]),\n", + " array([ 0.32522714, -0.32361611, -0.31788744, 0.31869062]),\n", + " array([ 0.3098378 , -0.30819539, -0.30778687, 0.30841447]),\n", + " array([ 0.29495002, -0.29328481, -0.29775549, 0.29821151]),\n", + " array([ 0.28055913, -0.27887943, -0.28781785, 0.28810754]),\n", + " array([ 0.26665924, -0.26497305, -0.27799791, 0.27812764]),\n", + " array([ 0.2532433 , -0.25155825, -0.26831881, 0.26829597]),\n", + " array([ 0.24030316, -0.23862648, -0.25880271, 0.25863553]),\n", + " array([ 0.22782963, -0.22616808, -0.24947056, 0.249168 ]),\n", + " array([ 0.21581253, -0.2141724 , -0.240342 , 0.23991356]),\n", + " array([ 0.20424077, -0.20262786, -0.23143524, 0.23089078]),\n", + " array([ 0.19310242, -0.19152203, -0.22276693, 0.22211657]),\n", + " array([ 0.18238482, -0.18084173, -0.21435216, 0.21360604]),\n", + " array([ 0.1720746 , -0.1705731 , -0.20620435, 0.20537255]),\n", + " array([ 0.16215783, -0.16070172, -0.1983353 , 0.19742769]),\n", + " array([ 0.15262007, -0.15121265, -0.19075521, 0.18978131]),\n", + " array([ 0.14344644, -0.14209057, -0.18347268, 0.1824416 ]),\n", + " array([ 0.1346217 , -0.13331981, -0.17649481, 0.17541513]),\n", + " array([ 0.12613034, -0.12488446, -0.16982728, 0.16870702]),\n", + " array([ 0.11795661, -0.11676841, -0.16347443, 0.162321 ]),\n", + " array([ 0.11008464, -0.10895544, -0.1574394 , 0.15625955]),\n", + " array([ 0.10249843, -0.10142923, -0.1517242 , 0.15052409]),\n", + " array([ 0.09518194, -0.09417348, -0.14632985, 0.14511507]),\n", + " array([ 0.08811912, -0.08717187, -0.14125652, 0.14003219]),\n", + " array([ 0.08129394, -0.08040814, -0.13650357, 0.13527455]),\n", + " array([ 0.07469045, -0.0738661 , -0.13206966, 0.13084086]),\n", + " array([ 0.06829281, -0.06752961, -0.12795279, 0.12672967]),\n", + " array([ 0.0620853 , -0.06138263, -0.12415021, 0.12293963]),\n", + " array([ 0.05605239, -0.05540914, -0.12065827, 0.11946986]),\n", + " array([ 0.05017879, -0.04959312, -0.11747205, 0.11632045]),\n", + " array([ 0.04444955, -0.04391845, -0.11458473, 0.11349339]),\n", + " array([ 0.03885023, -0.03836872, -0.11198653, 0.11099465]),\n", + " array([ 0.03336706, -0.03292676, -0.10966334, 0.10883912]),\n", + " array([ 0.02798731, -0.02757362, -0.10759493, 0.10706279]),\n", + " array([ 0.02269973, -0.02228629, -0.10575156, 0.10574658]),\n", + " array([ 0.01749586, -0.01703493, -0.10407742, 0.10502727]),\n", + " array([ 0.01237456, -0.01178555, -0.10242597, 0.10498748]),\n", + " array([ 0.00735098, -0.00651136, -0.10047168, 0.10548388]),\n", + " array([ 0.00245966, -0.00117719, -0.09782643, 0.10668329]),\n", + " array([-0.00194355, 0.0032169 , -0.08806415, 0.08788188])]" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ddp.xs" + ] + }, + { + "cell_type": "code", + "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[array([ 0.03434323, -0.00174103]),\n", - " array([ 0.03144137, -0.00107895]),\n", - " array([0.02866946, 0.0004568 ]),\n", - " array([2.60434255e-02, 5.76080344e-05]),\n", - " array([ 2.35657120e-02, -9.79456185e-05]),\n", - " array([ 2.12411161e-02, -8.49880785e-05]),\n", - " array([ 1.90745430e-02, -1.25102029e-05]),\n", - " array([1.70690156e-02, 7.25447062e-05]),\n", - " array([0.01522504, 0.00014527]),\n", - " array([0.01354063, 0.00019581]),\n", - " array([0.01201112, 0.00022169]),\n", - " array([0.01062994, 0.00022519]),\n", - " array([0.009389 , 0.00021008]),\n", - " array([0.0082792 , 0.00018091]),\n", - " array([0.00729088, 0.00014233]),\n", - " array([6.41421515e-03, 9.89299792e-05]),\n", - " array([5.63949851e-03, 5.51275868e-05]),\n", - " array([4.95734605e-03, 1.46062335e-05]),\n", - " array([ 4.35882837e-03, -2.01188236e-05]),\n", - " array([ 3.83555381e-03, -4.79079750e-05]),\n", - " array([ 3.37971267e-03, -6.87669497e-05]),\n", - " array([ 2.98409523e-03, -8.33785617e-05]),\n", - " array([ 2.64209107e-03, -9.26838536e-05]),\n", - " array([ 2.34767505e-03, -9.76317661e-05]),\n", - " array([ 2.09538333e-03, -9.90719245e-05]),\n", - " array([ 1.88028254e-03, -9.77257033e-05]),\n", - " array([ 1.69793434e-03, -9.41893004e-05]),\n", - " array([ 1.54435716e-03, -8.89467934e-05]),\n", - " array([ 1.41598683e-03, -8.23852371e-05]),\n", - " array([ 1.30963692e-03, -7.48090905e-05]),\n", - " array([ 1.22245988e-03, -6.64531190e-05]),\n", - " array([ 1.15190914e-03, -5.74912624e-05]),\n", - " array([ 1.09570280e-03, -4.80124385e-05]),\n", - " array([ 1.05178880e-03, -3.77322633e-05]),\n", - " array([ 1.01831159e-03, -2.66788009e-05]),\n", - " array([-0.00100442, -0.00011997]),\n", - " array([-0.00102198, -0.00010969]),\n", - " array([-0.00103371, -0.00010054]),\n", - " array([-1.04076513e-03, -9.24780866e-05]),\n", - " array([-1.04413238e-03, -8.51271123e-05]),\n", - " array([-1.04465342e-03, -7.84536313e-05]),\n", - " array([-1.04304415e-03, -7.24468194e-05]),\n", - " array([-1.03990963e-03, -6.70918296e-05]),\n", - " array([-1.03575794e-03, -6.23700911e-05]),\n", - " array([-1.03101199e-03, -5.82612957e-05]),\n", - " array([-1.02601970e-03, -5.47449497e-05]),\n", - " array([-1.02106260e-03, -5.18015004e-05]),\n", - " array([-1.01636299e-03, -4.94131409e-05]),\n", - " array([-1.01208977e-03, -4.75644043e-05]),\n", - " array([-1.00836302e-03, -4.62428029e-05]),\n", - " array([-1.00525746e-03, -4.54441690e-05]),\n", - " array([-1.00280475e-03, -4.52187912e-05]),\n", - " array([-1.00099474e-03, -4.57113061e-05]),\n", - " array([-7.75966286e-04, -3.51857985e-05]),\n", - " array([-5.24712414e-05, 1.08102010e-06]),\n", - " array([3.10358387e-04, 1.84185717e-05]),\n", - " array([4.36981752e-04, 2.37595510e-05]),\n", - " array([4.27189606e-04, 2.24542176e-05]),\n", - " array([3.52255067e-04, 1.81220212e-05]),\n", - " array([2.57768106e-04, 1.30217804e-05]),\n", - " array([1.69252639e-04, 8.38457136e-06]),\n", - " array([9.82161322e-05, 4.73656540e-06]),\n", - " array([4.74149597e-05, 2.17254102e-06]),\n", - " array([1.48700533e-05, 5.60607731e-07]),\n", - " array([-3.38936011e-06, -3.20349510e-07]),\n", - " array([-1.16556271e-05, -6.98741820e-07]),\n", - " array([-1.36725437e-05, -7.68986825e-07]),\n", - " array([-1.22997939e-05, -6.76895006e-07]),\n", - " array([-9.49414836e-06, -5.20512588e-07]),\n", - " array([-6.44875500e-06, -3.58389148e-07]),\n", - " array([-3.78688015e-06, -2.20118658e-07]),\n", - " array([-1.75043220e-06, -1.16259446e-07]),\n", - " array([-3.54928263e-07, -4.63188419e-08]),\n", - " array([ 4.97444614e-07, -4.47770519e-09]),\n", - " array([9.43867321e-07, 1.67324153e-08]),\n", - " array([1.11822224e-06, 2.43586848e-08]),\n", - " array([1.13075756e-06, 2.40830464e-08]),\n", - " array([1.06202328e-06, 1.99848461e-08]),\n", - " array([9.64788912e-07, 1.46882720e-08]),\n", - " array([8.69552669e-07, 9.67391624e-09]),\n", - " array([7.90904233e-07, 5.61950936e-09]),\n", - " array([7.33261449e-07, 2.69903777e-09]),\n", - " array([6.95360548e-07, 8.12476831e-10]),\n", - " array([ 6.73401220e-07, -2.56030771e-10]),\n", - " array([ 6.63018301e-07, -7.40896901e-10]),\n", - " array([ 6.60354040e-07, -8.43626453e-10]),\n", - " array([ 6.62506960e-07, -7.12548348e-10]),\n", - " array([ 6.67585083e-07, -4.41944575e-10]),\n", - " array([ 6.74525619e-07, -8.23506490e-11]),\n", - " array([6.82779843e-07, 3.42849843e-10]),\n", - " array([6.91911700e-07, 8.16791999e-10]),\n", - " array([7.01127444e-07, 1.30508142e-09]),\n", - " array([7.08745180e-07, 1.72848388e-09]),\n", - " array([7.11630984e-07, 1.93336819e-09]),\n", - " array([7.04676293e-07, 1.66330694e-09]),\n", - " array([6.8047287e-07, 5.3907942e-10]),\n", - " array([ 6.29457551e-07, -1.94447535e-09]),\n", - " array([ 5.40946189e-07, -6.44393291e-09]),\n", - " array([ 4.05664486e-07, -1.41542129e-08]),\n", - " array([ 2.20335752e-07, -2.15210389e-08])]" + "3.7" ] }, - "execution_count": 109, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x7fa29910df50>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ - "ddp.us" + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "control = np.vstack(ddp.us)\n", + "t = np.arange(0,T*dt, dt)\n", + "fig, axs = plt.subplots(1,2, figsize=(15,10))\n", + "fig.suptitle('Motor torques')\n", + "# axs[0].plot(t,control[:,0], t,control[:,1])\n", + "axs[0].plot(t,control[:,0])\n", + "axs[0].set_title('Moments')\n", + "axs[0].legend(['M1','M2'])\n", + "\n", + "t_state = t\n", + "t_state[-1]" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -589,7 +4959,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.16" + "version": "2.7.12" } }, "nbformat": 4, diff --git a/examples/notebooks/cartpole_swing_up_sol.ipynb b/examples/notebooks/cartpole_swing_up_sol.ipynb index aff3ed461015fc379e84754b387930fc58c8b690..00f97328697d9512e15f2be3ddd99285cc213f68 100644 --- a/examples/notebooks/cartpole_swing_up_sol.ipynb +++ b/examples/notebooks/cartpole_swing_up_sol.ipynb @@ -400,7 +400,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.15+" + "version": "2.7.12" } }, "nbformat": 4, diff --git a/examples/notebooks/kinton_fixed_base.ipynb b/examples/notebooks/kinton_fixed_base.ipynb index fbbcc39e3b0df2a8b673a363db7e04bced267472..df79af6a9602d6fb0a9628cd187e9db746229e4c 100644 --- a/examples/notebooks/kinton_fixed_base.ipynb +++ b/examples/notebooks/kinton_fixed_base.ipynb @@ -169,7 +169,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.16" + "version": "2.7.12" } }, "nbformat": 4, diff --git a/examples/notebooks/kinton_flying_ee.ipynb b/examples/notebooks/kinton_flying_ee.ipynb index d20bf6f4096afcbb1794b4903cec27b1b077efe6..23d6c63a4ee2a57ccc27f65ec48bb9d768d6a80b 100644 --- a/examples/notebooks/kinton_flying_ee.ipynb +++ b/examples/notebooks/kinton_flying_ee.ipynb @@ -499,7 +499,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", - "version": "2.7.16" + "version": "2.7.12" } }, "nbformat": 4,