import argparse import sys import sympy as sp import typing from symdoc import Markdown, doit, symfunc, gsym cmdline_parser = argparse.ArgumentParser() Markdown.add_parser_option(cmdline_parser) M = Markdown('sqrt', title='Newton Rapthon for Python') markdown, cmdline = M.markdown, M.cmdline ###################################################################### # 大域的な環境設定 import numpy as np import sympy as sp ###################################################################### # 変数を定義しておく global a, x a, x = sp.var('a x') F = sp.Function('F') # NRを関数として定義しておく。 NR = x - F(x) / sp.diff(F(x), x) # 任意の1変数関数と変数に関してNRに代入する関数
import argparse import sys import typing from symdoc import Markdown, doit, symfunc, gsym cmdline_parser = argparse.ArgumentParser() Markdown.add_parser_option(cmdline_parser) M = Markdown('kk', title='Network Optimisation') markdown, cmdline = M.markdown, M.cmdline ###################################################################### # 大域的な環境設定 import numpy as np import sympy as sp import matplotlib.pyplot as plt import numpy.linalg as la from scipy.optimize import minimize from functools import partial from time import time ###################################################################### # ユーティリティ関数 def convertToMatrix(nodeList, adj_list): '隣接リスト -> 隣接行列' n = len(nodeList) adj_matrix = np.zeros([n, n])
from functools import partial import argparse import sympy as sp import numpy as np import matplotlib.path as mpath import matplotlib.patches as mpatches import matplotlib.pyplot as plt from symdoc import Markdown, doit #from sympy.utilities.lambdify import lambdastr cmdline_parser = argparse.ArgumentParser() Markdown.add_parser_option(cmdline_parser) M = Markdown('kk', title='Kamada Kawai Algorithm') markdown, cmdline = M.markdown, M.cmdline # gradient と Hessian dim = 2 n = sp.Symbol('n', integer=True) # ある頂点iについて考えるとする # よってここのIndexedBaseはlambdifyした後にiとの差を受け取ることになる Pi = sp.IndexedBase('P') Li = sp.IndexedBase('L') Ki = sp.IndexedBase('K') # これはiベクトル p = sp.IndexedBase('p') j, d = [sp.Idx(*spec) for spec in [('j', n - 1), ('d', dim)]]
import argparse import sys import sympy as sp import typing from symdoc import Markdown, doit, symfunc, gsym cmdline_parser = argparse.ArgumentParser() Markdown.add_parser_option(cmdline_parser) M = Markdown('t3d', title='T3D (Transform 3D) for Python') markdown, cmdline = M.markdown, M.cmdline ###################################################################### # 大域的な環境設定 import numpy as np import sympy as sp ###################################################################### # ユーティリティ関数 def _subs(EXPR, repl): '数式EXPR中に出現する名前を辞書replにしたがって置換する。辞書内のすべての名前を並列置換する。' return EXPR.subs(repl, simultaneous=True) def _mat32(ARGS, EXPR): f = sp.lambdify(ARGS, EXPR, 'numpy') return lambda *args: np.array(f(*args), dtype=np.float32)
import argparse import sys import sympy as sp import typing from symdoc import Markdown, doit, symfunc, gsym cmdline_parser = argparse.ArgumentParser() Markdown.add_parser_option(cmdline_parser) M = Markdown('kk', title='kk') markdown, cmdline = M.markdown, M.cmdline ###################################################################### # 大域的な環境設定 import numpy as np import sympy as sp ###################################################################### # ユーティリティ関数 dim = 2 n = 2 def KroneckerDelta(i, j): flag = 0 if i == j: flag = 1 return flag
import argparse import sys import sympy as sp import typing import numpy as np from symdoc import Markdown, doit, symfunc, gsym cmdline_parser = argparse.ArgumentParser() Markdown.add_parser_option(cmdline_parser) M = Markdown('sqrt', title='How to calcurate sqrt using NewtonRapshon method') markdown, cmdline = M.markdown, M.cmdline x, a =sp.var('x a') def NewtonRaphson(f,x,*args): F = sp.Function('F') newrap = x - F(x)/sp.diff(F(x),x) thisnewrap = sp.simplify(newrap.subs(F(x),f).doit()) calnewrap = sp.lambdify((x,*args),thisnewrap) fanc = sp.simplify(f) def newtonraphson(*args2,xstart=1,eps = 10**(-20),solution='α'): xloop = xstart xback = xstart-1 i = 0 notfind = False while abs(xloop - xback) > eps: