From 51f4c13d633b967a586e7a6eb102e36795a582f0 Mon Sep 17 00:00:00 2001 From: zmelce Date: Wed, 22 Feb 2017 01:05:56 +0300 Subject: [PATCH] Fibonacci homework is done. --- .ipynb_checkpoints/Fibonacci-checkpoint.ipynb | 293 ++++++++++++++++++ Fibonacci.ipynb | 121 +++++++- 2 files changed, 407 insertions(+), 7 deletions(-) create mode 100644 .ipynb_checkpoints/Fibonacci-checkpoint.ipynb diff --git a/.ipynb_checkpoints/Fibonacci-checkpoint.ipynb b/.ipynb_checkpoints/Fibonacci-checkpoint.ipynb new file mode 100644 index 0000000..907ebeb --- /dev/null +++ b/.ipynb_checkpoints/Fibonacci-checkpoint.ipynb @@ -0,0 +1,293 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Fibonacci Numbers [[1]](https://en.wikipedia.org/wiki/Fibonacci_number)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In mathematics, the Fibonacci numbers are the numbers in the following integer sequence, called the Fibonacci sequence, and characterized by the fact that every number after the first two is the sum of the two preceding ones:\n", + "\n", + "$$ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, \\cdots$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In mathematical terms, the sequence $F_n$ of Fibonacci numbers is defined by the recurrence relation:\n", + "\n", + "$$ F_{n}=F_{n-1}+F_{n-2} $$\n", + "\n", + "with seed values:\n", + "$$ F_0 = 0 , F_1 = 1 $$\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In matrix notation this definition is equivalent to:\n", + "\n", + "\\begin{eqnarray}\n", + " \\begin{bmatrix}\n", + " F_1 \\\\\n", + " F_0\n", + " \\end{bmatrix}\n", + " & = &\n", + " \\begin{bmatrix}\n", + " 1 \\\\\n", + " 0\n", + " \\end{bmatrix} \\\\\n", + " \\begin{bmatrix}\n", + " F_{n+1} \\\\\n", + " F_n\n", + " \\end{bmatrix}\n", + " & = &\n", + " \\begin{bmatrix}\n", + " 1 & 1 \\\\\n", + " 1 & 0\n", + " \\end{bmatrix}\n", + " \\begin{bmatrix}\n", + " F_n \\\\\n", + " F_{n-1}\n", + " \\end{bmatrix}\n", + "\\end{eqnarray}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we want to compute only the $n^{th}$ Fibonacci number, then the following identity is useful:\n", + "\n", + "\\begin{equation}\n", + " \\begin{bmatrix}\n", + " F_{n} \\\\\n", + " F_{n-1}\n", + " \\end{bmatrix} =\n", + " \\begin{bmatrix}\n", + " 1 & 1 \\\\\n", + " 1 & 0\n", + " \\end{bmatrix}^{n-1}\n", + " \\begin{bmatrix}\n", + " F_1 \\\\\n", + " F_0\n", + " \\end{bmatrix}\n", + "\\end{equation}\n", + "\n", + "By using matrix exponentiation (for instance, calculating $M^8$ as $((M^2)^2)^2$ ), $F_{n}$ can be calculated in $O(log(n))$ time complexity. This algorithm is sometimes called **fast fibonacci transform**." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Follow the instructions in the next sections. Feel free to create extra cells (for instance, you can try different values for $F_1$ and $F_0$).**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1. Fast Fibonacci Transform Implementation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Implement a function that returns $F_n$ as we described above (for this assignment we are not concerned about the efficiency of your implementation, i.e. you can use $M^n$ assuming octave does matrix exponentiation for you):" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "function f_n = fibonacci(n)\n", + " result_vector=[0;0];\n", + " first_vector=[1;0];\n", + " temp_matrix = [1 1; 1 0];\n", + " result_vector=(temp_matrix^(n-1)) * first_vector;\n", + " f_n=result_vector(1);\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 89\n" + ] + } + ], + "source": [ + "fibonacci(11)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2. Plot $F_{n+1} / F_n$ ratio" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Initialize $F_0 = 0$ and $F_1 = 1$, then plot the $\\dfrac{F_{n+1}}{F_{n}}$ values for $ 1 \\leq n \\leq 100$. As $n \\to \\infty$, we expect $\\dfrac{F_{n+1}}{F_{n}} \\to \\dfrac{\\sqrt{5}+1}{2}$. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "function limit()\n", + " n=100;\n", + " temp_matrix = [1 1; 1 0];\n", + " first_vector=[1;0];\n", + " result_vector=zeros(100,1);\n", + " dummy_vector=[0;0];\n", + " for i=1:n\n", + " dummy_vector= temp_matrix * first_vector;\n", + " result_vector(i)= dummy_vector(1) / dummy_vector(2);\n", + " first_vector=dummy_vector;\n", + " end\n", + " plot(result_vector);\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nFCtI470MtvoGmKFYQRq5xQ5ghiIeYe7sCYAZinWEeUqp7y3ZAcxRuCW7vrdkBzBHEYNk3yCAGYoY\nJABmKFyQkvPLAWZJkAAIIVaQqso2DQAzFStIReGOBoCZihWkZL0OYK7CBcmSHcA8hQuSJTuAeZos\nSM9tx2DJDmCeJguSmRAAm8It2d3cTH0FAEwhXJAAmCdBAiAEQQIgBEECIISIR5gDMEPhjjAHYJ4s\n2QEQgiABEIIgARCCIAEQgiABEIIgARCCIAEQgiABEIIgARCCIAEQQrgjzAGYJ0eYAxCCJTsAQhAk\nAEIQJABCECQAQhAkAEJwhDkAITjCHIAQLNkBEIIgARCCIAEQgiABEIIgARCCIAEQgiABEIIgARCC\nIAEQgiABEMKeILVte3193XXd7h8bhuHy8nLvj21yhDkAmz7s/nbTNMULDhtfLpeLxeKgF3aEOQCb\n9gTpJXLO1c75zmq1Wj8uy7Isy9NfFIA4+r7v+358vFqt6ro+4knOEKSu666urnas111cXBx3cQC8\nCWeZbBwTpGEYUkrrpbyqqrquyzm/ZHEPAJ60J0jL5TLnnFLq+379LtHl5WVZlnd3d+Mf67ru+75t\nW0EC4Gh7gvTkrQr39/ePvrLZJwA4wjFLdqfPhJxfDsAj03ww1vnlADxipwYAQhAkAEIQJABCECQA\nQhAkAEIQJABCECQAQhAkAEIQJABCECQAQpgsSI4wB2DTZEFyVAUAmyzZARCCIAEQgiABEIIgARCC\nIAEQwjRBcoQ5AI84whyAECzZARCCIAEQgiABEIIgARCCIAEQgiABEIIgARCCIAEQgiABEIIgARDC\nNEFyfjkAj0wTJOeXA/CIJTsAQhAkAEIQJABCECQAQhAkAEJwhDkAITjCHIAQLNkBEIIgARCCIAEQ\ngiABEIIgARCCIAEQgiABEIIgARCCIAEQgiABEIIjzAEIwRHmAIRgyQ6AEAQJgBAECYAQBAmAEAQJ\ngBAECYAQpglS103ysgDEZYYEQAiCBEAIggRACIIEQAiCBEAIggRACIIEQAiCBEAIggRACIIEQAiO\nMAcghPMEaRiGg37eEeYAPPJh97fbts0513Vd1/VzP3N7e1uW5TAMRVE0TXPuKwRgFvYEqWmaYt90\npqqqMVfX19eCBMBx9gTpJcYajROpJ39gtVqtH5dlWZbl6S8KQBx93/d9Pz5erVY7FtV2OEOQUko5\n577vn5seXVxcHHdxALwJZ5lsHHNTwzAMm3cx7K4RALzEnhnScrnMOaeU+r5fLBbjFy8vL8uyvLu7\nSynlnK+vr6uqyjkPwzB+EQAOtSdI6whtur+/Xz+uqurh4eGgl3R+OQDbjnkPae99dwBwKFsHARCC\nIAEQgiABEIIgARCCIAEQgiABEIIgARCCIAEQgiABEIIjzAEIYZog2XsIgEcs2QEQgiABEIIgARCC\nIAEQgiABEIIgARDCBEFyhDkA28yQAAhBkAAIQZAACEGQAAhBkAAIQZAACEGQAAhBkAAIQZAACEGQ\nAAhhgiA5vxyAbRMEyfnlAGyzZAdACIIEQAiCBEAIggRACIIEQAiCBEAIjjAHIAQzJABCECQAQhAk\nAEIQJABCECQAQhAkAEIQJABCECQAQhAkAEIQJABCmCBIZfn6rwlAdIIEQAiW7AAIQZAACEGQAAhB\nkAAIQZAACEGQAAjBEeYAhGCGBEAIggRACIIEQAiCBEAIggRACIIEQAiCBEAIggRACIIEQAiCBEAI\nTowFIITXCNK3b982/yhIu/V9P/UlvDFG7FBG7FBG7CCPfue/3GsE6evXr6/wKu+G//QPZcQOZcQO\nZcQOcvTv/A+nv3bbtjnnuq7ruj792QCYpzMEqWmaoihOfx4A5sxddgCE8Mv3799Pf5au61JKzy3Z\n/f777+vHnz59+vjx4+mvCEAc375923zr6MuXL0c8yRmW7PY67soAmJUzBGm5XOacU0p93y8Wi9Of\nEIAZOs+SHQCcyE0NAIQgSACE8NODNAzDz36J92F7oAzdoYzYXps7Dhiu3YZheDRERuyFjv5t9nPv\nsmvbtu/7oijKsrSPww63t7dlWQ7DUBRF0zTJ0L3AMAy//fbbYrEYx8eI7Tb+N5ZSGv9puHZr23b8\nHboeHyP2pO2derYH6oCh+/4z3dzcPHrAkx4eHsYHV1dX4wNDt9fNzc3Dw8N66IzYDg8PD3/99dfm\nVwzXbuv/E/0vudfm/4bfnxqolw/dz50hrbcUqqrqp77QWzf+rWH8i8b4FUO3W8750cgYsR3Gv5/2\nfV+W5Tg+hmu3qqratk0bn/c3Yi+0PVAvHzo3NUSRc+773lLAC3VdZ6xebkxR0zTjpirsNY5YWZb2\n+X5NPzdI6zeyxk/O8pyxRuO7RyNDt1tVVV3XjeM2fsWI7bA9MTJcu40jVlWVETvU9kC9fOh+7pJd\nWZa3t7dFUZjk7pBzvr6+rqoq5zwMw93dXTJ0+9R13fd927br3xdGbIemadY3NYwM117L5TJtJNyI\nPWl7p57tgXr50P30nRrGNjqf4giG7lBGbLdHb7wZrt22x8eIvdDRQ2frIABCcFMDACEIEgAhCBIA\nIQgSACEIEgAh/B+OQXgQz8CaHAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "limit()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3. Plot $F_{n+1} / F_n$ ratio starting with $F_0 = 2$ and $F_1 = 1 - \\sqrt{5}$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Initialize $F_0 = 2$ and $F_1 = F_1 = 1 - \\sqrt{5}$, then plot the $\\dfrac{F_{n+1}}{F_{n}}$ values for $ 1 \\leq n \\leq 100$. If we would represent $\\sqrt{5}$ exactly in our floating point arithmetic, then as $n \\to \\infty$, we expect $\\dfrac{F_{n+1}}{F_{n}} \\to \\dfrac{1 - \\sqrt{5}}{2}$, but for the very large values of $n$, this ratio unexpectedly converges to $\\dfrac{\\sqrt{5} + 1}{2}$." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "function limit2()\n", + " n = 100;\n", + " temp_matrix = [1 1; 1 0];\n", + " first_vector=[1-sqrt(5);2];\n", + " result_vector=zeros(100,1);\n", + " dummy_vector=[0;0];\n", + " for i=1:n\n", + " dummy_vector= temp_matrix * first_vector;\n", + " result_vector(i)= dummy_vector(1) / dummy_vector(2);\n", + " first_vector=dummy_vector;\n", + " end\n", + " plot(result_vector);\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "limit2()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Octave", + "language": "octave", + "name": "octave" + }, + "language_info": { + "file_extension": ".m", + "help_links": [ + { + "text": "GNU Octave", + "url": "https://www.gnu.org/software/octave/support.html" + }, + { + "text": "Octave Kernel", + "url": "https://github.com/Calysto/octave_kernel" + }, + { + "text": "MetaKernel Magics", + "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" + } + ], + "mimetype": "text/x-octave", + "name": "octave", + "version": "4.0.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Fibonacci.ipynb b/Fibonacci.ipynb index 7cabb0e..907ebeb 100644 --- a/Fibonacci.ipynb +++ b/Fibonacci.ipynb @@ -108,12 +108,39 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], - "source": [] + "source": [ + "function f_n = fibonacci(n)\n", + " result_vector=[0;0];\n", + " first_vector=[1;0];\n", + " temp_matrix = [1 1; 1 0];\n", + " result_vector=(temp_matrix^(n-1)) * first_vector;\n", + " f_n=result_vector(1);\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ans = 89\n" + ] + } + ], + "source": [ + "fibonacci(11)" + ] }, { "cell_type": "markdown", @@ -131,12 +158,48 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], - "source": [] + "source": [ + "function limit()\n", + " n=100;\n", + " temp_matrix = [1 1; 1 0];\n", + " first_vector=[1;0];\n", + " result_vector=zeros(100,1);\n", + " dummy_vector=[0;0];\n", + " for i=1:n\n", + " dummy_vector= temp_matrix * first_vector;\n", + " result_vector(i)= dummy_vector(1) / dummy_vector(2);\n", + " first_vector=dummy_vector;\n", + " end\n", + " plot(result_vector);\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nFCtI470MtvoGmKFYQRq5xQ5ghiIeYe7sCYAZinWEeUqp7y3ZAcxRuCW7vrdkBzBHEYNk3yCAGYoY\nJABmKFyQkvPLAWZJkAAIIVaQqso2DQAzFStIReGOBoCZihWkZL0OYK7CBcmSHcA8hQuSJTuAeZos\nSM9tx2DJDmCeJguSmRAAm8It2d3cTH0FAEwhXJAAmCdBAiAEQQIgBEECIISIR5gDMEPhjjAHYJ4s\n2QEQgiABEIIgARCCIAEQgiABEIIgARCCIAEQgiABEIIgARCCIAEQQrgjzAGYJ0eYAxCCJTsAQhAk\nAEIQJABCECQAQhAkAEJwhDkAITjCHIAQLNkBEIIgARCCIAEQgiABEIIgARCCIAEQgiABEIIgARCC\nIAEQgiABEMKeILVte3193XXd7h8bhuHy8nLvj21yhDkAmz7s/nbTNMULDhtfLpeLxeKgF3aEOQCb\n9gTpJXLO1c75zmq1Wj8uy7Isy9NfFIA4+r7v+358vFqt6ro+4knOEKSu666urnas111cXBx3cQC8\nCWeZbBwTpGEYUkrrpbyqqrquyzm/ZHEPAJ60J0jL5TLnnFLq+379LtHl5WVZlnd3d+Mf67ru+75t\nW0EC4Gh7gvTkrQr39/ePvrLZJwA4wjFLdqfPhJxfDsAj03ww1vnlADxipwYAQhAkAEIQJABCECQA\nQhAkAEIQJABCECQAQhAkAEIQJABCECQAQpgsSI4wB2DTZEFyVAUAmyzZARCCIAEQgiABEIIgARCC\nIAEQwjRBcoQ5AI84whyAECzZARCCIAEQgiABEIIgARCCIAEQgiABEIIgARCCIAEQgiABEIIgARDC\nNEFyfjkAj0wTJOeXA/CIJTsAQhAkAEIQJABCECQAQhAkAEJwhDkAITjCHIAQLNkBEIIgARCCIAEQ\ngiABEIIgARCCIAEQgiABEIIgARCCIAEQgiABEIIjzAEIwRHmAIRgyQ6AEAQJgBAECYAQBAmAEAQJ\ngBAECYAQpglS103ysgDEZYYEQAiCBEAIggRACIIEQAiCBEAIggRACIIEQAiCBEAIggRACIIEQAiO\nMAcghPMEaRiGg37eEeYAPPJh97fbts0513Vd1/VzP3N7e1uW5TAMRVE0TXPuKwRgFvYEqWmaYt90\npqqqMVfX19eCBMBx9gTpJcYajROpJ39gtVqtH5dlWZbl6S8KQBx93/d9Pz5erVY7FtV2OEOQUko5\n577vn5seXVxcHHdxALwJZ5lsHHNTwzAMm3cx7K4RALzEnhnScrnMOaeU+r5fLBbjFy8vL8uyvLu7\nSynlnK+vr6uqyjkPwzB+EQAOtSdI6whtur+/Xz+uqurh4eGgl3R+OQDbjnkPae99dwBwKFsHARCC\nIAEQgiABEIIgARCCIAEQgiABEIIgARCCIAEQgiABEIIjzAEIYZog2XsIgEcs2QEQgiABEIIgARCC\nIAEQgiABEIIgARDCBEFyhDkA28yQAAhBkAAIQZAACEGQAAhBkAAIQZAACEGQAAhBkAAIQZAACEGQ\nAAhhgiA5vxyAbRMEyfnlAGyzZAdACIIEQAiCBEAIggRACIIEQAiCBEAIjjAHIAQzJABCECQAQhAk\nAEIQJABCECQAQhAkAEIQJABCECQAQhAkAEIQJABCmCBIZfn6rwlAdIIEQAiW7AAIQZAACEGQAAhB\nkAAIQZAACEGQAAjBEeYAhGCGBEAIggRACIIEQAiCBEAIggRACIIEQAiCBEAIggRACIIEQAiCBEAI\nTowFIITXCNK3b982/yhIu/V9P/UlvDFG7FBG7FBG7CCPfue/3GsE6evXr6/wKu+G//QPZcQOZcQO\nZcQOcvTv/A+nv3bbtjnnuq7ruj792QCYpzMEqWmaoihOfx4A5sxddgCE8Mv3799Pf5au61JKzy3Z\n/f777+vHnz59+vjx4+mvCEAc375923zr6MuXL0c8yRmW7PY67soAmJUzBGm5XOacU0p93y8Wi9Of\nEIAZOs+SHQCcyE0NAIQgSACE8NODNAzDz36J92F7oAzdoYzYXps7Dhiu3YZheDRERuyFjv5t9nPv\nsmvbtu/7oijKsrSPww63t7dlWQ7DUBRF0zTJ0L3AMAy//fbbYrEYx8eI7Tb+N5ZSGv9puHZr23b8\nHboeHyP2pO2derYH6oCh+/4z3dzcPHrAkx4eHsYHV1dX4wNDt9fNzc3Dw8N66IzYDg8PD3/99dfm\nVwzXbuv/E/0vudfm/4bfnxqolw/dz50hrbcUqqrqp77QWzf+rWH8i8b4FUO3W8750cgYsR3Gv5/2\nfV+W5Tg+hmu3qqratk0bn/c3Yi+0PVAvHzo3NUSRc+773lLAC3VdZ6xebkxR0zTjpirsNY5YWZb2\n+X5NPzdI6zeyxk/O8pyxRuO7RyNDt1tVVV3XjeM2fsWI7bA9MTJcu40jVlWVETvU9kC9fOh+7pJd\nWZa3t7dFUZjk7pBzvr6+rqoq5zwMw93dXTJ0+9R13fd927br3xdGbIemadY3NYwM117L5TJtJNyI\nPWl7p57tgXr50P30nRrGNjqf4giG7lBGbLdHb7wZrt22x8eIvdDRQ2frIABCcFMDACEIEgAhCBIA\nIQgSACEIEgAh/B+OQXgQz8CaHAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "limit()" + ] }, { "cell_type": "markdown", @@ -154,12 +217,48 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], - "source": [] + "source": [ + "function limit2()\n", + " n = 100;\n", + " temp_matrix = [1 1; 1 0];\n", + " first_vector=[1-sqrt(5);2];\n", + " result_vector=zeros(100,1);\n", + " dummy_vector=[0;0];\n", + " for i=1:n\n", + " dummy_vector= temp_matrix * first_vector;\n", + " result_vector(i)= dummy_vector(1) / dummy_vector(2);\n", + " first_vector=dummy_vector;\n", + " end\n", + " plot(result_vector);\n", + "end" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "limit2()" + ] } ], "metadata": { @@ -171,6 +270,14 @@ "language_info": { "file_extension": ".m", "help_links": [ + { + "text": "GNU Octave", + "url": "https://www.gnu.org/software/octave/support.html" + }, + { + "text": "Octave Kernel", + "url": "https://github.com/Calysto/octave_kernel" + }, { "text": "MetaKernel Magics", "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" @@ -178,7 +285,7 @@ ], "mimetype": "text/x-octave", "name": "octave", - "version": "0.16.1" + "version": "4.0.2" } }, "nbformat": 4,