{"id":1,"date":"2023-04-04T14:22:29","date_gmt":"2023-04-04T06:22:29","guid":{"rendered":"http:\/\/www.kakosci.com\/?p=1"},"modified":"2024-11-18T17:38:26","modified_gmt":"2024-11-18T09:38:26","slug":"hello-world","status":"publish","type":"post","link":"https:\/\/www.kakosci.com\/index.php\/2023\/04\/04\/hello-world\/","title":{"rendered":"\u2b50Latex\u2b50\u2764Highlight\u2764"},"content":{"rendered":"\n<p>$$ x^{2}=\\frac{1}{n-1}\\sum_{i=1}^{n}\\left ( x_{i}- \\bar{x}   \\right ) =\\frac{1}{n-1}\\left ( \\sum_{i=1}^{n}x_{i}^{2}-n \\bar{x} ^{2}    \\right ) $$<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code lang=\"python\" class=\"language-python\">import numpy as np\nfrom sympy import *\n\n\nclass DFP:\n    def __init__(self, func, x, xk, epsilon, one_dim, one_dim_epsilon):\n        self.func = func  # \u51fd\u6570\n        self.x = x  # \u81ea\u53d8\u91cf\u5411\u91cf Matrix\u7c7b\u578b\n        self.length = len(x)  # \u81ea\u53d8\u91cf\u4e2a\u6570\n        self.xk = xk  # \u521d\u59cb\u70b9 Matrix\u7c7b\u578b\n        self.epsilon = epsilon  # \u7cbe\u5ea6\n        self.H = Matrix(np.identity(self.length))  # \u521d\u59cb\u77e9\u9635\uff1a\u5355\u4f4d\u77e9\u9635\n        self.k = 0\n        self.one_dim = one_dim  # \u4e00\u7ef4\u641c\u7d22\u51fd\u6570\n        self.one_dim_epsilon = one_dim_epsilon  # \u4e00\u7ef4\u641c\u7d22\u7684\u7cbe\u5ea6\n        self.path = [xk]  # \u4f18\u5316\u8def\u5f84\n\n    def solve(self):\n        f = Matrix([self.func])\n        g = f.jacobian(self.x).T\n        gk = g.subs([(self.x[i], self.xk[i]) for i in range(self.length)])\n        l = Symbol('l')\n\n        while True:\n            d = - self.H @ gk\n            temp = self.xk + l * d\n            tar = self.func.subs([(self.x[i], temp[i]) for i in range(self.length)])\n            lam = self.one_dim(tar, l, 0.0, self.one_dim_epsilon)\n            delta_x = lam * d\n            xkp = self.xk + delta_x\n            self.path.append(xkp)\n            if self.check(gk) or self.check(delta_x):\n                return xkp\n            gkp = g.subs([(self.x[i], xkp[i]) for i in range(self.length)])\n            delta_g = gkp - gk\n            self.H = self.H + (delta_x @ delta_x.T) \/ (delta_x.T @ delta_g)[0] - (\n                    self.H @ delta_g @ (self.H @ delta_g).T) \/ (delta_g.T @ self.H @ delta_g)[0]\n            self.xk = xkp\n            gk = gkp\n\n    def check(self, grad):\n        l2 = sqrt(sum([i ** 2 for i in list(grad)]))\n        if l2 &lt;= self.epsilon:\n            return True\n        return False\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>$$ x^{2}=\\frac{1}{n-1}\\sum_{i=1}^{n}\\lef&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.kakosci.com\/index.php\/wp-json\/wp\/v2\/posts\/1","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kakosci.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kakosci.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kakosci.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kakosci.com\/index.php\/wp-json\/wp\/v2\/comments?post=1"}],"version-history":[{"count":3,"href":"https:\/\/www.kakosci.com\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions"}],"predecessor-version":[{"id":803,"href":"https:\/\/www.kakosci.com\/index.php\/wp-json\/wp\/v2\/posts\/1\/revisions\/803"}],"wp:attachment":[{"href":"https:\/\/www.kakosci.com\/index.php\/wp-json\/wp\/v2\/media?parent=1"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kakosci.com\/index.php\/wp-json\/wp\/v2\/categories?post=1"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kakosci.com\/index.php\/wp-json\/wp\/v2\/tags?post=1"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}