`GET /api/v2/video/2028`
```HTTP 200 OK
Vary: Accept
Content-Type: text/html; charset=utf-8
Allow: GET, PUT, PATCH, HEAD, OPTIONS

{
"category": "SciPy 2013",
"language": "English",
"slug": "matrix-expressions-and-blaslapack-scipy-2013-pr",
"speakers": [],
"tags": [
"Tech"
],
"id": 2028,
"state": 1,
"title": "Matrix Expressions and BLAS/LAPACK; SciPy 2013 Presentation",
"summary": "Authors: Rocklin, Matthew, University of Chicago Computer Science\n\nTrack: General\n\nNumeric linear algebra is important ubiquitous. The BLAS/LAPACK libraries include high performance implementations of DLA algorithms in a variety of mathematical situations. They are underused because\n\nThe interface is challenging to scientific users\nThe number of routines is huge, pressuring users to select general routines rather than finding the one that best fits their situation.\nI demonstrate a small DSL for Matrix Algebra[1] embedded in the SymPy project [2]. I use logic programming to infer attributes about larger matrix expressions [3]. I describe the BLAS and LAPACK libraries programmatically [4] and use strategic programming [5] to automatically build directed acyclic graphs of BLAS/LAPACK operations to compute complex expressions [6]. From these I generate readable Fortran code [7]. I then use f2py to bring this back into Python. The result is a clean mathematical interface that efficiently generates mathematically informed numeric code. I compare these results against other popular numeric packages like NumPy and Theano.\n\nPhilosophically I'll plug the following ideas\n\nMultiple clean intermediate representations - Aside from a runnable Python function this project also generates perfectly readable Fortran90 code and a directed acyclic graph. I'll briefly show that the availability of the DAG representation opens up the possibility of static scheduling.\nDeclarative programming - All of the math in this project is defined separately from the algorithms, increasing opportunities for independent development. I'll probably talk about separating what code from how code.\nI may evangelize a bit about small, modular and generally applicable projects.",
"description": "",
"quality_notes": "",
"embed": "<object width=\"640\" height=\"390\"><param name=\"movie\" value=\"http://youtube.com/v/nVt24G_2VC0?version=3&amp;hl=en_US\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://youtube.com/v/nVt24G_2VC0?version=3&amp;hl=en_US\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"390\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed></object>",
"thumbnail_url": "http://i1.ytimg.com/vi/nVt24G_2VC0/hqdefault.jpg",
"duration": null,
"video_ogv_length": null,
"video_ogv_url": null,
"video_mp4_length": null,
"video_mp4_url": null,