Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We use the harmonic extensions\n",
- "\n",
- "$$\n",
- "H_1 = \\sum_{i=1}^3 \\frac{1}{r} R_i^T D R_i\n",
- "$$\n",
- "\n",
- "In the case of the Sierpinski gasket, it is well known that $r=\\frac{3}{5}$, \n",
- "$$\n",
- "D=\\begin{pmatrix}\n",
- "-2 & 1 & 1 \\\\\n",
- "1 & -2 & 1 \\\\\n",
- "1 & 1 & -2\n",
- "\\end{pmatrix}\n",
- "$$ \n",
- "and $R_i: \\ell(V_1) \\to \\ell(V_0)$ is given by\n",
- "\n",
- "$$\n",
- "(R_i f) (v_j) = f(F_i(v_j)), \\quad \\text{ where }f\\in \\ell(V_1), v_j \\in V_0.\n",
- "$$\n",
- "\n",
- "In our case, we let $v_1, v_2, v_3$ be the left, top, and right most points on $V_0$, and $v_4, v_5, v_6$ denote the points in $V_1$ between $v_1$ and $v_2$, $v_2$ and $v_3$, and $v_1$ and $v_3$ respectively.\n",
- "\n",
- "We compute $H_1$."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {},
- "outputs": [],
- "source": [
- "import numpy as np\n",
- "import sympy as sym\n",
- "\n",
- "R_1 = np.array([[1, 0, 0, 0, 0, 0], \n",
- " [0, 0, 0, 1, 0, 0], \n",
- " [0, 0, 0, 0, 0, 1]])\n",
- "\n",
- "R_2 = np.array([[0, 0, 0, 1, 0, 0], \n",
- " [0, 1, 0, 0, 0, 0], \n",
- " [0, 0, 0, 0, 1, 0]])\n",
- "\n",
- "R_3 = np.array([[0, 0, 0, 0, 0, 1], \n",
- " [0, 0, 0, 0, 1, 0], \n",
- " [0, 0, 1, 0, 0, 0]])\n",
- "\n",
- "D = np.array([[-2, 1, 1], [1, -2, 1], [1, 1, -2]])\n",
- "\n",
- "r = sym.Rational(3, 5)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {},
- "outputs": [],
- "source": [
- "R = R_1 + R_2 + R_3\n",
- "\n",
- "H_1 = np.dot(np.dot(np.transpose(R), D), R) / r"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[[-10/3 5/3 5/3 -5/3 10/3 -5/3]\n",
- " [5/3 -10/3 5/3 -5/3 -5/3 10/3]\n",
- " [5/3 5/3 -10/3 10/3 -5/3 -5/3]\n",
- " [-5/3 -5/3 10/3 -10/3 5/3 5/3]\n",
- " [10/3 -5/3 -5/3 5/3 -10/3 5/3]\n",
- " [-5/3 10/3 -5/3 5/3 5/3 -10/3]]\n"
- ]
- }
- ],
- "source": [
- "print(H_1)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In our case, we need to compute $G = X_1^{-1}$, where $X_1$ is given by $H_1$ restricted to $V_1 - V_0$."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {},
- "outputs": [],
- "source": [
- "X = H_1[3:, 3:]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[[-10/3 5/3 5/3]\n",
- " [5/3 -10/3 5/3]\n",
- " [5/3 5/3 -10/3]]\n"
- ]
- }
- ],
- "source": [
- "print(X)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Which is noninvertible. In particular, $(1, 1, 1) \\in ker(X)$."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.7.2"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement