{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[Table of Contents](table_of_contents.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Topic 23. Quadratic Forms\n", "Author: Timothy Devon Morris, devonmorris1992@gmail.com" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib notebook\n", "import numpy as np\n", "from mpl_toolkits.mplot3d import Axes3D\n", "import matplotlib.pyplot as plt\n", "from matplotlib import cm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction\n", "A Quadratic form is simply a homogeneous polynomial of degree two. Quadratic forms appear in various branches of mathematics, such as differential geometry, optimization theory, probability theory, control theory and stability of dynamical systems. The geometry of quadratic forms is rich in both its applications and theory." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Explanation of the theory\n", "\n", "### Homogeneous polynomials\n", "A homogeneous polynomial is polynomial whos nonzero terms have the same degree. In the case of quadratic forms, this degree must be two. For example, consider the polynomial\n", "\n", "$$\n", "R(x,y) = x^2 + xy + y^2.\n", "$$\n", "\n", "In this polynomial, every nonzero term has degree two, therefore it is a quadratic form. We can rewrite this equation as a matrix equation\n", "$$\n", "R(x,y) = \n", "\\begin{bmatrix}\n", "x & y\n", "\\end{bmatrix}\n", "\\begin{bmatrix}\n", "1 & 0.5 \\\\\n", "0.5 & 1\n", "\\end{bmatrix}\n", "\\begin{bmatrix}\n", "x \\\\\n", "y\n", "\\end{bmatrix}\n", "$$\n", "Let $\\mathbf{x} = [x, y]^T$ and\n", "$$\n", "A = \n", "\\begin{bmatrix}\n", "1 & 0.5 \\\\\n", "0.5 & 1\n", "\\end{bmatrix}\n", "$$\n", "Then we can rewrite this polynomial as\n", "$$\n", "R(\\mathbf{x}) = \\mathbf{x}^T A\\mathbf{x}\n", "$$\n", "We call this the quadratic form associated with the self-adjoint matrix $A$. In general, $\\mathbf{x}$ can be of any dimension and the only requirement on $A$ is that it is self-adjoint (symmetric in the real case).\n", "\n", "### Geometry of Quadratic forms and Definiteness\n", "The geometry of quadratic forms is rich in its structure. We can only visualize this geometry in two dimensions, but the ideas easily scale to the higher dimensional case. In the simplest case, we have\n", "$$\n", "A = \n", "\\begin{bmatrix}\n", "1 & 0 \\\\\n", "0 & 1\n", "\\end{bmatrix}\n", "$$\n", "The level curves of the quadratic form associated with this matrix are" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('<div/>');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", " 'ui-helper-clearfix\"/>');\n", " var titletext = $(\n", " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", " 'text-align: center; padding: 3px;\"/>');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('<div/>');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('<canvas/>');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('<canvas/>');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('<button/>');\n", " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", " 'ui-button-icon-only');\n", " button.attr('role', 'button');\n", " button.attr('aria-disabled', 'false');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", "\n", " var icon_img = $('<span/>');\n", " icon_img.addClass('ui-button-icon-primary ui-icon');\n", " icon_img.addClass(image);\n", " icon_img.addClass('ui-corner-all');\n", "\n", " var tooltip_span = $('<span/>');\n", " tooltip_span.addClass('ui-button-text');\n", " tooltip_span.html(tooltip);\n", "\n", " button.append(icon_img);\n", " button.append(tooltip_span);\n", "\n", " nav_element.append(button);\n", " }\n", "\n", " var fmt_picker_span = $('<span/>');\n", "\n", " var fmt_picker = $('<select/>');\n", " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", " fmt_picker_span.append(fmt_picker);\n", " nav_element.append(fmt_picker_span);\n", " this.format_dropdown = fmt_picker[0];\n", "\n", " for (var ind in mpl.extensions) {\n", " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", " fmt_picker.append(option)\n", " }\n", "\n", " // Add hover states to the ui-buttons\n", " $( \".ui-button\" ).hover(\n", " function() { $(this).addClass(\"ui-state-hover\");},\n", " function() { $(this).removeClass(\"ui-state-hover\");}\n", " );\n", "\n", " var status_bar = $('<span class=\"mpl-message\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "}\n", "\n", "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", " // which will in turn request a refresh of the image.\n", " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", "}\n", "\n", "mpl.figure.prototype.send_message = function(type, properties) {\n", " properties['type'] = type;\n", " properties['figure_id'] = this.id;\n", " this.ws.send(JSON.stringify(properties));\n", "}\n", "\n", "mpl.figure.prototype.send_draw_message = function() {\n", " if (!this.waiting) {\n", " this.waiting = true;\n", " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", " }\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " var format_dropdown = fig.format_dropdown;\n", " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", " fig.ondownload(fig, format);\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", " var size = msg['size'];\n", " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", " fig._resize_canvas(size[0], size[1]);\n", " fig.send_message(\"refresh\", {});\n", " };\n", "}\n", "\n", "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", " var x0 = msg['x0'] / mpl.ratio;\n", " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", " var x1 = msg['x1'] / mpl.ratio;\n", " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", " x0 = Math.floor(x0) + 0.5;\n", " y0 = Math.floor(y0) + 0.5;\n", " x1 = Math.floor(x1) + 0.5;\n", " y1 = Math.floor(y1) + 0.5;\n", " var min_x = Math.min(x0, x1);\n", " var min_y = Math.min(y0, y1);\n", " var width = Math.abs(x1 - x0);\n", " var height = Math.abs(y1 - y0);\n", "\n", " fig.rubberband_context.clearRect(\n", " 0, 0, fig.canvas.width, fig.canvas.height);\n", "\n", " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", "}\n", "\n", "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", " // Updates the figure title.\n", " fig.header.textContent = msg['label'];\n", "}\n", "\n", "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", " var cursor = msg['cursor'];\n", " switch(cursor)\n", " {\n", " case 0:\n", " cursor = 'pointer';\n", " break;\n", " case 1:\n", " cursor = 'default';\n", " break;\n", " case 2:\n", " cursor = 'crosshair';\n", " break;\n", " case 3:\n", " cursor = 'move';\n", " break;\n", " }\n", " fig.rubberband_canvas.style.cursor = cursor;\n", "}\n", "\n", "mpl.figure.prototype.handle_message = function(fig, msg) {\n", " fig.message.textContent = msg['message'];\n", "}\n", "\n", "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", " // Request the server to send over a new figure.\n", " fig.send_draw_message();\n", "}\n", "\n", "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", " fig.image_mode = msg['mode'];\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Called whenever the canvas gets updated.\n", " this.send_message(\"ack\", {});\n", "}\n", "\n", "// A function to construct a web socket function for onmessage handling.\n", "// Called in the figure constructor.\n", "mpl.figure.prototype._make_on_message_function = function(fig) {\n", " return function socket_on_message(evt) {\n", " if (evt.data instanceof Blob) {\n", " /* FIXME: We get \"Resource interpreted as Image but\n", " * transferred with MIME type text/plain:\" errors on\n", " * Chrome. But how to set the MIME type? It doesn't seem\n", " * to be part of the websocket stream */\n", " evt.data.type = \"image/png\";\n", "\n", " /* Free the memory for the previous frames */\n", " if (fig.imageObj.src) {\n", " (window.URL || window.webkitURL).revokeObjectURL(\n", " fig.imageObj.src);\n", " }\n", "\n", " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", " evt.data);\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", " fig.imageObj.src = evt.data;\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", "\n", " var msg = JSON.parse(evt.data);\n", " var msg_type = msg['type'];\n", "\n", " // Call the \"handle_{type}\" callback, which takes\n", " // the figure and JSON message as its only arguments.\n", " try {\n", " var callback = fig[\"handle_\" + msg_type];\n", " } catch (e) {\n", " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", " return;\n", " }\n", "\n", " if (callback) {\n", " try {\n", " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", " callback(fig, msg);\n", " } catch (e) {\n", " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", " }\n", " }\n", " };\n", "}\n", "\n", "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", "mpl.findpos = function(e) {\n", " //this section is from http://www.quirksmode.org/js/events_properties.html\n", " var targ;\n", " if (!e)\n", " e = window.event;\n", " if (e.target)\n", " targ = e.target;\n", " else if (e.srcElement)\n", " targ = e.srcElement;\n", " if (targ.nodeType == 3) // defeat Safari bug\n", " targ = targ.parentNode;\n", "\n", " // jQuery normalizes the pageX and pageY\n", " // pageX,Y are the mouse positions relative to the document\n", " // offset() returns the position of the element relative to the document\n", " var x = e.pageX - $(targ).offset().left;\n", " var y = e.pageY - $(targ).offset().top;\n", "\n", " return {\"x\": x, \"y\": y};\n", "};\n", "\n", "/*\n", " * return a copy of an object with only non-object keys\n", " * we need this to avoid circular references\n", " * http://stackoverflow.com/a/24161582/3208463\n", " */\n", "function simpleKeys (original) {\n", " return Object.keys(original).reduce(function (obj, key) {\n", " if (typeof original[key] !== 'object')\n", " obj[key] = original[key]\n", " return obj;\n", " }, {});\n", "}\n", "\n", "mpl.figure.prototype.mouse_event = function(event, name) {\n", " var canvas_pos = mpl.findpos(event)\n", "\n", " if (name === 'button_press')\n", " {\n", " this.canvas.focus();\n", " this.canvas_div.focus();\n", " }\n", "\n", " var x = canvas_pos.x * mpl.ratio;\n", " var y = canvas_pos.y * mpl.ratio;\n", "\n", " this.send_message(name, {x: x, y: y, button: event.button,\n", " step: event.step,\n", " guiEvent: simpleKeys(event)});\n", "\n", " /* This prevents the web browser from automatically changing to\n", " * the text insertion cursor when the button is pressed. We want\n", " * to control all of the cursor setting manually through the\n", " * 'cursor' event from matplotlib */\n", " event.preventDefault();\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " // Handle any extra behaviour associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", "\n", " // Prevent repeat events\n", " if (name == 'key_press')\n", " {\n", " if (event.which === this._key)\n", " return;\n", " else\n", " this._key = event.which;\n", " }\n", " if (name == 'key_release')\n", " this._key = null;\n", "\n", " var value = '';\n", " if (event.ctrlKey && event.which != 17)\n", " value += \"ctrl+\";\n", " if (event.altKey && event.which != 18)\n", " value += \"alt+\";\n", " if (event.shiftKey && event.which != 16)\n", " value += \"shift+\";\n", "\n", " value += 'k';\n", " value += event.which.toString();\n", "\n", " this._key_event_extra(event, name);\n", "\n", " this.send_message(name, {key: value,\n", " guiEvent: simpleKeys(event)});\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", " if (name == 'download') {\n", " this.handle_save(this, null);\n", " } else {\n", " this.send_message(\"toolbar_button\", {name: name});\n", " }\n", "};\n", "\n", "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", " this.message.textContent = tooltip;\n", "};\n", "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", "\n", "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", "\n", "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", " // Create a \"websocket\"-like object which calls the given IPython comm\n", " // object with the appropriate methods. Currently this is a non binary\n", " // socket, so there is still some room for performance tuning.\n", " var ws = {};\n", "\n", " ws.close = function() {\n", " comm.close()\n", " };\n", " ws.send = function(m) {\n", " //console.log('sending', m);\n", " comm.send(m);\n", " };\n", " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", "}\n", "\n", "mpl.mpl_figure_comm = function(comm, msg) {\n", " // This is the function which gets called when the mpl process\n", " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", "\n", " var id = msg.content.data.id;\n", " // Get hold of the div created by the display call when the Comm\n", " // socket was opened in Python.\n", " var element = $(\"#\" + id);\n", " var ws_proxy = comm_websocket_adapter(comm)\n", "\n", " function ondownload(figure, format) {\n", " window.open(figure.imageObj.src);\n", " }\n", "\n", " var fig = new mpl.figure(id, ws_proxy,\n", " ondownload,\n", " element.get(0));\n", "\n", " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", " // web socket which is closed, not our websocket->open comm proxy.\n", " ws_proxy.onopen();\n", "\n", " fig.parent_element = element.get(0);\n", " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", " if (!fig.cell_info) {\n", " console.error(\"Failed to find cell for figure\", id, fig);\n", " return;\n", " }\n", "\n", " var output_index = fig.cell_info[2]\n", " var cell = fig.cell_info[0];\n", "\n", "};\n", "\n", "mpl.figure.prototype.handle_close = function(fig, msg) {\n", " var width = fig.canvas.width/mpl.ratio\n", " fig.root.unbind('remove')\n", "\n", " // Update the output cell to use the data from the current canvas.\n", " fig.push_to_output();\n", " var dataURL = fig.canvas.toDataURL();\n", " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", " // the notebook keyboard shortcuts fail.\n", " IPython.keyboard_manager.enable()\n", " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", " fig.close_ws(fig, msg);\n", "}\n", "\n", "mpl.figure.prototype.close_ws = function(fig, msg){\n", " fig.send_message('closing', msg);\n", " // fig.ws.close()\n", "}\n", "\n", "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", " // Turn the data on the canvas into data in the output cell.\n", " var width = this.canvas.width/mpl.ratio\n", " var dataURL = this.canvas.toDataURL();\n", " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Tell IPython that the notebook contents must change.\n", " IPython.notebook.set_dirty(true);\n", " this.send_message(\"ack\", {});\n", " var fig = this;\n", " // Wait a second, then push the new image to the DOM so\n", " // that it is saved nicely (might be nice to debounce this).\n", " setTimeout(function () { fig.push_to_output() }, 1000);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items){\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) { continue; };\n", "\n", " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " event.shiftKey = false;\n", " // Send a \"J\" for go to next cell\n", " event.which = 74;\n", " event.keyCode = 74;\n", " manager.command_mode();\n", " manager.handle_keydown(event);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i<ncells; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type === 'code'){\n", " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", " var data = cell.output_area.outputs[j];\n", " if (data.data) {\n", " // IPython >= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "<IPython.core.display.Javascript object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<img src=\"data:image/png;base64,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\" width=\"600\">" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_qform(A, title):\n", " axx = A[0,0]\n", " ayy = A[1,1]\n", " axy = 2*A[0,1]\n", " x = np.linspace(-2, 2)\n", " y = np.linspace(-2, 2)\n", " X, Y = np.meshgrid(x,y)\n", " Z = axx*X**2 + axy*X*Y + ayy*Y**2\n", " fig, ax = plt.subplots(figsize=(6,6))\n", " CS = ax.contour(X, Y, Z, colors='k')\n", " ax.clabel(CS, inline=1, fontsize=10)\n", " plt.title(title)\n", " plt.axis('equal')\n", " plt.show()\n", "\n", "A = np.eye(2)\n", "plot_qform(A, \"Simple Quadratic Form\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since the level curves are all positive in this picture we have that $\\mathbf{x}^HA\\mathbf{x} > 0, \\ \\forall \\mathbf{x} \\in \\mathbb{R}^n \\setminus \\{0\\}$. We call such a quadtratic form _positive definite_. We can also plot this quadratic form as a surface in three dimensions." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('<div/>');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", " 'ui-helper-clearfix\"/>');\n", " var titletext = $(\n", " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", " 'text-align: center; padding: 3px;\"/>');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('<div/>');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('<canvas/>');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('<canvas/>');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('<button/>');\n", " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", " 'ui-button-icon-only');\n", " button.attr('role', 'button');\n", " button.attr('aria-disabled', 'false');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", "\n", " var icon_img = $('<span/>');\n", " icon_img.addClass('ui-button-icon-primary ui-icon');\n", " icon_img.addClass(image);\n", " icon_img.addClass('ui-corner-all');\n", "\n", " var tooltip_span = $('<span/>');\n", " tooltip_span.addClass('ui-button-text');\n", " tooltip_span.html(tooltip);\n", "\n", " button.append(icon_img);\n", " button.append(tooltip_span);\n", "\n", " nav_element.append(button);\n", " }\n", "\n", " var fmt_picker_span = $('<span/>');\n", "\n", " var fmt_picker = $('<select/>');\n", " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", " fmt_picker_span.append(fmt_picker);\n", " nav_element.append(fmt_picker_span);\n", " this.format_dropdown = fmt_picker[0];\n", "\n", " for (var ind in mpl.extensions) {\n", " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", " fmt_picker.append(option)\n", " }\n", "\n", " // Add hover states to the ui-buttons\n", " $( \".ui-button\" ).hover(\n", " function() { $(this).addClass(\"ui-state-hover\");},\n", " function() { $(this).removeClass(\"ui-state-hover\");}\n", " );\n", "\n", " var status_bar = $('<span class=\"mpl-message\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "}\n", "\n", "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", " // which will in turn request a refresh of the image.\n", " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", "}\n", "\n", "mpl.figure.prototype.send_message = function(type, properties) {\n", " properties['type'] = type;\n", " properties['figure_id'] = this.id;\n", " this.ws.send(JSON.stringify(properties));\n", "}\n", "\n", "mpl.figure.prototype.send_draw_message = function() {\n", " if (!this.waiting) {\n", " this.waiting = true;\n", " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", " }\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " var format_dropdown = fig.format_dropdown;\n", " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", " fig.ondownload(fig, format);\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", " var size = msg['size'];\n", " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", " fig._resize_canvas(size[0], size[1]);\n", " fig.send_message(\"refresh\", {});\n", " };\n", "}\n", "\n", "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", " var x0 = msg['x0'] / mpl.ratio;\n", " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", " var x1 = msg['x1'] / mpl.ratio;\n", " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", " x0 = Math.floor(x0) + 0.5;\n", " y0 = Math.floor(y0) + 0.5;\n", " x1 = Math.floor(x1) + 0.5;\n", " y1 = Math.floor(y1) + 0.5;\n", " var min_x = Math.min(x0, x1);\n", " var min_y = Math.min(y0, y1);\n", " var width = Math.abs(x1 - x0);\n", " var height = Math.abs(y1 - y0);\n", "\n", " fig.rubberband_context.clearRect(\n", " 0, 0, fig.canvas.width, fig.canvas.height);\n", "\n", " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", "}\n", "\n", "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", " // Updates the figure title.\n", " fig.header.textContent = msg['label'];\n", "}\n", "\n", "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", " var cursor = msg['cursor'];\n", " switch(cursor)\n", " {\n", " case 0:\n", " cursor = 'pointer';\n", " break;\n", " case 1:\n", " cursor = 'default';\n", " break;\n", " case 2:\n", " cursor = 'crosshair';\n", " break;\n", " case 3:\n", " cursor = 'move';\n", " break;\n", " }\n", " fig.rubberband_canvas.style.cursor = cursor;\n", "}\n", "\n", "mpl.figure.prototype.handle_message = function(fig, msg) {\n", " fig.message.textContent = msg['message'];\n", "}\n", "\n", "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", " // Request the server to send over a new figure.\n", " fig.send_draw_message();\n", "}\n", "\n", "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", " fig.image_mode = msg['mode'];\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Called whenever the canvas gets updated.\n", " this.send_message(\"ack\", {});\n", "}\n", "\n", "// A function to construct a web socket function for onmessage handling.\n", "// Called in the figure constructor.\n", "mpl.figure.prototype._make_on_message_function = function(fig) {\n", " return function socket_on_message(evt) {\n", " if (evt.data instanceof Blob) {\n", " /* FIXME: We get \"Resource interpreted as Image but\n", " * transferred with MIME type text/plain:\" errors on\n", " * Chrome. But how to set the MIME type? It doesn't seem\n", " * to be part of the websocket stream */\n", " evt.data.type = \"image/png\";\n", "\n", " /* Free the memory for the previous frames */\n", " if (fig.imageObj.src) {\n", " (window.URL || window.webkitURL).revokeObjectURL(\n", " fig.imageObj.src);\n", " }\n", "\n", " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", " evt.data);\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", " fig.imageObj.src = evt.data;\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", "\n", " var msg = JSON.parse(evt.data);\n", " var msg_type = msg['type'];\n", "\n", " // Call the \"handle_{type}\" callback, which takes\n", " // the figure and JSON message as its only arguments.\n", " try {\n", " var callback = fig[\"handle_\" + msg_type];\n", " } catch (e) {\n", " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", " return;\n", " }\n", "\n", " if (callback) {\n", " try {\n", " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", " callback(fig, msg);\n", " } catch (e) {\n", " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", " }\n", " }\n", " };\n", "}\n", "\n", "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", "mpl.findpos = function(e) {\n", " //this section is from http://www.quirksmode.org/js/events_properties.html\n", " var targ;\n", " if (!e)\n", " e = window.event;\n", " if (e.target)\n", " targ = e.target;\n", " else if (e.srcElement)\n", " targ = e.srcElement;\n", " if (targ.nodeType == 3) // defeat Safari bug\n", " targ = targ.parentNode;\n", "\n", " // jQuery normalizes the pageX and pageY\n", " // pageX,Y are the mouse positions relative to the document\n", " // offset() returns the position of the element relative to the document\n", " var x = e.pageX - $(targ).offset().left;\n", " var y = e.pageY - $(targ).offset().top;\n", "\n", " return {\"x\": x, \"y\": y};\n", "};\n", "\n", "/*\n", " * return a copy of an object with only non-object keys\n", " * we need this to avoid circular references\n", " * http://stackoverflow.com/a/24161582/3208463\n", " */\n", "function simpleKeys (original) {\n", " return Object.keys(original).reduce(function (obj, key) {\n", " if (typeof original[key] !== 'object')\n", " obj[key] = original[key]\n", " return obj;\n", " }, {});\n", "}\n", "\n", "mpl.figure.prototype.mouse_event = function(event, name) {\n", " var canvas_pos = mpl.findpos(event)\n", "\n", " if (name === 'button_press')\n", " {\n", " this.canvas.focus();\n", " this.canvas_div.focus();\n", " }\n", "\n", " var x = canvas_pos.x * mpl.ratio;\n", " var y = canvas_pos.y * mpl.ratio;\n", "\n", " this.send_message(name, {x: x, y: y, button: event.button,\n", " step: event.step,\n", " guiEvent: simpleKeys(event)});\n", "\n", " /* This prevents the web browser from automatically changing to\n", " * the text insertion cursor when the button is pressed. We want\n", " * to control all of the cursor setting manually through the\n", " * 'cursor' event from matplotlib */\n", " event.preventDefault();\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " // Handle any extra behaviour associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", "\n", " // Prevent repeat events\n", " if (name == 'key_press')\n", " {\n", " if (event.which === this._key)\n", " return;\n", " else\n", " this._key = event.which;\n", " }\n", " if (name == 'key_release')\n", " this._key = null;\n", "\n", " var value = '';\n", " if (event.ctrlKey && event.which != 17)\n", " value += \"ctrl+\";\n", " if (event.altKey && event.which != 18)\n", " value += \"alt+\";\n", " if (event.shiftKey && event.which != 16)\n", " value += \"shift+\";\n", "\n", " value += 'k';\n", " value += event.which.toString();\n", "\n", " this._key_event_extra(event, name);\n", "\n", " this.send_message(name, {key: value,\n", " guiEvent: simpleKeys(event)});\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", " if (name == 'download') {\n", " this.handle_save(this, null);\n", " } else {\n", " this.send_message(\"toolbar_button\", {name: name});\n", " }\n", "};\n", "\n", "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", " this.message.textContent = tooltip;\n", "};\n", "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", "\n", "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", "\n", "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", " // Create a \"websocket\"-like object which calls the given IPython comm\n", " // object with the appropriate methods. Currently this is a non binary\n", " // socket, so there is still some room for performance tuning.\n", " var ws = {};\n", "\n", " ws.close = function() {\n", " comm.close()\n", " };\n", " ws.send = function(m) {\n", " //console.log('sending', m);\n", " comm.send(m);\n", " };\n", " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", "}\n", "\n", "mpl.mpl_figure_comm = function(comm, msg) {\n", " // This is the function which gets called when the mpl process\n", " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", "\n", " var id = msg.content.data.id;\n", " // Get hold of the div created by the display call when the Comm\n", " // socket was opened in Python.\n", " var element = $(\"#\" + id);\n", " var ws_proxy = comm_websocket_adapter(comm)\n", "\n", " function ondownload(figure, format) {\n", " window.open(figure.imageObj.src);\n", " }\n", "\n", " var fig = new mpl.figure(id, ws_proxy,\n", " ondownload,\n", " element.get(0));\n", "\n", " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", " // web socket which is closed, not our websocket->open comm proxy.\n", " ws_proxy.onopen();\n", "\n", " fig.parent_element = element.get(0);\n", " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", " if (!fig.cell_info) {\n", " console.error(\"Failed to find cell for figure\", id, fig);\n", " return;\n", " }\n", "\n", " var output_index = fig.cell_info[2]\n", " var cell = fig.cell_info[0];\n", "\n", "};\n", "\n", "mpl.figure.prototype.handle_close = function(fig, msg) {\n", " var width = fig.canvas.width/mpl.ratio\n", " fig.root.unbind('remove')\n", "\n", " // Update the output cell to use the data from the current canvas.\n", " fig.push_to_output();\n", " var dataURL = fig.canvas.toDataURL();\n", " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", " // the notebook keyboard shortcuts fail.\n", " IPython.keyboard_manager.enable()\n", " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", " fig.close_ws(fig, msg);\n", "}\n", "\n", "mpl.figure.prototype.close_ws = function(fig, msg){\n", " fig.send_message('closing', msg);\n", " // fig.ws.close()\n", "}\n", "\n", "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", " // Turn the data on the canvas into data in the output cell.\n", " var width = this.canvas.width/mpl.ratio\n", " var dataURL = this.canvas.toDataURL();\n", " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Tell IPython that the notebook contents must change.\n", " IPython.notebook.set_dirty(true);\n", " this.send_message(\"ack\", {});\n", " var fig = this;\n", " // Wait a second, then push the new image to the DOM so\n", " // that it is saved nicely (might be nice to debounce this).\n", " setTimeout(function () { fig.push_to_output() }, 1000);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items){\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) { continue; };\n", "\n", " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " event.shiftKey = false;\n", " // Send a \"J\" for go to next cell\n", " event.which = 74;\n", " event.keyCode = 74;\n", " manager.command_mode();\n", " manager.handle_keydown(event);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i<ncells; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type === 'code'){\n", " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", " var data = cell.output_area.outputs[j];\n", " if (data.data) {\n", " // IPython >= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "<IPython.core.display.Javascript object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAYAAAC+ZpjcAAAgAElEQVR4nOydeZgjdZ3/MzMwDIJyr4AIAyynBz6iqLu4w6oPruK6uvKsCiKojwf6U8EDl1sWOcQVFJBVcRGPlWdBtHJ1rs7R6U66k06nk3Q63Z1OOukjSR/pI+krA9Pz/v0xW0UlqUqqKlXdM9Of1/N8nsdJUlVJmk299vv9fN9fHQiCIAiCIAhV0W31GyAIgiAIgjjaIMEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgiAIgiAIlSHBIgiCIAiCUBkSLIIgCIIgCJUhwSIIgiAIglAZEiyCIAiCIAiVIcEiCIIgCIJQGRIsgthCzjvvPNx8881bcu37778fOt32+QnY7O9637592Ldv36ZdjyCIw4vt8+tKEJtILBbDpz71KZx77rk47rjjcPbZZ+NDH/oQnnzyyarXHY2CFY/HceONN+Lss8/G7t27cdZZZ+HGG2/E4OCg6teSgxbf9eDgIO6//35kMpm659QUrH379kGn0wnW0NCQKtcgCEJdSLAIQmV8Ph92796Nv/3bv8WDDz6IZ599Fvfddx+uvfZaXHjhhVWvrVQqeOWVV7bkfWohWC+//DJ2796NM888E3fffTd+85vf4J577sFZZ52F4447DgzDqHo9OWghWC+99BJ0Oh3cbnfdc/v378f+/ftVuc6+fftwzjnn4A9/+ENdlUolVa5BEIS6kGARhMp89KMfxRlnnIHFxcW652ZmZrbgHQmjtmClUim87nWvw6WXXorZ2dmq5+bm5nDppZfixBNPxNjYmGrXlIMUwVpZWZF1zkaCpSb79u3DW97yFs3Ov76+jo2NDc3OTxDbERIsglCZSy65BNdcc42k19be9H/7299Cp9Ohs7MT3/zmN3H66afjpJNOwle+8hXs378fi4uLuOmmm3DyySfj5JNPxve//30cPHiQOz6TyUCn0+EnP/kJHn/8cZx77rnYs2cP/uEf/gEDAwNV1xYTrD/84Q945zvfiT179uCUU07Bpz/9aUxMTDT9LF/96leh0+ng9XoFn+/o6IBOp8Ott97KPXbzzTfjvPPOq3ut0Ht77rnn8I//+I8444wzsHv3blx22WV45pln6o49ePAgHnzwQbzpTW/C8ccfj2uuuQbxeFz0u/Z4PLj11ltxxhln4OSTTwYAZLNZ3Hrrrbj44ouxZ88enHrqqbj++uurpgLZ42uLlS2hKcL19XXcf//9uOiii3DcccfhzDPPxCc/+UmkUqkG36x0wUqn07j++utxyimn4Pjjj8d73vMemEymqte43W7odDq88MILuPvuu3H22Wdjx44dWFxcbPm/P4IgXoMEiyBU5tprr8XrX//6OqERQuym/453vAP/9E//hF/84he46aaboNPpcMcdd+Dqq6/GDTfcgGeeeQYf+9jHoNPp8Lvf/Y47nhWst73tbdi7dy9+/OMf44EHHsCpp56KM844A9PT09xrhSTmRz/6EXbs2IFPf/rTeOaZZ/DAAw/g9NNPx969ewVH5PicffbZ2Lt3b8PX7N27F+eccw73bzmC9e53vxu33HILnnjiCTz11FO49tprodPp8PTTT1e97p577oFOp8NHP/pRPP300/jiF7+Is88+G6effrrgd3355Zdj3759eOqpp/Doo48CODQydcUVV+C+++7Dr3/9a9x111045ZRTcN5552F1dRXAIZn51re+BZ1Oh7vuuoubsmO/41rBOnDgAD74wQ9Cp9PhM5/5DJ5++mk88sgj+MAHPtB06nTfvn249NJLMTc3V1XLy8vca6anp/HGN74Rr3/963H33Xfj8ccfxxVXXIGdO3fiL3/5C/c6VrAuv/xyvOMd78Djjz+ORx55BKurqy3/90cQxGuQYBGEytjtduzatQu7du3C+973Ptxxxx2w2WyCvVZigvXhD3+4amTgfe97H3bs2IGvfe1r3GMHDhzAOeecU3UTZwXr+OOPx9TUFPd4IBCATqfD7bffzj1WKzHZbBa7du3CQw89VPUeBwYGcMwxx9Q9zmdpaQk6nQ7/8i//0vC7+fjHPw6dTodyuQxAnmCtra3Vve7DH/4wLrjgAu7fs7Oz2L17N6677rqq7++uu+6CTqcT/K6vvvpqHDhwoOm1uru7odPp8Pvf/557rNEUYa1gPffcc9DpdHj88cfrXttsFEisyZ3/eW677TZu9IlleXkZ559/Pvbu3ctNAbKCdcEFF9R9zlb/+yMI4jVIsAhCA4LBID75yU/ida97HXczPOOMM6DX66teJyZYL774YtXr2Jtnb29v1eOf+MQn8OY3v5n7NytYn/3sZ+ve03ve8x5ccskl3L9rJebxxx/Hjh07MDo6WjdSctlll+FDH/qQ6OednJyETqfD5z73uYbfy4033gidTodcLgdAnmDxWVpawtzcHB5++GHodDosLS0BAP70pz9Bp9PBarVWvX52dlZUsJqNwLzyyisoFouYm5vDySefjNtuu417To5gXXfddTj99NPx6quvNryeEPv27cPevXvhcDiqir8y8+KLL8ZVV11Vd+wjjzwCnU7HjaiygvXAAw/UvbbV//4IgngNEiyC0JD9+/cjGAzizjvvxJ49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s88+C1dXVygUig4/JzExERYWFti7dy9yc3Oxc+dOWFlZISsrq6dPu8cqKysxfvx4zJ07F5WVlRo1wdQf4+HhgdTUVNW1devWwdXVFTExMUhPT4eXlxe8vLzM8RSIej0GLCIiA9XW1kIikSA+Pr7DxyxduhQLFizQuPboo49i7dq1xr69Lvn6+na4R0tQUlICiUSC2NhY1TWh0OigQYNgZ2eHxYsXswo+UY6b8g4AAALwSURBVAcYsIiIDFRQUACJRNLpbJSLiwv279+vcW3Xrl2YMmWKsW+PiHoBBiwiIgO0tbVhwYIFePzxxzt9nJWVFY4dO6Zx7eDBgxg+fLgxb4+IegkGLCIiA6xbtw6jR49GRUVFp49jwCLq3xiwiIj0tH79eowaNQrFxcVdPpZLhET9GwMWEVEXlEol1q9fjwceeAD5+fl6fc7SpUvh7e2tcc3Ly6tXbHInIuNjwCIi6sJbb70FJycnxMXFaZQ0uHbtmuoxK1aswPbt21V/TkxMhKWlJfbt2weZTIYPP/yw15RpICLjY8AiIupCRyUNfH19VY+ZPXu2qv6W4Pjx43B3d4e1tTUmTZrUqwqNEpFxMWARERERiYwBi4iIiEhkDFhEREREImPAIiIiIhIZAxYRERGRyBiwiIiIiETGgEVEREQkMgYsIiIiIpExYBERERGJjAGLiIiISGQMWEREREQiY8AiIiIiEhkDFhEREZHIGLCIiIiIRMaARURERCQyBiwiIiIikTFgEREREYmMAYuIiIhIZAxYRERERCJjwCIiIiISGQMWERERkcgYsIiIiIhExoBFREREJDIGLCIiIiKRMWARERERiYwBi4iIiEhkDFhEREREImPAIiIiIhIZAxYRERGRyBiwiIiIiETGgEVEREQkMgYsIiIiIpExYBERERGJjAGLiIiISGQMWEREREQiY8AiIiIiEhkDFhEREZHIGLCIiIiIRMaARURERCQyBiwiIiIikTFgEREREYmMAYuIiIhIZAxYRERERCJjwCIiIiISGQMWERERkcgYsIiIiIhExoBFREREJDIGLCIiIiKRMWARERERiYwBi4iIiEhkDFhEREREImPAIiIiIhIZAxYRERGRyBiwiIiIiETGgEVEREQkMgYsIiIiIpExYBERERGJjAGLiIiISGQMWEREREQiY8AiIiIiEhkDFhEREZHIGLCIiIiIRMaARURERCQyBiwiIiIikTFgEREREYns/wBdU0CEsWs+jQAAAABJRU5ErkJggg==\" width=\"600\">" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_qform3d(A, title):\n", " axx = A[0,0]\n", " ayy = A[1,1]\n", " axy = 2*A[0,1]\n", " x = np.linspace(-2, 2)\n", " y = np.linspace(-2, 2)\n", " X, Y = np.meshgrid(x,y)\n", " Z = axx*X**2 + axy*X*Y + ayy*Y**2\n", " fig = plt.figure(figsize=(6,6))\n", " ax = fig.gca(projection='3d')\n", " surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm,\n", " linewidth=0, antialiased=False)\n", " plt.title(title)\n", " plt.axis('equal')\n", " plt.show()\n", " \n", "plot_qform3d(A, \"Simple Quadratic Form\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Just as there are positive definite quadratic forms, we can make _negative definite_ quadtratic forms. These are quadratic forms that satisfy For example let $\\mathbf{x}^TA\\mathbf{x} < 0, \\ \\forall \\mathbf{x} \\in \\mathbf{R}^n \\setminus \\{0\\}$. For example let\n", "$$\n", "A =\n", "\\begin{bmatrix}\n", "-1 & 0 \\\\\n", "0 & -1\n", "\\end{bmatrix}.\n", "$$\n", "We can plot the level curves of this quadratic form as" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('<div/>');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", " 'ui-helper-clearfix\"/>');\n", " var titletext = $(\n", " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", " 'text-align: center; padding: 3px;\"/>');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('<div/>');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('<canvas/>');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('<canvas/>');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('<button/>');\n", " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", " 'ui-button-icon-only');\n", " button.attr('role', 'button');\n", " button.attr('aria-disabled', 'false');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", "\n", " var icon_img = $('<span/>');\n", " icon_img.addClass('ui-button-icon-primary ui-icon');\n", " icon_img.addClass(image);\n", " icon_img.addClass('ui-corner-all');\n", "\n", " var tooltip_span = $('<span/>');\n", " tooltip_span.addClass('ui-button-text');\n", " tooltip_span.html(tooltip);\n", "\n", " button.append(icon_img);\n", " button.append(tooltip_span);\n", "\n", " nav_element.append(button);\n", " }\n", "\n", " var fmt_picker_span = $('<span/>');\n", "\n", " var fmt_picker = $('<select/>');\n", " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", " fmt_picker_span.append(fmt_picker);\n", " nav_element.append(fmt_picker_span);\n", " this.format_dropdown = fmt_picker[0];\n", "\n", " for (var ind in mpl.extensions) {\n", " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", " fmt_picker.append(option)\n", " }\n", "\n", " // Add hover states to the ui-buttons\n", " $( \".ui-button\" ).hover(\n", " function() { $(this).addClass(\"ui-state-hover\");},\n", " function() { $(this).removeClass(\"ui-state-hover\");}\n", " );\n", "\n", " var status_bar = $('<span class=\"mpl-message\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "}\n", "\n", "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", " // which will in turn request a refresh of the image.\n", " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", "}\n", "\n", "mpl.figure.prototype.send_message = function(type, properties) {\n", " properties['type'] = type;\n", " properties['figure_id'] = this.id;\n", " this.ws.send(JSON.stringify(properties));\n", "}\n", "\n", "mpl.figure.prototype.send_draw_message = function() {\n", " if (!this.waiting) {\n", " this.waiting = true;\n", " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", " }\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " var format_dropdown = fig.format_dropdown;\n", " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", " fig.ondownload(fig, format);\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", " var size = msg['size'];\n", " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", " fig._resize_canvas(size[0], size[1]);\n", " fig.send_message(\"refresh\", {});\n", " };\n", "}\n", "\n", "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", " var x0 = msg['x0'] / mpl.ratio;\n", " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", " var x1 = msg['x1'] / mpl.ratio;\n", " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", " x0 = Math.floor(x0) + 0.5;\n", " y0 = Math.floor(y0) + 0.5;\n", " x1 = Math.floor(x1) + 0.5;\n", " y1 = Math.floor(y1) + 0.5;\n", " var min_x = Math.min(x0, x1);\n", " var min_y = Math.min(y0, y1);\n", " var width = Math.abs(x1 - x0);\n", " var height = Math.abs(y1 - y0);\n", "\n", " fig.rubberband_context.clearRect(\n", " 0, 0, fig.canvas.width, fig.canvas.height);\n", "\n", " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", "}\n", "\n", "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", " // Updates the figure title.\n", " fig.header.textContent = msg['label'];\n", "}\n", "\n", "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", " var cursor = msg['cursor'];\n", " switch(cursor)\n", " {\n", " case 0:\n", " cursor = 'pointer';\n", " break;\n", " case 1:\n", " cursor = 'default';\n", " break;\n", " case 2:\n", " cursor = 'crosshair';\n", " break;\n", " case 3:\n", " cursor = 'move';\n", " break;\n", " }\n", " fig.rubberband_canvas.style.cursor = cursor;\n", "}\n", "\n", "mpl.figure.prototype.handle_message = function(fig, msg) {\n", " fig.message.textContent = msg['message'];\n", "}\n", "\n", "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", " // Request the server to send over a new figure.\n", " fig.send_draw_message();\n", "}\n", "\n", "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", " fig.image_mode = msg['mode'];\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Called whenever the canvas gets updated.\n", " this.send_message(\"ack\", {});\n", "}\n", "\n", "// A function to construct a web socket function for onmessage handling.\n", "// Called in the figure constructor.\n", "mpl.figure.prototype._make_on_message_function = function(fig) {\n", " return function socket_on_message(evt) {\n", " if (evt.data instanceof Blob) {\n", " /* FIXME: We get \"Resource interpreted as Image but\n", " * transferred with MIME type text/plain:\" errors on\n", " * Chrome. But how to set the MIME type? It doesn't seem\n", " * to be part of the websocket stream */\n", " evt.data.type = \"image/png\";\n", "\n", " /* Free the memory for the previous frames */\n", " if (fig.imageObj.src) {\n", " (window.URL || window.webkitURL).revokeObjectURL(\n", " fig.imageObj.src);\n", " }\n", "\n", " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", " evt.data);\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", " fig.imageObj.src = evt.data;\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", "\n", " var msg = JSON.parse(evt.data);\n", " var msg_type = msg['type'];\n", "\n", " // Call the \"handle_{type}\" callback, which takes\n", " // the figure and JSON message as its only arguments.\n", " try {\n", " var callback = fig[\"handle_\" + msg_type];\n", " } catch (e) {\n", " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", " return;\n", " }\n", "\n", " if (callback) {\n", " try {\n", " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", " callback(fig, msg);\n", " } catch (e) {\n", " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", " }\n", " }\n", " };\n", "}\n", "\n", "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", "mpl.findpos = function(e) {\n", " //this section is from http://www.quirksmode.org/js/events_properties.html\n", " var targ;\n", " if (!e)\n", " e = window.event;\n", " if (e.target)\n", " targ = e.target;\n", " else if (e.srcElement)\n", " targ = e.srcElement;\n", " if (targ.nodeType == 3) // defeat Safari bug\n", " targ = targ.parentNode;\n", "\n", " // jQuery normalizes the pageX and pageY\n", " // pageX,Y are the mouse positions relative to the document\n", " // offset() returns the position of the element relative to the document\n", " var x = e.pageX - $(targ).offset().left;\n", " var y = e.pageY - $(targ).offset().top;\n", "\n", " return {\"x\": x, \"y\": y};\n", "};\n", "\n", "/*\n", " * return a copy of an object with only non-object keys\n", " * we need this to avoid circular references\n", " * http://stackoverflow.com/a/24161582/3208463\n", " */\n", "function simpleKeys (original) {\n", " return Object.keys(original).reduce(function (obj, key) {\n", " if (typeof original[key] !== 'object')\n", " obj[key] = original[key]\n", " return obj;\n", " }, {});\n", "}\n", "\n", "mpl.figure.prototype.mouse_event = function(event, name) {\n", " var canvas_pos = mpl.findpos(event)\n", "\n", " if (name === 'button_press')\n", " {\n", " this.canvas.focus();\n", " this.canvas_div.focus();\n", " }\n", "\n", " var x = canvas_pos.x * mpl.ratio;\n", " var y = canvas_pos.y * mpl.ratio;\n", "\n", " this.send_message(name, {x: x, y: y, button: event.button,\n", " step: event.step,\n", " guiEvent: simpleKeys(event)});\n", "\n", " /* This prevents the web browser from automatically changing to\n", " * the text insertion cursor when the button is pressed. We want\n", " * to control all of the cursor setting manually through the\n", " * 'cursor' event from matplotlib */\n", " event.preventDefault();\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " // Handle any extra behaviour associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", "\n", " // Prevent repeat events\n", " if (name == 'key_press')\n", " {\n", " if (event.which === this._key)\n", " return;\n", " else\n", " this._key = event.which;\n", " }\n", " if (name == 'key_release')\n", " this._key = null;\n", "\n", " var value = '';\n", " if (event.ctrlKey && event.which != 17)\n", " value += \"ctrl+\";\n", " if (event.altKey && event.which != 18)\n", " value += \"alt+\";\n", " if (event.shiftKey && event.which != 16)\n", " value += \"shift+\";\n", "\n", " value += 'k';\n", " value += event.which.toString();\n", "\n", " this._key_event_extra(event, name);\n", "\n", " this.send_message(name, {key: value,\n", " guiEvent: simpleKeys(event)});\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", " if (name == 'download') {\n", " this.handle_save(this, null);\n", " } else {\n", " this.send_message(\"toolbar_button\", {name: name});\n", " }\n", "};\n", "\n", "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", " this.message.textContent = tooltip;\n", "};\n", "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", "\n", "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", "\n", "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", " // Create a \"websocket\"-like object which calls the given IPython comm\n", " // object with the appropriate methods. Currently this is a non binary\n", " // socket, so there is still some room for performance tuning.\n", " var ws = {};\n", "\n", " ws.close = function() {\n", " comm.close()\n", " };\n", " ws.send = function(m) {\n", " //console.log('sending', m);\n", " comm.send(m);\n", " };\n", " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", "}\n", "\n", "mpl.mpl_figure_comm = function(comm, msg) {\n", " // This is the function which gets called when the mpl process\n", " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", "\n", " var id = msg.content.data.id;\n", " // Get hold of the div created by the display call when the Comm\n", " // socket was opened in Python.\n", " var element = $(\"#\" + id);\n", " var ws_proxy = comm_websocket_adapter(comm)\n", "\n", " function ondownload(figure, format) {\n", " window.open(figure.imageObj.src);\n", " }\n", "\n", " var fig = new mpl.figure(id, ws_proxy,\n", " ondownload,\n", " element.get(0));\n", "\n", " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", " // web socket which is closed, not our websocket->open comm proxy.\n", " ws_proxy.onopen();\n", "\n", " fig.parent_element = element.get(0);\n", " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", " if (!fig.cell_info) {\n", " console.error(\"Failed to find cell for figure\", id, fig);\n", " return;\n", " }\n", "\n", " var output_index = fig.cell_info[2]\n", " var cell = fig.cell_info[0];\n", "\n", "};\n", "\n", "mpl.figure.prototype.handle_close = function(fig, msg) {\n", " var width = fig.canvas.width/mpl.ratio\n", " fig.root.unbind('remove')\n", "\n", " // Update the output cell to use the data from the current canvas.\n", " fig.push_to_output();\n", " var dataURL = fig.canvas.toDataURL();\n", " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", " // the notebook keyboard shortcuts fail.\n", " IPython.keyboard_manager.enable()\n", " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", " fig.close_ws(fig, msg);\n", "}\n", "\n", "mpl.figure.prototype.close_ws = function(fig, msg){\n", " fig.send_message('closing', msg);\n", " // fig.ws.close()\n", "}\n", "\n", "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", " // Turn the data on the canvas into data in the output cell.\n", " var width = this.canvas.width/mpl.ratio\n", " var dataURL = this.canvas.toDataURL();\n", " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Tell IPython that the notebook contents must change.\n", " IPython.notebook.set_dirty(true);\n", " this.send_message(\"ack\", {});\n", " var fig = this;\n", " // Wait a second, then push the new image to the DOM so\n", " // that it is saved nicely (might be nice to debounce this).\n", " setTimeout(function () { fig.push_to_output() }, 1000);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items){\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) { continue; };\n", "\n", " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " event.shiftKey = false;\n", " // Send a \"J\" for go to next cell\n", " event.which = 74;\n", " event.keyCode = 74;\n", " manager.command_mode();\n", " manager.handle_keydown(event);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i<ncells; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type === 'code'){\n", " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", " var data = cell.output_area.outputs[j];\n", " if (data.data) {\n", " // IPython >= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "<IPython.core.display.Javascript object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAYAAAC+ZpjcAAAgAElEQVR4nOydd1QU1xfH39KLohRRBESKYEEEQWJBMbFgFMVeooISxQKKLfZeMHbsoMZeEv0Zu8GSiAViIRZEUQEbURFUEBAQ2P3+/vDshGFZBNlld/F+zplz9M3szJ3hzcx37rvvXgaCIAiCIAhCpjBFG0AQBEEQBFHVIIFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEARBEAQhY0hgEQRBEARByBgSWARBEARBEDKGBBZBEARBEISMIYFFEJXEvHnzwFjVu+WuX7+OVq1aQU9PD4wx3Lp1q0LnumPHDjDG8OTJE9kaqmJcuHABjDFcuHChUo735MkTMMawY8eOSjkeQVR1qt7TnqhyiF+42tra+PfffyXWe3p6okmTJgqwTJIPHz5g3rx5Jb4UFSWwxMcVL7q6urC0tIS3tze2b9+OvLy8L953fn4+rKys4ODggPDwcOzZswfv3r2TucDauHGj3F78IpEIu3fvRtu2bVGjRg3o6urC0dERixYtwocPH+RyzLIgL4G1b98+rFmzRqJdlgJLvK+Slm+++abC+ycIVYAEFqH0iF+4jDEEBQVJrFcmgZWWlgbGGObNmyexrqCgALm5uZVuk1js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\" width=\"600\">" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A = -np.eye(2)\n", "plot_qform(A, \"Negative Definite Quadratic Form\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The dashed lines show that the quadratic form is negative. Plotting the surface in three dimensions we see an inverted picture from the positive definite case." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('<div/>');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", " 'ui-helper-clearfix\"/>');\n", " var titletext = $(\n", " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", " 'text-align: center; padding: 3px;\"/>');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('<div/>');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('<canvas/>');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('<canvas/>');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('<button/>');\n", " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", " 'ui-button-icon-only');\n", " button.attr('role', 'button');\n", " button.attr('aria-disabled', 'false');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", "\n", " var icon_img = $('<span/>');\n", " icon_img.addClass('ui-button-icon-primary ui-icon');\n", " icon_img.addClass(image);\n", " icon_img.addClass('ui-corner-all');\n", "\n", " var tooltip_span = $('<span/>');\n", " tooltip_span.addClass('ui-button-text');\n", " tooltip_span.html(tooltip);\n", "\n", " button.append(icon_img);\n", " button.append(tooltip_span);\n", "\n", " nav_element.append(button);\n", " }\n", "\n", " var fmt_picker_span = $('<span/>');\n", "\n", " var fmt_picker = $('<select/>');\n", " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", " fmt_picker_span.append(fmt_picker);\n", " nav_element.append(fmt_picker_span);\n", " this.format_dropdown = fmt_picker[0];\n", "\n", " for (var ind in mpl.extensions) {\n", " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", " fmt_picker.append(option)\n", " }\n", "\n", " // Add hover states to the ui-buttons\n", " $( \".ui-button\" ).hover(\n", " function() { $(this).addClass(\"ui-state-hover\");},\n", " function() { $(this).removeClass(\"ui-state-hover\");}\n", " );\n", "\n", " var status_bar = $('<span class=\"mpl-message\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "}\n", "\n", "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", " // which will in turn request a refresh of the image.\n", " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", "}\n", "\n", "mpl.figure.prototype.send_message = function(type, properties) {\n", " properties['type'] = type;\n", " properties['figure_id'] = this.id;\n", " this.ws.send(JSON.stringify(properties));\n", "}\n", "\n", "mpl.figure.prototype.send_draw_message = function() {\n", " if (!this.waiting) {\n", " this.waiting = true;\n", " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", " }\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " var format_dropdown = fig.format_dropdown;\n", " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", " fig.ondownload(fig, format);\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", " var size = msg['size'];\n", " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", " fig._resize_canvas(size[0], size[1]);\n", " fig.send_message(\"refresh\", {});\n", " };\n", "}\n", "\n", "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", " var x0 = msg['x0'] / mpl.ratio;\n", " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", " var x1 = msg['x1'] / mpl.ratio;\n", " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", " x0 = Math.floor(x0) + 0.5;\n", " y0 = Math.floor(y0) + 0.5;\n", " x1 = Math.floor(x1) + 0.5;\n", " y1 = Math.floor(y1) + 0.5;\n", " var min_x = Math.min(x0, x1);\n", " var min_y = Math.min(y0, y1);\n", " var width = Math.abs(x1 - x0);\n", " var height = Math.abs(y1 - y0);\n", "\n", " fig.rubberband_context.clearRect(\n", " 0, 0, fig.canvas.width, fig.canvas.height);\n", "\n", " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", "}\n", "\n", "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", " // Updates the figure title.\n", " fig.header.textContent = msg['label'];\n", "}\n", "\n", "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", " var cursor = msg['cursor'];\n", " switch(cursor)\n", " {\n", " case 0:\n", " cursor = 'pointer';\n", " break;\n", " case 1:\n", " cursor = 'default';\n", " break;\n", " case 2:\n", " cursor = 'crosshair';\n", " break;\n", " case 3:\n", " cursor = 'move';\n", " break;\n", " }\n", " fig.rubberband_canvas.style.cursor = cursor;\n", "}\n", "\n", "mpl.figure.prototype.handle_message = function(fig, msg) {\n", " fig.message.textContent = msg['message'];\n", "}\n", "\n", "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", " // Request the server to send over a new figure.\n", " fig.send_draw_message();\n", "}\n", "\n", "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", " fig.image_mode = msg['mode'];\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Called whenever the canvas gets updated.\n", " this.send_message(\"ack\", {});\n", "}\n", "\n", "// A function to construct a web socket function for onmessage handling.\n", "// Called in the figure constructor.\n", "mpl.figure.prototype._make_on_message_function = function(fig) {\n", " return function socket_on_message(evt) {\n", " if (evt.data instanceof Blob) {\n", " /* FIXME: We get \"Resource interpreted as Image but\n", " * transferred with MIME type text/plain:\" errors on\n", " * Chrome. But how to set the MIME type? It doesn't seem\n", " * to be part of the websocket stream */\n", " evt.data.type = \"image/png\";\n", "\n", " /* Free the memory for the previous frames */\n", " if (fig.imageObj.src) {\n", " (window.URL || window.webkitURL).revokeObjectURL(\n", " fig.imageObj.src);\n", " }\n", "\n", " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", " evt.data);\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", " fig.imageObj.src = evt.data;\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", "\n", " var msg = JSON.parse(evt.data);\n", " var msg_type = msg['type'];\n", "\n", " // Call the \"handle_{type}\" callback, which takes\n", " // the figure and JSON message as its only arguments.\n", " try {\n", " var callback = fig[\"handle_\" + msg_type];\n", " } catch (e) {\n", " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", " return;\n", " }\n", "\n", " if (callback) {\n", " try {\n", " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", " callback(fig, msg);\n", " } catch (e) {\n", " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", " }\n", " }\n", " };\n", "}\n", "\n", "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", "mpl.findpos = function(e) {\n", " //this section is from http://www.quirksmode.org/js/events_properties.html\n", " var targ;\n", " if (!e)\n", " e = window.event;\n", " if (e.target)\n", " targ = e.target;\n", " else if (e.srcElement)\n", " targ = e.srcElement;\n", " if (targ.nodeType == 3) // defeat Safari bug\n", " targ = targ.parentNode;\n", "\n", " // jQuery normalizes the pageX and pageY\n", " // pageX,Y are the mouse positions relative to the document\n", " // offset() returns the position of the element relative to the document\n", " var x = e.pageX - $(targ).offset().left;\n", " var y = e.pageY - $(targ).offset().top;\n", "\n", " return {\"x\": x, \"y\": y};\n", "};\n", "\n", "/*\n", " * return a copy of an object with only non-object keys\n", " * we need this to avoid circular references\n", " * http://stackoverflow.com/a/24161582/3208463\n", " */\n", "function simpleKeys (original) {\n", " return Object.keys(original).reduce(function (obj, key) {\n", " if (typeof original[key] !== 'object')\n", " obj[key] = original[key]\n", " return obj;\n", " }, {});\n", "}\n", "\n", "mpl.figure.prototype.mouse_event = function(event, name) {\n", " var canvas_pos = mpl.findpos(event)\n", "\n", " if (name === 'button_press')\n", " {\n", " this.canvas.focus();\n", " this.canvas_div.focus();\n", " }\n", "\n", " var x = canvas_pos.x * mpl.ratio;\n", " var y = canvas_pos.y * mpl.ratio;\n", "\n", " this.send_message(name, {x: x, y: y, button: event.button,\n", " step: event.step,\n", " guiEvent: simpleKeys(event)});\n", "\n", " /* This prevents the web browser from automatically changing to\n", " * the text insertion cursor when the button is pressed. We want\n", " * to control all of the cursor setting manually through the\n", " * 'cursor' event from matplotlib */\n", " event.preventDefault();\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " // Handle any extra behaviour associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", "\n", " // Prevent repeat events\n", " if (name == 'key_press')\n", " {\n", " if (event.which === this._key)\n", " return;\n", " else\n", " this._key = event.which;\n", " }\n", " if (name == 'key_release')\n", " this._key = null;\n", "\n", " var value = '';\n", " if (event.ctrlKey && event.which != 17)\n", " value += \"ctrl+\";\n", " if (event.altKey && event.which != 18)\n", " value += \"alt+\";\n", " if (event.shiftKey && event.which != 16)\n", " value += \"shift+\";\n", "\n", " value += 'k';\n", " value += event.which.toString();\n", "\n", " this._key_event_extra(event, name);\n", "\n", " this.send_message(name, {key: value,\n", " guiEvent: simpleKeys(event)});\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", " if (name == 'download') {\n", " this.handle_save(this, null);\n", " } else {\n", " this.send_message(\"toolbar_button\", {name: name});\n", " }\n", "};\n", "\n", "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", " this.message.textContent = tooltip;\n", "};\n", "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", "\n", "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", "\n", "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", " // Create a \"websocket\"-like object which calls the given IPython comm\n", " // object with the appropriate methods. Currently this is a non binary\n", " // socket, so there is still some room for performance tuning.\n", " var ws = {};\n", "\n", " ws.close = function() {\n", " comm.close()\n", " };\n", " ws.send = function(m) {\n", " //console.log('sending', m);\n", " comm.send(m);\n", " };\n", " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", "}\n", "\n", "mpl.mpl_figure_comm = function(comm, msg) {\n", " // This is the function which gets called when the mpl process\n", " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", "\n", " var id = msg.content.data.id;\n", " // Get hold of the div created by the display call when the Comm\n", " // socket was opened in Python.\n", " var element = $(\"#\" + id);\n", " var ws_proxy = comm_websocket_adapter(comm)\n", "\n", " function ondownload(figure, format) {\n", " window.open(figure.imageObj.src);\n", " }\n", "\n", " var fig = new mpl.figure(id, ws_proxy,\n", " ondownload,\n", " element.get(0));\n", "\n", " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", " // web socket which is closed, not our websocket->open comm proxy.\n", " ws_proxy.onopen();\n", "\n", " fig.parent_element = element.get(0);\n", " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", " if (!fig.cell_info) {\n", " console.error(\"Failed to find cell for figure\", id, fig);\n", " return;\n", " }\n", "\n", " var output_index = fig.cell_info[2]\n", " var cell = fig.cell_info[0];\n", "\n", "};\n", "\n", "mpl.figure.prototype.handle_close = function(fig, msg) {\n", " var width = fig.canvas.width/mpl.ratio\n", " fig.root.unbind('remove')\n", "\n", " // Update the output cell to use the data from the current canvas.\n", " fig.push_to_output();\n", " var dataURL = fig.canvas.toDataURL();\n", " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", " // the notebook keyboard shortcuts fail.\n", " IPython.keyboard_manager.enable()\n", " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", " fig.close_ws(fig, msg);\n", "}\n", "\n", "mpl.figure.prototype.close_ws = function(fig, msg){\n", " fig.send_message('closing', msg);\n", " // fig.ws.close()\n", "}\n", "\n", "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", " // Turn the data on the canvas into data in the output cell.\n", " var width = this.canvas.width/mpl.ratio\n", " var dataURL = this.canvas.toDataURL();\n", " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Tell IPython that the notebook contents must change.\n", " IPython.notebook.set_dirty(true);\n", " this.send_message(\"ack\", {});\n", " var fig = this;\n", " // Wait a second, then push the new image to the DOM so\n", " // that it is saved nicely (might be nice to debounce this).\n", " setTimeout(function () { fig.push_to_output() }, 1000);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items){\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) { continue; };\n", "\n", " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " event.shiftKey = false;\n", " // Send a \"J\" for go to next cell\n", " event.which = 74;\n", " event.keyCode = 74;\n", " manager.command_mode();\n", " manager.handle_keydown(event);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i<ncells; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type === 'code'){\n", " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", " var data = cell.output_area.outputs[j];\n", " if (data.data) {\n", " // IPython >= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "<IPython.core.display.Javascript object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<img src=\"data:image/png;base64,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29/w8Y9/HM899xxee+019vNPp9MFr58gygEJFnHIwxWsnp4erFixAo888gj7fK5gxeNxLF++HL/4xS+yztPW1oYVK1awj+/duxcnn3wyLr/88qwZjLfffjtvlmT//v3Yu3dv1vmmpqZw6qmn4r777mMfK7REmCsdkUgEKpUKr7/+etbrHnroIaxbtw5zc3MA/ilA7777btbrmBmO3MeFxhUSrKmpKVYKgYO5OOeccw62b9+elQc1NzeHM888EzfddBP7GCMguUuEQoK1cuVKRKNR9rFgMJj3GfAluQstEb744os45phj0NXVlfX4k08+ieXLlxfMLXvttdegUqlYweAjmUxCpVLh7rvvznofYgQrk8nkzaLFYjGsWrUKL7zwQt51fPDBB+xjs7OzOPvss3kFS6VSYdeuXXnjM39fuDz44INYu3Zt1kYGoSVCPsG6/vrrceyxx6Kvry/rtdy/F3wUSnJn3s9HH32EU045BRdddFFWvp5er4dKpcIzzzzDPsbMlj755JN5YzGfyXvvvcc+1tnZCZVKhaOOOgput5t9vKqqinZKEhWDBIs45OEKFnBw2Wb16tUYHh4GkC9Yr7zyCpYtW4bu7u68fz2ff/75+NznPgcAqK+vh0qlwu7du7PG27dvH0488UTBnJ+FhQVMTk4ikUjg1ltvxebNm9nnpAgWAGzevBnXXnst++f9+/fjlFNOwde//nX2sUceeQTHH388xsfH897PunXrcP/99xf8/IoJ1r59+6BSqdjPxefzQaVS4X/+53/yxrv//vuxatUqVhykChZfPtNxxx2HH//4x+yfpQjWpk2b8PnPfz7vOm02G1QqFf76178Kfi4vvvgiVCoVbDab4GuYz4YrlWIFi8v+/fsxMTGBRCKBTZs24c4772Sfu/nmm3HaaaflSctLL73EK1irVq3Kk/1c0uk0EokE/vrXv0KlUmUtS4oVrPHxcahUqqIzgXww53rggQdgtVqzglnWbmhogEqlwhtvvJF3/HnnnYctW7awf2YEK1f0gIOfybp16/I+vxNOOCFvZnt6ehoqlQo/+9nPJL8ngpAKCRZxyJMrWLmzWLmC9f3vf1/wX8/MrjkAeO+996BSqbLyqBguvfTSvBv622+/jYsvvhhHH3101vnOPPNM9jVSBetXv/oVli1bxuacMGLALPsAwC233FLw/dxxxx0F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pnbtkUcewaZNm0zdvV75+vpqXaMlqK6uhkQiQWxsrPKaUGh06NChGDRoEFauXMkq+ERaMGARERmovLwcEolE52jU+PHjcfjwYbVr3t7emDVrlqm7R0T9AAMWEZEBurq6sGzZMjz22GM672djY4OTJ0+qXTt69ChGjRplyu4RUT/BgEVEZIDNmzdjwoQJqK+v13k/BiyigY0Bi4hIT1u2bMG4ceNQVVXV60H1a+EAAAJ4SURBVH05RUg0sDFgERH1QqFQYMuWLbj//vtRVlam12NWr14NT09PtWseHh79YpE7EZkeAxYRUS/efPNNODs7Iy4uTq2kwbVr15T3WbduHfbs2aP8d3JyMqytrXHo0CFIpVJ88MEH/aZMAxGZHgMWEVEvtJU08PX1Vd5n4cKFyvpbglOnTmHatGmwtbXFjBkz+lWhUSIyLQYsIiIiIpExYBERERGJjAGLiIiISGQMWEREREQiY8AiIiIiEhkDFhEREZHIGLCIiIiIRMaARURERCQyBiwiIiIikTFgEREREYmMAYuIiIhIZAxYRERERCJjwCIiIiISGQMWERERkcgYsIiIiIhExoBFREREJDIGLCIiIiKRMWARERERiYwBi4iIiEhkDFhEREREImPAIiIiIhIZAxYRERGRyBiwiIiIiETGgEVEREQkMgYsIiIiIpExYBERERGJjAGLiIiISGQMWEREREQiY8AiIiIiEhkDFhEREZHIGLCIiIiIRMaARURERCQyBiwiIiIikTFgEREREYmMAYuIiIhIZAxYRERERCJjwCIiIiISGQMWERERkcgYsIiIiIhExoBFREREJDIGLCIiIiKRMWARERERiYwBi4iIiEhkDFhEREREImPAIiIiIhIZAxYRERGRyBiwiIiIiETGgEVEREQkMgYsIiIiIpExYBERERGJjAGLiIiISGQMWEREREQiY8AiIiIiEhkDFhEREZHIGLCIiIiIRMaARURERCQyBiwiIiIikTFgEREREYmMAYuIiIhIZAxYRERERCJjwCIiIiISGQMWERERkcgYsIiIiIhExoBFREREJDIGLCIiIiKR/f+VDI3QSH/2PwAAAABJRU5ErkJggg==\" width=\"600\">" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_qform3d(A, \"Negative Definite Quadratic Form\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the quadratic form is neither positive definite nor negative definite we have an _indefinite_ quadratic form. For example, consider the case where\n", "$$\n", "A =\n", "\\begin{bmatrix}\n", "1 & 0 \\\\\n", "0 & -1\n", "\\end{bmatrix}.\n", "$$\n", "Plotting the contours of this form we see a much different picture than the positive definite and negative definite cases." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('<div/>');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", " 'ui-helper-clearfix\"/>');\n", " var titletext = $(\n", " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", " 'text-align: center; padding: 3px;\"/>');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('<div/>');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('<canvas/>');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('<canvas/>');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('<button/>');\n", " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", " 'ui-button-icon-only');\n", " button.attr('role', 'button');\n", " button.attr('aria-disabled', 'false');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", "\n", " var icon_img = $('<span/>');\n", " icon_img.addClass('ui-button-icon-primary ui-icon');\n", " icon_img.addClass(image);\n", " icon_img.addClass('ui-corner-all');\n", "\n", " var tooltip_span = $('<span/>');\n", " tooltip_span.addClass('ui-button-text');\n", " tooltip_span.html(tooltip);\n", "\n", " button.append(icon_img);\n", " button.append(tooltip_span);\n", "\n", " nav_element.append(button);\n", " }\n", "\n", " var fmt_picker_span = $('<span/>');\n", "\n", " var fmt_picker = $('<select/>');\n", " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", " fmt_picker_span.append(fmt_picker);\n", " nav_element.append(fmt_picker_span);\n", " this.format_dropdown = fmt_picker[0];\n", "\n", " for (var ind in mpl.extensions) {\n", " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", " fmt_picker.append(option)\n", " }\n", "\n", " // Add hover states to the ui-buttons\n", " $( \".ui-button\" ).hover(\n", " function() { $(this).addClass(\"ui-state-hover\");},\n", " function() { $(this).removeClass(\"ui-state-hover\");}\n", " );\n", "\n", " var status_bar = $('<span class=\"mpl-message\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "}\n", "\n", "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", " // which will in turn request a refresh of the image.\n", " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", "}\n", "\n", "mpl.figure.prototype.send_message = function(type, properties) {\n", " properties['type'] = type;\n", " properties['figure_id'] = this.id;\n", " this.ws.send(JSON.stringify(properties));\n", "}\n", "\n", "mpl.figure.prototype.send_draw_message = function() {\n", " if (!this.waiting) {\n", " this.waiting = true;\n", " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", " }\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " var format_dropdown = fig.format_dropdown;\n", " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", " fig.ondownload(fig, format);\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", " var size = msg['size'];\n", " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", " fig._resize_canvas(size[0], size[1]);\n", " fig.send_message(\"refresh\", {});\n", " };\n", "}\n", "\n", "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", " var x0 = msg['x0'] / mpl.ratio;\n", " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", " var x1 = msg['x1'] / mpl.ratio;\n", " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", " x0 = Math.floor(x0) + 0.5;\n", " y0 = Math.floor(y0) + 0.5;\n", " x1 = Math.floor(x1) + 0.5;\n", " y1 = Math.floor(y1) + 0.5;\n", " var min_x = Math.min(x0, x1);\n", " var min_y = Math.min(y0, y1);\n", " var width = Math.abs(x1 - x0);\n", " var height = Math.abs(y1 - y0);\n", "\n", " fig.rubberband_context.clearRect(\n", " 0, 0, fig.canvas.width, fig.canvas.height);\n", "\n", " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", "}\n", "\n", "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", " // Updates the figure title.\n", " fig.header.textContent = msg['label'];\n", "}\n", "\n", "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", " var cursor = msg['cursor'];\n", " switch(cursor)\n", " {\n", " case 0:\n", " cursor = 'pointer';\n", " break;\n", " case 1:\n", " cursor = 'default';\n", " break;\n", " case 2:\n", " cursor = 'crosshair';\n", " break;\n", " case 3:\n", " cursor = 'move';\n", " break;\n", " }\n", " fig.rubberband_canvas.style.cursor = cursor;\n", "}\n", "\n", "mpl.figure.prototype.handle_message = function(fig, msg) {\n", " fig.message.textContent = msg['message'];\n", "}\n", "\n", "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", " // Request the server to send over a new figure.\n", " fig.send_draw_message();\n", "}\n", "\n", "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", " fig.image_mode = msg['mode'];\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Called whenever the canvas gets updated.\n", " this.send_message(\"ack\", {});\n", "}\n", "\n", "// A function to construct a web socket function for onmessage handling.\n", "// Called in the figure constructor.\n", "mpl.figure.prototype._make_on_message_function = function(fig) {\n", " return function socket_on_message(evt) {\n", " if (evt.data instanceof Blob) {\n", " /* FIXME: We get \"Resource interpreted as Image but\n", " * transferred with MIME type text/plain:\" errors on\n", " * Chrome. But how to set the MIME type? It doesn't seem\n", " * to be part of the websocket stream */\n", " evt.data.type = \"image/png\";\n", "\n", " /* Free the memory for the previous frames */\n", " if (fig.imageObj.src) {\n", " (window.URL || window.webkitURL).revokeObjectURL(\n", " fig.imageObj.src);\n", " }\n", "\n", " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", " evt.data);\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", " fig.imageObj.src = evt.data;\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", "\n", " var msg = JSON.parse(evt.data);\n", " var msg_type = msg['type'];\n", "\n", " // Call the \"handle_{type}\" callback, which takes\n", " // the figure and JSON message as its only arguments.\n", " try {\n", " var callback = fig[\"handle_\" + msg_type];\n", " } catch (e) {\n", " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", " return;\n", " }\n", "\n", " if (callback) {\n", " try {\n", " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", " callback(fig, msg);\n", " } catch (e) {\n", " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", " }\n", " }\n", " };\n", "}\n", "\n", "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", "mpl.findpos = function(e) {\n", " //this section is from http://www.quirksmode.org/js/events_properties.html\n", " var targ;\n", " if (!e)\n", " e = window.event;\n", " if (e.target)\n", " targ = e.target;\n", " else if (e.srcElement)\n", " targ = e.srcElement;\n", " if (targ.nodeType == 3) // defeat Safari bug\n", " targ = targ.parentNode;\n", "\n", " // jQuery normalizes the pageX and pageY\n", " // pageX,Y are the mouse positions relative to the document\n", " // offset() returns the position of the element relative to the document\n", " var x = e.pageX - $(targ).offset().left;\n", " var y = e.pageY - $(targ).offset().top;\n", "\n", " return {\"x\": x, \"y\": y};\n", "};\n", "\n", "/*\n", " * return a copy of an object with only non-object keys\n", " * we need this to avoid circular references\n", " * http://stackoverflow.com/a/24161582/3208463\n", " */\n", "function simpleKeys (original) {\n", " return Object.keys(original).reduce(function (obj, key) {\n", " if (typeof original[key] !== 'object')\n", " obj[key] = original[key]\n", " return obj;\n", " }, {});\n", "}\n", "\n", "mpl.figure.prototype.mouse_event = function(event, name) {\n", " var canvas_pos = mpl.findpos(event)\n", "\n", " if (name === 'button_press')\n", " {\n", " this.canvas.focus();\n", " this.canvas_div.focus();\n", " }\n", "\n", " var x = canvas_pos.x * mpl.ratio;\n", " var y = canvas_pos.y * mpl.ratio;\n", "\n", " this.send_message(name, {x: x, y: y, button: event.button,\n", " step: event.step,\n", " guiEvent: simpleKeys(event)});\n", "\n", " /* This prevents the web browser from automatically changing to\n", " * the text insertion cursor when the button is pressed. We want\n", " * to control all of the cursor setting manually through the\n", " * 'cursor' event from matplotlib */\n", " event.preventDefault();\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " // Handle any extra behaviour associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", "\n", " // Prevent repeat events\n", " if (name == 'key_press')\n", " {\n", " if (event.which === this._key)\n", " return;\n", " else\n", " this._key = event.which;\n", " }\n", " if (name == 'key_release')\n", " this._key = null;\n", "\n", " var value = '';\n", " if (event.ctrlKey && event.which != 17)\n", " value += \"ctrl+\";\n", " if (event.altKey && event.which != 18)\n", " value += \"alt+\";\n", " if (event.shiftKey && event.which != 16)\n", " value += \"shift+\";\n", "\n", " value += 'k';\n", " value += event.which.toString();\n", "\n", " this._key_event_extra(event, name);\n", "\n", " this.send_message(name, {key: value,\n", " guiEvent: simpleKeys(event)});\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", " if (name == 'download') {\n", " this.handle_save(this, null);\n", " } else {\n", " this.send_message(\"toolbar_button\", {name: name});\n", " }\n", "};\n", "\n", "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", " this.message.textContent = tooltip;\n", "};\n", "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", "\n", "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", "\n", "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", " // Create a \"websocket\"-like object which calls the given IPython comm\n", " // object with the appropriate methods. Currently this is a non binary\n", " // socket, so there is still some room for performance tuning.\n", " var ws = {};\n", "\n", " ws.close = function() {\n", " comm.close()\n", " };\n", " ws.send = function(m) {\n", " //console.log('sending', m);\n", " comm.send(m);\n", " };\n", " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", "}\n", "\n", "mpl.mpl_figure_comm = function(comm, msg) {\n", " // This is the function which gets called when the mpl process\n", " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", "\n", " var id = msg.content.data.id;\n", " // Get hold of the div created by the display call when the Comm\n", " // socket was opened in Python.\n", " var element = $(\"#\" + id);\n", " var ws_proxy = comm_websocket_adapter(comm)\n", "\n", " function ondownload(figure, format) {\n", " window.open(figure.imageObj.src);\n", " }\n", "\n", " var fig = new mpl.figure(id, ws_proxy,\n", " ondownload,\n", " element.get(0));\n", "\n", " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", " // web socket which is closed, not our websocket->open comm proxy.\n", " ws_proxy.onopen();\n", "\n", " fig.parent_element = element.get(0);\n", " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", " if (!fig.cell_info) {\n", " console.error(\"Failed to find cell for figure\", id, fig);\n", " return;\n", " }\n", "\n", " var output_index = fig.cell_info[2]\n", " var cell = fig.cell_info[0];\n", "\n", "};\n", "\n", "mpl.figure.prototype.handle_close = function(fig, msg) {\n", " var width = fig.canvas.width/mpl.ratio\n", " fig.root.unbind('remove')\n", "\n", " // Update the output cell to use the data from the current canvas.\n", " fig.push_to_output();\n", " var dataURL = fig.canvas.toDataURL();\n", " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", " // the notebook keyboard shortcuts fail.\n", " IPython.keyboard_manager.enable()\n", " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", " fig.close_ws(fig, msg);\n", "}\n", "\n", "mpl.figure.prototype.close_ws = function(fig, msg){\n", " fig.send_message('closing', msg);\n", " // fig.ws.close()\n", "}\n", "\n", "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", " // Turn the data on the canvas into data in the output cell.\n", " var width = this.canvas.width/mpl.ratio\n", " var dataURL = this.canvas.toDataURL();\n", " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Tell IPython that the notebook contents must change.\n", " IPython.notebook.set_dirty(true);\n", " this.send_message(\"ack\", {});\n", " var fig = this;\n", " // Wait a second, then push the new image to the DOM so\n", " // that it is saved nicely (might be nice to debounce this).\n", " setTimeout(function () { fig.push_to_output() }, 1000);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items){\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) { continue; };\n", "\n", " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " event.shiftKey = false;\n", " // Send a \"J\" for go to next cell\n", " event.which = 74;\n", " event.keyCode = 74;\n", " manager.command_mode();\n", " manager.handle_keydown(event);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i<ncells; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type === 'code'){\n", " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", " var data = cell.output_area.outputs[j];\n", " if (data.data) {\n", " // IPython >= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "<IPython.core.display.Javascript object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<img src=\"data:image/png;base64,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\" width=\"600\">" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A = np.eye(2)\n", "A[1,1] = -1\n", "plot_qform(A, \"Indefinite Quadratic Form\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting this form in three dimensions we see that it attains both positive and negative values." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('<div/>');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", " 'ui-helper-clearfix\"/>');\n", " var titletext = $(\n", " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", " 'text-align: center; padding: 3px;\"/>');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('<div/>');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('<canvas/>');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('<canvas/>');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('<button/>');\n", " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", " 'ui-button-icon-only');\n", " button.attr('role', 'button');\n", " button.attr('aria-disabled', 'false');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", "\n", " var icon_img = $('<span/>');\n", " icon_img.addClass('ui-button-icon-primary ui-icon');\n", " icon_img.addClass(image);\n", " icon_img.addClass('ui-corner-all');\n", "\n", " var tooltip_span = $('<span/>');\n", " tooltip_span.addClass('ui-button-text');\n", " tooltip_span.html(tooltip);\n", "\n", " button.append(icon_img);\n", " button.append(tooltip_span);\n", "\n", " nav_element.append(button);\n", " }\n", "\n", " var fmt_picker_span = $('<span/>');\n", "\n", " var fmt_picker = $('<select/>');\n", " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", " fmt_picker_span.append(fmt_picker);\n", " nav_element.append(fmt_picker_span);\n", " this.format_dropdown = fmt_picker[0];\n", "\n", " for (var ind in mpl.extensions) {\n", " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", " fmt_picker.append(option)\n", " }\n", "\n", " // Add hover states to the ui-buttons\n", " $( \".ui-button\" ).hover(\n", " function() { $(this).addClass(\"ui-state-hover\");},\n", " function() { $(this).removeClass(\"ui-state-hover\");}\n", " );\n", "\n", " var status_bar = $('<span class=\"mpl-message\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "}\n", "\n", "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", " // which will in turn request a refresh of the image.\n", " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", "}\n", "\n", "mpl.figure.prototype.send_message = function(type, properties) {\n", " properties['type'] = type;\n", " properties['figure_id'] = this.id;\n", " this.ws.send(JSON.stringify(properties));\n", "}\n", "\n", "mpl.figure.prototype.send_draw_message = function() {\n", " if (!this.waiting) {\n", " this.waiting = true;\n", " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", " }\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " var format_dropdown = fig.format_dropdown;\n", " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", " fig.ondownload(fig, format);\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", " var size = msg['size'];\n", " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", " fig._resize_canvas(size[0], size[1]);\n", " fig.send_message(\"refresh\", {});\n", " };\n", "}\n", "\n", "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", " var x0 = msg['x0'] / mpl.ratio;\n", " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", " var x1 = msg['x1'] / mpl.ratio;\n", " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", " x0 = Math.floor(x0) + 0.5;\n", " y0 = Math.floor(y0) + 0.5;\n", " x1 = Math.floor(x1) + 0.5;\n", " y1 = Math.floor(y1) + 0.5;\n", " var min_x = Math.min(x0, x1);\n", " var min_y = Math.min(y0, y1);\n", " var width = Math.abs(x1 - x0);\n", " var height = Math.abs(y1 - y0);\n", "\n", " fig.rubberband_context.clearRect(\n", " 0, 0, fig.canvas.width, fig.canvas.height);\n", "\n", " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", "}\n", "\n", "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", " // Updates the figure title.\n", " fig.header.textContent = msg['label'];\n", "}\n", "\n", "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", " var cursor = msg['cursor'];\n", " switch(cursor)\n", " {\n", " case 0:\n", " cursor = 'pointer';\n", " break;\n", " case 1:\n", " cursor = 'default';\n", " break;\n", " case 2:\n", " cursor = 'crosshair';\n", " break;\n", " case 3:\n", " cursor = 'move';\n", " break;\n", " }\n", " fig.rubberband_canvas.style.cursor = cursor;\n", "}\n", "\n", "mpl.figure.prototype.handle_message = function(fig, msg) {\n", " fig.message.textContent = msg['message'];\n", "}\n", "\n", "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", " // Request the server to send over a new figure.\n", " fig.send_draw_message();\n", "}\n", "\n", "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", " fig.image_mode = msg['mode'];\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Called whenever the canvas gets updated.\n", " this.send_message(\"ack\", {});\n", "}\n", "\n", "// A function to construct a web socket function for onmessage handling.\n", "// Called in the figure constructor.\n", "mpl.figure.prototype._make_on_message_function = function(fig) {\n", " return function socket_on_message(evt) {\n", " if (evt.data instanceof Blob) {\n", " /* FIXME: We get \"Resource interpreted as Image but\n", " * transferred with MIME type text/plain:\" errors on\n", " * Chrome. But how to set the MIME type? It doesn't seem\n", " * to be part of the websocket stream */\n", " evt.data.type = \"image/png\";\n", "\n", " /* Free the memory for the previous frames */\n", " if (fig.imageObj.src) {\n", " (window.URL || window.webkitURL).revokeObjectURL(\n", " fig.imageObj.src);\n", " }\n", "\n", " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", " evt.data);\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", " fig.imageObj.src = evt.data;\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", "\n", " var msg = JSON.parse(evt.data);\n", " var msg_type = msg['type'];\n", "\n", " // Call the \"handle_{type}\" callback, which takes\n", " // the figure and JSON message as its only arguments.\n", " try {\n", " var callback = fig[\"handle_\" + msg_type];\n", " } catch (e) {\n", " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", " return;\n", " }\n", "\n", " if (callback) {\n", " try {\n", " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", " callback(fig, msg);\n", " } catch (e) {\n", " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", " }\n", " }\n", " };\n", "}\n", "\n", "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", "mpl.findpos = function(e) {\n", " //this section is from http://www.quirksmode.org/js/events_properties.html\n", " var targ;\n", " if (!e)\n", " e = window.event;\n", " if (e.target)\n", " targ = e.target;\n", " else if (e.srcElement)\n", " targ = e.srcElement;\n", " if (targ.nodeType == 3) // defeat Safari bug\n", " targ = targ.parentNode;\n", "\n", " // jQuery normalizes the pageX and pageY\n", " // pageX,Y are the mouse positions relative to the document\n", " // offset() returns the position of the element relative to the document\n", " var x = e.pageX - $(targ).offset().left;\n", " var y = e.pageY - $(targ).offset().top;\n", "\n", " return {\"x\": x, \"y\": y};\n", "};\n", "\n", "/*\n", " * return a copy of an object with only non-object keys\n", " * we need this to avoid circular references\n", " * http://stackoverflow.com/a/24161582/3208463\n", " */\n", "function simpleKeys (original) {\n", " return Object.keys(original).reduce(function (obj, key) {\n", " if (typeof original[key] !== 'object')\n", " obj[key] = original[key]\n", " return obj;\n", " }, {});\n", "}\n", "\n", "mpl.figure.prototype.mouse_event = function(event, name) {\n", " var canvas_pos = mpl.findpos(event)\n", "\n", " if (name === 'button_press')\n", " {\n", " this.canvas.focus();\n", " this.canvas_div.focus();\n", " }\n", "\n", " var x = canvas_pos.x * mpl.ratio;\n", " var y = canvas_pos.y * mpl.ratio;\n", "\n", " this.send_message(name, {x: x, y: y, button: event.button,\n", " step: event.step,\n", " guiEvent: simpleKeys(event)});\n", "\n", " /* This prevents the web browser from automatically changing to\n", " * the text insertion cursor when the button is pressed. We want\n", " * to control all of the cursor setting manually through the\n", " * 'cursor' event from matplotlib */\n", " event.preventDefault();\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " // Handle any extra behaviour associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", "\n", " // Prevent repeat events\n", " if (name == 'key_press')\n", " {\n", " if (event.which === this._key)\n", " return;\n", " else\n", " this._key = event.which;\n", " }\n", " if (name == 'key_release')\n", " this._key = null;\n", "\n", " var value = '';\n", " if (event.ctrlKey && event.which != 17)\n", " value += \"ctrl+\";\n", " if (event.altKey && event.which != 18)\n", " value += \"alt+\";\n", " if (event.shiftKey && event.which != 16)\n", " value += \"shift+\";\n", "\n", " value += 'k';\n", " value += event.which.toString();\n", "\n", " this._key_event_extra(event, name);\n", "\n", " this.send_message(name, {key: value,\n", " guiEvent: simpleKeys(event)});\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", " if (name == 'download') {\n", " this.handle_save(this, null);\n", " } else {\n", " this.send_message(\"toolbar_button\", {name: name});\n", " }\n", "};\n", "\n", "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", " this.message.textContent = tooltip;\n", "};\n", "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", "\n", "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", "\n", "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", " // Create a \"websocket\"-like object which calls the given IPython comm\n", " // object with the appropriate methods. Currently this is a non binary\n", " // socket, so there is still some room for performance tuning.\n", " var ws = {};\n", "\n", " ws.close = function() {\n", " comm.close()\n", " };\n", " ws.send = function(m) {\n", " //console.log('sending', m);\n", " comm.send(m);\n", " };\n", " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", "}\n", "\n", "mpl.mpl_figure_comm = function(comm, msg) {\n", " // This is the function which gets called when the mpl process\n", " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", "\n", " var id = msg.content.data.id;\n", " // Get hold of the div created by the display call when the Comm\n", " // socket was opened in Python.\n", " var element = $(\"#\" + id);\n", " var ws_proxy = comm_websocket_adapter(comm)\n", "\n", " function ondownload(figure, format) {\n", " window.open(figure.imageObj.src);\n", " }\n", "\n", " var fig = new mpl.figure(id, ws_proxy,\n", " ondownload,\n", " element.get(0));\n", "\n", " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", " // web socket which is closed, not our websocket->open comm proxy.\n", " ws_proxy.onopen();\n", "\n", " fig.parent_element = element.get(0);\n", " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", " if (!fig.cell_info) {\n", " console.error(\"Failed to find cell for figure\", id, fig);\n", " return;\n", " }\n", "\n", " var output_index = fig.cell_info[2]\n", " var cell = fig.cell_info[0];\n", "\n", "};\n", "\n", "mpl.figure.prototype.handle_close = function(fig, msg) {\n", " var width = fig.canvas.width/mpl.ratio\n", " fig.root.unbind('remove')\n", "\n", " // Update the output cell to use the data from the current canvas.\n", " fig.push_to_output();\n", " var dataURL = fig.canvas.toDataURL();\n", " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", " // the notebook keyboard shortcuts fail.\n", " IPython.keyboard_manager.enable()\n", " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", " fig.close_ws(fig, msg);\n", "}\n", "\n", "mpl.figure.prototype.close_ws = function(fig, msg){\n", " fig.send_message('closing', msg);\n", " // fig.ws.close()\n", "}\n", "\n", "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", " // Turn the data on the canvas into data in the output cell.\n", " var width = this.canvas.width/mpl.ratio\n", " var dataURL = this.canvas.toDataURL();\n", " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Tell IPython that the notebook contents must change.\n", " IPython.notebook.set_dirty(true);\n", " this.send_message(\"ack\", {});\n", " var fig = this;\n", " // Wait a second, then push the new image to the DOM so\n", " // that it is saved nicely (might be nice to debounce this).\n", " setTimeout(function () { fig.push_to_output() }, 1000);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items){\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) { continue; };\n", "\n", " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " event.shiftKey = false;\n", " // Send a \"J\" for go to next cell\n", " event.which = 74;\n", " event.keyCode = 74;\n", " manager.command_mode();\n", " manager.handle_keydown(event);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i<ncells; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type === 'code'){\n", " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", " var data = cell.output_area.outputs[j];\n", " if (data.data) {\n", " // IPython >= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "<IPython.core.display.Javascript object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<img src=\"data:image/png;base64,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\" width=\"600\">" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_qform3d(A, \"Indefinite Quadratic Form\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This surface makes the shape of a saddle, that's precisely why we call the point $[0, 0]$ a saddle point. Indefinite quadratic forms appear frequently in higher dimesions. There are also quadratic forms that are _positive semi-definite_ and _negative semi-definite_, this means that $\\mathbf{x}^TA\\mathbf{x} \\geq 0, \\ \\forall \\mathbf{x} \\in \\mathbb{R}^n$ and $\\mathbf{x}^TA\\mathbf{x} \\leq 0, \\ \\forall \\mathbf{x} \\in \\mathbb{R}^n$. The set of positive definite quadratic forms are a subset of positive semi-definite quadratic forms and similarly for negative definite quadratic forms. We also say that a matrix $A$ is positive (negative) definite if its associated quadratic form is positive (negative) definite.\n", "\n", "### Eigendecomposition and More Geometry\n", "\n", "The beauty of quadratic forms is that we can determine their definiteness by analyzing the spectral properties of their matrix $A$. This is much easier than plotting their contours and analyzing their surfaces. We have the following theorem\n", "\n", "**Theorem**: A matrix $A$ is positive (negative) definite if and only if all of its eigenvalues are positive (negative)\n", "\n", "**Proof**: Let $A$ be a positive definite matrix and let $\\mathbf{v}$ be an unit eigenvector of $A$, with associated eigenvalue $\\lambda$. We have that\n", "$$\n", "\\mathbf{v}^TA\\mathbf{v} = \\mathbf{v}^T\\lambda \\mathbf{v} = \\lambda > 0\n", "$$\n", "Thus, all the eigenvalues are positive. Now suppose that the matrix $A$ has positive eigenvalues. Since $A$ is symmetric, we have that $A$ has an eigendecomposition $A = Q\\Lambda Q^T$, where all the eigenvectors are orthogonal. We note that the eigenbasis spans the whole space. Thus we can write an arbitrary $\\mathbf{x} \\neq 0$ in terms of the eigenbasis for $A$. So let \n", "$$\n", "\\mathbf{x} = \\alpha_1 \\mathbf{v}_1 + \\dots + \\alpha_n \\mathbf{v}_n\n", "$$\n", "Where the $\\mathbf{v}_i$ are the eigenvectors of $A$. Since the eigenvectors are orthogonal we have\n", "$$\n", "\\mathbf{x}^TA\\mathbf{x} = \\left( \\alpha_1 \\mathbf{v}_1 + \\dots + \\alpha_n \\mathbf{v}_n\\right)^TA\\left( \\alpha_1 \\mathbf{v}_1 + \\dots + \\alpha_n \\mathbf{v}_n\\right) = \\sum_{i=1}^n \\alpha_i^2 \\mathbf{v}_i^T A \\mathbf{v}_i = \\sum_{i=1}^n \\alpha_i^2 \\lambda_i\n", "$$\n", "Since we have $\\mathbf{x} \\neq 0$, we have that not all $\\alpha_i$ are zero. Since $\\lambda_i > 0 \\ \\forall i$\n", "$$\n", "\\mathbf{x}^TA\\mathbf{x} > 0\n", "$$\n", "Therefore a matrix is positive definite if and only if its eigenvalues are positive. Now we note that the eigenvalues of $-A$ are $-\\lambda_i$ and the eigenvectors are the same. We also note that if $\\mathbf{x}^TA\\mathbf{x} > 0$ then we have that $\\mathbf{x}^T(-A)\\mathbf{x} < 0$. Using these two facts, the negative case holds as well.\n", "\n", "A similar result holds for positive semi-definite and negative semi-definite matrices, we just add the caveat that the eigenvalues can equal 0. In the previous section, the quadratic forms were fairly easily to analyze by inspection, since we used simple transformations of the identity matrix. However, when presented with a matrix such as \n", "$$\n", "A =\n", "\\begin{bmatrix}\n", "1.4 & -0.3 \\\\\n", "-0.3 & 0.6\n", "\\end{bmatrix},\n", "$$\n", "it can be diffcult to tell the definiteness of this matrix by inspection. Plotting it we see that it is in fact positive definite." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('<div/>');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", " 'ui-helper-clearfix\"/>');\n", " var titletext = $(\n", " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", " 'text-align: center; padding: 3px;\"/>');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('<div/>');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('<canvas/>');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('<canvas/>');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('<button/>');\n", " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", " 'ui-button-icon-only');\n", " button.attr('role', 'button');\n", " button.attr('aria-disabled', 'false');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", "\n", " var icon_img = $('<span/>');\n", " icon_img.addClass('ui-button-icon-primary ui-icon');\n", " icon_img.addClass(image);\n", " icon_img.addClass('ui-corner-all');\n", "\n", " var tooltip_span = $('<span/>');\n", " tooltip_span.addClass('ui-button-text');\n", " tooltip_span.html(tooltip);\n", "\n", " button.append(icon_img);\n", " button.append(tooltip_span);\n", "\n", " nav_element.append(button);\n", " }\n", "\n", " var fmt_picker_span = $('<span/>');\n", "\n", " var fmt_picker = $('<select/>');\n", " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", " fmt_picker_span.append(fmt_picker);\n", " nav_element.append(fmt_picker_span);\n", " this.format_dropdown = fmt_picker[0];\n", "\n", " for (var ind in mpl.extensions) {\n", " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", " fmt_picker.append(option)\n", " }\n", "\n", " // Add hover states to the ui-buttons\n", " $( \".ui-button\" ).hover(\n", " function() { $(this).addClass(\"ui-state-hover\");},\n", " function() { $(this).removeClass(\"ui-state-hover\");}\n", " );\n", "\n", " var status_bar = $('<span class=\"mpl-message\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "}\n", "\n", "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", " // which will in turn request a refresh of the image.\n", " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", "}\n", "\n", "mpl.figure.prototype.send_message = function(type, properties) {\n", " properties['type'] = type;\n", " properties['figure_id'] = this.id;\n", " this.ws.send(JSON.stringify(properties));\n", "}\n", "\n", "mpl.figure.prototype.send_draw_message = function() {\n", " if (!this.waiting) {\n", " this.waiting = true;\n", " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", " }\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " var format_dropdown = fig.format_dropdown;\n", " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", " fig.ondownload(fig, format);\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", " var size = msg['size'];\n", " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", " fig._resize_canvas(size[0], size[1]);\n", " fig.send_message(\"refresh\", {});\n", " };\n", "}\n", "\n", "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", " var x0 = msg['x0'] / mpl.ratio;\n", " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", " var x1 = msg['x1'] / mpl.ratio;\n", " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", " x0 = Math.floor(x0) + 0.5;\n", " y0 = Math.floor(y0) + 0.5;\n", " x1 = Math.floor(x1) + 0.5;\n", " y1 = Math.floor(y1) + 0.5;\n", " var min_x = Math.min(x0, x1);\n", " var min_y = Math.min(y0, y1);\n", " var width = Math.abs(x1 - x0);\n", " var height = Math.abs(y1 - y0);\n", "\n", " fig.rubberband_context.clearRect(\n", " 0, 0, fig.canvas.width, fig.canvas.height);\n", "\n", " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", "}\n", "\n", "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", " // Updates the figure title.\n", " fig.header.textContent = msg['label'];\n", "}\n", "\n", "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", " var cursor = msg['cursor'];\n", " switch(cursor)\n", " {\n", " case 0:\n", " cursor = 'pointer';\n", " break;\n", " case 1:\n", " cursor = 'default';\n", " break;\n", " case 2:\n", " cursor = 'crosshair';\n", " break;\n", " case 3:\n", " cursor = 'move';\n", " break;\n", " }\n", " fig.rubberband_canvas.style.cursor = cursor;\n", "}\n", "\n", "mpl.figure.prototype.handle_message = function(fig, msg) {\n", " fig.message.textContent = msg['message'];\n", "}\n", "\n", "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", " // Request the server to send over a new figure.\n", " fig.send_draw_message();\n", "}\n", "\n", "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", " fig.image_mode = msg['mode'];\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Called whenever the canvas gets updated.\n", " this.send_message(\"ack\", {});\n", "}\n", "\n", "// A function to construct a web socket function for onmessage handling.\n", "// Called in the figure constructor.\n", "mpl.figure.prototype._make_on_message_function = function(fig) {\n", " return function socket_on_message(evt) {\n", " if (evt.data instanceof Blob) {\n", " /* FIXME: We get \"Resource interpreted as Image but\n", " * transferred with MIME type text/plain:\" errors on\n", " * Chrome. But how to set the MIME type? It doesn't seem\n", " * to be part of the websocket stream */\n", " evt.data.type = \"image/png\";\n", "\n", " /* Free the memory for the previous frames */\n", " if (fig.imageObj.src) {\n", " (window.URL || window.webkitURL).revokeObjectURL(\n", " fig.imageObj.src);\n", " }\n", "\n", " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", " evt.data);\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", " fig.imageObj.src = evt.data;\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", "\n", " var msg = JSON.parse(evt.data);\n", " var msg_type = msg['type'];\n", "\n", " // Call the \"handle_{type}\" callback, which takes\n", " // the figure and JSON message as its only arguments.\n", " try {\n", " var callback = fig[\"handle_\" + msg_type];\n", " } catch (e) {\n", " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", " return;\n", " }\n", "\n", " if (callback) {\n", " try {\n", " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", " callback(fig, msg);\n", " } catch (e) {\n", " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", " }\n", " }\n", " };\n", "}\n", "\n", "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", "mpl.findpos = function(e) {\n", " //this section is from http://www.quirksmode.org/js/events_properties.html\n", " var targ;\n", " if (!e)\n", " e = window.event;\n", " if (e.target)\n", " targ = e.target;\n", " else if (e.srcElement)\n", " targ = e.srcElement;\n", " if (targ.nodeType == 3) // defeat Safari bug\n", " targ = targ.parentNode;\n", "\n", " // jQuery normalizes the pageX and pageY\n", " // pageX,Y are the mouse positions relative to the document\n", " // offset() returns the position of the element relative to the document\n", " var x = e.pageX - $(targ).offset().left;\n", " var y = e.pageY - $(targ).offset().top;\n", "\n", " return {\"x\": x, \"y\": y};\n", "};\n", "\n", "/*\n", " * return a copy of an object with only non-object keys\n", " * we need this to avoid circular references\n", " * http://stackoverflow.com/a/24161582/3208463\n", " */\n", "function simpleKeys (original) {\n", " return Object.keys(original).reduce(function (obj, key) {\n", " if (typeof original[key] !== 'object')\n", " obj[key] = original[key]\n", " return obj;\n", " }, {});\n", "}\n", "\n", "mpl.figure.prototype.mouse_event = function(event, name) {\n", " var canvas_pos = mpl.findpos(event)\n", "\n", " if (name === 'button_press')\n", " {\n", " this.canvas.focus();\n", " this.canvas_div.focus();\n", " }\n", "\n", " var x = canvas_pos.x * mpl.ratio;\n", " var y = canvas_pos.y * mpl.ratio;\n", "\n", " this.send_message(name, {x: x, y: y, button: event.button,\n", " step: event.step,\n", " guiEvent: simpleKeys(event)});\n", "\n", " /* This prevents the web browser from automatically changing to\n", " * the text insertion cursor when the button is pressed. We want\n", " * to control all of the cursor setting manually through the\n", " * 'cursor' event from matplotlib */\n", " event.preventDefault();\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " // Handle any extra behaviour associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", "\n", " // Prevent repeat events\n", " if (name == 'key_press')\n", " {\n", " if (event.which === this._key)\n", " return;\n", " else\n", " this._key = event.which;\n", " }\n", " if (name == 'key_release')\n", " this._key = null;\n", "\n", " var value = '';\n", " if (event.ctrlKey && event.which != 17)\n", " value += \"ctrl+\";\n", " if (event.altKey && event.which != 18)\n", " value += \"alt+\";\n", " if (event.shiftKey && event.which != 16)\n", " value += \"shift+\";\n", "\n", " value += 'k';\n", " value += event.which.toString();\n", "\n", " this._key_event_extra(event, name);\n", "\n", " this.send_message(name, {key: value,\n", " guiEvent: simpleKeys(event)});\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", " if (name == 'download') {\n", " this.handle_save(this, null);\n", " } else {\n", " this.send_message(\"toolbar_button\", {name: name});\n", " }\n", "};\n", "\n", "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", " this.message.textContent = tooltip;\n", "};\n", "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", "\n", "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", "\n", "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", " // Create a \"websocket\"-like object which calls the given IPython comm\n", " // object with the appropriate methods. Currently this is a non binary\n", " // socket, so there is still some room for performance tuning.\n", " var ws = {};\n", "\n", " ws.close = function() {\n", " comm.close()\n", " };\n", " ws.send = function(m) {\n", " //console.log('sending', m);\n", " comm.send(m);\n", " };\n", " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", "}\n", "\n", "mpl.mpl_figure_comm = function(comm, msg) {\n", " // This is the function which gets called when the mpl process\n", " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", "\n", " var id = msg.content.data.id;\n", " // Get hold of the div created by the display call when the Comm\n", " // socket was opened in Python.\n", " var element = $(\"#\" + id);\n", " var ws_proxy = comm_websocket_adapter(comm)\n", "\n", " function ondownload(figure, format) {\n", " window.open(figure.imageObj.src);\n", " }\n", "\n", " var fig = new mpl.figure(id, ws_proxy,\n", " ondownload,\n", " element.get(0));\n", "\n", " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", " // web socket which is closed, not our websocket->open comm proxy.\n", " ws_proxy.onopen();\n", "\n", " fig.parent_element = element.get(0);\n", " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", " if (!fig.cell_info) {\n", " console.error(\"Failed to find cell for figure\", id, fig);\n", " return;\n", " }\n", "\n", " var output_index = fig.cell_info[2]\n", " var cell = fig.cell_info[0];\n", "\n", "};\n", "\n", "mpl.figure.prototype.handle_close = function(fig, msg) {\n", " var width = fig.canvas.width/mpl.ratio\n", " fig.root.unbind('remove')\n", "\n", " // Update the output cell to use the data from the current canvas.\n", " fig.push_to_output();\n", " var dataURL = fig.canvas.toDataURL();\n", " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", " // the notebook keyboard shortcuts fail.\n", " IPython.keyboard_manager.enable()\n", " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", " fig.close_ws(fig, msg);\n", "}\n", "\n", "mpl.figure.prototype.close_ws = function(fig, msg){\n", " fig.send_message('closing', msg);\n", " // fig.ws.close()\n", "}\n", "\n", "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", " // Turn the data on the canvas into data in the output cell.\n", " var width = this.canvas.width/mpl.ratio\n", " var dataURL = this.canvas.toDataURL();\n", " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Tell IPython that the notebook contents must change.\n", " IPython.notebook.set_dirty(true);\n", " this.send_message(\"ack\", {});\n", " var fig = this;\n", " // Wait a second, then push the new image to the DOM so\n", " // that it is saved nicely (might be nice to debounce this).\n", " setTimeout(function () { fig.push_to_output() }, 1000);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items){\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) { continue; };\n", "\n", " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " event.shiftKey = false;\n", " // Send a \"J\" for go to next cell\n", " event.which = 74;\n", " event.keyCode = 74;\n", " manager.command_mode();\n", " manager.handle_keydown(event);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i<ncells; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type === 'code'){\n", " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", " var data = cell.output_area.outputs[j];\n", " if (data.data) {\n", " // IPython >= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "<IPython.core.display.Javascript object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<img src=\"data:image/png;base64,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kLuDQ1vVtnTpUi8lc87DRdOtW7d44cIFRkREKErkHZMnT7bsEmsh0hJt/uaNGzcUJ/GcdnemUKFCj8wrU81ms7FYsWIEwCVLlijJ8GD/LXe3DpICSxhyd3BUr16dAPj99997KZlr7t27x/DwcIe9CO/fv69sR3azrVixggD4/PPPq44ixBOhe/fubNq0qeWacrqidu3alpjKkZzt27cTALNly8aYmBglGczovyUFljDk7uAoXbo0ATAsLMxLyZz3559/sn///qxSpQoLFCjA7NmzMygoiM8//zy/++67NLFdzs6dOy3T2FUIX3b16lVu27YtxT1Ub926xYEDB7Jr166pF8xkf/zxBwEwQ4YMlryjr62M7tOnj7IMZvTfkgJLGHJ3cBQoUIAA+Mcff3gpmXOOHDnCihUrslSpUgwNDeXq1au5bt06LliwgO+++y4DAgLYo0cP3r17V2lOT504cUL/tCeEcF/Tpk3p5+fHNm3a8Pvvv+f169cN52equrNihp49exKAJVvU3L59W1+5p2oBkln9t6TAEobcHRzapphnz571UjLndO/ena1atWJ0dHSyP//1118ZHBzMtWvXpnIyc928eZMACICxsbGq4wjhk65cucKiRYty5MiRrFOnDv38/FivXj0uWbKE4eHh+pSCZcuW+XRrl6ioKL2AseJm1TNnziQAlitXTtnio6+//poA+Nxzz3l0HimwhCF3BofNZtP/2F+/ft2L6R7vlVde4aeffpriaypXrsw5c+akUiLvsNvtDAgIIABevHhRdRwhfNLWrVv56quv8sSJEyT/N72gefPm9PPzY8WKFTlt2jT+9ddfLFKkCL/44gvFad03YcIEAmClSpUsuXo6JCSEADhx4kRlGbR5xNOnT/foPFJgCUPuDA7tGADKb6GPHDmSdevWZVhYGOPj45mQkECbzabvPbh582aWLVuWW7ZsUZrTDEFBQUpvqQvh627dusWNGzc+MnH98uXLfOutt5gxY0ZmyZKFWbJk8dkFMjabjSVLliQAfvfdd6rjPOLYsWN67ytVH9BPnz5NAPT39/d4tagUWMKQO4Pj0qVL+i+I6k9HkZGRfOWVV1i0aFH27NmTo0eP5oQJExgaGsrOnTszICCAAwcONHyE6Eu0jsebNm1SHUWINCEpKclhb75bt24xW7ZsHDFihMJUnvnxxx8JgNmz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\" width=\"600\">" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('<div/>');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", " 'ui-helper-clearfix\"/>');\n", " var titletext = $(\n", " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", " 'text-align: center; padding: 3px;\"/>');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('<div/>');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('<canvas/>');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('<canvas/>');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('<button/>');\n", " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", " 'ui-button-icon-only');\n", " button.attr('role', 'button');\n", " button.attr('aria-disabled', 'false');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", "\n", " var icon_img = $('<span/>');\n", " icon_img.addClass('ui-button-icon-primary ui-icon');\n", " icon_img.addClass(image);\n", " icon_img.addClass('ui-corner-all');\n", "\n", " var tooltip_span = $('<span/>');\n", " tooltip_span.addClass('ui-button-text');\n", " tooltip_span.html(tooltip);\n", "\n", " button.append(icon_img);\n", " button.append(tooltip_span);\n", "\n", " nav_element.append(button);\n", " }\n", "\n", " var fmt_picker_span = $('<span/>');\n", "\n", " var fmt_picker = $('<select/>');\n", " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", " fmt_picker_span.append(fmt_picker);\n", " nav_element.append(fmt_picker_span);\n", " this.format_dropdown = fmt_picker[0];\n", "\n", " for (var ind in mpl.extensions) {\n", " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", " fmt_picker.append(option)\n", " }\n", "\n", " // Add hover states to the ui-buttons\n", " $( \".ui-button\" ).hover(\n", " function() { $(this).addClass(\"ui-state-hover\");},\n", " function() { $(this).removeClass(\"ui-state-hover\");}\n", " );\n", "\n", " var status_bar = $('<span class=\"mpl-message\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "}\n", "\n", "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", " // which will in turn request a refresh of the image.\n", " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", "}\n", "\n", "mpl.figure.prototype.send_message = function(type, properties) {\n", " properties['type'] = type;\n", " properties['figure_id'] = this.id;\n", " this.ws.send(JSON.stringify(properties));\n", "}\n", "\n", "mpl.figure.prototype.send_draw_message = function() {\n", " if (!this.waiting) {\n", " this.waiting = true;\n", " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", " }\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " var format_dropdown = fig.format_dropdown;\n", " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", " fig.ondownload(fig, format);\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", " var size = msg['size'];\n", " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", " fig._resize_canvas(size[0], size[1]);\n", " fig.send_message(\"refresh\", {});\n", " };\n", "}\n", "\n", "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", " var x0 = msg['x0'] / mpl.ratio;\n", " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", " var x1 = msg['x1'] / mpl.ratio;\n", " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", " x0 = Math.floor(x0) + 0.5;\n", " y0 = Math.floor(y0) + 0.5;\n", " x1 = Math.floor(x1) + 0.5;\n", " y1 = Math.floor(y1) + 0.5;\n", " var min_x = Math.min(x0, x1);\n", " var min_y = Math.min(y0, y1);\n", " var width = Math.abs(x1 - x0);\n", " var height = Math.abs(y1 - y0);\n", "\n", " fig.rubberband_context.clearRect(\n", " 0, 0, fig.canvas.width, fig.canvas.height);\n", "\n", " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", "}\n", "\n", "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", " // Updates the figure title.\n", " fig.header.textContent = msg['label'];\n", "}\n", "\n", "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", " var cursor = msg['cursor'];\n", " switch(cursor)\n", " {\n", " case 0:\n", " cursor = 'pointer';\n", " break;\n", " case 1:\n", " cursor = 'default';\n", " break;\n", " case 2:\n", " cursor = 'crosshair';\n", " break;\n", " case 3:\n", " cursor = 'move';\n", " break;\n", " }\n", " fig.rubberband_canvas.style.cursor = cursor;\n", "}\n", "\n", "mpl.figure.prototype.handle_message = function(fig, msg) {\n", " fig.message.textContent = msg['message'];\n", "}\n", "\n", "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", " // Request the server to send over a new figure.\n", " fig.send_draw_message();\n", "}\n", "\n", "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", " fig.image_mode = msg['mode'];\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Called whenever the canvas gets updated.\n", " this.send_message(\"ack\", {});\n", "}\n", "\n", "// A function to construct a web socket function for onmessage handling.\n", "// Called in the figure constructor.\n", "mpl.figure.prototype._make_on_message_function = function(fig) {\n", " return function socket_on_message(evt) {\n", " if (evt.data instanceof Blob) {\n", " /* FIXME: We get \"Resource interpreted as Image but\n", " * transferred with MIME type text/plain:\" errors on\n", " * Chrome. But how to set the MIME type? It doesn't seem\n", " * to be part of the websocket stream */\n", " evt.data.type = \"image/png\";\n", "\n", " /* Free the memory for the previous frames */\n", " if (fig.imageObj.src) {\n", " (window.URL || window.webkitURL).revokeObjectURL(\n", " fig.imageObj.src);\n", " }\n", "\n", " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", " evt.data);\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", " fig.imageObj.src = evt.data;\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", "\n", " var msg = JSON.parse(evt.data);\n", " var msg_type = msg['type'];\n", "\n", " // Call the \"handle_{type}\" callback, which takes\n", " // the figure and JSON message as its only arguments.\n", " try {\n", " var callback = fig[\"handle_\" + msg_type];\n", " } catch (e) {\n", " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", " return;\n", " }\n", "\n", " if (callback) {\n", " try {\n", " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", " callback(fig, msg);\n", " } catch (e) {\n", " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", " }\n", " }\n", " };\n", "}\n", "\n", "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", "mpl.findpos = function(e) {\n", " //this section is from http://www.quirksmode.org/js/events_properties.html\n", " var targ;\n", " if (!e)\n", " e = window.event;\n", " if (e.target)\n", " targ = e.target;\n", " else if (e.srcElement)\n", " targ = e.srcElement;\n", " if (targ.nodeType == 3) // defeat Safari bug\n", " targ = targ.parentNode;\n", "\n", " // jQuery normalizes the pageX and pageY\n", " // pageX,Y are the mouse positions relative to the document\n", " // offset() returns the position of the element relative to the document\n", " var x = e.pageX - $(targ).offset().left;\n", " var y = e.pageY - $(targ).offset().top;\n", "\n", " return {\"x\": x, \"y\": y};\n", "};\n", "\n", "/*\n", " * return a copy of an object with only non-object keys\n", " * we need this to avoid circular references\n", " * http://stackoverflow.com/a/24161582/3208463\n", " */\n", "function simpleKeys (original) {\n", " return Object.keys(original).reduce(function (obj, key) {\n", " if (typeof original[key] !== 'object')\n", " obj[key] = original[key]\n", " return obj;\n", " }, {});\n", "}\n", "\n", "mpl.figure.prototype.mouse_event = function(event, name) {\n", " var canvas_pos = mpl.findpos(event)\n", "\n", " if (name === 'button_press')\n", " {\n", " this.canvas.focus();\n", " this.canvas_div.focus();\n", " }\n", "\n", " var x = canvas_pos.x * mpl.ratio;\n", " var y = canvas_pos.y * mpl.ratio;\n", "\n", " this.send_message(name, {x: x, y: y, button: event.button,\n", " step: event.step,\n", " guiEvent: simpleKeys(event)});\n", "\n", " /* This prevents the web browser from automatically changing to\n", " * the text insertion cursor when the button is pressed. We want\n", " * to control all of the cursor setting manually through the\n", " * 'cursor' event from matplotlib */\n", " event.preventDefault();\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " // Handle any extra behaviour associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", "\n", " // Prevent repeat events\n", " if (name == 'key_press')\n", " {\n", " if (event.which === this._key)\n", " return;\n", " else\n", " this._key = event.which;\n", " }\n", " if (name == 'key_release')\n", " this._key = null;\n", "\n", " var value = '';\n", " if (event.ctrlKey && event.which != 17)\n", " value += \"ctrl+\";\n", " if (event.altKey && event.which != 18)\n", " value += \"alt+\";\n", " if (event.shiftKey && event.which != 16)\n", " value += \"shift+\";\n", "\n", " value += 'k';\n", " value += event.which.toString();\n", "\n", " this._key_event_extra(event, name);\n", "\n", " this.send_message(name, {key: value,\n", " guiEvent: simpleKeys(event)});\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", " if (name == 'download') {\n", " this.handle_save(this, null);\n", " } else {\n", " this.send_message(\"toolbar_button\", {name: name});\n", " }\n", "};\n", "\n", "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", " this.message.textContent = tooltip;\n", "};\n", "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", "\n", "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", "\n", "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", " // Create a \"websocket\"-like object which calls the given IPython comm\n", " // object with the appropriate methods. Currently this is a non binary\n", " // socket, so there is still some room for performance tuning.\n", " var ws = {};\n", "\n", " ws.close = function() {\n", " comm.close()\n", " };\n", " ws.send = function(m) {\n", " //console.log('sending', m);\n", " comm.send(m);\n", " };\n", " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", "}\n", "\n", "mpl.mpl_figure_comm = function(comm, msg) {\n", " // This is the function which gets called when the mpl process\n", " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", "\n", " var id = msg.content.data.id;\n", " // Get hold of the div created by the display call when the Comm\n", " // socket was opened in Python.\n", " var element = $(\"#\" + id);\n", " var ws_proxy = comm_websocket_adapter(comm)\n", "\n", " function ondownload(figure, format) {\n", " window.open(figure.imageObj.src);\n", " }\n", "\n", " var fig = new mpl.figure(id, ws_proxy,\n", " ondownload,\n", " element.get(0));\n", "\n", " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", " // web socket which is closed, not our websocket->open comm proxy.\n", " ws_proxy.onopen();\n", "\n", " fig.parent_element = element.get(0);\n", " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", " if (!fig.cell_info) {\n", " console.error(\"Failed to find cell for figure\", id, fig);\n", " return;\n", " }\n", "\n", " var output_index = fig.cell_info[2]\n", " var cell = fig.cell_info[0];\n", "\n", "};\n", "\n", "mpl.figure.prototype.handle_close = function(fig, msg) {\n", " var width = fig.canvas.width/mpl.ratio\n", " fig.root.unbind('remove')\n", "\n", " // Update the output cell to use the data from the current canvas.\n", " fig.push_to_output();\n", " var dataURL = fig.canvas.toDataURL();\n", " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", " // the notebook keyboard shortcuts fail.\n", " IPython.keyboard_manager.enable()\n", " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", " fig.close_ws(fig, msg);\n", "}\n", "\n", "mpl.figure.prototype.close_ws = function(fig, msg){\n", " fig.send_message('closing', msg);\n", " // fig.ws.close()\n", "}\n", "\n", "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", " // Turn the data on the canvas into data in the output cell.\n", " var width = this.canvas.width/mpl.ratio\n", " var dataURL = this.canvas.toDataURL();\n", " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Tell IPython that the notebook contents must change.\n", " IPython.notebook.set_dirty(true);\n", " this.send_message(\"ack\", {});\n", " var fig = this;\n", " // Wait a second, then push the new image to the DOM so\n", " // that it is saved nicely (might be nice to debounce this).\n", " setTimeout(function () { fig.push_to_output() }, 1000);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items){\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) { continue; };\n", "\n", " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " event.shiftKey = false;\n", " // Send a \"J\" for go to next cell\n", " event.which = 74;\n", " event.keyCode = 74;\n", " manager.command_mode();\n", " manager.handle_keydown(event);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i<ncells; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type === 'code'){\n", " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", " var data = cell.output_area.outputs[j];\n", " if (data.data) {\n", " // IPython >= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "<IPython.core.display.Javascript object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<img src=\"data:image/png;base64,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vn170bZnnnkGn/rUp3DMMcdgy5Yt+PjHP46//vWvZW3z+TzuvfdeHHfccTjiiCPwhS98AePj42X3hPsZ9fX14cYbb8S2bdtw3nnnAQACgQBuueUWfOADH8DmzZtx4okn4pvf/CZmZ2fL2pcGd5+k/LwrIVaw6vk9sNlsuOOOO3D88cdj27ZtRdcUiURw00034aijjsJxxx2HH//4x9i7dy/GxsbwxS9+EUceeSROPPFEPPvsszW/E0E0CgkWsWbhHqgejwef/vSncfPNN/OfqdVqbNy4EYlEouwhvnfvXlxxxRXYsGEDvv3tb2PXrl34whe+AJVKhXvvvbfoHCqVCh/5yEdw/PHH47HHHsOLL74In88HAPj2t7+Ngw8+GLfeeit+/etf4z/+4z9w+OGH4xOf+ETNIZRAIICjjjoKxx57LB544AH85je/wf33349zzjmH3ycUCuHwww/HySefjCeeeAJPPfUU/2Ls7Owsuw/nnXcePvvZz+LFF1/EzTffDJVKhfvvvx8XXXQRvva1r+Gll17CtddeC5VKhT/+8Y98e05kzjnnHLz//e/H008/jcceewzHHHMMjj/+eExNTfH7ihGs3bt34+yzz8ZBBx2EW2+9FS+//DKeeOIJfOITn+DvXSqVwsknn4z77rsPL7/8Mn72s5/hzDPPxCGHHMLvs7CwgJdffhkqlQrXX389P3QUCAT4+7N161bs2LEDTz/9NHbt2oVLLrkEGzZswNtvv81/n8nJSRx//PE4+uij8eijj+KZZ57BGWecgXPPPbemYC0uLuLggw/GZZddVnGffD6PzZs346KLLuK31SNYp512Gu68807s2rULzz33HC644AKoVCrodLqi/b7+9a9DpVLha1/7Gnbt2oUvfelL/DUICdaOHTtw3XXX4aWXXsKLL74IAHj22Wdx8cUX4/HHH8crr7yCe+65B4ceeiguuOACXroDgQBuvPFGqFQq/OIXv+DvO9cbJOXnXYnt27fjqquuQiqVKorCnsJ6fw927NiBSy+9FL/61a/w1FNPFd2T8847DzfeeCNeeuklfP7zn4dKpcJzzz2HM888E3fccQdeeuklfOYzn4FKpYLdbq/63QmiUUiwiDVLoWDt2rULRx55JJaWlgAAN9xwAy6//HIA5X8lq9VqqFQq/OQnPyk63le+8hVs2LABw8PD/DaVSoWNGzeir6+vaF+HwwGVSoW//OUvRduNRqPg9lIuueQSHHnkkRgdHS3aXtiztHPnTmzatAnRaJTflkwmceSRR+KSSy4puw9XX311UftPfepT2LBhA26//XZ+2549e3DaaacVvfw5wTr00EMxMTHBb3e73VCpVPje977HbxMjWA8//DBUKlWR5JRe3549e/DOO+8UfTY3N4cTTzwR3/rWt/ht1YYIr7zySpxzzjnI5/NFx//0pz+NM844g9927733QqVSwe1289tmZmawdevWmoLl9/uhUqlwzz33VNwHAM4991wcc8wx/L/rESzu/1mOd999F2effTauuOKKsu9x5513Fu37ta99raJg3XjjjWXnLz0XALzxxhtQqVRoa2vjt1UbIpTy865EpUnuhddT7+/BRRddhD179hSdh7snt912G7+N+13YsGEDL2LAvv8PDz30UFopSSgOCRaxZikUrJmZGRx88MF48803wbIsDj30UPz2t78FUC5Yt912Gw466CCwLFt0vI6ODqhUKvzqV7/it6lUKl7UCrn77ruxdetWzMzMlP31fcQRR+Db3/52xe89MzNT86W9Z88eHHbYYfjqV79a9tl3vvMdbNy4Edlstug+vPnmm0X7cWLh8XiKtu/cuRPve9/7+H9zgiX0Qv7kJz+JM888k/+3GME666yz8NGPfrTitZWyvLyMdDqNVCqFz3/+8/xwFlBZsNLpNDZs2IAnnnii7P4/9thjUKlUvCx++MMfxoUXXlh23jvvvLOmYHEi/eMf/7jqNXzmM5/BIYccwv+7HsEqJJPJIJVK4Y477uCHtwDgySefhEqlwsDAQNH+XV1dFQWrVg9MLpdDKpXif/7PP/88/1k9glXvz7v0WJ/85CdhNpuLgpMpKb8Hhb2zHNw96erqKtq+c+dOqFSqsqHM8847DxdffLGkayIIsZBgEWuWQsECgM9+9rPYuXMnXnvtNWzatImfdFwqWFdffXWRYHDMz89DpVLhBz/4Ab9NpVIV9ahwXHPNNRWXl6tUKnzxi1+s+L07OzuhUql4ARRicnISKpUKDz30UNlnzz//PFQqFUKhUNF9KBwuAf75Uikc4gP2veSPOOII/t/cC/bhhx8uO9fNN9+MzZs3lx2zkNIX7pYtW3DTTTdVvDaO1157Deeccw4OOeSQonv3gQ98gN+nkmBxvWvVwuv1AgA2b95cNHzM8cILL8jag3Xqqafy/65HsBiGwSc/+Uls3ry56Ptv2LCB34eTidKFHNlstqJgCaWPSKfTuPvuu3HCCSeU3a/HHnuM368ewRL78xai1hwsKb8HhT1xHNV+F7Zs2VK2/6WXXoqzzz673sshiLogwSLWLKWC9frrr2Pz5s248MILcd111/H7NSpYd911V9m+V199NU444YSyv7y58Pv9Fb+3UoJV2lPFvVRK/zq/5ZZbcPjhh/P/Xg3B+tOf/gSVSoWdO3fi9ddfh9FohNlsxhVXXFEkIJUEi+tt/MEPflDxZ8D1UDYiWNwcLKFeTA5uDlZhj8dll10mKFhf//rXi66vra0NGzZswKWXXopXX30VBoMBZrOZH/rjkCJYQhPMr7zyShx66KF4+OGH8fbbb8NkMvHD2oXHWM+CVfp7AIj/XeC49NJLcdZZZ9V7OQRRFyRYxJql9IG6e/duHHrooVCpVPif//kffj+xQ4Sc+JQOEQoJ1p133omDDjpIcE5LLRodIrz99tsFh0YaFayVHCK87rrrcPrpp5fN0fn0pz9dJCCzs7OCgjU9PQ2VSoUHHnig6nmAxoYIgX+uIozH44Kfv/7661CpVPjlL3/Jb7v++usF78HFF19cdH3cJPPCeWQAygRLyhBh6c89k8mU9VQBwODgYNkxnn322RUbIqwmWHL8HgAkWMTahASLWLMIPVBfe+01PProo0XiU2mS+5NPPll0vH/9138VnOQuJFg2m63iC/69996rmRNJ7CT3zZs3F73kpqamcNRRRwlO7m1UsCpNci9cWSnXJPcvfelLOP3004uSSXZ2dmLDhg1FArK0tFRRRi+77DIcc8wxSCaTZZ/NzMzw/93IJHdg3zysjRs34rLLLisT6pGREZx00kl43/veV/Qz/8EPfoDNmzcXfQ+/34+NGzcWXd99992Hww47rGjVXCwWw2GHHVZ0n30+H1Sq+ia5l/7cud6uRx99tGg7J5qFx+BWbwqtApR7knutNA2N/h4AJFjE2oQEi1izVHugFlL6EF9eXsbll1+ODRs24LbbbsOLL76I6667rkwmgMqCBewbtlGpVLjmmmvwi1/8Art27cI999yDU045RTCPUSF+vx9HHHEEn6bhlVdewYMPPljUE8AtTz/11FPx05/+FE8//TROP/30isvTGxWswjQNjz/+OI455hgc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\" width=\"600\">" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A = np.array([[1.4, -0.3], [-0.3, 0.6]])\n", "plot_qform(A, \"More Complicated Quadratic Form\")\n", "plot_qform3d(A, \"More complicated Quadratic Form\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, we don't always have an advanced plotting system available to us. The eigenvalues and eigenvectors of this matrix are \n", "$$\n", "\\lambda_1 = 1.5 \\quad \\mathbf{v}_1 =\n", "\\begin{bmatrix}\n", "0.9487 \\\\\n", "-0.3162\n", "\\end{bmatrix}\n", "$$\n", "$$\n", "\\lambda_2 = 0.5 \\quad \\mathbf{v}_2 =\n", "\\begin{bmatrix}\n", "0.3162 \\\\\n", "0.9487\n", "\\end{bmatrix}\n", "$$\n", "\n", "Now let\n", "$$\n", "Q =\n", "\\begin{bmatrix}\n", "0.9487 & 0.3162 \\\\\n", "-0.3162 & 0.9387\n", "\\end{bmatrix}\n", "$$\n", "and \n", "$$\n", "\\Lambda =\n", "\\begin{bmatrix}\n", "1.5 & 0 \\\\\n", "0 & 0.5\n", "\\end{bmatrix}\n", "$$\n", "\n", "Thus we have our eigendecomposition $A = Q\\Lambda Q^T$. We can rewrite our quadratic form as\n", "$$\n", "\\mathbf{x}^T A \\mathbf{x} = \\mathbf{x}^T Q \\Lambda Q^T\\mathbf{x} = \\mathbf{y}^T \\Lambda \\mathbf{y}\n", "$$\n", "if we let $\\mathbf{y} = Q^T \\mathbf{x}$. In this form, it's very obvious that $A$ is positive definite. We can plot the quadratic form under this new transformation $\\mathbf{y} = Q^T \\mathbf{x}$." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('<div/>');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", " 'ui-helper-clearfix\"/>');\n", " var titletext = $(\n", " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", " 'text-align: center; padding: 3px;\"/>');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('<div/>');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('<canvas/>');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('<canvas/>');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('<button/>');\n", " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", " 'ui-button-icon-only');\n", " button.attr('role', 'button');\n", " button.attr('aria-disabled', 'false');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", "\n", " var icon_img = $('<span/>');\n", " icon_img.addClass('ui-button-icon-primary ui-icon');\n", " icon_img.addClass(image);\n", " icon_img.addClass('ui-corner-all');\n", "\n", " var tooltip_span = $('<span/>');\n", " tooltip_span.addClass('ui-button-text');\n", " tooltip_span.html(tooltip);\n", "\n", " button.append(icon_img);\n", " button.append(tooltip_span);\n", "\n", " nav_element.append(button);\n", " }\n", "\n", " var fmt_picker_span = $('<span/>');\n", "\n", " var fmt_picker = $('<select/>');\n", " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", " fmt_picker_span.append(fmt_picker);\n", " nav_element.append(fmt_picker_span);\n", " this.format_dropdown = fmt_picker[0];\n", "\n", " for (var ind in mpl.extensions) {\n", " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", " fmt_picker.append(option)\n", " }\n", "\n", " // Add hover states to the ui-buttons\n", " $( \".ui-button\" ).hover(\n", " function() { $(this).addClass(\"ui-state-hover\");},\n", " function() { $(this).removeClass(\"ui-state-hover\");}\n", " );\n", "\n", " var status_bar = $('<span class=\"mpl-message\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "}\n", "\n", "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", " // which will in turn request a refresh of the image.\n", " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", "}\n", "\n", "mpl.figure.prototype.send_message = function(type, properties) {\n", " properties['type'] = type;\n", " properties['figure_id'] = this.id;\n", " this.ws.send(JSON.stringify(properties));\n", "}\n", "\n", "mpl.figure.prototype.send_draw_message = function() {\n", " if (!this.waiting) {\n", " this.waiting = true;\n", " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", " }\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " var format_dropdown = fig.format_dropdown;\n", " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", " fig.ondownload(fig, format);\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", " var size = msg['size'];\n", " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", " fig._resize_canvas(size[0], size[1]);\n", " fig.send_message(\"refresh\", {});\n", " };\n", "}\n", "\n", "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", " var x0 = msg['x0'] / mpl.ratio;\n", " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", " var x1 = msg['x1'] / mpl.ratio;\n", " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", " x0 = Math.floor(x0) + 0.5;\n", " y0 = Math.floor(y0) + 0.5;\n", " x1 = Math.floor(x1) + 0.5;\n", " y1 = Math.floor(y1) + 0.5;\n", " var min_x = Math.min(x0, x1);\n", " var min_y = Math.min(y0, y1);\n", " var width = Math.abs(x1 - x0);\n", " var height = Math.abs(y1 - y0);\n", "\n", " fig.rubberband_context.clearRect(\n", " 0, 0, fig.canvas.width, fig.canvas.height);\n", "\n", " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", "}\n", "\n", "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", " // Updates the figure title.\n", " fig.header.textContent = msg['label'];\n", "}\n", "\n", "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", " var cursor = msg['cursor'];\n", " switch(cursor)\n", " {\n", " case 0:\n", " cursor = 'pointer';\n", " break;\n", " case 1:\n", " cursor = 'default';\n", " break;\n", " case 2:\n", " cursor = 'crosshair';\n", " break;\n", " case 3:\n", " cursor = 'move';\n", " break;\n", " }\n", " fig.rubberband_canvas.style.cursor = cursor;\n", "}\n", "\n", "mpl.figure.prototype.handle_message = function(fig, msg) {\n", " fig.message.textContent = msg['message'];\n", "}\n", "\n", "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", " // Request the server to send over a new figure.\n", " fig.send_draw_message();\n", "}\n", "\n", "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", " fig.image_mode = msg['mode'];\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Called whenever the canvas gets updated.\n", " this.send_message(\"ack\", {});\n", "}\n", "\n", "// A function to construct a web socket function for onmessage handling.\n", "// Called in the figure constructor.\n", "mpl.figure.prototype._make_on_message_function = function(fig) {\n", " return function socket_on_message(evt) {\n", " if (evt.data instanceof Blob) {\n", " /* FIXME: We get \"Resource interpreted as Image but\n", " * transferred with MIME type text/plain:\" errors on\n", " * Chrome. But how to set the MIME type? It doesn't seem\n", " * to be part of the websocket stream */\n", " evt.data.type = \"image/png\";\n", "\n", " /* Free the memory for the previous frames */\n", " if (fig.imageObj.src) {\n", " (window.URL || window.webkitURL).revokeObjectURL(\n", " fig.imageObj.src);\n", " }\n", "\n", " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", " evt.data);\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", " fig.imageObj.src = evt.data;\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", "\n", " var msg = JSON.parse(evt.data);\n", " var msg_type = msg['type'];\n", "\n", " // Call the \"handle_{type}\" callback, which takes\n", " // the figure and JSON message as its only arguments.\n", " try {\n", " var callback = fig[\"handle_\" + msg_type];\n", " } catch (e) {\n", " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", " return;\n", " }\n", "\n", " if (callback) {\n", " try {\n", " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", " callback(fig, msg);\n", " } catch (e) {\n", " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", " }\n", " }\n", " };\n", "}\n", "\n", "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", "mpl.findpos = function(e) {\n", " //this section is from http://www.quirksmode.org/js/events_properties.html\n", " var targ;\n", " if (!e)\n", " e = window.event;\n", " if (e.target)\n", " targ = e.target;\n", " else if (e.srcElement)\n", " targ = e.srcElement;\n", " if (targ.nodeType == 3) // defeat Safari bug\n", " targ = targ.parentNode;\n", "\n", " // jQuery normalizes the pageX and pageY\n", " // pageX,Y are the mouse positions relative to the document\n", " // offset() returns the position of the element relative to the document\n", " var x = e.pageX - $(targ).offset().left;\n", " var y = e.pageY - $(targ).offset().top;\n", "\n", " return {\"x\": x, \"y\": y};\n", "};\n", "\n", "/*\n", " * return a copy of an object with only non-object keys\n", " * we need this to avoid circular references\n", " * http://stackoverflow.com/a/24161582/3208463\n", " */\n", "function simpleKeys (original) {\n", " return Object.keys(original).reduce(function (obj, key) {\n", " if (typeof original[key] !== 'object')\n", " obj[key] = original[key]\n", " return obj;\n", " }, {});\n", "}\n", "\n", "mpl.figure.prototype.mouse_event = function(event, name) {\n", " var canvas_pos = mpl.findpos(event)\n", "\n", " if (name === 'button_press')\n", " {\n", " this.canvas.focus();\n", " this.canvas_div.focus();\n", " }\n", "\n", " var x = canvas_pos.x * mpl.ratio;\n", " var y = canvas_pos.y * mpl.ratio;\n", "\n", " this.send_message(name, {x: x, y: y, button: event.button,\n", " step: event.step,\n", " guiEvent: simpleKeys(event)});\n", "\n", " /* This prevents the web browser from automatically changing to\n", " * the text insertion cursor when the button is pressed. We want\n", " * to control all of the cursor setting manually through the\n", " * 'cursor' event from matplotlib */\n", " event.preventDefault();\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " // Handle any extra behaviour associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", "\n", " // Prevent repeat events\n", " if (name == 'key_press')\n", " {\n", " if (event.which === this._key)\n", " return;\n", " else\n", " this._key = event.which;\n", " }\n", " if (name == 'key_release')\n", " this._key = null;\n", "\n", " var value = '';\n", " if (event.ctrlKey && event.which != 17)\n", " value += \"ctrl+\";\n", " if (event.altKey && event.which != 18)\n", " value += \"alt+\";\n", " if (event.shiftKey && event.which != 16)\n", " value += \"shift+\";\n", "\n", " value += 'k';\n", " value += event.which.toString();\n", "\n", " this._key_event_extra(event, name);\n", "\n", " this.send_message(name, {key: value,\n", " guiEvent: simpleKeys(event)});\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", " if (name == 'download') {\n", " this.handle_save(this, null);\n", " } else {\n", " this.send_message(\"toolbar_button\", {name: name});\n", " }\n", "};\n", "\n", "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", " this.message.textContent = tooltip;\n", "};\n", "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", "\n", "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", "\n", "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", " // Create a \"websocket\"-like object which calls the given IPython comm\n", " // object with the appropriate methods. Currently this is a non binary\n", " // socket, so there is still some room for performance tuning.\n", " var ws = {};\n", "\n", " ws.close = function() {\n", " comm.close()\n", " };\n", " ws.send = function(m) {\n", " //console.log('sending', m);\n", " comm.send(m);\n", " };\n", " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", "}\n", "\n", "mpl.mpl_figure_comm = function(comm, msg) {\n", " // This is the function which gets called when the mpl process\n", " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", "\n", " var id = msg.content.data.id;\n", " // Get hold of the div created by the display call when the Comm\n", " // socket was opened in Python.\n", " var element = $(\"#\" + id);\n", " var ws_proxy = comm_websocket_adapter(comm)\n", "\n", " function ondownload(figure, format) {\n", " window.open(figure.imageObj.src);\n", " }\n", "\n", " var fig = new mpl.figure(id, ws_proxy,\n", " ondownload,\n", " element.get(0));\n", "\n", " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", " // web socket which is closed, not our websocket->open comm proxy.\n", " ws_proxy.onopen();\n", "\n", " fig.parent_element = element.get(0);\n", " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", " if (!fig.cell_info) {\n", " console.error(\"Failed to find cell for figure\", id, fig);\n", " return;\n", " }\n", "\n", " var output_index = fig.cell_info[2]\n", " var cell = fig.cell_info[0];\n", "\n", "};\n", "\n", "mpl.figure.prototype.handle_close = function(fig, msg) {\n", " var width = fig.canvas.width/mpl.ratio\n", " fig.root.unbind('remove')\n", "\n", " // Update the output cell to use the data from the current canvas.\n", " fig.push_to_output();\n", " var dataURL = fig.canvas.toDataURL();\n", " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", " // the notebook keyboard shortcuts fail.\n", " IPython.keyboard_manager.enable()\n", " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", " fig.close_ws(fig, msg);\n", "}\n", "\n", "mpl.figure.prototype.close_ws = function(fig, msg){\n", " fig.send_message('closing', msg);\n", " // fig.ws.close()\n", "}\n", "\n", "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", " // Turn the data on the canvas into data in the output cell.\n", " var width = this.canvas.width/mpl.ratio\n", " var dataURL = this.canvas.toDataURL();\n", " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Tell IPython that the notebook contents must change.\n", " IPython.notebook.set_dirty(true);\n", " this.send_message(\"ack\", {});\n", " var fig = this;\n", " // Wait a second, then push the new image to the DOM so\n", " // that it is saved nicely (might be nice to debounce this).\n", " setTimeout(function () { fig.push_to_output() }, 1000);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items){\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) { continue; };\n", "\n", " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " event.shiftKey = false;\n", " // Send a \"J\" for go to next cell\n", " event.which = 74;\n", " event.keyCode = 74;\n", " manager.command_mode();\n", " manager.handle_keydown(event);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i<ncells; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type === 'code'){\n", " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", " var data = cell.output_area.outputs[j];\n", " if (data.data) {\n", " // IPython >= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "<IPython.core.display.Javascript object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<img src=\"data:image/png;base64,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ExISQm9vb964cUN6/G7duhEAhw8fLl3bjLgo8/3330vV3bZtGwHwtddek6prRhdYSYD4HBE6o0mTJmzevLnbX29eHLt375buZyRsBk6ePClNk/x/f5LqN8927doRgMs+OJWIfrjffvvN8tjuIAryxPrhpNG8DPNLQmL9OStYsCDXrl1L8vnnxLNnzxgeHm6cMuzevZsFChTgTz/9JD32l19+SQBs3769dG0zYic8obf9ovPzzz8TALNlyyZV14wusJII/v7+L5hmRkVFMWfOnG5/uEdGRrJIkSJxaig3Lw5xXVZWU3VkZKQxMFT225VK7xQz1atXJwAuX75caZzomG/nqewxSwhz585N9McrGs3LEB/uX331ld2pOKVy5cocOHCg0/6kkydPsly5cmzfvr1xq00my5YtIwDWqFFDuraZVq1aKfE0FCdDyZMnl/YSuGPHDo4fP56nTp0iqQusJMOqVavo5eXFRYsWMSgoiF27dqWvr69hvdCmTZsXHNZHjRrFnTt38sKFC/z555/ZvHlzpkqVKk43AM2LY9q0aQTA999/X8r3c+vWLQLPx1HINsMTt0MGDBggVTc6VlhBOOPo0aOJ3qJB7O4l1gZhjcYdxEUN1bs08WX16tX08/NjnTp1OH78eH788cesW7cuc+XKRQ8PD1avXp2///67ktgqLRTM9O/fX8ltc/PFLVd2R3GlSZMmBP5vxq0LrCTEjBkzDGM5f39/Hjt2zPh/VatWfeG2Vt++fY2vzZo1K+vVqxfnozjz4hAPGrNVREIQR0gqjOqaNm1KAJwyZYp0bUFUVBRTpkxJALxy5YqyOM5IChYNwjMtqVxx12icIaxGihQpYncqLjlx4gTfeecdFilShJUqVWLLli352WefvdCzq8IL6/LlywRAT09PaRefnDF58mQCYLNmzaRrZ8qUSeoRcM+ePV94sdQFlsYl5sXRvXt3qQ2NohG9WLFiUvTMVK1alYBaF3fzDlx4eLiyOM4YNWoUAbBjx46WxnUXsW5kWnpoNHZw+/ZtYy0n5okJgrt37zI4OPiFZ5KK4op8vgPk4eEhdQfIGStXriQAVq1aVbp20aJFCYB79uyRoifsc8TFJ11gaVxiXhxiV0jWHMJVq1YRAN98800pembED43sWydmxKiILFmyKIvhik6dOhEAR40aZXlsdxBHmDly5LA7FY0m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\" width=\"600\">" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A = np.array([[1.5, 0],[0, 0.5]])\n", "plot_qform(A, \"Rotated Quadratic Form\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This plot shows that the eigenbasis constitutes a rotation of the original quadratic form. We can also plot the eigenbasis on the original quadratic form." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('<div/>');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", " 'ui-helper-clearfix\"/>');\n", " var titletext = $(\n", " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", " 'text-align: center; padding: 3px;\"/>');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('<div/>');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('<canvas/>');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('<canvas/>');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('<button/>');\n", " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", " 'ui-button-icon-only');\n", " button.attr('role', 'button');\n", " button.attr('aria-disabled', 'false');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", "\n", " var icon_img = $('<span/>');\n", " icon_img.addClass('ui-button-icon-primary ui-icon');\n", " icon_img.addClass(image);\n", " icon_img.addClass('ui-corner-all');\n", "\n", " var tooltip_span = $('<span/>');\n", " tooltip_span.addClass('ui-button-text');\n", " tooltip_span.html(tooltip);\n", "\n", " button.append(icon_img);\n", " button.append(tooltip_span);\n", "\n", " nav_element.append(button);\n", " }\n", "\n", " var fmt_picker_span = $('<span/>');\n", "\n", " var fmt_picker = $('<select/>');\n", " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", " fmt_picker_span.append(fmt_picker);\n", " nav_element.append(fmt_picker_span);\n", " this.format_dropdown = fmt_picker[0];\n", "\n", " for (var ind in mpl.extensions) {\n", " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", " fmt_picker.append(option)\n", " }\n", "\n", " // Add hover states to the ui-buttons\n", " $( \".ui-button\" ).hover(\n", " function() { $(this).addClass(\"ui-state-hover\");},\n", " function() { $(this).removeClass(\"ui-state-hover\");}\n", " );\n", "\n", " var status_bar = $('<span class=\"mpl-message\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "}\n", "\n", "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", " // which will in turn request a refresh of the image.\n", " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", "}\n", "\n", "mpl.figure.prototype.send_message = function(type, properties) {\n", " properties['type'] = type;\n", " properties['figure_id'] = this.id;\n", " this.ws.send(JSON.stringify(properties));\n", "}\n", "\n", "mpl.figure.prototype.send_draw_message = function() {\n", " if (!this.waiting) {\n", " this.waiting = true;\n", " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", " }\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " var format_dropdown = fig.format_dropdown;\n", " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", " fig.ondownload(fig, format);\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", " var size = msg['size'];\n", " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", " fig._resize_canvas(size[0], size[1]);\n", " fig.send_message(\"refresh\", {});\n", " };\n", "}\n", "\n", "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", " var x0 = msg['x0'] / mpl.ratio;\n", " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", " var x1 = msg['x1'] / mpl.ratio;\n", " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", " x0 = Math.floor(x0) + 0.5;\n", " y0 = Math.floor(y0) + 0.5;\n", " x1 = Math.floor(x1) + 0.5;\n", " y1 = Math.floor(y1) + 0.5;\n", " var min_x = Math.min(x0, x1);\n", " var min_y = Math.min(y0, y1);\n", " var width = Math.abs(x1 - x0);\n", " var height = Math.abs(y1 - y0);\n", "\n", " fig.rubberband_context.clearRect(\n", " 0, 0, fig.canvas.width, fig.canvas.height);\n", "\n", " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", "}\n", "\n", "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", " // Updates the figure title.\n", " fig.header.textContent = msg['label'];\n", "}\n", "\n", "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", " var cursor = msg['cursor'];\n", " switch(cursor)\n", " {\n", " case 0:\n", " cursor = 'pointer';\n", " break;\n", " case 1:\n", " cursor = 'default';\n", " break;\n", " case 2:\n", " cursor = 'crosshair';\n", " break;\n", " case 3:\n", " cursor = 'move';\n", " break;\n", " }\n", " fig.rubberband_canvas.style.cursor = cursor;\n", "}\n", "\n", "mpl.figure.prototype.handle_message = function(fig, msg) {\n", " fig.message.textContent = msg['message'];\n", "}\n", "\n", "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", " // Request the server to send over a new figure.\n", " fig.send_draw_message();\n", "}\n", "\n", "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", " fig.image_mode = msg['mode'];\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Called whenever the canvas gets updated.\n", " this.send_message(\"ack\", {});\n", "}\n", "\n", "// A function to construct a web socket function for onmessage handling.\n", "// Called in the figure constructor.\n", "mpl.figure.prototype._make_on_message_function = function(fig) {\n", " return function socket_on_message(evt) {\n", " if (evt.data instanceof Blob) {\n", " /* FIXME: We get \"Resource interpreted as Image but\n", " * transferred with MIME type text/plain:\" errors on\n", " * Chrome. But how to set the MIME type? It doesn't seem\n", " * to be part of the websocket stream */\n", " evt.data.type = \"image/png\";\n", "\n", " /* Free the memory for the previous frames */\n", " if (fig.imageObj.src) {\n", " (window.URL || window.webkitURL).revokeObjectURL(\n", " fig.imageObj.src);\n", " }\n", "\n", " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", " evt.data);\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", " fig.imageObj.src = evt.data;\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", "\n", " var msg = JSON.parse(evt.data);\n", " var msg_type = msg['type'];\n", "\n", " // Call the \"handle_{type}\" callback, which takes\n", " // the figure and JSON message as its only arguments.\n", " try {\n", " var callback = fig[\"handle_\" + msg_type];\n", " } catch (e) {\n", " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", " return;\n", " }\n", "\n", " if (callback) {\n", " try {\n", " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", " callback(fig, msg);\n", " } catch (e) {\n", " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", " }\n", " }\n", " };\n", "}\n", "\n", "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", "mpl.findpos = function(e) {\n", " //this section is from http://www.quirksmode.org/js/events_properties.html\n", " var targ;\n", " if (!e)\n", " e = window.event;\n", " if (e.target)\n", " targ = e.target;\n", " else if (e.srcElement)\n", " targ = e.srcElement;\n", " if (targ.nodeType == 3) // defeat Safari bug\n", " targ = targ.parentNode;\n", "\n", " // jQuery normalizes the pageX and pageY\n", " // pageX,Y are the mouse positions relative to the document\n", " // offset() returns the position of the element relative to the document\n", " var x = e.pageX - $(targ).offset().left;\n", " var y = e.pageY - $(targ).offset().top;\n", "\n", " return {\"x\": x, \"y\": y};\n", "};\n", "\n", "/*\n", " * return a copy of an object with only non-object keys\n", " * we need this to avoid circular references\n", " * http://stackoverflow.com/a/24161582/3208463\n", " */\n", "function simpleKeys (original) {\n", " return Object.keys(original).reduce(function (obj, key) {\n", " if (typeof original[key] !== 'object')\n", " obj[key] = original[key]\n", " return obj;\n", " }, {});\n", "}\n", "\n", "mpl.figure.prototype.mouse_event = function(event, name) {\n", " var canvas_pos = mpl.findpos(event)\n", "\n", " if (name === 'button_press')\n", " {\n", " this.canvas.focus();\n", " this.canvas_div.focus();\n", " }\n", "\n", " var x = canvas_pos.x * mpl.ratio;\n", " var y = canvas_pos.y * mpl.ratio;\n", "\n", " this.send_message(name, {x: x, y: y, button: event.button,\n", " step: event.step,\n", " guiEvent: simpleKeys(event)});\n", "\n", " /* This prevents the web browser from automatically changing to\n", " * the text insertion cursor when the button is pressed. We want\n", " * to control all of the cursor setting manually through the\n", " * 'cursor' event from matplotlib */\n", " event.preventDefault();\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " // Handle any extra behaviour associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", "\n", " // Prevent repeat events\n", " if (name == 'key_press')\n", " {\n", " if (event.which === this._key)\n", " return;\n", " else\n", " this._key = event.which;\n", " }\n", " if (name == 'key_release')\n", " this._key = null;\n", "\n", " var value = '';\n", " if (event.ctrlKey && event.which != 17)\n", " value += \"ctrl+\";\n", " if (event.altKey && event.which != 18)\n", " value += \"alt+\";\n", " if (event.shiftKey && event.which != 16)\n", " value += \"shift+\";\n", "\n", " value += 'k';\n", " value += event.which.toString();\n", "\n", " this._key_event_extra(event, name);\n", "\n", " this.send_message(name, {key: value,\n", " guiEvent: simpleKeys(event)});\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", " if (name == 'download') {\n", " this.handle_save(this, null);\n", " } else {\n", " this.send_message(\"toolbar_button\", {name: name});\n", " }\n", "};\n", "\n", "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", " this.message.textContent = tooltip;\n", "};\n", "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", "\n", "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", "\n", "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", " // Create a \"websocket\"-like object which calls the given IPython comm\n", " // object with the appropriate methods. Currently this is a non binary\n", " // socket, so there is still some room for performance tuning.\n", " var ws = {};\n", "\n", " ws.close = function() {\n", " comm.close()\n", " };\n", " ws.send = function(m) {\n", " //console.log('sending', m);\n", " comm.send(m);\n", " };\n", " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", "}\n", "\n", "mpl.mpl_figure_comm = function(comm, msg) {\n", " // This is the function which gets called when the mpl process\n", " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", "\n", " var id = msg.content.data.id;\n", " // Get hold of the div created by the display call when the Comm\n", " // socket was opened in Python.\n", " var element = $(\"#\" + id);\n", " var ws_proxy = comm_websocket_adapter(comm)\n", "\n", " function ondownload(figure, format) {\n", " window.open(figure.imageObj.src);\n", " }\n", "\n", " var fig = new mpl.figure(id, ws_proxy,\n", " ondownload,\n", " element.get(0));\n", "\n", " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", " // web socket which is closed, not our websocket->open comm proxy.\n", " ws_proxy.onopen();\n", "\n", " fig.parent_element = element.get(0);\n", " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", " if (!fig.cell_info) {\n", " console.error(\"Failed to find cell for figure\", id, fig);\n", " return;\n", " }\n", "\n", " var output_index = fig.cell_info[2]\n", " var cell = fig.cell_info[0];\n", "\n", "};\n", "\n", "mpl.figure.prototype.handle_close = function(fig, msg) {\n", " var width = fig.canvas.width/mpl.ratio\n", " fig.root.unbind('remove')\n", "\n", " // Update the output cell to use the data from the current canvas.\n", " fig.push_to_output();\n", " var dataURL = fig.canvas.toDataURL();\n", " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", " // the notebook keyboard shortcuts fail.\n", " IPython.keyboard_manager.enable()\n", " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", " fig.close_ws(fig, msg);\n", "}\n", "\n", "mpl.figure.prototype.close_ws = function(fig, msg){\n", " fig.send_message('closing', msg);\n", " // fig.ws.close()\n", "}\n", "\n", "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", " // Turn the data on the canvas into data in the output cell.\n", " var width = this.canvas.width/mpl.ratio\n", " var dataURL = this.canvas.toDataURL();\n", " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Tell IPython that the notebook contents must change.\n", " IPython.notebook.set_dirty(true);\n", " this.send_message(\"ack\", {});\n", " var fig = this;\n", " // Wait a second, then push the new image to the DOM so\n", " // that it is saved nicely (might be nice to debounce this).\n", " setTimeout(function () { fig.push_to_output() }, 1000);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items){\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) { continue; };\n", "\n", " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " event.shiftKey = false;\n", " // Send a \"J\" for go to next cell\n", " event.which = 74;\n", " event.keyCode = 74;\n", " manager.command_mode();\n", " manager.handle_keydown(event);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i<ncells; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type === 'code'){\n", " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", " var data = cell.output_area.outputs[j];\n", " if (data.data) {\n", " // IPython >= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "<IPython.core.display.Javascript object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<img src=\"data:image/png;base64,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\" width=\"600\">" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "A = np.array([[1.4, -0.3], [-0.3, 0.6]])\n", "Q = np.array([[0.9486833 , 0.31622777],[-0.31622777, 0.9486833]])\n", "\n", "def plot_qform_axes(A, Q, title):\n", " axx = A[0,0]\n", " ayy = A[1,1]\n", " axy = 2*A[0,1]\n", " x = np.linspace(-2, 2)\n", " y = np.linspace(-2, 2)\n", " X, Y = np.meshgrid(x,y)\n", " Z = axx*X**2 + axy*X*Y + ayy*Y**2\n", " fig, ax = plt.subplots(figsize=(6,6))\n", " CS = ax.contour(X, Y, Z, colors='k')\n", " ax.clabel(CS, inline=1, fontsize=10)\n", " origin = [0], [0]\n", " ax.quiver(*origin, Q[0,:], Q[1,:], color='k', scale=3)\n", " plt.title(title)\n", " plt.axis('equal')\n", " plt.show()\n", " \n", "plot_qform_axes(A, Q, \"Eigenbasis of Quadratic Form\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From this plot, we can see that the ellipse has a longer axis in the direction of the eigenvector with smaller associated eigenvalue. This is because the quadratic form grows slowest in the direction of the eigenvector with smallest eigenvalue. Similarly, the ellipse's shorter axis is the eigenvector with the larger eigenvalue. This is because the quadratic form grows quickest in this direction. This concept generalizes to higher dimensions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simple Numerical Examples\n", "\n", "Now that we know we can analyze the quadratic form associated with a matrix by simply lookin at its spectral properties, we can use python to find the spectrum of a matrix. Consider the matrix\n", "$$\n", "A =\n", "\\begin{bmatrix}\n", "2 & -1 & 0 \\\\\n", "-1& 2 & -1 \\\\\n", "0 & -1 & 2\n", "\\end{bmatrix}\n", "$$\n", "In python, we can analyze the spectrum of this matrix using the `numpy.linalg.eig` function." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([3.41421356, 2. , 0.58578644]),\n", " array([[-5.00000000e-01, -7.07106781e-01, 5.00000000e-01],\n", " [ 7.07106781e-01, 4.05925293e-16, 7.07106781e-01],\n", " [-5.00000000e-01, 7.07106781e-01, 5.00000000e-01]]))" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy.linalg as la\n", "A = np.array([[2., -1., 0.],\n", " [-1., 2., -1.],\n", " [0., -1., 2.]])\n", "la.eig(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Thus we have that this matrix is positive definite. This would have been impossible to plot and time consuming to solve by hand. Now consider the matrix\n", "\n", "$$\n", "\\begin{bmatrix}\n", "2 & 1 & -1 \\\\\n", "1 & 4 & -3 \\\\\n", "-1 & -3 & 4\n", "\\end{bmatrix}\n", "$$\n", "\n", "Using the `numpy.linalg.eig` function gives us" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([ 6.58774145, 1.60179257, -0.18953402]),\n", " array([[ 0.29152938, 0.94907855, -0.11941745],\n", " [ 0.56721933, -0.07099407, 0.82050111],\n", " [-0.77024208, 0.30693606, 0.55903255]]))" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = np.array([[2., 1., -1],\n", " [1., 2., -3.],\n", " [-1., -3., 4.]])\n", "la.eig(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Which tells us that the matrix is indefinite." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Application: Lyapunov Theory\n", "\n", "### Dynamical Systems and Equilibrium Points\n", "\n", "We will now show how quadratic forms can be applied to stability theory of dynamical systems. First, we must start with a few definitions. Consider the autonomous (time-invariant) system given by\n", "\n", "$$\n", "\\dot{\\mathbf{x}} = f(\\mathbf{x})\n", "$$\n", "and suppose that this system meets the criteria to have a unique solution given some initial condition $\\mathbf{x}_0$ (namely that it is lipschitz). A point $\\bar{\\mathbf{x}}$ is an equilibrium point if \n", "$$\n", "f(\\bar{\\mathbf{x}}) = \\mathbf{0}\n", "$$\n", "In the case where $\\bar{\\mathbf{x}} \\neq \\mathbf{0}$ we can shift the system to the origin by the transformation $\\mathbf{y} = \\mathbf{x} - \\bar{\\mathbf{x}}$, and we get the new system\n", "$$\n", "\\dot{\\mathbf{y}} = \\dot{\\mathbf{x}} - \\dot{\\bar{\\mathbf{x}}} = f(\\mathbf{x}) - \\mathbf{0} = f(\\mathbf{y} + \\bar{\\mathbf{x}})\n", "$$\n", "So we can convert any equilibrium point to an equilibrium point of a system around the origin. Thus without loss of generality, we will assume that our equilibrium point $\\bar{\\mathbf{x}} = \\mathbf{0}$\n", "\n", "### Stability of Equilibrium Points\n", "It is important to be able to classify these equilibrium points so that we can qualitatively determine how the system will behave. Stability is a desirable property of equilibrium points since we can conclude that within some region the system will stay near this equilibrium point. An equilibrium point $\\bar{\\mathbf{x}} = 0$ is stable if for every $\\epsilon > 0$ we can find a $\\delta = \\delta(\\epsilon) > 0$ such that\n", "$$\n", "||\\mathbf{x}_0|| < \\delta \\rightarrow ||\\mathbf{x}(t)|| < \\epsilon, \\ \\forall t > 0\n", "$$\n", "A more desireable condition is _asymptotic stability_. An equilibrium point is asymptotically stable if it stable and there exists a $\\delta > 0$ such that\n", "$$\n", "||\\mathbf{x}_0|| < \\delta \\rightarrow \\lim_{t \\to \\infty} \\mathbf{x}(t) = \\mathbf{0}\n", "$$\n", "\n", "### Lyapunov Functions\n", "A lyapunov function is a positive definite function $V(\\mathbf{x}) > 0\\ \\forall \\mathbf{x} \\in \\mathbb{R}^n \\setminus \\{\\mathbf{0}\\}$, that can be used to prove the stability of a dynamical system. Since postive definite matrices have an associated positive definite quadratic form, in many cases we can use positive definite matrices to prove stability of dynamical systems. The basic idea is as follows. Let $V(\\mathbf{x})$ be a positive definite function. If $\\dot{V}(\\mathbf{x}) < 0\\ \\forall \\mathbf{x} \\in \\mathbb{R}^n \\setminus \\{\\mathbf{0}\\}$, then the equilibrium point $\\bar{\\mathbf{x}} = \\mathbf{0}$ is asymptotically stable. This is proven explicitly in Khalil's Nonlinear Systems. We can, however, make an argument of the validity of this theorem if we analyze $\\dot{V}(\\mathbf{x})$. By the chain rule, we have that\n", "$$\n", "\\dot{V}(\\mathbf{x}) = \\sum_{i=1}^n \\frac{\\partial V}{\\partial x_i} \\frac{d x_i}{dt} = \\nabla V(\\mathbf{x})^T \\dot{\\mathbf{x}} = \\nabla V(\\mathbf{x})^T f(\\mathbf{x})\n", "$$\n", "Since $\\nabla V$ is the direction of steepest ascent of our positive definite function, we have that $-\\nabla V$ is the direction of steepest descent. The inner product with $f(\\mathbf{x})$ can be seen as a cosine similarity metric, so if $\\nabla V(\\mathbf{x})^T f(\\mathbf{x}) < 0$ we have that the system is evolving in a descending direction of our lyapunov function. If this is true for all $\\mathbf{x} \\in \\mathbb{R}^n \\setminus \\{ \\mathbf{0} \\}$, then all trajectories of our system are descending on our lyapunov surface. \n", "\n", "### Lyapunov Functions for Linear and Linearized Systems\n", "The power of quadratic forms really shines in Lyapunov theory when we consider linear systems $\\dot{\\mathbf{x}} = A\\mathbf{x}$. If the system is not linear, then we can linearize it by taking the jacobian and evaluating our jacobian at the equilibrium point. Therefore we will consider \"locally linear systems.\" We will define our lyapunov function\n", "$$\n", "V(\\mathbf{x}) = \\mathbf{x}^TP\\mathbf{x}\n", "$$\n", "where $P$ is a positive definite matrix. Analyzing $\\dot{V}(\\mathbf{x})$ gives us\n", "$$\n", "\\dot{V}(\\mathbf{x}) = \\dot{\\mathbf{x}}^TP\\mathbf{x} + \\mathbf{x}^TP\\dot{\\mathbf{x}} = \\mathbf{x}^TA^TP\\mathbf{x} + \\mathbf{x}^TPA\\mathbf{x} = \\mathbf{x}^T(A^TP + PA)\\mathbf{x}\n", "$$\n", "Therefore, if we can find a positive definite matrix $P$ such that $A^TP + PA$ is a negative definite matrix, we have a stable system. Alternatively, we can specify a negative definite matrix $Q$ and solve the equation $Q = A^TP + PA$ for $P$ using the Bartels-Stewart algorithm. If the system is asymptotically stable, we are guaranteed to find a solution (See Hespanha's Linear Systems Theory).\n", "\n", "To see how these concepts come together geometrically, consider the dynamical system of a pendulum.\n", "$$\n", "ml^2\\ddot{\\theta} = mgl \\sin \\theta - b\\dot{\\theta}\n", "$$\n", "Where $\\theta$ is measured clockwise from vertical. Letting $ \\mathbf{x} = [\\theta, \\dot{\\theta}]^T$, and linearizing about $\\theta = \\pi$ we can rewrite this system in state space form as\n", "$$\n", "\\dot{\\mathbf{x}} = \n", "\\begin{bmatrix}\n", "0 & 1 \\\\\n", "-\\frac{g}{l} & -\\frac{b}{ml^2}\n", "\\end{bmatrix}\\mathbf{x}\n", "$$\n", "\n", "We can specify a negative definite $Q$ matrix to find the appropriate lyapunov function for our system. Let\n", "\n", "$$\n", "Q = \n", "\\begin{bmatrix}\n", "-1 & 0 \\\\\n", "0 & -1\n", "\\end{bmatrix}\n", "$$\n", "Using python, we can solve $A^TP + PA^T = Q$ for $P$ which yields" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[20.6454842, 0.0509684],\n", " [ 0.0509684, 2.1019368]])" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.linalg import solve_lyapunov as lyap\n", "g = 9.81\n", "l = 1.\n", "m = 1.\n", "b = 0.5\n", "A = np.array([[0, 1],[-g/l, -b/(m*l**2)]])\n", "Q = -np.eye(2)\n", "Q[1,1] = -2\n", "P = lyap(A.T,Q)\n", "P" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "P = \n", "\\begin{bmatrix}\n", "20.645 & 0.0509 \\\\\n", "0.0509 & 2.1019\n", "\\end{bmatrix}\n", "$$\n", "\n", "So we have found a matrix $P$ that represents a quadratic form that is a valid lyapunov function for this system. Thus the equilibrium point is stable.\n", "\n", "### Visualization of Lyapunov Functions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All this math may seem hopelessly complex, but fortunately we can visualize the solution of this dynamical system and its associated lyapunov function. Using python we have the following plot." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('<div/>');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " if (mpl.ratio != 1) {\n", " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", " }\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " fig.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", " 'ui-helper-clearfix\"/>');\n", " var titletext = $(\n", " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", " 'text-align: center; padding: 3px;\"/>');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('<div/>');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('<canvas/>');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var backingStore = this.context.backingStorePixelRatio ||\n", "\tthis.context.webkitBackingStorePixelRatio ||\n", "\tthis.context.mozBackingStorePixelRatio ||\n", "\tthis.context.msBackingStorePixelRatio ||\n", "\tthis.context.oBackingStorePixelRatio ||\n", "\tthis.context.backingStorePixelRatio || 1;\n", "\n", " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", "\n", " var rubberband = $('<canvas/>');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width * mpl.ratio);\n", " canvas.attr('height', height * mpl.ratio);\n", " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('<button/>');\n", " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", " 'ui-button-icon-only');\n", " button.attr('role', 'button');\n", " button.attr('aria-disabled', 'false');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", "\n", " var icon_img = $('<span/>');\n", " icon_img.addClass('ui-button-icon-primary ui-icon');\n", " icon_img.addClass(image);\n", " icon_img.addClass('ui-corner-all');\n", "\n", " var tooltip_span = $('<span/>');\n", " tooltip_span.addClass('ui-button-text');\n", " tooltip_span.html(tooltip);\n", "\n", " button.append(icon_img);\n", " button.append(tooltip_span);\n", "\n", " nav_element.append(button);\n", " }\n", "\n", " var fmt_picker_span = $('<span/>');\n", "\n", " var fmt_picker = $('<select/>');\n", " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", " fmt_picker_span.append(fmt_picker);\n", " nav_element.append(fmt_picker_span);\n", " this.format_dropdown = fmt_picker[0];\n", "\n", " for (var ind in mpl.extensions) {\n", " var fmt = mpl.extensions[ind];\n", " var option = $(\n", " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", " fmt_picker.append(option)\n", " }\n", "\n", " // Add hover states to the ui-buttons\n", " $( \".ui-button\" ).hover(\n", " function() { $(this).addClass(\"ui-state-hover\");},\n", " function() { $(this).removeClass(\"ui-state-hover\");}\n", " );\n", "\n", " var status_bar = $('<span class=\"mpl-message\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "}\n", "\n", "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", " // which will in turn request a refresh of the image.\n", " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", "}\n", "\n", "mpl.figure.prototype.send_message = function(type, properties) {\n", " properties['type'] = type;\n", " properties['figure_id'] = this.id;\n", " this.ws.send(JSON.stringify(properties));\n", "}\n", "\n", "mpl.figure.prototype.send_draw_message = function() {\n", " if (!this.waiting) {\n", " this.waiting = true;\n", " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", " }\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " var format_dropdown = fig.format_dropdown;\n", " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", " fig.ondownload(fig, format);\n", "}\n", "\n", "\n", "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", " var size = msg['size'];\n", " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", " fig._resize_canvas(size[0], size[1]);\n", " fig.send_message(\"refresh\", {});\n", " };\n", "}\n", "\n", "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", " var x0 = msg['x0'] / mpl.ratio;\n", " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", " var x1 = msg['x1'] / mpl.ratio;\n", " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", " x0 = Math.floor(x0) + 0.5;\n", " y0 = Math.floor(y0) + 0.5;\n", " x1 = Math.floor(x1) + 0.5;\n", " y1 = Math.floor(y1) + 0.5;\n", " var min_x = Math.min(x0, x1);\n", " var min_y = Math.min(y0, y1);\n", " var width = Math.abs(x1 - x0);\n", " var height = Math.abs(y1 - y0);\n", "\n", " fig.rubberband_context.clearRect(\n", " 0, 0, fig.canvas.width, fig.canvas.height);\n", "\n", " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", "}\n", "\n", "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", " // Updates the figure title.\n", " fig.header.textContent = msg['label'];\n", "}\n", "\n", "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", " var cursor = msg['cursor'];\n", " switch(cursor)\n", " {\n", " case 0:\n", " cursor = 'pointer';\n", " break;\n", " case 1:\n", " cursor = 'default';\n", " break;\n", " case 2:\n", " cursor = 'crosshair';\n", " break;\n", " case 3:\n", " cursor = 'move';\n", " break;\n", " }\n", " fig.rubberband_canvas.style.cursor = cursor;\n", "}\n", "\n", "mpl.figure.prototype.handle_message = function(fig, msg) {\n", " fig.message.textContent = msg['message'];\n", "}\n", "\n", "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", " // Request the server to send over a new figure.\n", " fig.send_draw_message();\n", "}\n", "\n", "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", " fig.image_mode = msg['mode'];\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Called whenever the canvas gets updated.\n", " this.send_message(\"ack\", {});\n", "}\n", "\n", "// A function to construct a web socket function for onmessage handling.\n", "// Called in the figure constructor.\n", "mpl.figure.prototype._make_on_message_function = function(fig) {\n", " return function socket_on_message(evt) {\n", " if (evt.data instanceof Blob) {\n", " /* FIXME: We get \"Resource interpreted as Image but\n", " * transferred with MIME type text/plain:\" errors on\n", " * Chrome. But how to set the MIME type? It doesn't seem\n", " * to be part of the websocket stream */\n", " evt.data.type = \"image/png\";\n", "\n", " /* Free the memory for the previous frames */\n", " if (fig.imageObj.src) {\n", " (window.URL || window.webkitURL).revokeObjectURL(\n", " fig.imageObj.src);\n", " }\n", "\n", " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", " evt.data);\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", " fig.imageObj.src = evt.data;\n", " fig.updated_canvas_event();\n", " fig.waiting = false;\n", " return;\n", " }\n", "\n", " var msg = JSON.parse(evt.data);\n", " var msg_type = msg['type'];\n", "\n", " // Call the \"handle_{type}\" callback, which takes\n", " // the figure and JSON message as its only arguments.\n", " try {\n", " var callback = fig[\"handle_\" + msg_type];\n", " } catch (e) {\n", " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", " return;\n", " }\n", "\n", " if (callback) {\n", " try {\n", " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", " callback(fig, msg);\n", " } catch (e) {\n", " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", " }\n", " }\n", " };\n", "}\n", "\n", "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", "mpl.findpos = function(e) {\n", " //this section is from http://www.quirksmode.org/js/events_properties.html\n", " var targ;\n", " if (!e)\n", " e = window.event;\n", " if (e.target)\n", " targ = e.target;\n", " else if (e.srcElement)\n", " targ = e.srcElement;\n", " if (targ.nodeType == 3) // defeat Safari bug\n", " targ = targ.parentNode;\n", "\n", " // jQuery normalizes the pageX and pageY\n", " // pageX,Y are the mouse positions relative to the document\n", " // offset() returns the position of the element relative to the document\n", " var x = e.pageX - $(targ).offset().left;\n", " var y = e.pageY - $(targ).offset().top;\n", "\n", " return {\"x\": x, \"y\": y};\n", "};\n", "\n", "/*\n", " * return a copy of an object with only non-object keys\n", " * we need this to avoid circular references\n", " * http://stackoverflow.com/a/24161582/3208463\n", " */\n", "function simpleKeys (original) {\n", " return Object.keys(original).reduce(function (obj, key) {\n", " if (typeof original[key] !== 'object')\n", " obj[key] = original[key]\n", " return obj;\n", " }, {});\n", "}\n", "\n", "mpl.figure.prototype.mouse_event = function(event, name) {\n", " var canvas_pos = mpl.findpos(event)\n", "\n", " if (name === 'button_press')\n", " {\n", " this.canvas.focus();\n", " this.canvas_div.focus();\n", " }\n", "\n", " var x = canvas_pos.x * mpl.ratio;\n", " var y = canvas_pos.y * mpl.ratio;\n", "\n", " this.send_message(name, {x: x, y: y, button: event.button,\n", " step: event.step,\n", " guiEvent: simpleKeys(event)});\n", "\n", " /* This prevents the web browser from automatically changing to\n", " * the text insertion cursor when the button is pressed. We want\n", " * to control all of the cursor setting manually through the\n", " * 'cursor' event from matplotlib */\n", " event.preventDefault();\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " // Handle any extra behaviour associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", "\n", " // Prevent repeat events\n", " if (name == 'key_press')\n", " {\n", " if (event.which === this._key)\n", " return;\n", " else\n", " this._key = event.which;\n", " }\n", " if (name == 'key_release')\n", " this._key = null;\n", "\n", " var value = '';\n", " if (event.ctrlKey && event.which != 17)\n", " value += \"ctrl+\";\n", " if (event.altKey && event.which != 18)\n", " value += \"alt+\";\n", " if (event.shiftKey && event.which != 16)\n", " value += \"shift+\";\n", "\n", " value += 'k';\n", " value += event.which.toString();\n", "\n", " this._key_event_extra(event, name);\n", "\n", " this.send_message(name, {key: value,\n", " guiEvent: simpleKeys(event)});\n", " return false;\n", "}\n", "\n", "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", " if (name == 'download') {\n", " this.handle_save(this, null);\n", " } else {\n", " this.send_message(\"toolbar_button\", {name: name});\n", " }\n", "};\n", "\n", "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", " this.message.textContent = tooltip;\n", "};\n", "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", "\n", "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", "\n", "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", " // Create a \"websocket\"-like object which calls the given IPython comm\n", " // object with the appropriate methods. Currently this is a non binary\n", " // socket, so there is still some room for performance tuning.\n", " var ws = {};\n", "\n", " ws.close = function() {\n", " comm.close()\n", " };\n", " ws.send = function(m) {\n", " //console.log('sending', m);\n", " comm.send(m);\n", " };\n", " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", "}\n", "\n", "mpl.mpl_figure_comm = function(comm, msg) {\n", " // This is the function which gets called when the mpl process\n", " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", "\n", " var id = msg.content.data.id;\n", " // Get hold of the div created by the display call when the Comm\n", " // socket was opened in Python.\n", " var element = $(\"#\" + id);\n", " var ws_proxy = comm_websocket_adapter(comm)\n", "\n", " function ondownload(figure, format) {\n", " window.open(figure.imageObj.src);\n", " }\n", "\n", " var fig = new mpl.figure(id, ws_proxy,\n", " ondownload,\n", " element.get(0));\n", "\n", " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", " // web socket which is closed, not our websocket->open comm proxy.\n", " ws_proxy.onopen();\n", "\n", " fig.parent_element = element.get(0);\n", " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", " if (!fig.cell_info) {\n", " console.error(\"Failed to find cell for figure\", id, fig);\n", " return;\n", " }\n", "\n", " var output_index = fig.cell_info[2]\n", " var cell = fig.cell_info[0];\n", "\n", "};\n", "\n", "mpl.figure.prototype.handle_close = function(fig, msg) {\n", " var width = fig.canvas.width/mpl.ratio\n", " fig.root.unbind('remove')\n", "\n", " // Update the output cell to use the data from the current canvas.\n", " fig.push_to_output();\n", " var dataURL = fig.canvas.toDataURL();\n", " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", " // the notebook keyboard shortcuts fail.\n", " IPython.keyboard_manager.enable()\n", " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", " fig.close_ws(fig, msg);\n", "}\n", "\n", "mpl.figure.prototype.close_ws = function(fig, msg){\n", " fig.send_message('closing', msg);\n", " // fig.ws.close()\n", "}\n", "\n", "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", " // Turn the data on the canvas into data in the output cell.\n", " var width = this.canvas.width/mpl.ratio\n", " var dataURL = this.canvas.toDataURL();\n", " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", "}\n", "\n", "mpl.figure.prototype.updated_canvas_event = function() {\n", " // Tell IPython that the notebook contents must change.\n", " IPython.notebook.set_dirty(true);\n", " this.send_message(\"ack\", {});\n", " var fig = this;\n", " // Wait a second, then push the new image to the DOM so\n", " // that it is saved nicely (might be nice to debounce this).\n", " setTimeout(function () { fig.push_to_output() }, 1000);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('<div/>')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items){\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) { continue; };\n", "\n", " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " event.shiftKey = false;\n", " // Send a \"J\" for go to next cell\n", " event.which = 74;\n", " event.keyCode = 74;\n", " manager.command_mode();\n", " manager.handle_keydown(event);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i<ncells; i++) {\n", " var cell = cells[i];\n", " if (cell.cell_type === 'code'){\n", " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", " var data = cell.output_area.outputs[j];\n", " if (data.data) {\n", " // IPython >= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "<IPython.core.display.Javascript object>" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAJYCAYAAAC+ZpjcAAAgAElEQVR4nOzdaXgUVd738UJEQBTcEFHHfUcd13tAEXFQREVRBncdV3Dhdh1lRnGZ211Ex9FRFHUYRUVFIQsJ2UMgIWQhK5BA9oTse4eEsP6fFzyn5nT1qe6q7tNdla7f97rOCzGkOtVFnw9VpwqFEEIIIYSQ1BSrXwBCCCGEULgFYCGEEEIISQ7AQgghhBCSHICFEEIIISQ5AAshhBBCSHIAFkIIIYSQ5AAshBBCCCHJAVgIIYQQQpIDsBBCCCGEJAdgIYQQQghJDsBCCCGEEJIcgIUQQgghJDkACyGEEEJIcgAWQgghhJDkACyEEEIIIckBWAghhBBCkgOwEEIIIYQkB2AhhBBCCEkOwEIIIYQQkhyAhRBCCCEkOQALIYQQQkhyABZCCCGEkOQALIQQQgghyQFYCCGEEEKSA7AQQgghhCQHYCGEEEIISQ7AQgghhBCSHICFEEIIISQ5AAshhBBCSHIAFkIIIYSQ5AAshBBCCCHJAVgIIYQQQpIDsBBCCCGEJAdgIYQQQghJDsBCCCGEEJIcgIUQQgghJDkACyGEEEJIcgAWQgghhJDkACyEEEIIIckBWAghhBBCkgOwEEIIIYQkB2AhhBBCCEkOwEIIIYQQkhyAhRBCCCEkOQALIYQQQkhyABZCCCGEkOQALIQQQgghyQFYCCGEEEKSA7AQQgghhCQHYCGEEEIISQ7AQgghhBCSHICFEEIIISQ5AAshhBBCSHIAFkIIIYSQ5AAshBBCCCHJAVgIIYQQQpIDsBBCCCGEJAdgIYQQQghJDsBCCCGEEJIcgIUQQgghJDkACyGEEEJIcgAWQgghhJDkACyEEEIIIckBWAghhBBCkgOwEEIIIYQkB2AhhBBCCEkOwEIIIYQQkhyAhRBCCCEkOQALIYQQQkhyABZCCCGEkOQALIQQQgghyQFYCCGEEEKSA7AQQgghhCQHYCGEEEIISQ7AQgghhBCSHICFEEIIISQ5AAshhBBCSHIAFkIIIYSQ5AAshBBCCCHJAVgIIYQQQpIDsBBCCCGEJAdgIYQQQghJDsBCCCGEEJIcgIUQQgghJDkACyGEEEJIcgAWQgghhJDkACyEELJ5iYmJpCgKrVu3zuqXghAyGICFkA1bsmQJKYpCOTk5Vr+UsOqrr74iRVGEY/78+Va/PPr000/p22+/9fh1AAuhgReAhZANA7CCEwPW22+/TUuXLnUbBQUFVr88Ovvss2nKlCkev75v3z7auXMn7d+/34JXhRDyJwALIRsGYAUnBqz8/HyrX4owPWAhhAZeABZCNswXsLq7u2nYsGH0/PPPe/y/6upqGjRoEC1YsICIiFpbW+n555+ncePG0YgRI2jkyJF0ww03UFFRkdvvY5ehli9fTn/961/p2GOPpUMPPZRmzJhB27dvd/vaE044gR555BGPbV955ZVuQGDf87fffqM33niDjj/+eBo2bBhNmTKFKioqPH7/smXL6KKLLqKhQ4fSMcccQ/fffz81NDSo///dd9+lQYMGUV1dncfvfeGFF2jo0KHU1dUl3GdExoBVVlZGiqLQ0qVL3X59z549pCgKvfnmm+qvzZ8/nxRFocrKSrr//vtp5MiRNGrUKHrkkUeor6/P43t/++23dNlll9Hw4cPpyCOPpEmTJlFiYiIRHdin2suWbF/qXSL0tb+IiO69914aNWoU1dbW0s0330wjRoygY445hubNm0f79u3T3Q8IocACsBCyYUbOYN155510/PHHe0yS77zzDh100EEqijIzM+nMM8+kl156ib788kt64403aOzYsXTkkUdSY2Oj+vvYJH7BBRfQRRddRP/4xz9o3rx5NHToUDr33HNp586d6teaBdbFF19Ml19+OX388cf02muv0fDhw+mKK65w+70MP//zP/9DH3/8Mf31r3+lYcOG0WmnnUbd3d1ERFRRUUGKotBHH33k9nv3799PJ510Es2YMcPrfmXbSE1NpdbWVnW0tbWpX+MPsC6++GKaNWsWff755/Twww+Toij08ssvu/3+V155hRRFoYkTJ9IHH3xAH3/8Md19993q161YsYLGjh1L48aNUy9bJiUlue1HHlhG9hfRAWAdeuihdM4559Cjjz5KixYtottuu40URaHFixd73V8IIf8DsBCyYUaAFRMTQ4qiqGdAWOPGjXNDTn9/vwfCysvL6ZBDDqF33nlH/TU2iZ900knU09Oj/vqPP/5IiqLQZ599pv6aWWCdf/75tHv3bvXXP/zwQ1IUhUpKStTXePTRR9Pvf/976u/vV78uIiKCFEWhN954Q/21yy+/nP7whz+4bXf9+vWkKAr9+OOPOnvrQHqL3AcPHqx+jT/AmjNn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\" width=\"600\">" ], "text/plain": [ "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from scipy.integrate import odeint\n", "\n", "t = np.linspace(0,30,num=10000)\n", "Ax = lambda x, t: A.dot(x)\n", "x0 = [0.5, -0.2]\n", "xt = odeint(Ax, x0, t)\n", "\n", "title = \"Lyapunov Function\"\n", "axx = P[0,0]\n", "ayy = P[1,1]\n", "axy = 2*P[0,1]\n", "x = np.linspace(-1, 1)\n", "y = np.linspace(-1, 1)\n", "X, Y = np.meshgrid(x,y)\n", "Z = axx*X**2 + axy*X*Y + ayy*Y**2\n", "zt = axx*xt[:,0]**2 + axy*xt[:,0]*xt[:,1] + ayy*xt[:,1]**2\n", "fig = plt.figure(figsize=(6,6))\n", "ax = fig.gca(projection='3d')\n", "surf = ax.plot_surface(X, Y, Z, cmap=cm.gray,\n", " linewidth=0, antialiased=False)\n", "ax.plot3D(xt[:,0],xt[:,1],zt, 'b')\n", "plt.title(title)\n", "plt.axis('equal')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the solution of this system is always decreasing along the surface of the lyapunov function. This is precisely what it means to have a valid lyapunov function and for the equilibrium point to be stable!" ] }, { "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": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.15" } }, "nbformat": 4, "nbformat_minor": 2 }