Beispiel #1
0
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に代入する関数
Beispiel #2
0
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])
Beispiel #3
0
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)]]
Beispiel #4
0
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)
Beispiel #5
0
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
Beispiel #6
0
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: