You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@madlib.apache.org by ri...@apache.org on 2017/05/16 20:29:16 UTC

[01/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Repository: incubator-madlib-site
Updated Branches:
  refs/heads/asf-site eaa6ce9d3 -> b5b51c69e


http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/pca_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/pca_8sql__in.html b/docs/v1.11/pca_8sql__in.html
new file mode 100644
index 0000000..d4f3add
--- /dev/null
+++ b/docs/v1.11/pca_8sql__in.html
@@ -0,0 +1,1845 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: pca.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('pca_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">pca.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Principal Component Analysis.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:aa0482e3074f528f681a6cb4a374e25a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#aa0482e3074f528f681a6cb4a374e25a1">pca_train</a> (text source_table, text pc_table, text row_id, integer k, text grouping_cols, integer lanczos_iter, boolean use_correlation, text result_summary_table, float8 variance)</td></tr>
+<tr class="separator:aa0482e3074f528f681a6cb4a374e25a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4cf4caceb80885e288cc0451e6f47695"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a4cf4caceb80885e288cc0451e6f47695">pca_train</a> (text source_table, text pc_table, text row_id, integer k, text grouping_cols, integer lanczos_iter, boolean use_correlation, text result_summary_table)</td></tr>
+<tr class="separator:a4cf4caceb80885e288cc0451e6f47695"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5634af9beb7936506ec2f5775c81d038"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a5634af9beb7936506ec2f5775c81d038">pca_train</a> (text source_table, text pc_table, text row_id, integer k, text grouping_cols, integer lanczos_iter, boolean use_correlation)</td></tr>
+<tr class="separator:a5634af9beb7936506ec2f5775c81d038"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d1cfcf6a7c8a9c69808ec8927b900d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a2d1cfcf6a7c8a9c69808ec8927b900d1">pca_train</a> (text source_table, text pc_table, text row_id, integer k, text grouping_cols, integer lanczos_iter)</td></tr>
+<tr class="separator:a2d1cfcf6a7c8a9c69808ec8927b900d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b52d3800ed2d529ccd2a1c2417a986d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a7b52d3800ed2d529ccd2a1c2417a986d">pca_train</a> (text source_table, text pc_table, text row_id, integer k, text grouping_cols)</td></tr>
+<tr class="separator:a7b52d3800ed2d529ccd2a1c2417a986d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13f55d8f0ddc1ed37dc06dfd1f797f8d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a13f55d8f0ddc1ed37dc06dfd1f797f8d">pca_train</a> (text source_table, text pc_table, text row_id, integer k)</td></tr>
+<tr class="separator:a13f55d8f0ddc1ed37dc06dfd1f797f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3935e186e2db92ddad12574924dc075"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#aa3935e186e2db92ddad12574924dc075">pca_train</a> (text source_table, text pc_table, text row_id, float8 variance, text grouping_cols, integer lanczos_iter, boolean use_correlation, text result_summary_table)</td></tr>
+<tr class="separator:aa3935e186e2db92ddad12574924dc075"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fca1853e46de92796f1b2462073bb87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a0fca1853e46de92796f1b2462073bb87">pca_train</a> (text source_table, text pc_table, text row_id, float8 variance, text grouping_cols, integer lanczos_iter, boolean use_correlation)</td></tr>
+<tr class="separator:a0fca1853e46de92796f1b2462073bb87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7acd4b138ff5edd6e51ff3727842123a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a7acd4b138ff5edd6e51ff3727842123a">pca_train</a> (text source_table, text pc_table, text row_id, float8 variance, text grouping_cols, integer lanczos_iter)</td></tr>
+<tr class="separator:a7acd4b138ff5edd6e51ff3727842123a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7d85a5369594004c207604e486c4a9b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#ae7d85a5369594004c207604e486c4a9b">pca_train</a> (text source_table, text pc_table, text row_id, float8 variance, text grouping_cols)</td></tr>
+<tr class="separator:ae7d85a5369594004c207604e486c4a9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3facc2b75c5a57b469d636b0cf71f624"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a3facc2b75c5a57b469d636b0cf71f624">pca_train</a> (text source_table, text pc_table, text row_id, float8 variance)</td></tr>
+<tr class="separator:a3facc2b75c5a57b469d636b0cf71f624"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3bdb5967e072a36265fafe9f37164622"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a3bdb5967e072a36265fafe9f37164622">pca_train</a> (varchar usage_string)</td></tr>
+<tr class="separator:a3bdb5967e072a36265fafe9f37164622"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31abf88e67a446a4f789764aa2c61e85"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a31abf88e67a446a4f789764aa2c61e85">pca_train</a> ()</td></tr>
+<tr class="separator:a31abf88e67a446a4f789764aa2c61e85"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf22f179f07b6a88edd410a3f163d80b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#aaf22f179f07b6a88edd410a3f163d80b">pca_sparse_train</a> (text source_table, text pc_table, text row_id, text col_id, text val_id, integer row_dim, integer col_dim, integer k, text grouping_cols, integer lanczos_iter, boolean use_correlation, text result_summary_table, float8 variance)</td></tr>
+<tr class="separator:aaf22f179f07b6a88edd410a3f163d80b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c819bc0f3fa1f02234d62cd5a8f391e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a9c819bc0f3fa1f02234d62cd5a8f391e">pca_sparse_train</a> (text source_table, text pc_table, text row_id, text col_id, text val_id, integer row_dim, integer col_dim, integer k, text grouping_cols, integer lanczos_iter, boolean use_correlation, text result_summary_table)</td></tr>
+<tr class="separator:a9c819bc0f3fa1f02234d62cd5a8f391e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f808e855a139ac21876bd8d7f6c94f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a5f808e855a139ac21876bd8d7f6c94f9">pca_sparse_train</a> (text source_table, text pc_table, text row_id, text col_id, text val_id, integer row_dim, integer col_dim, integer k, text grouping_cols, integer lanczos_iter, boolean use_correlation)</td></tr>
+<tr class="separator:a5f808e855a139ac21876bd8d7f6c94f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace5236fb2133c297eca85ab788e6dfc2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#ace5236fb2133c297eca85ab788e6dfc2">pca_sparse_train</a> (text source_table, text pc_table, text row_id, text col_id, text val_id, integer row_dim, integer col_dim, integer k, text grouping_cols, integer lanczos_iter)</td></tr>
+<tr class="separator:ace5236fb2133c297eca85ab788e6dfc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a370a0cd4c3776db9716783877caaaea5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a370a0cd4c3776db9716783877caaaea5">pca_sparse_train</a> (text source_table, text pc_table, text row_id, text col_id, text val_id, integer row_dim, integer col_dim, integer k, text grouping_cols)</td></tr>
+<tr class="separator:a370a0cd4c3776db9716783877caaaea5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47c9234d8f49a7467b4e2d172eb6958f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a47c9234d8f49a7467b4e2d172eb6958f">pca_sparse_train</a> (text source_table, text pc_table, text row_id, text col_id, text val_id, integer row_dim, integer col_dim, integer k)</td></tr>
+<tr class="separator:a47c9234d8f49a7467b4e2d172eb6958f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abcb783cb9b8cf34520930a25e1264566"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#abcb783cb9b8cf34520930a25e1264566">pca_sparse_train</a> (text source_table, text pc_table, text row_id, text col_id, text val_id, integer row_dim, integer col_dim, float8 variance, text grouping_cols, integer lanczos_iter, boolean use_correlation, text result_summary_table)</td></tr>
+<tr class="separator:abcb783cb9b8cf34520930a25e1264566"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaac2bea5ee35d3c250fb8ddfb43de7ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#aaac2bea5ee35d3c250fb8ddfb43de7ee">pca_sparse_train</a> (text source_table, text pc_table, text row_id, text col_id, text val_id, integer row_dim, integer col_dim, float8 variance, text grouping_cols, integer lanczos_iter, boolean use_correlation)</td></tr>
+<tr class="separator:aaac2bea5ee35d3c250fb8ddfb43de7ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7eefdb60ea3a6ba720c22159708bbf6b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a7eefdb60ea3a6ba720c22159708bbf6b">pca_sparse_train</a> (text source_table, text pc_table, text row_id, text col_id, text val_id, integer row_dim, integer col_dim, float8 variance, text grouping_cols, integer lanczos_iter)</td></tr>
+<tr class="separator:a7eefdb60ea3a6ba720c22159708bbf6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5bde0ac01309c986b8aed5ff3ccb2b04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a5bde0ac01309c986b8aed5ff3ccb2b04">pca_sparse_train</a> (text source_table, text pc_table, text row_id, text col_id, text val_id, integer row_dim, integer col_dim, float8 variance, text grouping_cols)</td></tr>
+<tr class="separator:a5bde0ac01309c986b8aed5ff3ccb2b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5258b8d0fdd1697c3ab3e4d954d07ca1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a5258b8d0fdd1697c3ab3e4d954d07ca1">pca_sparse_train</a> (text source_table, text pc_table, text row_id, text col_id, text val_id, integer row_dim, integer col_dim, float8 variance)</td></tr>
+<tr class="separator:a5258b8d0fdd1697c3ab3e4d954d07ca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa3e70c278fc1d4ab52396192691a8a3e"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#aa3e70c278fc1d4ab52396192691a8a3e">pca_sparse_train</a> (varchar usage_string)</td></tr>
+<tr class="separator:aa3e70c278fc1d4ab52396192691a8a3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a62d21cdcc12ff8a54ea572f5af7073"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a1a62d21cdcc12ff8a54ea572f5af7073">pca_sparse_train</a> ()</td></tr>
+<tr class="separator:a1a62d21cdcc12ff8a54ea572f5af7073"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2c896b607596a09d707365bb9287e73b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html#a2c896b607596a09d707365bb9287e73b">_pca_union</a> (text source_table, text pc_table, text pc_table_mean, text row_id, integer k, text grouping_cols, integer lanczos_iter, boolean use_correlation, text result_summary_table, text result_summary_table_temp, float8 variance, integer grp_id, text grouping_where_clause, text sparse_where_condition, text select_grouping_cols, text temp_table_columns, boolean is_sparse, text col_id, text val_id, integer row_dim, integer col_dim)</td></tr>
+<tr class="separator:a2c896b607596a09d707365bb9287e73b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section see"><dt>See also</dt><dd>For a brief introduction to Principal Component Analysis, see the module description <a class="el" href="group__grp__pca.html">Dimensionality Reduction</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a2c896b607596a09d707365bb9287e73b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2c896b607596a09d707365bb9287e73b">&#9670;&nbsp;</a></span>_pca_union()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void _pca_union </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table_mean</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_correlation</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>result_summary_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>result_summary_table_temp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>grp_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_where_clause</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>sparse_where_condition</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>select_grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>temp_table_columns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>is_sparse</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aaf22f179f07b6a88edd410a3f163d80b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaf22f179f07b6a88edd410a3f163d80b">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[1/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_correlation</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>result_summary_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9c819bc0f3fa1f02234d62cd5a8f391e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9c819bc0f3fa1f02234d62cd5a8f391e">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[2/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_correlation</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>result_summary_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5f808e855a139ac21876bd8d7f6c94f9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f808e855a139ac21876bd8d7f6c94f9">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[3/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_correlation</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ace5236fb2133c297eca85ab788e6dfc2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ace5236fb2133c297eca85ab788e6dfc2">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[4/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a370a0cd4c3776db9716783877caaaea5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a370a0cd4c3776db9716783877caaaea5">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[5/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a47c9234d8f49a7467b4e2d172eb6958f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a47c9234d8f49a7467b4e2d172eb6958f">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[6/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abcb783cb9b8cf34520930a25e1264566"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abcb783cb9b8cf34520930a25e1264566">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[7/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_correlation</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>result_summary_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aaac2bea5ee35d3c250fb8ddfb43de7ee"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaac2bea5ee35d3c250fb8ddfb43de7ee">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[8/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_correlation</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7eefdb60ea3a6ba720c22159708bbf6b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7eefdb60ea3a6ba720c22159708bbf6b">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[9/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5bde0ac01309c986b8aed5ff3ccb2b04"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5bde0ac01309c986b8aed5ff3ccb2b04">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[10/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5258b8d0fdd1697c3ab3e4d954d07ca1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5258b8d0fdd1697c3ab3e4d954d07ca1">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[11/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa3e70c278fc1d4ab52396192691a8a3e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3e70c278fc1d4ab52396192691a8a3e">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[12/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>usage_string</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1a62d21cdcc12ff8a54ea572f5af7073"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a62d21cdcc12ff8a54ea572f5af7073">&#9670;&nbsp;</a></span>pca_sparse_train() <span class="overload">[13/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text pca_sparse_train </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa0482e3074f528f681a6cb4a374e25a1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa0482e3074f528f681a6cb4a374e25a1">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[1/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_correlation</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>result_summary_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4cf4caceb80885e288cc0451e6f47695"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4cf4caceb80885e288cc0451e6f47695">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[2/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_correlation</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>result_summary_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5634af9beb7936506ec2f5775c81d038"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5634af9beb7936506ec2f5775c81d038">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[3/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_correlation</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2d1cfcf6a7c8a9c69808ec8927b900d1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2d1cfcf6a7c8a9c69808ec8927b900d1">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[4/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7b52d3800ed2d529ccd2a1c2417a986d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b52d3800ed2d529ccd2a1c2417a986d">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[5/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a13f55d8f0ddc1ed37dc06dfd1f797f8d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a13f55d8f0ddc1ed37dc06dfd1f797f8d">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[6/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa3935e186e2db92ddad12574924dc075"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa3935e186e2db92ddad12574924dc075">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[7/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_correlation</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>result_summary_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0fca1853e46de92796f1b2462073bb87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0fca1853e46de92796f1b2462073bb87">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[8/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_correlation</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7acd4b138ff5edd6e51ff3727842123a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7acd4b138ff5edd6e51ff3727842123a">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[9/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>lanczos_iter</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae7d85a5369594004c207604e486c4a9b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae7d85a5369594004c207604e486c4a9b">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[10/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3facc2b75c5a57b469d636b0cf71f624"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3facc2b75c5a57b469d636b0cf71f624">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[11/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pca_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>variance</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3bdb5967e072a36265fafe9f37164622"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3bdb5967e072a36265fafe9f37164622">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[12/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text pca_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>usage_string</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a31abf88e67a446a4f789764aa2c61e85"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a31abf88e67a446a4f789764aa2c61e85">&#9670;&nbsp;</a></span>pca_train() <span class="overload">[13/13]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar pca_train </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_315f21b9a614814e8fbfed31937fc0da.html">pca</a></li><li class="navelem"><a class="el" href="pca_8sql__in.html">pca.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[17/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__robust.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__robust.html b/docs/v1.11/group__grp__robust.html
new file mode 100644
index 0000000..45ac232
--- /dev/null
+++ b/docs/v1.11/group__grp__robust.html
@@ -0,0 +1,434 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Robust Variance</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__robust.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Robust Variance<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__regml.html">Regression Models</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#train_linregr">Robust Linear Regression Training Function</a> </li>
+<li class="level1">
+<a href="#train_logregr">Robust Logistic Regression Training Function</a> </li>
+<li class="level1">
+<a href="#train_mlogregr">Robust Multinomial Logistic Regression Training Function</a> </li>
+<li class="level1">
+<a href="#robust_variance_coxph">Robust Variance Function For Cox Proportional Hazards</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#background">Technical Background</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>The functions in this module calculate robust variance (Huber-White estimates) for linear regression, logistic regression, multinomial logistic regression, and Cox proportional hazards. They are useful in calculating variances in a dataset with potentially noisy outliers. The Huber-White implemented here is identical to the "HC0" sandwich operator in the R module "sandwich".</p>
+<p>The interfaces for robust linear, logistic, and multinomial logistic regression are similar. Each regression type has its own training function. The regression results are saved in an output table with small differences, depending on the regression type.</p>
+<dl class="section warning"><dt>Warning</dt><dd>Please note that the interface for Cox proportional hazards, unlike the interface of other regression methods, accepts an output model table produced by <a class="el" href="cox__prop__hazards_8sql__in.html#a737450bbfe0f10204b0074a9d45b0cef">coxph_train()</a> function.</dd></dl>
+<p><a class="anchor" id="train_linregr"></a></p><dl class="section user"><dt>Robust Linear Regression Training Function</dt><dd></dd></dl>
+<p>The <a class="el" href="robust_8sql__in.html#a390473d2fd45e268f0fc13ca971b49b4">robust_variance_linregr()</a> function has the following syntax: </p><pre class="syntax">
+robust_variance_linregr( source_table,
+                         out_table,
+                         dependent_varname,
+                         independent_varname,
+                         grouping_cols
+                       )
+</pre> <dl class="arglist">
+<dt>source_table </dt>
+<dd>VARCHAR. The name of the table containing the training data. </dd>
+<dt>out_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the generated table containing the output model. The output table contains the following columns. </p><table class="output">
+<tr>
+<th>coef </th><td>DOUBLE PRECISION[]. Vector of the coefficients of the regression.  </td></tr>
+<tr>
+<th>std_err </th><td>DOUBLE PRECISION[]. Vector of the standard error of the coefficients.  </td></tr>
+<tr>
+<th>t_stats </th><td>DOUBLE PRECISION[]. Vector of the t-stats of the coefficients.  </td></tr>
+<tr>
+<th>p_values </th><td>DOUBLE PRECISION[]. Vector of the p-values of the coefficients.  </td></tr>
+</table>
+<p class="enddd">A summary table named &lt;out_table&gt;_summary is also created, which is the same as the summary table created by linregr_train function. Please refer to the documentation for linear regression for details.  </p>
+</dd>
+<dt>dependent_varname </dt>
+<dd>VARCHAR. The name of the column containing the dependent variable. </dd>
+<dt>independent_varname </dt>
+<dd>VARCHAR. Expression list to evaluate for the independent variables. An intercept variable is not assumed. It is common to provide an explicit intercept term by including a single constant 1 term in the independent variable list.  </dd>
+<dt>grouping_cols (optional) </dt>
+<dd>VARCHAR, default: NULL. An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL "GROUP BY" clause. When this value is NULL, no grouping is used and a single result model is generated. Default value: NULL.  </dd>
+</dl>
+<p><a class="anchor" id="train_logregr"></a></p><dl class="section user"><dt>Robust Logistic Regression Training Function</dt><dd></dd></dl>
+<p>The <a class="el" href="robust_8sql__in.html#abc20ec2c5e74f268e7727c33a4bb9054">robust_variance_logregr()</a> function has the following syntax: </p><pre class="syntax">
+robust_variance_logregr( source_table,
+                         out_table,
+                         dependent_varname,
+                         independent_varname,
+                         grouping_cols,
+                         max_iter,
+                         optimizer,
+                         tolerance,
+                         verbose_mode
+                       )
+</pre> <dl class="arglist">
+<dt>source_table </dt>
+<dd>VARCHAR. The name of the table containing the training data. </dd>
+<dt>out_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the generated table containing the output model. The output table has the following columns: </p><table class="output">
+<tr>
+<th>coef </th><td>Vector of the coefficients of the regression.  </td></tr>
+<tr>
+<th>std_err </th><td>Vector of the standard error of the coefficients.  </td></tr>
+<tr>
+<th>z_stats </th><td>Vector of the z-stats of the coefficients.  </td></tr>
+<tr>
+<th>p_values </th><td>Vector of the p-values of the coefficients.  </td></tr>
+</table>
+<p class="enddd">A summary table named &lt;out_table&gt;_summary is also created, which is the same as the summary table created by logregr_train function. Please refer to the documentation for logistic regression for details.  </p>
+</dd>
+<dt>dependent_varname </dt>
+<dd>VARCHAR. The name of the column containing the independent variable. </dd>
+<dt>independent_varname </dt>
+<dd>VARCHAR. Expression list to evaluate for the independent variables. An intercept variable is not assumed. It is common to provide an explicit intercept term by including a single constant 1 term in the independent variable list. </dd>
+<dt>grouping_cols (optional) </dt>
+<dd>VARCHAR, default: NULL. An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL "GROUP BY" clause. When this value is NULL, no grouping is used and a single result model is generated.  </dd>
+<dt>max_iter (optional) </dt>
+<dd>INTEGER, default: 20. The maximum number of iterations that are allowed. </dd>
+<dt>optimizer </dt>
+<dd>VARCHAR, default: 'fista'. Name of optimizer, either 'fista' or 'igd'. </dd>
+<dt>tolerance (optional) </dt>
+<dd>DOUBLE PRECISION, default: 1e-6. The criteria to end iterations. Both the 'fista' and 'igd' optimizers compute the average difference between the coefficients of two consecutive iterations, and when the difference is smaller than tolerance or the iteration number is larger than max_iter, the computation stops.  </dd>
+<dt>verbose_mode (optional) </dt>
+<dd>BOOLEAN, default: FALSE. Whether the regression fit should print any warning messages.  </dd>
+</dl>
+<p><a class="anchor" id="train_mlogregr"></a></p><dl class="section user"><dt>Robust Multinomial Logistic Regression Function</dt><dd></dd></dl>
+<p>The <a class="el" href="robust_8sql__in.html#a1f27c072a4ef885a55825f75d12b3bd8">robust_variance_mlogregr()</a> function has the following syntax: </p><pre class="syntax">
+robust_variance_mlogregr( source_table,
+                          out_table,
+                          dependent_varname,
+                          independent_varname,
+                          ref_category,
+                          grouping_cols,
+                          optimizer_params,
+                          verbose_mode
+                        )
+</pre> <dl class="arglist">
+<dt>source_table </dt>
+<dd>VARCHAR. The name of the table containing training data, properly qualified. </dd>
+<dt>out_table </dt>
+<dd><p class="startdd">VARCHAR. The name of the table where the regression model will be stored. The output table has the following columns: </p><table class="output">
+<tr>
+<th>category </th><td>The category.  </td></tr>
+<tr>
+<th>ref_category </th><td>The refererence category used for modeling.  </td></tr>
+<tr>
+<th>coef </th><td>Vector of the coefficients of the regression.  </td></tr>
+<tr>
+<th>std_err </th><td>Vector of the standard error of the coefficients.  </td></tr>
+<tr>
+<th>z_stats </th><td>Vector of the z-stats of the coefficients.  </td></tr>
+<tr>
+<th>p_values </th><td>Vector of the p-values of the coefficients.  </td></tr>
+</table>
+<p class="enddd">A summary table named &lt;out_table&gt;_summary is also created, which is the same as the summary table created by mlogregr_train function. Please refer to the documentation for multinomial logistic regression for details.  </p>
+</dd>
+<dt>dependent_varname </dt>
+<dd>VARCHAR. The name of the column containing the dependent variable. </dd>
+<dt>independent_varname </dt>
+<dd>VARCHAR. Expression list to evaluate for the independent variables. An intercept variable is not assumed. It is common to provide an explicit intercept term by including a single constant 1 term in the independent variable list. The <em>independent_varname</em> can be the name of a column that contains an array of numeric values. It can also be a string with the format 'ARRAY[1, x1, x2, x3]', where <em>x1</em>, <em>x2</em> and <em>x3</em> are each column names. </dd>
+<dt>ref_category (optional) </dt>
+<dd>INTEGER, default: 0. The reference category. </dd>
+<dt>grouping_cols (optional) </dt>
+<dd>VARCHAR, default: NULL. <em>Not currently implemented. Any non-NULL value is ignored.</em> An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL "GROUP BY" clause. When this value is NULL, no grouping is used and a single result model is generated. </dd>
+<dt>optimizer_params (optional) </dt>
+<dd>TEXT, default: NULL, which uses the default values of optimizer parameters: max_iter=20, optimizer='newton', tolerance=1e-4. It should be a string that contains pairs of 'key=value' separated by commas. </dd>
+<dt>verbose_mode (optional) </dt>
+<dd>BOOLEAN, default FALSE. <em>Not currently implemented.</em> TRUE if the regression fit should print warning messages. </dd>
+</dl>
+<p><a class="anchor" id="robust_variance_coxph"></a></p><dl class="section user"><dt>Robust Variance Function For Cox Proportional Hazards</dt><dd></dd></dl>
+<p>The <a class="el" href="clustered__variance__coxph_8sql__in.html#abaeae5d6cd30db4b06a49d24d714812e">robust_variance_coxph()</a> function has the following syntax: </p><pre class="syntax">
+robust_variance_coxph(model_table, output_table)
+</pre><p><b>Arguments</b> </p><dl class="arglist">
+<dt>model_table </dt>
+<dd>TEXT. The name of the model table, which is exactaly the same as the 'output_table' parameter of <a class="el" href="cox__prop__hazards_8sql__in.html#a737450bbfe0f10204b0074a9d45b0cef" title="Compute cox-regression coefficients and diagnostic statistics. ">coxph_train()</a> function. </dd>
+<dt>output_table </dt>
+<dd>TEXT. The name of the table where the output is saved. It has the following columns: <table class="output">
+<tr>
+<th>coef </th><td>FLOAT8[]. Vector of the coefficients.  </td></tr>
+<tr>
+<th>loglikelihood </th><td>FLOAT8. Log-likelihood value of the MLE estimate.  </td></tr>
+<tr>
+<th>std_err </th><td>FLOAT8[]. Vector of the standard error of the coefficients.  </td></tr>
+<tr>
+<th>robust_se </th><td>FLOAT8[]. Vector of the robust standard errors of the coefficients.  </td></tr>
+<tr>
+<th>robust_z </th><td>FLOAT8[]. Vector of the robust z-stats of the coefficients.  </td></tr>
+<tr>
+<th>robust_p </th><td>FLOAT8[]. Vector of the robust p-values of the coefficients.  </td></tr>
+<tr>
+<th>hessian </th><td>FLOAT8[]. The Hessian matrix.  </td></tr>
+</table>
+</dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<p><b> Logistic Regression Example </b></p><ol type="1">
+<li>View online help for the logistic regression training function. <pre class="example">
+SELECT madlib.robust_variance_logregr();
+</pre></li>
+<li>Create the training data table. <pre class="example">
+DROP TABLE IF EXISTS patients;
+CREATE TABLE patients (id INTEGER NOT NULL, second_attack INTEGER,
+    treatment INTEGER, trait_anxiety INTEGER);
+COPY patients FROM STDIN WITH DELIMITER '|';
+  1 |             1 |         1 |            70
+  3 |             1 |         1 |            50
+  5 |             1 |         0 |            40
+  7 |             1 |         0 |            75
+  9 |             1 |         0 |            70
+ 11 |             0 |         1 |            65
+ 13 |             0 |         1 |            45
+ 15 |             0 |         1 |            40
+ 17 |             0 |         0 |            55
+ 19 |             0 |         0 |            50
+  2 |             1 |         1 |            80
+  4 |             1 |         0 |            60
+  6 |             1 |         0 |            65
+  8 |             1 |         0 |            80
+ 10 |             1 |         0 |            60
+ 12 |             0 |         1 |            50
+ 14 |             0 |         1 |            35
+ 16 |             0 |         1 |            50
+ 18 |             0 |         0 |            45
+ 20 |             0 |         0 |            60
+\.
+</pre></li>
+<li>Run the logistic regression training function and compute the robust logistic variance of the regression: <pre class="example">
+DROP TABLE IF EXISTS patients_logregr;
+SELECT madlib.robust_variance_logregr( 'patients',
+                                       'patients_logregr',
+                                       'second_attack',
+                                       'ARRAY[1, treatment, trait_anxiety]'
+                                     );
+</pre></li>
+<li>View the regression results. <pre class="example">
+\x on
+Expanded display is on.
+SELECT * FROM patients_logregr;
+</pre> Result: <pre class="result">
+&#160;-[ RECORD 1 ]-------------------------------------------------------
+ coef     | {-6.36346994178179,-1.02410605239327,0.119044916668605}
+ std_err  | {3.45872062333648,1.1716192578234,0.0534328864185018}
+ z_stats  | {-1.83983346294192,-0.874094587943036,2.22793348156809}
+ p_values | {0.0657926909738889,0.382066744585541,0.0258849510757339}
+</pre> Alternatively, unnest the arrays in the results for easier reading of output. <pre class="example">
+\x off
+SELECT unnest(array['intercept', 'treatment', 'trait_anxiety' ]) as attribute,
+       unnest(coef) as coefficient,
+       unnest(std_err) as standard_error,
+       unnest(z_stats) as z_stat,
+       unnest(p_values) as pvalue
+FROM patients_logregr;
+</pre></li>
+</ol>
+<p><b> Cox Proportional Hazards Example </b></p><ol type="1">
+<li>View online help for the robust Cox Proportional hazards training method. <pre class="example">
+SELECT madlib.robust_variance_coxph();
+</pre></li>
+<li>Create an input data set. <pre class="example">
+DROP TABLE IF EXISTS sample_data;
+CREATE TABLE sample_data (
+    id INTEGER NOT NULL,
+    grp DOUBLE PRECISION,
+    wbc DOUBLE PRECISION,
+    timedeath INTEGER,
+    status BOOLEAN
+);
+COPY sample_data FROM STDIN DELIMITER '|';
+  0 |   0 | 1.45 |        35 | t
+  1 |   0 | 1.47 |        34 | t
+  3 |   0 |  2.2 |        32 | t
+  4 |   0 | 1.78 |        25 | t
+  5 |   0 | 2.57 |        23 | t
+  6 |   0 | 2.32 |        22 | t
+  7 |   0 | 2.01 |        20 | t
+  8 |   0 | 2.05 |        19 | t
+  9 |   0 | 2.16 |        17 | t
+ 10 |   0 |  3.6 |        16 | t
+ 11 |   1 |  2.3 |        15 | t
+ 12 |   0 | 2.88 |        13 | t
+ 13 |   1 |  1.5 |        12 | t
+ 14 |   0 |  2.6 |        11 | t
+ 15 |   0 |  2.7 |        10 | t
+ 16 |   0 |  2.8 |         9 | t
+ 17 |   1 | 2.32 |         8 | t
+ 18 |   0 | 4.43 |         7 | t
+ 19 |   0 | 2.31 |         6 | t
+ 20 |   1 | 3.49 |         5 | t
+ 21 |   1 | 2.42 |         4 | t
+ 22 |   1 | 4.01 |         3 | t
+ 23 |   1 | 4.91 |         2 | t
+ 24 |   1 |    5 |         1 | t
+\.
+</pre></li>
+<li>Run the Cox regression function. <pre class="example">
+SELECT madlib.coxph_train( 'sample_data',
+                           'sample_cox',
+                           'timedeath',
+                           'ARRAY[grp,wbc]',
+                           'status'
+                         );
+</pre></li>
+<li>Run the Robust Cox regression function. <pre class="example">
+SELECT madlib.robust_variance_coxph( 'sample_cox',
+                           'sample_robust_cox'
+                         );
+</pre></li>
+<li>View the results of the robust Cox regression. <pre class="example">
+\x on
+SELECT * FROM sample_robust_cox;
+</pre> Results: <pre class="result">
+-[ RECORD 1 ]-+----------------------------------------------------------------------------
+coef          | {2.54407073265105,1.67172094780081}
+loglikelihood | -37.8532498733452
+std_err       | {0.677180599295459,0.387195514577754}
+robust_se     | {0.621095581073685,0.274773521439328}
+robust_z      | {4.09610180811965,6.08399579058399}
+robust_p      | {4.2016521208424e-05,1.17223683104729e-09}
+hessian       | {{2.78043065745405,-2.25848560642669},{-2.25848560642669,8.50472838284265}}
+</pre></li>
+</ol>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>When doing regression analysis, we are sometimes interested in the variance of the computed coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/>. While the built-in regression functions provide variance estimates, we may prefer a <em>robust</em> variance estimate.</p>
+<p>The robust variance calculation can be expressed in a sandwich formation, which is the form </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ S( \boldsymbol c) = B( \boldsymbol c) M( \boldsymbol c) B( \boldsymbol c) \]" src="form_373.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ B( \boldsymbol c)$" src="form_374.png"/> and <img class="formulaInl" alt="$ M( \boldsymbol c)$" src="form_375.png"/> are matrices. The <img class="formulaInl" alt="$ B( \boldsymbol c) $" src="form_376.png"/> matrix, also known as the bread, is relatively straight forward, and can be computed as </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ B( \boldsymbol c) = n\left(\sum_i^n -H(y_i, x_i, \boldsymbol c) \right)^{-1} \]" src="form_377.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ H $" src="form_108.png"/> is the hessian matrix.</p>
+<p>The <img class="formulaInl" alt="$ M( \boldsymbol c)$" src="form_375.png"/> matrix has several variations, each with different robustness properties. The form implemented here is the Huber-White sandwich operator, which takes the form </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ M_{H} =\frac{1}{n} \sum_i^n \psi(y_i,x_i, \boldsymbol c)^T \psi(y_i,x_i, \boldsymbol c). \]" src="form_378.png"/>
+</p>
+<p>The above method for calculating robust variance (Huber-White estimates) is implemented for linear regression, logistic regression, and multinomial logistic regression. It is useful in calculating variances in a dataset with potentially noisy outliers. The Huber-White implemented here is identical to the "HC0" sandwich operator in the R module "sandwich".</p>
+<p>When multinomial logistic regression is computed before the multinomial robust regression, it uses a default reference category of zero and the regression coefficients are included in the output table. The regression coefficients in the output are in the same order as the multinomial logistic regression function, which is described below. For a problem with <img class="formulaInl" alt="$ K $" src="form_118.png"/> dependent variables <img class="formulaInl" alt="$ (1, ..., K) $" src="form_119.png"/> and <img class="formulaInl" alt="$ J $" src="form_120.png"/> categories <img class="formulaInl" alt="$ (0, ..., J-1) $" src="form_121.png"/>, let <img class="formulaInl" alt="$ {m_{k,j}} $" src="form_122.png"/> denote the coefficient for dependent variable <img class="formulaInl" alt="$ k $" src="form_98.png"/> and category <img class="formulaInl" alt="$ j $" src="form_123.png"/> . The output is <img class="formulaInl" alt="$ {m_{k_1, j_0}, m_{k_1, j_1} \ldots m_{k_1, j_{J-1}}, m_{k_2,
  j_0}, m_{k_2, j_1} \ldots m_{k_K, j_{J-1}}} $" src="form_323.png"/>. The order is NOT CONSISTENT with the multinomial regression marginal effect calculation with function <em>marginal_mlogregr</em>. This is deliberate because the interfaces of all multinomial regressions (robust, clustered, ...) will be moved to match that used in marginal.</p>
+<p>The robust variance of Cox proportional hazards is more complex because coeeficients are trained by maximizing a partial log-likelihood. Therefore, one cannot directly use the formula for <img class="formulaInl" alt="$ M( \boldsymbol c) $" src="form_379.png"/> as in Huber-White robust estimator. Extra terms are needed. See [4] for details.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] vce(cluster) function in STATA: <a href="http://www.stata.com/help.cgi?vce_option">http://www.stata.com/help.cgi?vce_option</a></p>
+<p>[2] clustered estimators in R: <a href="http://people.su.se/~ma/clustering.pdf">http://people.su.se/~ma/clustering.pdf</a></p>
+<p>[3] Achim Zeileis: Object-oriented Computation of Sandwich Estimators. Research Report Series / Department of Statistics and Mathematics, 37. Department of Statistics and Mathematics, WU Vienna University of Economics and Business, Vienna. <a href="http://cran.r-project.org/web/packages/sandwich/vignettes/sandwich-OOP.pdf">http://cran.r-project.org/web/packages/sandwich/vignettes/sandwich-OOP.pdf</a></p>
+<p>[4] D. Y. Lin and L . J. Wei, <em>The Robust Inference for the Cox Proportional Hazards Model</em>, Journal of the American Statistical Association, Vol. 84, No. 408, p.1074 (1989).</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File <a class="el" href="robust_8sql__in.html" title="SQL functions for robust variance linear and logistic regression. ">robust.sql_in</a> documenting the SQL functions File <a class="el" href="robust__variance__coxph_8sql__in.html" title="SQL functions for robust cox proportional hazards regression. ">robust_variance_coxph.sql_in</a> documenting more the SQL functions</dd></dl>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__sample.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__sample.html b/docs/v1.11/group__grp__sample.html
new file mode 100644
index 0000000..27529b4
--- /dev/null
+++ b/docs/v1.11/group__grp__sample.html
@@ -0,0 +1,144 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Random Sampling</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__sample.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Random Sampling<div class="ingroups"><a class="el" href="group__grp__early__stage.html">Early Stage Development</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#func_list">Functions</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><dl class="section warning"><dt>Warning</dt><dd><em> This MADlib method is still in early stage development. There may be some issues that will be addressed in a future version. Interface and implementation is subject to change. </em></dd></dl>
+<p>The random sampling module consists of useful utility functions for sampling operations. These functions can be used while implementing new algorithms.</p>
+<p><a class="anchor" id="syntax"></a></p><dl class="section user"><dt>Functions</dt><dd></dd></dl>
+<p>Sample a single row according to weights. </p><pre class="syntax">
+weighted_sample( value,
+                 weight
+               )
+</pre><p><b>Arguments</b> </p><dl class="arglist">
+<dt>value </dt>
+<dd>BIGINT or FLOAT8[]. Value of row. Uniqueness is not enforced. If a value occurs multiple times, the probability of sampling this value is proportional to the sum of its weights.  </dd>
+<dt>weight </dt>
+<dd>FLOAT8. Weight for row. A negative value here is treated has zero weight.  </dd>
+</dl>
+<p>Refer to the file for documentation on each of the utility functions.</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<dl class="section see"><dt>See also</dt><dd>File <a class="el" href="sample_8sql__in.html" title="SQL functions for random sampling. ">sample.sql_in</a> documenting the SQL functions. </dd></dl>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__sessionize.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__sessionize.html b/docs/v1.11/group__grp__sessionize.html
new file mode 100644
index 0000000..6036827
--- /dev/null
+++ b/docs/v1.11/group__grp__sessionize.html
@@ -0,0 +1,268 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Sessionize</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__sessionize.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Sessionize<div class="ingroups"><a class="el" href="group__grp__utility__functions.html">Utility Functions</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#syntax">Function Syntax</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+</ul>
+</div><p>The MADlib sessionize function performs time-oriented session reconstruction on a data set comprising a sequence of events. A defined period of inactivity indicates the end of one session and beginning of the next session. Sessions can be useful in many domains including web analytics [1], network security, manufacturing, finance, and operational analytics.</p>
+<p><a class="anchor" id="syntax"></a></p><dl class="section user"><dt>Function Syntax</dt><dd><pre class="syntax">
+sessionize(
+   source_table,
+   output_table,
+   partition_expr,
+   time_stamp,
+   max_time,
+   output_cols,
+   create_view
+)
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the source table that contains the data to be sessionized.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the output view or table. (The parameter create_view described below defines whether the output is actually a view or a table.) In addition to the columns in the source_table, the output also contains a new column called session_id: </p><ul>
+<li>
+session_id=1,2,...n where n is the number of the session in the partition. </li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>partition_expr </dt>
+<dd><p class="startdd">VARCHAR. The 'partition_expr' is a single column or a list of comma-separated columns/expressions to divide all rows into groups, or partitions. Sessionization is applied across the rows that fall into the same partition. This parameter can be set to NULL or '' to indicate the sessionization operation is to be applied to the whole input table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>time_stamp </dt>
+<dd><p class="startdd">VARCHAR. The time stamp column name that is used for sessionization calculation. Note that the time_stamp column will be sorted in ascending order before the session reconstruction is done within a partition.</p>
+<p class="enddd"></p>
+</dd>
+<dt>max_time </dt>
+<dd><p class="startdd">INTERVAL. Maximum delta time (i.e., time out) between subsequent events that define a session. If the elapsed time between subsequent events is longer than max_time, a new session is created.</p>
+<p class="enddd"><a class="anchor" id="note"></a></p><dl class="section note"><dt>Note</dt><dd>Note that max_time is of time type INTERVAL which is a PostgreSQL way of describing elapsed time. For more information on INTERVAL please refer to reference [2].</dd></dl>
+</dd>
+<dt>output_cols (optional) </dt>
+<dd><p class="startdd">VARCHAR. An optional comma separated list of columns to be written to the output_table. Must be a valid SELECT expression. This is set to '*' by default, which means all columns in the input table will be written to the output_table plus the session_id column. Note that this parameter could include a list containing the partition_expr or any other expressions of interest. E.g., '*, expr1, expr2, etc.' where this means output all columns from the input table plus the expressions listed plus the session_id column.</p>
+<p class="enddd"></p>
+</dd>
+<dt>create_view (optional) </dt>
+<dd>BOOLEAN default: TRUE. Determines whether to create a view or materialize the output as a table. If you only need session info once, creating a view could be significantly faster than materializing as a table. Please note that if you set create_view to NULL (allowed by PostgreSQL) it will get set to the default value of TRUE. </dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<p>The data set describes shopper behavior on a notional web site that sells beer and wine. A beacon fires an event to a log file when the shopper visits different pages on the site: landing page, beer selection page, wine selection page, and checkout. Each user is identified by a a user id, and every time a page is visited, the page and time stamp are logged.</p>
+<p>Create the data table:</p>
+<pre class="example">
+DROP TABLE IF EXISTS eventlog CASCADE;  -- Using CASCADE in case you are running through this example more than once (views used below)
+CREATE TABLE eventlog (event_timestamp TIMESTAMP,
+            user_id INT,
+            page TEXT,
+            revenue FLOAT);
+INSERT INTO eventlog VALUES
+('04/15/2015 02:19:00', 101331, 'CHECKOUT', 16),
+('04/15/2015 02:17:00', 202201, 'WINE', 0),
+('04/15/2015 03:18:00', 202201, 'BEER', 0),
+('04/15/2015 01:03:00', 100821, 'LANDING', 0),
+('04/15/2015 01:04:00', 100821, 'WINE', 0),
+('04/15/2015 01:05:00', 100821, 'CHECKOUT', 39),
+('04/15/2015 02:06:00', 100821, 'WINE', 0),
+('04/15/2015 02:09:00', 100821, 'WINE', 0),
+('04/15/2015 02:15:00', 101331, 'LANDING', 0),
+('04/15/2015 02:16:00', 101331, 'WINE', 0),
+('04/15/2015 02:17:00', 101331, 'HELP', 0),
+('04/15/2015 02:18:00', 101331, 'WINE', 0),
+('04/15/2015 02:29:00', 201881, 'LANDING', 0),
+('04/15/2015 02:30:00', 201881, 'BEER', 0),
+('04/15/2015 01:05:00', 202201, 'LANDING', 0),
+('04/15/2015 01:06:00', 202201, 'HELP', 0),
+('04/15/2015 01:09:00', 202201, 'LANDING', 0),
+('04/15/2015 02:15:00', 202201, 'WINE', 0),
+('04/15/2015 02:16:00', 202201, 'BEER', 0),
+('04/15/2015 03:19:00', 202201, 'WINE', 0),
+('04/15/2015 03:22:00', 202201, 'CHECKOUT', 21);
+</pre><p>Sessionize the table by each user_id: </p><pre class="example">
+ DROP VIEW IF EXISTS sessionize_output_view;
+ SELECT madlib.sessionize(
+     'eventlog',             -- Name of input table
+     'sessionize_output_view',   -- View to store sessionize results
+     'user_id',             -- Partition input table by user id
+     'event_timestamp',      -- Time column used to compute sessions
+     '0:30:0'                -- Use 30 minute time out to define sessions
+    );
+SELECT * FROM sessionize_output_view ORDER BY user_id, event_timestamp;
+</pre><p>Result: </p><pre class="result">
+   event_timestamp   | user_id |   page   | revenue | session_id 
+---------------------+---------+----------+---------+------------
+ 2015-04-15 01:03:00 |  100821 | LANDING  |       0 |          1
+ 2015-04-15 01:04:00 |  100821 | WINE     |       0 |          1
+ 2015-04-15 01:05:00 |  100821 | CHECKOUT |      39 |          1
+ 2015-04-15 02:06:00 |  100821 | WINE     |       0 |          2
+ 2015-04-15 02:09:00 |  100821 | WINE     |       0 |          2
+ 2015-04-15 02:15:00 |  101331 | LANDING  |       0 |          1
+ 2015-04-15 02:16:00 |  101331 | WINE     |       0 |          1
+ 2015-04-15 02:17:00 |  101331 | HELP     |       0 |          1
+ 2015-04-15 02:18:00 |  101331 | WINE     |       0 |          1
+ 2015-04-15 02:19:00 |  101331 | CHECKOUT |      16 |          1
+ 2015-04-15 02:29:00 |  201881 | LANDING  |       0 |          1
+ 2015-04-15 02:30:00 |  201881 | BEER     |       0 |          1
+ 2015-04-15 01:05:00 |  202201 | LANDING  |       0 |          1
+ 2015-04-15 01:06:00 |  202201 | HELP     |       0 |          1
+ 2015-04-15 01:09:00 |  202201 | LANDING  |       0 |          1
+ 2015-04-15 02:15:00 |  202201 | WINE     |       0 |          2
+ 2015-04-15 02:16:00 |  202201 | BEER     |       0 |          2
+ 2015-04-15 02:17:00 |  202201 | WINE     |       0 |          2
+ 2015-04-15 03:18:00 |  202201 | BEER     |       0 |          3
+ 2015-04-15 03:19:00 |  202201 | WINE     |       0 |          3
+ 2015-04-15 03:22:00 |  202201 | CHECKOUT |      21 |          3
+(21 rows)
+</pre><p>Now let's say we want to see 3 minute sessions by a group of users with a certain range of user IDs. To do this, we need to sessionize the table based on a partition expression. Also, we want to persist a table output with a reduced set of columns in the table. </p><pre class="example">
+ DROP TABLE IF EXISTS sessionize_output_table;
+ SELECT madlib.sessionize(
+     'eventlog',                    -- Name of input table
+     'sessionize_output_table',     -- Table to store sessionize results
+     'user_id &lt; 200000',            -- Partition input table by subset of users
+     'event_timestamp',             -- Order partitions in input table by time
+     '180',                         -- Use 180 second time out to define sessions (same as '0:03:0')
+     'event_timestamp, user_id, user_id &lt; 200000 AS "Department-A1"',    -- Select only user_id and event_timestamp columns, along with the session id as output
+     'f'                            -- create a table
+     );
+ SELECT * FROM sessionize_output_table WHERE "Department-A1"='TRUE' ORDER BY event_timestamp;
+</pre><p>Result showing 2 users and 3 total sessions across the group: </p><pre class="result">
+   event_timestamp   | user_id | Department-A1 | session_id 
+---------------------+---------+---------------+------------
+ 2015-04-15 01:03:00 |  100821 | t             |          1
+ 2015-04-15 01:04:00 |  100821 | t             |          1
+ 2015-04-15 01:05:00 |  100821 | t             |          1
+ 2015-04-15 02:06:00 |  100821 | t             |          2
+ 2015-04-15 02:09:00 |  100821 | t             |          2
+ 2015-04-15 02:15:00 |  101331 | t             |          3
+ 2015-04-15 02:16:00 |  101331 | t             |          3
+ 2015-04-15 02:17:00 |  101331 | t             |          3
+ 2015-04-15 02:18:00 |  101331 | t             |          3
+ 2015-04-15 02:19:00 |  101331 | t             |          3
+(10 rows)
+</pre><p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] Sesssions in web analytics <a href="https://en.wikipedia.org/wiki/Session_(web_analytics)">https://en.wikipedia.org/wiki/Session_(web_analytics)</a></p>
+<p>[2] PostgreSQL date/time types <a href="https://www.postgresql.org/docs/8.4/static/datatype-datetime.html">https://www.postgresql.org/docs/8.4/static/datatype-datetime.html</a> </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__sketches.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__sketches.html b/docs/v1.11/group__grp__sketches.html
new file mode 100644
index 0000000..0ff2d5e
--- /dev/null
+++ b/docs/v1.11/group__grp__sketches.html
@@ -0,0 +1,154 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Cardinality Estimators</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__sketches.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Cardinality Estimators<div class="ingroups"><a class="el" href="group__grp__early__stage.html">Early Stage Development</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<dl class="section warning"><dt>Warning</dt><dd><em> These MADlib methods are still in early stage development. There may be some issues that will be addressed in future versions. Interface and implementation is subject to change. </em></dd></dl>
+<p>Sketches (sometimes called "synopsis data structures") are small randomized in-memory data structures that capture statistical properties of a large set of values (e.g., a column of a table). Sketches can be formed in a single pass of the data, and used to approximate a variety of descriptive statistics.</p>
+<p>We implement sketches as SQL User-Defined Aggregates (UDAs). Because they are single-pass, small-space and parallelized, a single query can use many sketches to gather summary statistics on many columns of a table efficiently.</p>
+<p>This module currently implements user-defined aggregates based on three main sketch methods:</p><ul>
+<li><em>Count-Min (CM)</em> sketches, which can be used to approximate a number of descriptive statistics including<ul>
+<li><code>COUNT(*)</code> of rows whose column value matches a given value in a set</li>
+<li><code>COUNT(*)</code> of rows whose column value falls in a range (*)</li>
+<li>order statistics including <em>median</em> and <em>centiles</em> (*)</li>
+<li><em>histograms</em>: both <em>equi-width</em> and <em>equi-depth</em> (*)</li>
+</ul>
+</li>
+<li><em>Flajolet-Martin (FM)</em> sketches for approximating <code>COUNT(DISTINCT)</code>.</li>
+<li><em>Most Frequent Value (MFV)</em> sketches, which output the most frequently-occuring values in a column, along with their associated counts.</li>
+</ul>
+<p><em>Note:</em> Features marked with a star (*) only work for discrete types that can be cast to int8.</p>
+<p>The sketch methods consist of a number of SQL UDAs (user-defined aggregates) and UDFs (user-defined functions), to be used directly in SQL queries. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__countmin"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__countmin.html">CountMin (Cormode-Muthukrishnan)</a></td></tr>
+<tr class="memdesc:group__grp__countmin"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements Cormode-Mathukrishnan <em>CountMin</em> sketches on integer values as a user-defined aggregate. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__fmsketch"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__fmsketch.html">FM (Flajolet-Martin)</a></td></tr>
+<tr class="memdesc:group__grp__fmsketch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements Flajolet-Martin's distinct count estimation as a user-defined aggregate. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__mfvsketch"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__mfvsketch.html">MFV (Most Frequent Values)</a></td></tr>
+<tr class="memdesc:group__grp__mfvsketch"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements the most frequent values variant of the CountMin sketch as a user-defined aggregate. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__sketches.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__sketches.js b/docs/v1.11/group__grp__sketches.js
new file mode 100644
index 0000000..1e443dd
--- /dev/null
+++ b/docs/v1.11/group__grp__sketches.js
@@ -0,0 +1,6 @@
+var group__grp__sketches =
+[
+    [ "CountMin (Cormode-Muthukrishnan)", "group__grp__countmin.html", null ],
+    [ "FM (Flajolet-Martin)", "group__grp__fmsketch.html", null ],
+    [ "MFV (Most Frequent Values)", "group__grp__mfvsketch.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__sparse__linear__solver.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__sparse__linear__solver.html b/docs/v1.11/group__grp__sparse__linear__solver.html
new file mode 100644
index 0000000..9501242
--- /dev/null
+++ b/docs/v1.11/group__grp__sparse__linear__solver.html
@@ -0,0 +1,348 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Sparse Linear Systems</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__sparse__linear__solver.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Sparse Linear Systems<div class="ingroups"><a class="el" href="group__grp__utility__functions.html">Utility Functions</a> &raquo; <a class="el" href="group__grp__linear__solver.html">Linear Solvers</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#sls_usage">Solution Function</a> </li>
+<li class="level1">
+<a href="#sls_opt_params">Optimizer Parameters</a> </li>
+<li class="level1">
+<a href="#sls_output">Output Tables</a> </li>
+<li class="level1">
+<a href="#sls_examples">Examples</a> </li>
+<li>
+<a href="related">Related Topics</a> </li>
+</ul>
+</div><p>The sparse linear systems module implements solution methods for systems of consistent linear equations. Systems of linear equations take the form: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ Ax = b \]" src="form_213.png"/>
+</p>
+<p>where <img class="formulaInl" alt="$x \in \mathbb{R}^{n}$" src="form_214.png"/>, <img class="formulaInl" alt="$A \in \mathbb{R}^{m \times n} $" src="form_215.png"/> and <img class="formulaInl" alt="$b \in \mathbb{R}^{m}$" src="form_216.png"/>. This module accepts sparse matrix input formats for <img class="formulaInl" alt="$A$" src="form_42.png"/> and <img class="formulaInl" alt="$b$" src="form_219.png"/>. We assume that there are no rows of <img class="formulaInl" alt="$A$" src="form_42.png"/> where all elements are zero.</p>
+<dl class="section note"><dt>Note</dt><dd>Algorithms with fail if there is an row of the input matrix containing all zeros.</dd></dl>
+<p>The algorithms implemented in this module can handle large sparse square linear systems. Currently, the algorithms implemented in this module solve the linear system using direct or iterative methods.</p>
+<p><a class="anchor" id="sls_usage"></a></p><dl class="section user"><dt>Sparse Linear Systems Solution Function</dt><dd></dd></dl>
+<pre class="syntax">
+linear_solver_sparse( tbl_source_lhs,
+                      tbl_source_rhs,
+                      tbl_result,
+                      lhs_row_id,
+                      lhs_col_id,
+                      lhs_value,
+                      rhs_row_id,
+                      rhs_value,
+                      grouping_cols := NULL,
+                      optimizer := 'direct',
+                      optimizer_params :=
+                      'algorithm = llt'
+                    )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>tbl_source_lhs </dt>
+<dd><p class="startdd">The name of the table containing the left hand side matrix. For the LHS matrix, the input data is expected to be of the following form: </p><pre>
+{TABLE|VIEW} <em>sourceName</em> (
+    ...
+    <em>row_id</em> FLOAT8,
+    <em>col_id</em> FLOAT8,
+    <em>value</em> FLOAT8,
+    ...
+)</pre><p> Each row represents a single equation. The <em>rhs</em> columns refer to the right hand side of the equations and the <em>lhs</em> columns refer to the multipliers on the variables on the left hand side of the same equations. </p>
+<p class="enddd"></p>
+</dd>
+<dt>tbl_source_rhs </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the right hand side vector. For the RHS matrix, the input data is expected to be of the following form: </p><pre class="fragment">{TABLE|VIEW} &lt;em&gt;sourceName&lt;/em&gt; (
+    ...
+    &lt;em&gt;row_id&lt;/em&gt; FLOAT8,
+    &lt;em&gt;value&lt;/em&gt; FLOAT8
+    ...
+)</pre><p> Each row represents a single equation. The <em>rhs</em> columns refer to the right hand side of the equations while the <em>lhs</em> columns refers to the multipliers on the variables on the left hand side of the same equations. </p>
+<p class="enddd"></p>
+</dd>
+<dt>tbl_result </dt>
+<dd><p class="startdd">TEXT. The name of the table where the output is saved. Output is stored in the tabled named by the <em>tbl_result</em> argument. The table contains the following columns. The output contains the following columns: </p><table class="output">
+<tr>
+<th>solution </th><td>FLOAT8[]. The solution is an array with the variables in the same order as that provided as input in the 'left_hand_side' column name of the 'source_table'   </td></tr>
+<tr>
+<th>residual_norm </th><td>FLOAT8. Scaled residual norm, defined as <img class="formulaInl" alt="$ \frac{|Ax - b|}{|b|} $" src="form_217.png"/>. This value is an indication of the accuracy of the solution.   </td></tr>
+<tr>
+<th>iters </th><td>INTEGER. Number of iterations required by the algorithm (only applicable for iterative algorithms) . The output is NULL for 'direct' methods.   </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>lhs_row_id </dt>
+<dd>TEXT. The name of the column storing the 'row id' of the equations. <dl class="section note"><dt>Note</dt><dd>For a system with N equations, the row_id's must be a continuous range of integers from <img class="formulaInl" alt="$ 0 \ldots n-1 $" src="form_218.png"/>.</dd></dl>
+</dd>
+<dt>lhs_col_id </dt>
+<dd><p class="startdd">TEXT. The name of the column (in tbl_source_lhs) storing the 'col id' of the equations.</p>
+<p class="enddd"></p>
+</dd>
+<dt>lhs_value </dt>
+<dd><p class="startdd">TEXT. The name of the column (in tbl_source_lhs) storing the 'value' of the equations.</p>
+<p class="enddd"></p>
+</dd>
+<dt>rhs_row_id </dt>
+<dd><p class="startdd">TEXT. The name of the column (in tbl_source_rhs) storing the 'col id' of the equations.</p>
+<p class="enddd"></p>
+</dd>
+<dt>rhs_value </dt>
+<dd><p class="startdd">TEXT. The name of the column (in tbl_source_rhs) storing the 'value' of the equations.</p>
+<p class="enddd"></p>
+</dd>
+<dt>num_vars </dt>
+<dd><p class="startdd">INTEGER. The number of variables in the linear system equations.</p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_col (optional)  </dt>
+<dd>TEXT, default: NULL. Group by column names. <dl class="section note"><dt>Note</dt><dd>The grouping feature is currently not implemented and this parameter is only a placeholder.</dd></dl>
+</dd>
+<dt>optimizer (optional)  </dt>
+<dd><p class="startdd">TEXT, default: 'direct'. Type of optimizer.</p>
+<p class="enddd"></p>
+</dd>
+<dt>optimizer_params (optional) </dt>
+<dd>TEXT, default: NULL. Optimizer specific parameters. </dd>
+</dl>
+<p><a class="anchor" id="sls_opt_params"></a></p><dl class="section user"><dt>Optimizer Parameters</dt><dd></dd></dl>
+<p>For each optimizer, there are specific parameters that can be tuned for better performance.</p>
+<dl class="arglist">
+<dt>algorithm (default: ldlt) </dt>
+<dd><p class="startdd"></p>
+<p>There are several algorithms that can be classified as 'direct' methods of solving linear systems. Madlib functions provide various algorithmic options available for users.</p>
+<p>The following table provides a guideline on the choice of algorithm based on conditions on the A matrix, speed of the algorithms and numerical stability.</p>
+<pre class="fragment">    Algorithm          | Conditions on A  | Speed | Memory
+    ----------------------------------------------------------
+    llt                | Sym. Pos Def     |  ++   |  ---
+    ldlt               | Sym. Pos Def     |  ++   |  ---
+
+    For speed '++' is faster than '+', which is faster than '-'.
+    For accuracy '+++' is better than '++'.
+    For memory, '-' uses less memory than '--'.
+
+    Note: ldlt is often preferred over llt
+</pre><p>There are several algorithms that can be classified as 'iterative' methods of solving linear systems. Madlib functions provide various algorithmic options available for users.</p>
+<p>The following table provides a guideline on the choice of algorithm based on conditions on the A matrix, speed of the algorithms and numerical stability.</p>
+<pre class="fragment">    Algorithm            | Conditions on A  | Speed | Memory | Convergence
+    ----------------------------------------------------------------------
+    cg-mem               | Sym. Pos Def     |  +++  |   -    |    ++
+    bicgstab-mem         | Square           |  ++   |   -    |    +
+    precond-cg-mem       | Sym. Pos Def     |  ++   |   -    |    +++
+    precond-bicgstab-mem | Square           |  +    |   -    |    ++
+
+    For memory, '-' uses less memory than '--'.
+    For speed, '++' is faster than '+'.
+</pre><p>Algorithm Details: </p><table class="output">
+<tr>
+<th>cg-mem</th><td>In memory conjugate gradient with diagonal preconditioners.  </td></tr>
+<tr>
+<th>bicgstab-mem</th><td>Bi-conjugate gradient (equivalent to performing CG on the least squares formulation of Ax=b) with incomplete LU preconditioners.  </td></tr>
+<tr>
+<th>precond-cg-mem</th><td>In memory conjugate gradient with diagonal preconditioners.  </td></tr>
+<tr>
+<th>bicgstab-mem</th><td>Bi-conjugate gradient (equivalent to performing CG on the least squares formulation of Ax=b) with incomplete LU preconditioners.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>toler (default: 1e-5) </dt>
+<dd><p class="startdd">Termination tolerance (applicable only for iterative methods) which determines the stopping criterion (with respect to residual norm) for iterative methods. </p>
+<p class="enddd"></p>
+</dd>
+</dl>
+<p><a class="anchor" id="sls_examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>View online help for the sparse linear systems solver function. <pre class="example">
+SELECT madlib.linear_solver_sparse();
+</pre></li>
+<li>Create the sample data set. <pre class="example">
+DROP TABLE IF EXISTS sparse_linear_systems_lhs;
+CREATE TABLE sparse_linear_systems_lhs (
+    rid INTEGER NOT NULL,
+    cid  INTEGER,
+    val DOUBLE PRECISION
+);
+DROP TABLE IF EXISTS sparse_linear_systems_rhs;
+CREATE TABLE sparse_linear_systems_rhs (
+    rid INTEGER NOT NULL,
+    val DOUBLE PRECISION
+);
+INSERT INTO sparse_linear_systems_lhs(rid, cid, val) VALUES
+(0, 0, 1),
+(1, 1, 1),
+(2, 2, 1),
+(3, 3, 1);
+INSERT INTO sparse_linear_systems_rhs(rid, val) VALUES
+(0, 10),
+(1, 20),
+(2, 30);
+</pre></li>
+<li>Solve the linear systems with default parameters. <pre class="example">
+SELECT madlib.linear_solver_sparse( 'sparse_linear_systems_lhs',
+                                    'sparse_linear_systems_rhs',
+                                    'output_table',
+                                    'rid',
+                                    'cid',
+                                    'val',
+                                    'rid',
+                                    'val',
+                                    4
+                                  );
+</pre></li>
+<li>View the contents of the output table. <pre class="example">
+\x on
+SELECT * FROM output_table;
+</pre> Result: <pre class="result">
+--------------------+-------------------------------------
+solution            | {10,20,30,0}
+residual_norm       | 0
+iters               | NULL
+</pre></li>
+<li>Choose a different algorithm than the default algorithm. <pre class="example">
+DROP TABLE IF EXISTS output_table;
+SELECT madlib.linear_solver_sparse( 'sparse_linear_systems_lhs',
+                                    'sparse_linear_systems_rhs',
+                                    'output_table',
+                                    'rid',
+                                    'cid',
+                                    'val',
+                                    'rid',
+                                    'val',
+                                    4,
+                                    NULL,
+                                    'direct',
+                                    'algorithm=llt'
+                                  );
+</pre></li>
+<li>Choose a different algorithm than the default algorithm. <pre class="example">
+DROP TABLE IF EXISTS output_table;
+SELECT madlib.linear_solver_sparse(
+                                    'sparse_linear_systems_lhs',
+                                    'sparse_linear_systems_rhs',
+                                    'output_table',
+                                    'rid',
+                                    'cid',
+                                    'val',
+                                    'rid',
+                                    'val',
+                                    4,
+                                    NULL,
+                                    'iterative',
+                                    'algorithm=cg-mem, toler=1e-5'
+                                  );
+</pre></li>
+</ol>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File sparse_linear_sytems.sql_in documenting the SQL functions.</dd></dl>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[44/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/create__indicators_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/create__indicators_8sql__in.html b/docs/v1.11/create__indicators_8sql__in.html
new file mode 100644
index 0000000..c2a4bed
--- /dev/null
+++ b/docs/v1.11/create__indicators_8sql__in.html
@@ -0,0 +1,327 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: create_indicators.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('create__indicators_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">create_indicators.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for dummy coding categorical variables.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a0add50a6ab76682bde7825fc54f4d64b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="create__indicators_8sql__in.html#a0add50a6ab76682bde7825fc54f4d64b">create_indicator_variables</a> (text source_table, text out_table, text categorical_cols, boolean keep_null, text distributed_by)</td></tr>
+<tr class="memdesc:a0add50a6ab76682bde7825fc54f4d64b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new table containing dummy coded variables for categorical variables.  <a href="#a0add50a6ab76682bde7825fc54f4d64b">More...</a><br /></td></tr>
+<tr class="separator:a0add50a6ab76682bde7825fc54f4d64b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05dbb30d8dd8589e75a96b3232cafe65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="create__indicators_8sql__in.html#a05dbb30d8dd8589e75a96b3232cafe65">create_indicator_variables</a> (text source_table, text out_table, text categorical_cols, boolean keep_null)</td></tr>
+<tr class="memdesc:a05dbb30d8dd8589e75a96b3232cafe65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new table containing dummy coded variables for categorical variables.  <a href="#a05dbb30d8dd8589e75a96b3232cafe65">More...</a><br /></td></tr>
+<tr class="separator:a05dbb30d8dd8589e75a96b3232cafe65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a617b67999ab8c9c07fb0d24101a1115d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="create__indicators_8sql__in.html#a617b67999ab8c9c07fb0d24101a1115d">create_indicator_variables</a> (text source_table, text out_table, text categorical_cols)</td></tr>
+<tr class="separator:a617b67999ab8c9c07fb0d24101a1115d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a839b64f47a11a35c5df24ee93e36ba26"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="create__indicators_8sql__in.html#a839b64f47a11a35c5df24ee93e36ba26">create_indicator_variables</a> (varchar message)</td></tr>
+<tr class="separator:a839b64f47a11a35c5df24ee93e36ba26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d0ef27bc38be2b4b5f063cf7b560d1f"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="create__indicators_8sql__in.html#a5d0ef27bc38be2b4b5f063cf7b560d1f">create_indicator_variables</a> ()</td></tr>
+<tr class="separator:a5d0ef27bc38be2b4b5f063cf7b560d1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at</p>
+<p><a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p>
+<p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.</p>
+<dl class="section date"><dt>Date</dt><dd>June 2014</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>Calculates dummy-coded indicator variables for categorical variables </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a0add50a6ab76682bde7825fc54f4d64b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0add50a6ab76682bde7825fc54f4d64b">&#9670;&nbsp;</a></span>create_indicator_variables() <span class="overload">[1/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_indicator_variables </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>keep_null</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>distributed_by</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source_table</td><td>Name of table containing categorical variable </td></tr>
+    <tr><td class="paramname">out_table</td><td>Name of table to output dummy variables </td></tr>
+    <tr><td class="paramname">categorical_cols</td><td>Comma-separated list of column names to dummy code </td></tr>
+    <tr><td class="paramname">keep_null</td><td>Boolean to determine the behavior for rows with NULL value </td></tr>
+    <tr><td class="paramname">distributed_by</td><td>Comma-separated list of column names to use for distribution of output</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Void </dd></dl>
+
+</div>
+</div>
+<a id="a05dbb30d8dd8589e75a96b3232cafe65"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a05dbb30d8dd8589e75a96b3232cafe65">&#9670;&nbsp;</a></span>create_indicator_variables() <span class="overload">[2/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_indicator_variables </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>keep_null</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source_table</td><td>Name of table containing categorical variable </td></tr>
+    <tr><td class="paramname">out_table</td><td>Name of table to output dummy variables </td></tr>
+    <tr><td class="paramname">categorical_cols</td><td>Comma-separated list of column names to dummy code </td></tr>
+    <tr><td class="paramname">keep_null</td><td>Boolean to determine the behavior for rows with NULL value</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Void </dd></dl>
+
+</div>
+</div>
+<a id="a617b67999ab8c9c07fb0d24101a1115d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a617b67999ab8c9c07fb0d24101a1115d">&#9670;&nbsp;</a></span>create_indicator_variables() <span class="overload">[3/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_indicator_variables </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a839b64f47a11a35c5df24ee93e36ba26"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a839b64f47a11a35c5df24ee93e36ba26">&#9670;&nbsp;</a></span>create_indicator_variables() <span class="overload">[4/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar create_indicator_variables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5d0ef27bc38be2b4b5f063cf7b560d1f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5d0ef27bc38be2b4b5f063cf7b560d1f">&#9670;&nbsp;</a></span>create_indicator_variables() <span class="overload">[5/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar create_indicator_variables </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_08a20377491e298f2a18634c46688672.html">utilities</a></li><li class="navelem"><a class="el" href="create__indicators_8sql__in.html">create_indicators.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/crf_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/crf_8sql__in.html b/docs/v1.11/crf_8sql__in.html
new file mode 100644
index 0000000..18fb7eb
--- /dev/null
+++ b/docs/v1.11/crf_8sql__in.html
@@ -0,0 +1,546 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: crf.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('crf_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">crf.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for conditional random field.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a2e7104fea95ca76587e7fae9bcb0d7ed"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf_8sql__in.html#a2e7104fea95ca76587e7fae9bcb0d7ed">lincrf_lbfgs_step_transition</a> (float8[], float8[], float8[], float8[], float8, float8, float8[])</td></tr>
+<tr class="separator:a2e7104fea95ca76587e7fae9bcb0d7ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45f3eaf0c80cdfa99872cd071020d5c7"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf_8sql__in.html#a45f3eaf0c80cdfa99872cd071020d5c7">lincrf_lbfgs_step_merge_states</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a45f3eaf0c80cdfa99872cd071020d5c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5bf4b2738003096f4eeeccd0eb5e98f0"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf_8sql__in.html#a5bf4b2738003096f4eeeccd0eb5e98f0">lincrf_lbfgs_step_final</a> (float8[] state)</td></tr>
+<tr class="separator:a5bf4b2738003096f4eeeccd0eb5e98f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47ef6b30d54ac4ef89cb664a681d1067"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf_8sql__in.html#a47ef6b30d54ac4ef89cb664a681d1067">internal_lincrf_lbfgs_converge</a> (float8[] state)</td></tr>
+<tr class="separator:a47ef6b30d54ac4ef89cb664a681d1067"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff63c9a56bebf501a2f40971271605c2"><td class="memItemLeft" align="right" valign="top">lincrf_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf_8sql__in.html#aff63c9a56bebf501a2f40971271605c2">internal_lincrf_lbfgs_result</a> (float8[] state)</td></tr>
+<tr class="separator:aff63c9a56bebf501a2f40971271605c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a590cd748d8e18055d851e7d4f4a3ca00"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf_8sql__in.html#a590cd748d8e18055d851e7d4f4a3ca00">lincrf_lbfgs_step</a> (float8[], float8[], float8[], float8, float8, float8[])</td></tr>
+<tr class="separator:a590cd748d8e18055d851e7d4f4a3ca00"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73693c959db4ca3dbfd1b9debcca2c8f"><td class="memItemLeft" align="right" valign="top">aggregate anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf_8sql__in.html#a73693c959db4ca3dbfd1b9debcca2c8f">array_union</a> (anyarray)</td></tr>
+<tr class="separator:a73693c959db4ca3dbfd1b9debcca2c8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20c096420d878cdd66dac6a232483737"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf_8sql__in.html#a20c096420d878cdd66dac6a232483737">compute_lincrf</a> (text source, text sparse_R, text dense_M, text sparse_M, text featureSize, integer tagSize, integer maxNumIterations)</td></tr>
+<tr class="separator:a20c096420d878cdd66dac6a232483737"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a336ac57ae3d07e331646d397c7651d3d"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf_8sql__in.html#a336ac57ae3d07e331646d397c7651d3d">lincrf_train</a> (text train_feature_tbl, text train_featureset_tbl, text label_tbl, text crf_stats_tbl, text crf_weights_tbl, integer max_iterations)</td></tr>
+<tr class="memdesc:a336ac57ae3d07e331646d397c7651d3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute linear-chain crf coefficients and diagnostic statistics.  <a href="#a336ac57ae3d07e331646d397c7651d3d">More...</a><br /></td></tr>
+<tr class="separator:a336ac57ae3d07e331646d397c7651d3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b7059a5e22e40eae252c718217bf574"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf_8sql__in.html#a6b7059a5e22e40eae252c718217bf574">lincrf_train</a> (text train_feature_tbl, text train_featureset_tbl, text label_tbl, text crf_stats_tbl, text crf_weights_tbl)</td></tr>
+<tr class="separator:a6b7059a5e22e40eae252c718217bf574"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>July 2012</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to conditional random field, see the module description <a class="el" href="group__grp__crf.html">Conditional Random Field</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a73693c959db4ca3dbfd1b9debcca2c8f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a73693c959db4ca3dbfd1b9debcca2c8f">&#9670;&nbsp;</a></span>array_union()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate anyarray array_union </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a20c096420d878cdd66dac6a232483737"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a20c096420d878cdd66dac6a232483737">&#9670;&nbsp;</a></span>compute_lincrf()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer compute_lincrf </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>sparse_R</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dense_M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>sparse_M</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>featureSize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>tagSize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>maxNumIterations</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a47ef6b30d54ac4ef89cb664a681d1067"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a47ef6b30d54ac4ef89cb664a681d1067">&#9670;&nbsp;</a></span>internal_lincrf_lbfgs_converge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 internal_lincrf_lbfgs_converge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aff63c9a56bebf501a2f40971271605c2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aff63c9a56bebf501a2f40971271605c2">&#9670;&nbsp;</a></span>internal_lincrf_lbfgs_result()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">lincrf_result internal_lincrf_lbfgs_result </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a590cd748d8e18055d851e7d4f4a3ca00"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a590cd748d8e18055d851e7d4f4a3ca00">&#9670;&nbsp;</a></span>lincrf_lbfgs_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] lincrf_lbfgs_step </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5bf4b2738003096f4eeeccd0eb5e98f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5bf4b2738003096f4eeeccd0eb5e98f0">&#9670;&nbsp;</a></span>lincrf_lbfgs_step_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] lincrf_lbfgs_step_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a45f3eaf0c80cdfa99872cd071020d5c7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a45f3eaf0c80cdfa99872cd071020d5c7">&#9670;&nbsp;</a></span>lincrf_lbfgs_step_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] lincrf_lbfgs_step_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2e7104fea95ca76587e7fae9bcb0d7ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2e7104fea95ca76587e7fae9bcb0d7ed">&#9670;&nbsp;</a></span>lincrf_lbfgs_step_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] lincrf_lbfgs_step_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a336ac57ae3d07e331646d397c7651d3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a336ac57ae3d07e331646d397c7651d3d">&#9670;&nbsp;</a></span>lincrf_train() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text lincrf_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>train_feature_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>train_featureset_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>label_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>crf_stats_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>crf_weights_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iterations</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source</td><td>Name of the source relation containing the training data </td></tr>
+    <tr><td class="paramname">sparse_R</td><td>Name of the sparse single state feature column (of type DOUBLE PRECISION[]) </td></tr>
+    <tr><td class="paramname">dense_M</td><td>Name of the dense two state feature column (of type DOUBLE PRECISION[]) </td></tr>
+    <tr><td class="paramname">sparse_M</td><td>Name of the sparse two state feature column (of type DOUBLE PRECISION[]) </td></tr>
+    <tr><td class="paramname">featureSize</td><td>Name of feature size column (of type DOUBLE PRECISION) </td></tr>
+    <tr><td class="paramname">tagSize</td><td>The number of tags in the tag set </td></tr>
+    <tr><td class="paramname">featureset</td><td>The unique feature set </td></tr>
+    <tr><td class="paramname">crf_feature</td><td>The Name of output feature table </td></tr>
+    <tr><td class="paramname">maxNumIterations</td><td>The maximum number of iterations</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>a composite value:<ul>
+<li><code>coef FLOAT8[]</code> - Array of coefficients, <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/></li>
+<li><code>log_likelihood FLOAT8</code> - Log-likelihood <img class="formulaInl" alt="$ l(\boldsymbol c) $" src="form_80.png"/></li>
+<li><code>num_iterations INTEGER</code> - The number of iterations before the algorithm terminated <br />
+<br />
+A 'crf_feature' table is used to store all the features and corresponding weights</li>
+</ul>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This function starts an iterative algorithm. It is not an aggregate function. Source and column names have to be passed as strings (due to limitations of the SQL syntax). </dd></dl>
+
+</div>
+</div>
+<a id="a6b7059a5e22e40eae252c718217bf574"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6b7059a5e22e40eae252c718217bf574">&#9670;&nbsp;</a></span>lincrf_train() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text lincrf_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>train_feature_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>train_featureset_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>label_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>crf_stats_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>crf_weights_tbl</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_243a6dc3b90609ab2fa0db538dccc7e4.html">crf</a></li><li class="navelem"><a class="el" href="crf_8sql__in.html">crf.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/crf__data__loader_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/crf__data__loader_8sql__in.html b/docs/v1.11/crf__data__loader_8sql__in.html
new file mode 100644
index 0000000..786a789
--- /dev/null
+++ b/docs/v1.11/crf__data__loader_8sql__in.html
@@ -0,0 +1,329 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: crf_data_loader.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('crf__data__loader_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">crf_data_loader.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Create database tables and import POS/NER training/testing data to the database.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:aaa609ec1d1d4cff0f335fa358091d5c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf__data__loader_8sql__in.html#aaa609ec1d1d4cff0f335fa358091d5c3">crf_train_data</a> (text datapath)</td></tr>
+<tr class="separator:aaa609ec1d1d4cff0f335fa358091d5c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf2a39a0b84a5e7ae215db28b3a87f81"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf__data__loader_8sql__in.html#abf2a39a0b84a5e7ae215db28b3a87f81">crf_test_data</a> (text datapath)</td></tr>
+<tr class="separator:abf2a39a0b84a5e7ae215db28b3a87f81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>Feb. 2012 </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="abf2a39a0b84a5e7ae215db28b3a87f81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abf2a39a0b84a5e7ae215db28b3a87f81">&#9670;&nbsp;</a></span>crf_test_data()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void crf_test_data </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>datapath</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section user"><dt>Input</dt><dd></dd></dl>
+<ol type="1">
+<li>Prepare an input test data segment table, e.g.:</li>
+</ol>
+<ul>
+<li>CREATE TABLE test_segmenttbl (start_pos integer,doc_id integer,seg_text text, max_pos integer) <pre class="fragment">sql&gt; select * from test_segmenttbl order by doc_id, start_pos;
+start_pos | doc_id |   seg_text    | max_pos
+----------+---------+--------------+-------------
+     0    |    1   |          the  |    26
+     1    |    1   |       madlib  |    26
+     2    |    1   |      mission  |    26
+     3    |    1   |            :  |    26
+     4    |    1   |           to  |    26
+     5    |    1   |       foster  |    26
+     6    |    1   |   widespread  |    26
+     7    |    1   |  development  |    26
+     8    |    1   |           of  |    26
+     9    |    1   |     scalable  |    26
+     10   |    1   |     analytic  |    26
+     11   |    1   |       skills  |    26
+     12   |    1   |            ,  |    26
+     13   |    1   |           by  |    26
+     ...
+     24   |    1   |  open-source  |    26
+     25   |    1   |   development |    26
+     26   |    1   |             . |    26
+</pre></li>
+</ul>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>create tables and import data to the database SELECT madlib.crf_test_data('/path/to/modeldata') </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="aaa609ec1d1d4cff0f335fa358091d5c3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaa609ec1d1d4cff0f335fa358091d5c3">&#9670;&nbsp;</a></span>crf_train_data()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void crf_train_data </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>datapath</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="section user"><dt>Input</dt><dd></dd></dl>
+<ol type="1">
+<li>Prepare an input train data segment table, e.g.:</li>
+</ol>
+<ul>
+<li>CREATE TABLE train_segmenttbl (start_pos integer,doc_id integer,seg_text text, max_pos integer) <pre class="fragment">sql&gt; select * from train_segmenttbl order by doc_id, start_pos;
+start_pos | doc_id | seg_text      | max_pos
+----------+---------+--------------+-------------
+     0    |    1   |       madlib  |    9
+     1    |    1   |           is  |    9
+     2    |    1   |           an  |    9
+     3    |    1   |  open-source  |    9
+     4    |    1   |      library  |    9
+     5    |    1   |          for  |    9
+     6    |    1   |     scalable  |    9
+     7    |    1   |  in-database  |    9
+     8    |    1   |    analytics  |    9
+     9    |    1   |            .  |    9
+     0    |    2   |           it  |   16
+     1    |    2   |     provides  |   16
+     2    |    2   |data-parallel  |   16
+     3    |    2   |implementations|   16
+     ...
+     14   |    2   |  unstructured |   16
+     15   |    2   |          data |   16
+     16   |    2   |             . |   16
+</pre></li>
+</ul>
+<ol type="1">
+<li>Prepare an input dictionary table, e.g.,:</li>
+</ol>
+<ul>
+<li>CREATE TABLE crf_dictionary (token text,token_id integer,label text,count integer,total integer) <pre class="fragment">sql&gt; select * from crf_dictionary;
+token       | label  | count | total
+------------+--------+--------------
+   freefall |   11   |   1   |  1
+     policy |   11   |   2   |  2
+   measures |   12   |   1   |  1
+ commitment |   11   |   1   |  1
+        new |    6   |   1   |  1
+     speech |   11   |   1   |  1
+         's |   16   |   2   |  2
+     reckon |   30   |   1   |  1
+ underlying |   28   |   1   |  1
+ ...
+</pre></li>
+</ul>
+<ol type="1">
+<li>Prepare an input label table, e.g.,:</li>
+</ol>
+<ul>
+<li>CREATE TABLE labeltbl (id integer,label character varying) <pre class="fragment">sql&gt; select * from labeltbl order by id;
+id          | label
+------------+--------
+      0     |   CC
+      1     |   CD
+      2     |   DT
+      3     |   EX
+      4     |   FW
+      5     |   IN
+      6     |   JJ
+...
+     42     |    ,
+     43     |    .
+     44     |    :
+</pre></li>
+</ul>
+<ol type="1">
+<li>Prepare an input regex table, e.g.,:</li>
+</ol>
+<ul>
+<li>CREATE TABLE crf_regex (pattern text,name text) <pre class="fragment">sql&gt; select * from crf_regex;
+pattern       |   name
+------------- +---------------
+^[A-Z][a-z]+$ |  InitCapital%
+     ^[A-Z]+$ |  isAllCapital%
+ ^.*[0-9]+.*$ |  containsDigit%
+      ^.+[.]$ |  endsWithDot%
+      ^.+[,]$ |  endsWithComma%
+       ^.+er$ |  endsWithER%
+      ^.+est$ |  endsWithEst%
+       ^.+ed$ |  endsWithED%
+...
+</pre></li>
+</ul>
+<ol type="1">
+<li>Prepare an input feature table, e.g.,:</li>
+</ol>
+<ul>
+<li>CREATE TABLE featuretbl (id integer,name text,prev_label_id integer,label_id integer,weight float) <pre class="fragment">sql&gt; select * from featuretbl order by id;
+id   |     name     | prev_label_id | label_id | weight
+-------------------------------------------------------
+1    | W_chancellor |       -1      |    13     | 2.2322
+2    |         E.13 |       13      |     5     | 2.3995
+3    |            U |       -1      |     5     | 1.2164
+4    |         W_of |       -1      |     5     | 2.8744
+5    |          E.5 |        5      |     2     | 3.7716
+6    |        W_the |       -1      |     2     | 4.1790
+7    |          E.2 |        2      |    13     | 0.8957
+...
+</pre></li>
+</ul>
+<ol type="1">
+<li>Prepare an crf feature set table, e.g.,:</li>
+</ol>
+<ul>
+<li>CREATE TABLE madlib.crf_feature_dic(f_index integer, f_name text, feature integer[]) <pre class="fragment">sql&gt; select * from crf_feature_dic order by id;
+f_index|     f_name   | feature
+--------------------------------
+0      | W_chancellor |       -1
+1      |         E.13 |       13
+2      |            U |       -1
+3      |         W_of |       -1
+4      |          E.5 |        5
+5      |        W_the |       -1
+...
+</pre></li>
+</ul>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>create tables and import data to the database SELECT madlib.crf_train_data('/path/to/modeldata') </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_243a6dc3b90609ab2fa0db538dccc7e4.html">crf</a></li><li class="navelem"><a class="el" href="crf__data__loader_8sql__in.html">crf_data_loader.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/crf__feature__gen_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/crf__feature__gen_8sql__in.html b/docs/v1.11/crf__feature__gen_8sql__in.html
new file mode 100644
index 0000000..1f0561a
--- /dev/null
+++ b/docs/v1.11/crf__feature__gen_8sql__in.html
@@ -0,0 +1,292 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: crf_feature_gen.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('crf__feature__gen_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">crf_feature_gen.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL function for POS/NER feature extraction.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a3548bd640c2af456f3755cb24b913ebd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf__feature__gen_8sql__in.html#a3548bd640c2af456f3755cb24b913ebd">crf_train_fgen</a> (text train_segment_tbl, text regex_tbl, text label_tbl, text dictionary_tbl, text train_feature_tbl, text train_featureset_tbl)</td></tr>
+<tr class="memdesc:a3548bd640c2af456f3755cb24b913ebd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function extracts POS/NER features from the training data.  <a href="#a3548bd640c2af456f3755cb24b913ebd">More...</a><br /></td></tr>
+<tr class="separator:a3548bd640c2af456f3755cb24b913ebd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9af2c3d1a4f1c937795634ca297dede"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf__feature__gen_8sql__in.html#ad9af2c3d1a4f1c937795634ca297dede">crf_test_fgen</a> (text test_segment_tbl, text dictionary_tbl, text label_tbl, text regex_tbl, text crf_weights_tbl, text viterbi_mtbl, text viterbi_rtbl)</td></tr>
+<tr class="memdesc:ad9af2c3d1a4f1c937795634ca297dede"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function extracts POS/NER features from the testing data.  <a href="#ad9af2c3d1a4f1c937795634ca297dede">More...</a><br /></td></tr>
+<tr class="separator:ad9af2c3d1a4f1c937795634ca297dede"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>February 2012</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For an introduction to POS/NER feature extraction, see the module description <a class="el" href="group__grp__crf.html">Conditional Random Field</a> </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="ad9af2c3d1a4f1c937795634ca297dede"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad9af2c3d1a4f1c937795634ca297dede">&#9670;&nbsp;</a></span>crf_test_fgen()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void crf_test_fgen </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>test_segment_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dictionary_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>label_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>regex_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>crf_weights_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>viterbi_mtbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>viterbi_rtbl</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>This feature extraction function will produce two factor tables, "m table" (<em>viterbi_mtbl</em>) and "r table" (<em>viterbi_rtbl</em>). The <em>viterbi_mtbl</em> table and <em>viterbi_rtbl</em> table are used to calculate the best label sequence for each sentence.</p>
+<ul>
+<li><em>viterbi_mtbl</em> table encodes the edge features which are solely dependent on upon current label and previous y value. The m table has three columns which are prev_label, label, and value respectively. If the number of labels in <img class="formulaInl" alt="$ n $" src="form_11.png"/>, then the m factor table will <img class="formulaInl" alt="$ n^2 $" src="form_81.png"/> rows. Each row encodes the transition feature weight value from the previous label to the current label.</li>
+</ul>
+<p><em>startFeature</em> is considered as a special edge feature which is from the beginning to the first token. Likewise, <em>endFeature</em> can be considered as a special edge feature which is from the last token to the very end. So m table encodes the edgeFeature, startFeature, and endFeature. If the total number of labels in the label space is 45 from 0 to 44, then the m factor array is as follows: </p><pre>
+                 0  1  2  3  4  5...44
+startFeature -1  a  a  a  a  a  a...a
+edgeFeature   0  a  a  a  a  a  a...a
+edgeFeature   1  a  a  a  a  a  a...a
+...
+edgeFeature  44  a  a  a  a  a  a...a
+endFeature   45  a  a  a  a  a  a...a</pre><ul>
+<li>viterbi_r table is related to specific tokens. It encodes the single state features, e.g., wordFeature, RegexFeature for all tokens. The r table is represented in the following way. <pre>
+       0  1  2  3  4...44
+token1 a  a  a  a  a...a
+token2 a  a  a  a  a...a</pre></li>
+</ul>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">test_segment_tbl</td><td>Name of table containing all the tokenized testing sentences. </td></tr>
+    <tr><td class="paramname">dictionary_tbl</td><td>Name of table containing the dictionary_tbl. </td></tr>
+    <tr><td class="paramname">label_tbl</td><td>Name of table containing the the label space used in POS or other NLP tasks. </td></tr>
+    <tr><td class="paramname">regex_tbl</td><td>Name of table containing all the regular expressions to capture regex features. </td></tr>
+    <tr><td class="paramname">crf_weights_tbl</td><td>Name of the table containing featureset weights. </td></tr>
+    <tr><td class="paramname">viterbi_mtbl</td><td>Name of table to store the m factors. </td></tr>
+    <tr><td class="paramname">viterbi_rtbl</td><td>Name of table to store the r factors. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a3548bd640c2af456f3755cb24b913ebd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3548bd640c2af456f3755cb24b913ebd">&#9670;&nbsp;</a></span>crf_train_fgen()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void crf_train_fgen </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>train_segment_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>regex_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>label_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dictionary_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>train_feature_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>train_featureset_tbl</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">train_segment_tbl</td><td>Name of table containing all the tokenized training sentences. </td></tr>
+    <tr><td class="paramname">regex_tbl</td><td>Name of table containing all the regular expressions to capture regex features. </td></tr>
+    <tr><td class="paramname">label_tbl</td><td>Name of the label table containing unique ids and label names. </td></tr>
+    <tr><td class="paramname">dictionary_tbl</td><td>Name of table containing the dictionary_tbl. </td></tr>
+    <tr><td class="paramname">train_feature_tbl</td><td>features generated from the traning dataset </td></tr>
+    <tr><td class="paramname">train_featureset_tbl</td><td>unique feature set generated from the training dataset </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_243a6dc3b90609ab2fa0db538dccc7e4.html">crf</a></li><li class="navelem"><a class="el" href="crf__feature__gen_8sql__in.html">crf_feature_gen.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[34/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_244.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_244.png b/docs/v1.11/form_244.png
new file mode 100644
index 0000000..d900315
Binary files /dev/null and b/docs/v1.11/form_244.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_245.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_245.png b/docs/v1.11/form_245.png
new file mode 100644
index 0000000..b7afdbc
Binary files /dev/null and b/docs/v1.11/form_245.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_246.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_246.png b/docs/v1.11/form_246.png
new file mode 100644
index 0000000..c38876c
Binary files /dev/null and b/docs/v1.11/form_246.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_247.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_247.png b/docs/v1.11/form_247.png
new file mode 100644
index 0000000..4f6d877
Binary files /dev/null and b/docs/v1.11/form_247.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_248.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_248.png b/docs/v1.11/form_248.png
new file mode 100644
index 0000000..e626a8a
Binary files /dev/null and b/docs/v1.11/form_248.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_249.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_249.png b/docs/v1.11/form_249.png
new file mode 100644
index 0000000..74939f7
Binary files /dev/null and b/docs/v1.11/form_249.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_25.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_25.png b/docs/v1.11/form_25.png
new file mode 100644
index 0000000..9f31b2a
Binary files /dev/null and b/docs/v1.11/form_25.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_250.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_250.png b/docs/v1.11/form_250.png
new file mode 100644
index 0000000..eb5a8cf
Binary files /dev/null and b/docs/v1.11/form_250.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_251.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_251.png b/docs/v1.11/form_251.png
new file mode 100644
index 0000000..6255679
Binary files /dev/null and b/docs/v1.11/form_251.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_252.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_252.png b/docs/v1.11/form_252.png
new file mode 100644
index 0000000..f25c1b5
Binary files /dev/null and b/docs/v1.11/form_252.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_253.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_253.png b/docs/v1.11/form_253.png
new file mode 100644
index 0000000..42d4bb9
Binary files /dev/null and b/docs/v1.11/form_253.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_254.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_254.png b/docs/v1.11/form_254.png
new file mode 100644
index 0000000..bada6e8
Binary files /dev/null and b/docs/v1.11/form_254.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_255.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_255.png b/docs/v1.11/form_255.png
new file mode 100644
index 0000000..41091db
Binary files /dev/null and b/docs/v1.11/form_255.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_256.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_256.png b/docs/v1.11/form_256.png
new file mode 100644
index 0000000..ccb2257
Binary files /dev/null and b/docs/v1.11/form_256.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_257.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_257.png b/docs/v1.11/form_257.png
new file mode 100644
index 0000000..7c64974
Binary files /dev/null and b/docs/v1.11/form_257.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_258.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_258.png b/docs/v1.11/form_258.png
new file mode 100644
index 0000000..94a80cc
Binary files /dev/null and b/docs/v1.11/form_258.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_259.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_259.png b/docs/v1.11/form_259.png
new file mode 100644
index 0000000..d127c0d
Binary files /dev/null and b/docs/v1.11/form_259.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_26.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_26.png b/docs/v1.11/form_26.png
new file mode 100644
index 0000000..b4f0cea
Binary files /dev/null and b/docs/v1.11/form_26.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_260.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_260.png b/docs/v1.11/form_260.png
new file mode 100644
index 0000000..8f563fa
Binary files /dev/null and b/docs/v1.11/form_260.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_261.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_261.png b/docs/v1.11/form_261.png
new file mode 100644
index 0000000..8cdfcdb
Binary files /dev/null and b/docs/v1.11/form_261.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_262.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_262.png b/docs/v1.11/form_262.png
new file mode 100644
index 0000000..78dce84
Binary files /dev/null and b/docs/v1.11/form_262.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_263.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_263.png b/docs/v1.11/form_263.png
new file mode 100644
index 0000000..e17af46
Binary files /dev/null and b/docs/v1.11/form_263.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_264.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_264.png b/docs/v1.11/form_264.png
new file mode 100644
index 0000000..ee21834
Binary files /dev/null and b/docs/v1.11/form_264.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_265.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_265.png b/docs/v1.11/form_265.png
new file mode 100644
index 0000000..9af224f
Binary files /dev/null and b/docs/v1.11/form_265.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_266.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_266.png b/docs/v1.11/form_266.png
new file mode 100644
index 0000000..e69ea91
Binary files /dev/null and b/docs/v1.11/form_266.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_267.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_267.png b/docs/v1.11/form_267.png
new file mode 100644
index 0000000..65230a6
Binary files /dev/null and b/docs/v1.11/form_267.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_268.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_268.png b/docs/v1.11/form_268.png
new file mode 100644
index 0000000..756c06f
Binary files /dev/null and b/docs/v1.11/form_268.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_269.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_269.png b/docs/v1.11/form_269.png
new file mode 100644
index 0000000..c96f491
Binary files /dev/null and b/docs/v1.11/form_269.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_27.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_27.png b/docs/v1.11/form_27.png
new file mode 100644
index 0000000..ca7f697
Binary files /dev/null and b/docs/v1.11/form_27.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_270.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_270.png b/docs/v1.11/form_270.png
new file mode 100644
index 0000000..9d65cfc
Binary files /dev/null and b/docs/v1.11/form_270.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_271.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_271.png b/docs/v1.11/form_271.png
new file mode 100644
index 0000000..b71f6e7
Binary files /dev/null and b/docs/v1.11/form_271.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_272.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_272.png b/docs/v1.11/form_272.png
new file mode 100644
index 0000000..5dd2651
Binary files /dev/null and b/docs/v1.11/form_272.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_273.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_273.png b/docs/v1.11/form_273.png
new file mode 100644
index 0000000..2acde9e
Binary files /dev/null and b/docs/v1.11/form_273.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_274.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_274.png b/docs/v1.11/form_274.png
new file mode 100644
index 0000000..cbf0d49
Binary files /dev/null and b/docs/v1.11/form_274.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_275.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_275.png b/docs/v1.11/form_275.png
new file mode 100644
index 0000000..f51045c
Binary files /dev/null and b/docs/v1.11/form_275.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_276.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_276.png b/docs/v1.11/form_276.png
new file mode 100644
index 0000000..4b15635
Binary files /dev/null and b/docs/v1.11/form_276.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_277.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_277.png b/docs/v1.11/form_277.png
new file mode 100644
index 0000000..16eab75
Binary files /dev/null and b/docs/v1.11/form_277.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_278.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_278.png b/docs/v1.11/form_278.png
new file mode 100644
index 0000000..e5fac0a
Binary files /dev/null and b/docs/v1.11/form_278.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_279.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_279.png b/docs/v1.11/form_279.png
new file mode 100644
index 0000000..060a88f
Binary files /dev/null and b/docs/v1.11/form_279.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_28.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_28.png b/docs/v1.11/form_28.png
new file mode 100644
index 0000000..af6b752
Binary files /dev/null and b/docs/v1.11/form_28.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_280.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_280.png b/docs/v1.11/form_280.png
new file mode 100644
index 0000000..f61d053
Binary files /dev/null and b/docs/v1.11/form_280.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_281.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_281.png b/docs/v1.11/form_281.png
new file mode 100644
index 0000000..0415918
Binary files /dev/null and b/docs/v1.11/form_281.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_282.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_282.png b/docs/v1.11/form_282.png
new file mode 100644
index 0000000..7d751e1
Binary files /dev/null and b/docs/v1.11/form_282.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_283.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_283.png b/docs/v1.11/form_283.png
new file mode 100644
index 0000000..b8a132e
Binary files /dev/null and b/docs/v1.11/form_283.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_284.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_284.png b/docs/v1.11/form_284.png
new file mode 100644
index 0000000..c46a402
Binary files /dev/null and b/docs/v1.11/form_284.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_285.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_285.png b/docs/v1.11/form_285.png
new file mode 100644
index 0000000..a8858f7
Binary files /dev/null and b/docs/v1.11/form_285.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_286.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_286.png b/docs/v1.11/form_286.png
new file mode 100644
index 0000000..17cd4bb
Binary files /dev/null and b/docs/v1.11/form_286.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_287.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_287.png b/docs/v1.11/form_287.png
new file mode 100644
index 0000000..624ddb6
Binary files /dev/null and b/docs/v1.11/form_287.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_288.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_288.png b/docs/v1.11/form_288.png
new file mode 100644
index 0000000..8045059
Binary files /dev/null and b/docs/v1.11/form_288.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_289.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_289.png b/docs/v1.11/form_289.png
new file mode 100644
index 0000000..910a47f
Binary files /dev/null and b/docs/v1.11/form_289.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_29.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_29.png b/docs/v1.11/form_29.png
new file mode 100644
index 0000000..40fa8cf
Binary files /dev/null and b/docs/v1.11/form_29.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_290.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_290.png b/docs/v1.11/form_290.png
new file mode 100644
index 0000000..0ef3203
Binary files /dev/null and b/docs/v1.11/form_290.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_291.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_291.png b/docs/v1.11/form_291.png
new file mode 100644
index 0000000..8286328
Binary files /dev/null and b/docs/v1.11/form_291.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_292.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_292.png b/docs/v1.11/form_292.png
new file mode 100644
index 0000000..33c9dde
Binary files /dev/null and b/docs/v1.11/form_292.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_293.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_293.png b/docs/v1.11/form_293.png
new file mode 100644
index 0000000..2c16fcf
Binary files /dev/null and b/docs/v1.11/form_293.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_294.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_294.png b/docs/v1.11/form_294.png
new file mode 100644
index 0000000..7bdf4ca
Binary files /dev/null and b/docs/v1.11/form_294.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_295.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_295.png b/docs/v1.11/form_295.png
new file mode 100644
index 0000000..08fd87e
Binary files /dev/null and b/docs/v1.11/form_295.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_296.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_296.png b/docs/v1.11/form_296.png
new file mode 100644
index 0000000..b11041f
Binary files /dev/null and b/docs/v1.11/form_296.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_297.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_297.png b/docs/v1.11/form_297.png
new file mode 100644
index 0000000..74d1c9f
Binary files /dev/null and b/docs/v1.11/form_297.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_298.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_298.png b/docs/v1.11/form_298.png
new file mode 100644
index 0000000..0dacf83
Binary files /dev/null and b/docs/v1.11/form_298.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_299.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_299.png b/docs/v1.11/form_299.png
new file mode 100644
index 0000000..b05239a
Binary files /dev/null and b/docs/v1.11/form_299.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_3.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_3.png b/docs/v1.11/form_3.png
new file mode 100644
index 0000000..900c850
Binary files /dev/null and b/docs/v1.11/form_3.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_30.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_30.png b/docs/v1.11/form_30.png
new file mode 100644
index 0000000..ecf9c0e
Binary files /dev/null and b/docs/v1.11/form_30.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_300.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_300.png b/docs/v1.11/form_300.png
new file mode 100644
index 0000000..963bf8a
Binary files /dev/null and b/docs/v1.11/form_300.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_301.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_301.png b/docs/v1.11/form_301.png
new file mode 100644
index 0000000..a1279bb
Binary files /dev/null and b/docs/v1.11/form_301.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_302.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_302.png b/docs/v1.11/form_302.png
new file mode 100644
index 0000000..7d27fa6
Binary files /dev/null and b/docs/v1.11/form_302.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_303.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_303.png b/docs/v1.11/form_303.png
new file mode 100644
index 0000000..deb29e0
Binary files /dev/null and b/docs/v1.11/form_303.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_304.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_304.png b/docs/v1.11/form_304.png
new file mode 100644
index 0000000..696bac2
Binary files /dev/null and b/docs/v1.11/form_304.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_305.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_305.png b/docs/v1.11/form_305.png
new file mode 100644
index 0000000..d398e9e
Binary files /dev/null and b/docs/v1.11/form_305.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_306.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_306.png b/docs/v1.11/form_306.png
new file mode 100644
index 0000000..7413232
Binary files /dev/null and b/docs/v1.11/form_306.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_307.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_307.png b/docs/v1.11/form_307.png
new file mode 100644
index 0000000..3a10170
Binary files /dev/null and b/docs/v1.11/form_307.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_308.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_308.png b/docs/v1.11/form_308.png
new file mode 100644
index 0000000..a2b3f39
Binary files /dev/null and b/docs/v1.11/form_308.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_309.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_309.png b/docs/v1.11/form_309.png
new file mode 100644
index 0000000..9fd4e5a
Binary files /dev/null and b/docs/v1.11/form_309.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_31.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_31.png b/docs/v1.11/form_31.png
new file mode 100644
index 0000000..f8e8f3c
Binary files /dev/null and b/docs/v1.11/form_31.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_310.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_310.png b/docs/v1.11/form_310.png
new file mode 100644
index 0000000..c899168
Binary files /dev/null and b/docs/v1.11/form_310.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_311.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_311.png b/docs/v1.11/form_311.png
new file mode 100644
index 0000000..9cec7bc
Binary files /dev/null and b/docs/v1.11/form_311.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_312.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_312.png b/docs/v1.11/form_312.png
new file mode 100644
index 0000000..e4e298b
Binary files /dev/null and b/docs/v1.11/form_312.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_313.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_313.png b/docs/v1.11/form_313.png
new file mode 100644
index 0000000..d886887
Binary files /dev/null and b/docs/v1.11/form_313.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_314.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_314.png b/docs/v1.11/form_314.png
new file mode 100644
index 0000000..2c16fcf
Binary files /dev/null and b/docs/v1.11/form_314.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_315.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_315.png b/docs/v1.11/form_315.png
new file mode 100644
index 0000000..f81a1a4
Binary files /dev/null and b/docs/v1.11/form_315.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_316.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_316.png b/docs/v1.11/form_316.png
new file mode 100644
index 0000000..e617a12
Binary files /dev/null and b/docs/v1.11/form_316.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_317.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_317.png b/docs/v1.11/form_317.png
new file mode 100644
index 0000000..ec3d628
Binary files /dev/null and b/docs/v1.11/form_317.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_318.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_318.png b/docs/v1.11/form_318.png
new file mode 100644
index 0000000..2237ecb
Binary files /dev/null and b/docs/v1.11/form_318.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_319.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_319.png b/docs/v1.11/form_319.png
new file mode 100644
index 0000000..44be005
Binary files /dev/null and b/docs/v1.11/form_319.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_32.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_32.png b/docs/v1.11/form_32.png
new file mode 100644
index 0000000..3c02a2c
Binary files /dev/null and b/docs/v1.11/form_32.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_320.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_320.png b/docs/v1.11/form_320.png
new file mode 100644
index 0000000..79deb5a
Binary files /dev/null and b/docs/v1.11/form_320.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_321.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_321.png b/docs/v1.11/form_321.png
new file mode 100644
index 0000000..c2b354b
Binary files /dev/null and b/docs/v1.11/form_321.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_322.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_322.png b/docs/v1.11/form_322.png
new file mode 100644
index 0000000..c8e9dd7
Binary files /dev/null and b/docs/v1.11/form_322.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_323.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_323.png b/docs/v1.11/form_323.png
new file mode 100644
index 0000000..dd24cb8
Binary files /dev/null and b/docs/v1.11/form_323.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_324.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_324.png b/docs/v1.11/form_324.png
new file mode 100644
index 0000000..239f85c
Binary files /dev/null and b/docs/v1.11/form_324.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_325.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_325.png b/docs/v1.11/form_325.png
new file mode 100644
index 0000000..e1b3743
Binary files /dev/null and b/docs/v1.11/form_325.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_326.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_326.png b/docs/v1.11/form_326.png
new file mode 100644
index 0000000..6c8b8b0
Binary files /dev/null and b/docs/v1.11/form_326.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_327.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_327.png b/docs/v1.11/form_327.png
new file mode 100644
index 0000000..7a01435
Binary files /dev/null and b/docs/v1.11/form_327.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_328.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_328.png b/docs/v1.11/form_328.png
new file mode 100644
index 0000000..eb32bf4
Binary files /dev/null and b/docs/v1.11/form_328.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_329.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_329.png b/docs/v1.11/form_329.png
new file mode 100644
index 0000000..e1124fc
Binary files /dev/null and b/docs/v1.11/form_329.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_33.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_33.png b/docs/v1.11/form_33.png
new file mode 100644
index 0000000..3ecfb78
Binary files /dev/null and b/docs/v1.11/form_33.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_330.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_330.png b/docs/v1.11/form_330.png
new file mode 100644
index 0000000..79aa873
Binary files /dev/null and b/docs/v1.11/form_330.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_331.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_331.png b/docs/v1.11/form_331.png
new file mode 100644
index 0000000..6a99bc0
Binary files /dev/null and b/docs/v1.11/form_331.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_332.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_332.png b/docs/v1.11/form_332.png
new file mode 100644
index 0000000..edea75f
Binary files /dev/null and b/docs/v1.11/form_332.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_333.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_333.png b/docs/v1.11/form_333.png
new file mode 100644
index 0000000..9c5469e
Binary files /dev/null and b/docs/v1.11/form_333.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_334.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_334.png b/docs/v1.11/form_334.png
new file mode 100644
index 0000000..fc8494c
Binary files /dev/null and b/docs/v1.11/form_334.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_335.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_335.png b/docs/v1.11/form_335.png
new file mode 100644
index 0000000..ea69583
Binary files /dev/null and b/docs/v1.11/form_335.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_336.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_336.png b/docs/v1.11/form_336.png
new file mode 100644
index 0000000..e538e4d
Binary files /dev/null and b/docs/v1.11/form_336.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_337.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_337.png b/docs/v1.11/form_337.png
new file mode 100644
index 0000000..f1ce03d
Binary files /dev/null and b/docs/v1.11/form_337.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_338.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_338.png b/docs/v1.11/form_338.png
new file mode 100644
index 0000000..185e488
Binary files /dev/null and b/docs/v1.11/form_338.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_339.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_339.png b/docs/v1.11/form_339.png
new file mode 100644
index 0000000..d91942b
Binary files /dev/null and b/docs/v1.11/form_339.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_34.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_34.png b/docs/v1.11/form_34.png
new file mode 100644
index 0000000..14ac876
Binary files /dev/null and b/docs/v1.11/form_34.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_340.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_340.png b/docs/v1.11/form_340.png
new file mode 100644
index 0000000..31b21ec
Binary files /dev/null and b/docs/v1.11/form_340.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_341.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_341.png b/docs/v1.11/form_341.png
new file mode 100644
index 0000000..c6752d4
Binary files /dev/null and b/docs/v1.11/form_341.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_342.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_342.png b/docs/v1.11/form_342.png
new file mode 100644
index 0000000..8aba452
Binary files /dev/null and b/docs/v1.11/form_342.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_343.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_343.png b/docs/v1.11/form_343.png
new file mode 100644
index 0000000..ad01178
Binary files /dev/null and b/docs/v1.11/form_343.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_344.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_344.png b/docs/v1.11/form_344.png
new file mode 100644
index 0000000..cf6e590
Binary files /dev/null and b/docs/v1.11/form_344.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_345.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_345.png b/docs/v1.11/form_345.png
new file mode 100644
index 0000000..9814e41
Binary files /dev/null and b/docs/v1.11/form_345.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_346.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_346.png b/docs/v1.11/form_346.png
new file mode 100644
index 0000000..e78abb9
Binary files /dev/null and b/docs/v1.11/form_346.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_347.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_347.png b/docs/v1.11/form_347.png
new file mode 100644
index 0000000..900c850
Binary files /dev/null and b/docs/v1.11/form_347.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_348.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_348.png b/docs/v1.11/form_348.png
new file mode 100644
index 0000000..0181eba
Binary files /dev/null and b/docs/v1.11/form_348.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_349.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_349.png b/docs/v1.11/form_349.png
new file mode 100644
index 0000000..b4e8dd2
Binary files /dev/null and b/docs/v1.11/form_349.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_35.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_35.png b/docs/v1.11/form_35.png
new file mode 100644
index 0000000..05b0e08
Binary files /dev/null and b/docs/v1.11/form_35.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_350.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_350.png b/docs/v1.11/form_350.png
new file mode 100644
index 0000000..683678a
Binary files /dev/null and b/docs/v1.11/form_350.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_351.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_351.png b/docs/v1.11/form_351.png
new file mode 100644
index 0000000..ca00105
Binary files /dev/null and b/docs/v1.11/form_351.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_352.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_352.png b/docs/v1.11/form_352.png
new file mode 100644
index 0000000..e30c29a
Binary files /dev/null and b/docs/v1.11/form_352.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_353.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_353.png b/docs/v1.11/form_353.png
new file mode 100644
index 0000000..a6a5e8a
Binary files /dev/null and b/docs/v1.11/form_353.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_354.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_354.png b/docs/v1.11/form_354.png
new file mode 100644
index 0000000..4db4d8a
Binary files /dev/null and b/docs/v1.11/form_354.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_355.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_355.png b/docs/v1.11/form_355.png
new file mode 100644
index 0000000..5830a50
Binary files /dev/null and b/docs/v1.11/form_355.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_356.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_356.png b/docs/v1.11/form_356.png
new file mode 100644
index 0000000..2446f45
Binary files /dev/null and b/docs/v1.11/form_356.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_357.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_357.png b/docs/v1.11/form_357.png
new file mode 100644
index 0000000..bf16e70
Binary files /dev/null and b/docs/v1.11/form_357.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_358.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_358.png b/docs/v1.11/form_358.png
new file mode 100644
index 0000000..a73d1bb
Binary files /dev/null and b/docs/v1.11/form_358.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_359.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_359.png b/docs/v1.11/form_359.png
new file mode 100644
index 0000000..f7ef474
Binary files /dev/null and b/docs/v1.11/form_359.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_36.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_36.png b/docs/v1.11/form_36.png
new file mode 100644
index 0000000..404b717
Binary files /dev/null and b/docs/v1.11/form_36.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_360.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_360.png b/docs/v1.11/form_360.png
new file mode 100644
index 0000000..7984e35
Binary files /dev/null and b/docs/v1.11/form_360.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_361.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_361.png b/docs/v1.11/form_361.png
new file mode 100644
index 0000000..1a9f16a
Binary files /dev/null and b/docs/v1.11/form_361.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_362.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_362.png b/docs/v1.11/form_362.png
new file mode 100644
index 0000000..7cd555b
Binary files /dev/null and b/docs/v1.11/form_362.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_363.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_363.png b/docs/v1.11/form_363.png
new file mode 100644
index 0000000..db6e837
Binary files /dev/null and b/docs/v1.11/form_363.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_364.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_364.png b/docs/v1.11/form_364.png
new file mode 100644
index 0000000..0168409
Binary files /dev/null and b/docs/v1.11/form_364.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_365.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_365.png b/docs/v1.11/form_365.png
new file mode 100644
index 0000000..5ab8677
Binary files /dev/null and b/docs/v1.11/form_365.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_366.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_366.png b/docs/v1.11/form_366.png
new file mode 100644
index 0000000..480652a
Binary files /dev/null and b/docs/v1.11/form_366.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_367.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_367.png b/docs/v1.11/form_367.png
new file mode 100644
index 0000000..b094b9d
Binary files /dev/null and b/docs/v1.11/form_367.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_368.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_368.png b/docs/v1.11/form_368.png
new file mode 100644
index 0000000..3d889e6
Binary files /dev/null and b/docs/v1.11/form_368.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_369.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_369.png b/docs/v1.11/form_369.png
new file mode 100644
index 0000000..3664817
Binary files /dev/null and b/docs/v1.11/form_369.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_37.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_37.png b/docs/v1.11/form_37.png
new file mode 100644
index 0000000..af2674f
Binary files /dev/null and b/docs/v1.11/form_37.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_370.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_370.png b/docs/v1.11/form_370.png
new file mode 100644
index 0000000..f8c26e6
Binary files /dev/null and b/docs/v1.11/form_370.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_371.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_371.png b/docs/v1.11/form_371.png
new file mode 100644
index 0000000..3716dbf
Binary files /dev/null and b/docs/v1.11/form_371.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_372.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_372.png b/docs/v1.11/form_372.png
new file mode 100644
index 0000000..75a3873
Binary files /dev/null and b/docs/v1.11/form_372.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_373.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_373.png b/docs/v1.11/form_373.png
new file mode 100644
index 0000000..cf1e901
Binary files /dev/null and b/docs/v1.11/form_373.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_374.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_374.png b/docs/v1.11/form_374.png
new file mode 100644
index 0000000..62ba9c5
Binary files /dev/null and b/docs/v1.11/form_374.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_375.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_375.png b/docs/v1.11/form_375.png
new file mode 100644
index 0000000..92627a8
Binary files /dev/null and b/docs/v1.11/form_375.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_376.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_376.png b/docs/v1.11/form_376.png
new file mode 100644
index 0000000..62ba9c5
Binary files /dev/null and b/docs/v1.11/form_376.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_377.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_377.png b/docs/v1.11/form_377.png
new file mode 100644
index 0000000..86e2060
Binary files /dev/null and b/docs/v1.11/form_377.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_378.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_378.png b/docs/v1.11/form_378.png
new file mode 100644
index 0000000..128af3a
Binary files /dev/null and b/docs/v1.11/form_378.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_379.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_379.png b/docs/v1.11/form_379.png
new file mode 100644
index 0000000..92627a8
Binary files /dev/null and b/docs/v1.11/form_379.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_38.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_38.png b/docs/v1.11/form_38.png
new file mode 100644
index 0000000..ec7307a
Binary files /dev/null and b/docs/v1.11/form_38.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_380.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_380.png b/docs/v1.11/form_380.png
new file mode 100644
index 0000000..c5496c5
Binary files /dev/null and b/docs/v1.11/form_380.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_381.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_381.png b/docs/v1.11/form_381.png
new file mode 100644
index 0000000..19e11e4
Binary files /dev/null and b/docs/v1.11/form_381.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_382.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_382.png b/docs/v1.11/form_382.png
new file mode 100644
index 0000000..1b84542
Binary files /dev/null and b/docs/v1.11/form_382.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_383.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_383.png b/docs/v1.11/form_383.png
new file mode 100644
index 0000000..20506ae
Binary files /dev/null and b/docs/v1.11/form_383.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_384.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_384.png b/docs/v1.11/form_384.png
new file mode 100644
index 0000000..d01de7a
Binary files /dev/null and b/docs/v1.11/form_384.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_385.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_385.png b/docs/v1.11/form_385.png
new file mode 100644
index 0000000..ff24697
Binary files /dev/null and b/docs/v1.11/form_385.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_386.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_386.png b/docs/v1.11/form_386.png
new file mode 100644
index 0000000..4d05bf8
Binary files /dev/null and b/docs/v1.11/form_386.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_387.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_387.png b/docs/v1.11/form_387.png
new file mode 100644
index 0000000..0c389ee
Binary files /dev/null and b/docs/v1.11/form_387.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_388.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_388.png b/docs/v1.11/form_388.png
new file mode 100644
index 0000000..efe5811
Binary files /dev/null and b/docs/v1.11/form_388.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_389.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_389.png b/docs/v1.11/form_389.png
new file mode 100644
index 0000000..fb24b41
Binary files /dev/null and b/docs/v1.11/form_389.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_39.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_39.png b/docs/v1.11/form_39.png
new file mode 100644
index 0000000..c4bc8a8
Binary files /dev/null and b/docs/v1.11/form_39.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_390.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_390.png b/docs/v1.11/form_390.png
new file mode 100644
index 0000000..74fe5b6
Binary files /dev/null and b/docs/v1.11/form_390.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_391.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_391.png b/docs/v1.11/form_391.png
new file mode 100644
index 0000000..7fb07d0
Binary files /dev/null and b/docs/v1.11/form_391.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_392.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_392.png b/docs/v1.11/form_392.png
new file mode 100644
index 0000000..f187486
Binary files /dev/null and b/docs/v1.11/form_392.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_393.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_393.png b/docs/v1.11/form_393.png
new file mode 100644
index 0000000..100c62f
Binary files /dev/null and b/docs/v1.11/form_393.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_394.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_394.png b/docs/v1.11/form_394.png
new file mode 100644
index 0000000..561df7f
Binary files /dev/null and b/docs/v1.11/form_394.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_395.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_395.png b/docs/v1.11/form_395.png
new file mode 100644
index 0000000..3de7355
Binary files /dev/null and b/docs/v1.11/form_395.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_396.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_396.png b/docs/v1.11/form_396.png
new file mode 100644
index 0000000..ed86eb0
Binary files /dev/null and b/docs/v1.11/form_396.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_397.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_397.png b/docs/v1.11/form_397.png
new file mode 100644
index 0000000..591b712
Binary files /dev/null and b/docs/v1.11/form_397.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_398.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_398.png b/docs/v1.11/form_398.png
new file mode 100644
index 0000000..8503e00
Binary files /dev/null and b/docs/v1.11/form_398.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_399.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_399.png b/docs/v1.11/form_399.png
new file mode 100644
index 0000000..a0e202d
Binary files /dev/null and b/docs/v1.11/form_399.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_4.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_4.png b/docs/v1.11/form_4.png
new file mode 100644
index 0000000..aa4660e
Binary files /dev/null and b/docs/v1.11/form_4.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_40.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_40.png b/docs/v1.11/form_40.png
new file mode 100644
index 0000000..1766cea
Binary files /dev/null and b/docs/v1.11/form_40.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_400.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_400.png b/docs/v1.11/form_400.png
new file mode 100644
index 0000000..0db2d04
Binary files /dev/null and b/docs/v1.11/form_400.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_401.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_401.png b/docs/v1.11/form_401.png
new file mode 100644
index 0000000..cfe05f1
Binary files /dev/null and b/docs/v1.11/form_401.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_402.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_402.png b/docs/v1.11/form_402.png
new file mode 100644
index 0000000..23d5485
Binary files /dev/null and b/docs/v1.11/form_402.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_403.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_403.png b/docs/v1.11/form_403.png
new file mode 100644
index 0000000..52e0f5d
Binary files /dev/null and b/docs/v1.11/form_403.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_404.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_404.png b/docs/v1.11/form_404.png
new file mode 100644
index 0000000..7d6e21f
Binary files /dev/null and b/docs/v1.11/form_404.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_405.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_405.png b/docs/v1.11/form_405.png
new file mode 100644
index 0000000..803f158
Binary files /dev/null and b/docs/v1.11/form_405.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_406.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_406.png b/docs/v1.11/form_406.png
new file mode 100644
index 0000000..ae43137
Binary files /dev/null and b/docs/v1.11/form_406.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_407.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_407.png b/docs/v1.11/form_407.png
new file mode 100644
index 0000000..df05ddf
Binary files /dev/null and b/docs/v1.11/form_407.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_408.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_408.png b/docs/v1.11/form_408.png
new file mode 100644
index 0000000..2cdccf8
Binary files /dev/null and b/docs/v1.11/form_408.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_409.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_409.png b/docs/v1.11/form_409.png
new file mode 100644
index 0000000..45080e2
Binary files /dev/null and b/docs/v1.11/form_409.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_41.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_41.png b/docs/v1.11/form_41.png
new file mode 100644
index 0000000..242d9bb
Binary files /dev/null and b/docs/v1.11/form_41.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_410.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_410.png b/docs/v1.11/form_410.png
new file mode 100644
index 0000000..c670194
Binary files /dev/null and b/docs/v1.11/form_410.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_411.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_411.png b/docs/v1.11/form_411.png
new file mode 100644
index 0000000..d242c71
Binary files /dev/null and b/docs/v1.11/form_411.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_412.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_412.png b/docs/v1.11/form_412.png
new file mode 100644
index 0000000..f4af8b6
Binary files /dev/null and b/docs/v1.11/form_412.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_413.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_413.png b/docs/v1.11/form_413.png
new file mode 100644
index 0000000..ab225b8
Binary files /dev/null and b/docs/v1.11/form_413.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_414.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_414.png b/docs/v1.11/form_414.png
new file mode 100644
index 0000000..5726185
Binary files /dev/null and b/docs/v1.11/form_414.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_415.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_415.png b/docs/v1.11/form_415.png
new file mode 100644
index 0000000..1d10f87
Binary files /dev/null and b/docs/v1.11/form_415.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_416.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_416.png b/docs/v1.11/form_416.png
new file mode 100644
index 0000000..73c2b29
Binary files /dev/null and b/docs/v1.11/form_416.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_417.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_417.png b/docs/v1.11/form_417.png
new file mode 100644
index 0000000..da5205c
Binary files /dev/null and b/docs/v1.11/form_417.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_418.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_418.png b/docs/v1.11/form_418.png
new file mode 100644
index 0000000..eddf66a
Binary files /dev/null and b/docs/v1.11/form_418.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_419.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_419.png b/docs/v1.11/form_419.png
new file mode 100644
index 0000000..ae5ed3c
Binary files /dev/null and b/docs/v1.11/form_419.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_42.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_42.png b/docs/v1.11/form_42.png
new file mode 100644
index 0000000..b82dc56
Binary files /dev/null and b/docs/v1.11/form_42.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_420.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_420.png b/docs/v1.11/form_420.png
new file mode 100644
index 0000000..c2139ad
Binary files /dev/null and b/docs/v1.11/form_420.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_421.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_421.png b/docs/v1.11/form_421.png
new file mode 100644
index 0000000..c0fc825
Binary files /dev/null and b/docs/v1.11/form_421.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_422.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_422.png b/docs/v1.11/form_422.png
new file mode 100644
index 0000000..a16b2c2
Binary files /dev/null and b/docs/v1.11/form_422.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_423.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_423.png b/docs/v1.11/form_423.png
new file mode 100644
index 0000000..628b6ec
Binary files /dev/null and b/docs/v1.11/form_423.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_424.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_424.png b/docs/v1.11/form_424.png
new file mode 100644
index 0000000..c19526f
Binary files /dev/null and b/docs/v1.11/form_424.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_425.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_425.png b/docs/v1.11/form_425.png
new file mode 100644
index 0000000..eb8e68f
Binary files /dev/null and b/docs/v1.11/form_425.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_426.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_426.png b/docs/v1.11/form_426.png
new file mode 100644
index 0000000..a99c2b6
Binary files /dev/null and b/docs/v1.11/form_426.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_427.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_427.png b/docs/v1.11/form_427.png
new file mode 100644
index 0000000..8dad457
Binary files /dev/null and b/docs/v1.11/form_427.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_428.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_428.png b/docs/v1.11/form_428.png
new file mode 100644
index 0000000..a1eda67
Binary files /dev/null and b/docs/v1.11/form_428.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_429.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_429.png b/docs/v1.11/form_429.png
new file mode 100644
index 0000000..004e784
Binary files /dev/null and b/docs/v1.11/form_429.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_43.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_43.png b/docs/v1.11/form_43.png
new file mode 100644
index 0000000..8a976d4
Binary files /dev/null and b/docs/v1.11/form_43.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_430.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_430.png b/docs/v1.11/form_430.png
new file mode 100644
index 0000000..37361c4
Binary files /dev/null and b/docs/v1.11/form_430.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_431.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_431.png b/docs/v1.11/form_431.png
new file mode 100644
index 0000000..c77896c
Binary files /dev/null and b/docs/v1.11/form_431.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_432.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_432.png b/docs/v1.11/form_432.png
new file mode 100644
index 0000000..9e04d9e
Binary files /dev/null and b/docs/v1.11/form_432.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_433.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_433.png b/docs/v1.11/form_433.png
new file mode 100644
index 0000000..c6a864f
Binary files /dev/null and b/docs/v1.11/form_433.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_434.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_434.png b/docs/v1.11/form_434.png
new file mode 100644
index 0000000..15e267d
Binary files /dev/null and b/docs/v1.11/form_434.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_435.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_435.png b/docs/v1.11/form_435.png
new file mode 100644
index 0000000..7776ec0
Binary files /dev/null and b/docs/v1.11/form_435.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_436.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_436.png b/docs/v1.11/form_436.png
new file mode 100644
index 0000000..7757c75
Binary files /dev/null and b/docs/v1.11/form_436.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_437.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_437.png b/docs/v1.11/form_437.png
new file mode 100644
index 0000000..0c88a7a
Binary files /dev/null and b/docs/v1.11/form_437.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_438.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_438.png b/docs/v1.11/form_438.png
new file mode 100644
index 0000000..5267350
Binary files /dev/null and b/docs/v1.11/form_438.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_439.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_439.png b/docs/v1.11/form_439.png
new file mode 100644
index 0000000..a98e3cf
Binary files /dev/null and b/docs/v1.11/form_439.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_44.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_44.png b/docs/v1.11/form_44.png
new file mode 100644
index 0000000..ca0b922
Binary files /dev/null and b/docs/v1.11/form_44.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_440.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_440.png b/docs/v1.11/form_440.png
new file mode 100644
index 0000000..6ebaaee
Binary files /dev/null and b/docs/v1.11/form_440.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_441.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_441.png b/docs/v1.11/form_441.png
new file mode 100644
index 0000000..0d8f141
Binary files /dev/null and b/docs/v1.11/form_441.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_442.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_442.png b/docs/v1.11/form_442.png
new file mode 100644
index 0000000..34ea9b9
Binary files /dev/null and b/docs/v1.11/form_442.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_443.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_443.png b/docs/v1.11/form_443.png
new file mode 100644
index 0000000..dd376e0
Binary files /dev/null and b/docs/v1.11/form_443.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_444.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_444.png b/docs/v1.11/form_444.png
new file mode 100644
index 0000000..4f859a1
Binary files /dev/null and b/docs/v1.11/form_444.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_445.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_445.png b/docs/v1.11/form_445.png
new file mode 100644
index 0000000..9502da5
Binary files /dev/null and b/docs/v1.11/form_445.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_446.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_446.png b/docs/v1.11/form_446.png
new file mode 100644
index 0000000..f8e8a17
Binary files /dev/null and b/docs/v1.11/form_446.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_447.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_447.png b/docs/v1.11/form_447.png
new file mode 100644
index 0000000..4c81f22
Binary files /dev/null and b/docs/v1.11/form_447.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_448.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_448.png b/docs/v1.11/form_448.png
new file mode 100644
index 0000000..0bb44e2
Binary files /dev/null and b/docs/v1.11/form_448.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_449.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_449.png b/docs/v1.11/form_449.png
new file mode 100644
index 0000000..ee355dc
Binary files /dev/null and b/docs/v1.11/form_449.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_45.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_45.png b/docs/v1.11/form_45.png
new file mode 100644
index 0000000..01be915
Binary files /dev/null and b/docs/v1.11/form_45.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_450.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_450.png b/docs/v1.11/form_450.png
new file mode 100644
index 0000000..a029952
Binary files /dev/null and b/docs/v1.11/form_450.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_451.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_451.png b/docs/v1.11/form_451.png
new file mode 100644
index 0000000..7f61c7d
Binary files /dev/null and b/docs/v1.11/form_451.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_452.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_452.png b/docs/v1.11/form_452.png
new file mode 100644
index 0000000..f9f610b
Binary files /dev/null and b/docs/v1.11/form_452.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_453.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_453.png b/docs/v1.11/form_453.png
new file mode 100644
index 0000000..0aab5c2
Binary files /dev/null and b/docs/v1.11/form_453.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_454.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_454.png b/docs/v1.11/form_454.png
new file mode 100644
index 0000000..0279bd6
Binary files /dev/null and b/docs/v1.11/form_454.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_455.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_455.png b/docs/v1.11/form_455.png
new file mode 100644
index 0000000..aba4511
Binary files /dev/null and b/docs/v1.11/form_455.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_456.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_456.png b/docs/v1.11/form_456.png
new file mode 100644
index 0000000..723d32a
Binary files /dev/null and b/docs/v1.11/form_456.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_457.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_457.png b/docs/v1.11/form_457.png
new file mode 100644
index 0000000..390057c
Binary files /dev/null and b/docs/v1.11/form_457.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_458.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_458.png b/docs/v1.11/form_458.png
new file mode 100644
index 0000000..8e0ecd9
Binary files /dev/null and b/docs/v1.11/form_458.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_459.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_459.png b/docs/v1.11/form_459.png
new file mode 100644
index 0000000..4294522
Binary files /dev/null and b/docs/v1.11/form_459.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_46.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_46.png b/docs/v1.11/form_46.png
new file mode 100644
index 0000000..ca8b267
Binary files /dev/null and b/docs/v1.11/form_46.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_460.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_460.png b/docs/v1.11/form_460.png
new file mode 100644
index 0000000..4ec56a3
Binary files /dev/null and b/docs/v1.11/form_460.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_461.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_461.png b/docs/v1.11/form_461.png
new file mode 100644
index 0000000..9a9ecea
Binary files /dev/null and b/docs/v1.11/form_461.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_462.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_462.png b/docs/v1.11/form_462.png
new file mode 100644
index 0000000..dd6479c
Binary files /dev/null and b/docs/v1.11/form_462.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_463.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_463.png b/docs/v1.11/form_463.png
new file mode 100644
index 0000000..ed51b16
Binary files /dev/null and b/docs/v1.11/form_463.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_464.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_464.png b/docs/v1.11/form_464.png
new file mode 100644
index 0000000..1c620ea
Binary files /dev/null and b/docs/v1.11/form_464.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_465.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_465.png b/docs/v1.11/form_465.png
new file mode 100644
index 0000000..7f73693
Binary files /dev/null and b/docs/v1.11/form_465.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_466.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_466.png b/docs/v1.11/form_466.png
new file mode 100644
index 0000000..5af1a19
Binary files /dev/null and b/docs/v1.11/form_466.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_467.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_467.png b/docs/v1.11/form_467.png
new file mode 100644
index 0000000..054a46e
Binary files /dev/null and b/docs/v1.11/form_467.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_468.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_468.png b/docs/v1.11/form_468.png
new file mode 100644
index 0000000..42e62ab
Binary files /dev/null and b/docs/v1.11/form_468.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_469.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_469.png b/docs/v1.11/form_469.png
new file mode 100644
index 0000000..eaccef5
Binary files /dev/null and b/docs/v1.11/form_469.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_47.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_47.png b/docs/v1.11/form_47.png
new file mode 100644
index 0000000..da82ed7
Binary files /dev/null and b/docs/v1.11/form_47.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_470.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_470.png b/docs/v1.11/form_470.png
new file mode 100644
index 0000000..8204ac0
Binary files /dev/null and b/docs/v1.11/form_470.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_471.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_471.png b/docs/v1.11/form_471.png
new file mode 100644
index 0000000..9eb434c
Binary files /dev/null and b/docs/v1.11/form_471.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_472.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_472.png b/docs/v1.11/form_472.png
new file mode 100644
index 0000000..a3c1e88
Binary files /dev/null and b/docs/v1.11/form_472.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_473.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_473.png b/docs/v1.11/form_473.png
new file mode 100644
index 0000000..09e43b1
Binary files /dev/null and b/docs/v1.11/form_473.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_474.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_474.png b/docs/v1.11/form_474.png
new file mode 100644
index 0000000..0110bec
Binary files /dev/null and b/docs/v1.11/form_474.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_475.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_475.png b/docs/v1.11/form_475.png
new file mode 100644
index 0000000..fd1f1ab
Binary files /dev/null and b/docs/v1.11/form_475.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_476.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_476.png b/docs/v1.11/form_476.png
new file mode 100644
index 0000000..a53c885
Binary files /dev/null and b/docs/v1.11/form_476.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_477.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_477.png b/docs/v1.11/form_477.png
new file mode 100644
index 0000000..d8becc0
Binary files /dev/null and b/docs/v1.11/form_477.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_478.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_478.png b/docs/v1.11/form_478.png
new file mode 100644
index 0000000..401b5b2
Binary files /dev/null and b/docs/v1.11/form_478.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_479.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_479.png b/docs/v1.11/form_479.png
new file mode 100644
index 0000000..a9ac953
Binary files /dev/null and b/docs/v1.11/form_479.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_48.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_48.png b/docs/v1.11/form_48.png
new file mode 100644
index 0000000..10d0d19
Binary files /dev/null and b/docs/v1.11/form_48.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_480.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_480.png b/docs/v1.11/form_480.png
new file mode 100644
index 0000000..9c4762d
Binary files /dev/null and b/docs/v1.11/form_480.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_481.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_481.png b/docs/v1.11/form_481.png
new file mode 100644
index 0000000..5104f9d
Binary files /dev/null and b/docs/v1.11/form_481.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_482.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_482.png b/docs/v1.11/form_482.png
new file mode 100644
index 0000000..311c3a3
Binary files /dev/null and b/docs/v1.11/form_482.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_483.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_483.png b/docs/v1.11/form_483.png
new file mode 100644
index 0000000..5728f69
Binary files /dev/null and b/docs/v1.11/form_483.png differ



[29/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__clustered__errors.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__clustered__errors.html b/docs/v1.11/group__grp__clustered__errors.html
new file mode 100644
index 0000000..e223db6
--- /dev/null
+++ b/docs/v1.11/group__grp__clustered__errors.html
@@ -0,0 +1,399 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Clustered Variance</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__clustered__errors.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Clustered Variance<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__regml.html">Regression Models</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#train_linregr">Clustered Variance Linear Regression Training Function</a> </li>
+<li>
+<a href="#train_logregr">Clustered Variance Logistic Regression Training Function</a> </li>
+<li>
+<a href="#train_mlogregr">Clustered Variance Multinomial Logistic Regression Training Function</a> </li>
+<li>
+<a href="#train_cox">Clustered Variance for Cox Proportional Hazards model</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#notes">Notes</a> </li>
+<li>
+<a href="#background">Technical Background</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>The Clustered Variance module adjusts standard errors for clustering. For example, replicating a dataset 100 times should not increase the precision of parameter estimates, but performing this procedure with the IID assumption will actually do this. Another example is in economics of education research, it is reasonable to expect that the error terms for children in the same class are not independent. Clustering standard errors can correct for this.</p>
+<p>The MADlib Clustered Variance module includes functions to calculate linear, logistic, and multinomial logistic regression problems.</p>
+<p><a class="anchor" id="train_linregr"></a></p><dl class="section user"><dt>Clustered Variance Linear Regression Training Function</dt><dd></dd></dl>
+<p>The clustered variance linear regression training function has the following syntax. </p><pre class="syntax">
+clustered_variance_linregr ( source_table,
+                             out_table,
+                             dependent_varname,
+                             independent_varname,
+                             clustervar,
+                             grouping_cols
+                           )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the input data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>out_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the generated table containing the output model. The output table contains the following columns. </p><table class="output">
+<tr>
+<th>coef </th><td>DOUBLE PRECISION[]. Vector of the coefficients of the regression.  </td></tr>
+<tr>
+<th>std_err </th><td>DOUBLE PRECISION[]. Vector of the standard error of the coefficients.  </td></tr>
+<tr>
+<th>t_stats </th><td>DOUBLE PRECISION[]. Vector of the t-stats of the coefficients.  </td></tr>
+<tr>
+<th>p_values </th><td>DOUBLE PRECISION[]. Vector of the p-values of the coefficients.  </td></tr>
+</table>
+<p>A summary table named &lt;out_table&gt;_summary is also created, which is the same as the summary table created by linregr_train function. Please refer to the documentation for linear regression for details.</p>
+<p></p>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_varname </dt>
+<dd>TEXT. An expression to evaluate for the dependent variable. </dd>
+<dt>independent_varname </dt>
+<dd>TEXT. An Expression to evalue for the independent variables. </dd>
+<dt>clustervar </dt>
+<dd>TEXT. A comma-separated list of the columns to use as cluster variables. </dd>
+<dt>grouping_cols (optional) </dt>
+<dd>TEXT, default: NULL. <em>Not currently implemented. Any non-NULL value is ignored.</em> An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL GROUP BY clause. When this value is null, no grouping is used and a single result model is generated. </dd>
+</dl>
+<p><a class="anchor" id="train_logregr"></a></p><dl class="section user"><dt>Clustered Variance Logistic Regression Training Function</dt><dd></dd></dl>
+<p>The clustered variance logistic regression training function has the following syntax. </p><pre class="syntax">
+clustered_variance_logregr( source_table,
+                            out_table,
+                            dependent_varname,
+                            independent_varname,
+                            clustervar,
+                            grouping_cols,
+                            max_iter,
+                            optimizer,
+                            tolerance,
+                            verbose_mode
+                          )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd>TEXT. The name of the table containing the input data. </dd>
+<dt>out_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the generated table containing the output model. The output table has the following columns: </p><table class="output">
+<tr>
+<th>coef </th><td>Vector of the coefficients of the regression.  </td></tr>
+<tr>
+<th>std_err </th><td>Vector of the standard error of the coefficients.  </td></tr>
+<tr>
+<th>z_stats </th><td>Vector of the z-stats of the coefficients.  </td></tr>
+<tr>
+<th>p_values </th><td>Vector of the p-values of the coefficients.  </td></tr>
+</table>
+<p>A summary table named &lt;out_table&gt;_summary is also created, which is the same as the summary table created by logregr_train function. Please refer to the documentation for logistic regression for details.</p>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_varname </dt>
+<dd>TEXT. An expression to evaluate for the dependent variable. </dd>
+<dt>independent_varname </dt>
+<dd>TEXT. An expression to evaluate for the independent variable. </dd>
+<dt>clustervar </dt>
+<dd>TEXT. A comma-separated list of columns to use as cluster variables. </dd>
+<dt>grouping_cols (optional) </dt>
+<dd>TEXT, default: NULL. <em>Not yet implemented. Any non-NULL values are ignored.</em> An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL GROUP BY clause. When this value is NULL, no grouping is used and a single result model is generated. </dd>
+<dt>max_iter (optional) </dt>
+<dd>INTEGER, default: 20. The maximum number of iterations that are allowed. </dd>
+<dt>optimizer (optional) </dt>
+<dd>TEXT, default: 'irls'. The name of the optimizer to use: <ul>
+<li>
+'newton' or 'irls': Iteratively reweighted least squares </li>
+<li>
+'cg': conjugate gradient </li>
+<li>
+'igd': incremental gradient descent. </li>
+</ul>
+</dd>
+<dt>tolerance (optional) </dt>
+<dd>FLOAT8, default: 0.0001 The difference between log-likelihood values in successive iterations that should indicate convergence. A zero disables the convergence criterion, so that execution stops after <em>n</em> Iterations have completed. </dd>
+<dt>verbose_mode (optional) </dt>
+<dd>BOOLEAN, default FALSE. Provides verbose_mode output of the results of training. </dd>
+</dl>
+<p><a class="anchor" id="train_mlogregr"></a></p><dl class="section user"><dt>Clustered Variance Multinomial Logistic Regression Training Function</dt><dd></dd></dl>
+<pre class="syntax">
+clustered_variance_mlogregr( source_table,
+                             out_table,
+                             dependent_varname,
+                             independent_varname,
+                             cluster_varname,
+                             ref_category,
+                             grouping_cols,
+                             optimizer_params,
+                             verbose_mode
+                           )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd>TEXT. The name of the table containing the input data. </dd>
+<dt>out_table </dt>
+<dd><p class="startdd">TEXT. The name of the table where the regression model will be stored. The output table has the following columns: </p><table class="output">
+<tr>
+<th>category </th><td>The category.  </td></tr>
+<tr>
+<th>ref_category </th><td>The refererence category used for modeling.  </td></tr>
+<tr>
+<th>coef </th><td>Vector of the coefficients of the regression.  </td></tr>
+<tr>
+<th>std_err </th><td>Vector of the standard error of the coefficients.  </td></tr>
+<tr>
+<th>z_stats </th><td>Vector of the z-stats of the coefficients.  </td></tr>
+<tr>
+<th>p_values </th><td>Vector of the p-values of the coefficients.  </td></tr>
+</table>
+<p class="enddd">A summary table named &lt;out_table&gt;_summary is also created, which is the same as the summary table created by mlogregr_train function. Please refer to the documentation for multinomial logistic regression for details.  </p>
+</dd>
+<dt>dependent_varname </dt>
+<dd>TEXT. An expression to evaluate for the dependent variable. </dd>
+<dt>independent_varname </dt>
+<dd>TEXT. An expression to evaluate for the independent variable. </dd>
+<dt>cluster_varname </dt>
+<dd>TEXT. A comma-separated list of columns to use as cluster variables. </dd>
+<dt>ref_category (optional) </dt>
+<dd>INTEGER. Reference category in the range [0, num_category). </dd>
+<dt>groupingvarng_cols (optional) </dt>
+<dd>TEXT, default: NULL. <em>Not yet implemented. Any non-NULL values are ignored.</em> A comma-separated list of columns to use as grouping variables. </dd>
+<dt>optimizer_params (optional) </dt>
+<dd>TEXT, default: NULL, which uses the default values of optimizer parameters: max_iter=20, optimizer='newton', tolerance=1e-4. It should be a string that contains pairs of 'key=value' separated by commas. </dd>
+<dt>verbose_mode (optional) </dt>
+<dd>BOOLEAN, default FALSE. If TRUE, detailed information is printed when computing logistic regression. </dd>
+</dl>
+<p><a class="anchor" id="train_cox"></a></p><dl class="section user"><dt>Clustered Variance for Cox Proportional Hazards model</dt><dd></dd></dl>
+<p>The clustered robust variance estimator function for the Cox Proportional Hazards model has the following syntax. </p><pre class="syntax">
+clustered_variance_coxph(model_table, output_table, clustervar)
+</pre><p><b>Arguments</b> </p><dl class="arglist">
+<dt>model_table </dt>
+<dd>TEXT. The name of the model table, which is exactaly the same as the 'output_table' parameter of <a class="el" href="cox__prop__hazards_8sql__in.html#a737450bbfe0f10204b0074a9d45b0cef" title="Compute cox-regression coefficients and diagnostic statistics. ">coxph_train()</a> function. </dd>
+<dt>output_table </dt>
+<dd>TEXT. The name of the table where the output is saved. It has the following columns: <table class="output">
+<tr>
+<th>coef </th><td>FLOAT8[]. Vector of the coefficients.  </td></tr>
+<tr>
+<th>loglikelihood </th><td>FLOAT8. Log-likelihood value of the MLE estimate.  </td></tr>
+<tr>
+<th>std_err </th><td>FLOAT8[]. Vector of the standard error of the coefficients.  </td></tr>
+<tr>
+<th>clustervar </th><td>TEXT. A comma-separated list of columns to use as cluster variables.  </td></tr>
+<tr>
+<th>clustered_se </th><td>FLOAT8[]. Vector of the robust standard errors of the coefficients.  </td></tr>
+<tr>
+<th>clustered_z </th><td>FLOAT8[]. Vector of the robust z-stats of the coefficients.  </td></tr>
+<tr>
+<th>clustered_p </th><td>FLOAT8[]. Vector of the robust p-values of the coefficients.  </td></tr>
+<tr>
+<th>hessian </th><td>FLOAT8[]. The Hessian matrix.  </td></tr>
+</table>
+</dd>
+<dt>clustervar </dt>
+<dd>TEXT. A comma-separated list of columns to use as cluster variables. </dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>View online help for the clustered variance linear regression function. <pre class="example">
+SELECT madlib.clustered_variance_linregr();
+</pre></li>
+<li>Run the linear regression function and view the results. <pre class="example">
+DROP TABLE IF EXISTS out_table;
+SELECT madlib.clustered_variance_linregr( 'abalone',
+                                          'out_table',
+                                          'rings',
+                                          'ARRAY[1, diameter, length, width]',
+                                          'sex',
+                                          NULL
+                                        );
+SELECT * FROM out_table;
+</pre></li>
+<li>View online help for the clustered variance logistic regression function. <pre class="example">
+SELECT madlib.clustered_variance_logregr();
+</pre></li>
+<li>Run the logistic regression function and view the results. <pre class="example">
+DROP TABLE IF EXISTS out_table;
+SELECT madlib.clustered_variance_logregr( 'abalone',
+                                          'out_table',
+                                          'rings &lt; 10',
+                                          'ARRAY[1, diameter, length, width]',
+                                          'sex'
+                                        );
+SELECT * FROM out_table;
+</pre></li>
+<li>View online help for the clustered variance multinomial logistic regression function. <pre class="example">
+SELECT madlib.clustered_variance_mlogregr();
+</pre></li>
+<li>Run the multinomial logistic regression and view the results. <pre class="example">
+DROP TABLE IF EXISTS out_table;
+SELECT madlib.clustered_variance_mlogregr( 'abalone',
+                                           'out_table',
+                                           'CASE WHEN rings &lt; 10 THEN 1 ELSE 0 END',
+                                           'ARRAY[1, diameter, length, width]',
+                                           'sex',
+                                           0
+                                         );
+SELECT * FROM out_table;
+</pre></li>
+<li>Run the Cox Proportional Hazards regression and compute the clustered robust estimator. <pre class="example">
+DROP TABLE IF EXISTS lung_cl_out;
+DROP TABLE IF EXISTS lung_out;
+DROP TABLE IF EXISTS lung_out_summary;
+SELECT madlib.coxph_train('lung',
+                          'lung_out',
+                          'time',
+                          'array[age, "ph.ecog"]',
+                          'TRUE',
+                          NULL,
+                          NULL);
+SELECT madlib.clustered_variance_coxph('lung_out',
+                                       'lung_cl_out',
+                                       '"ph.karno"');
+SELECT * FROM lung_cl_out;
+</pre></li>
+</ol>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd></dd></dl>
+<ul>
+<li>Note that we need to manually include an intercept term in the independent variable expression. The NULL value of <em>groupingvar</em> means that there is no grouping in the calculation.</li>
+</ul>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>Assume that the data can be separated into <img class="formulaInl" alt="$m$" src="form_314.png"/> clusters. Usually this can be done by grouping the data table according to one or multiple columns.</p>
+<p>The estimator has a similar form to the usual sandwich estimator </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ S(\vec{c}) = B(\vec{c}) M(\vec{c}) B(\vec{c}) \]" src="form_315.png"/>
+</p>
+<p>The bread part is the same as Huber-White sandwich estimator </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\begin{eqnarray} B(\vec{c}) &amp; = &amp; \left(-\sum_{i=1}^{n} H(y_i, \vec{x}_i, \vec{c})\right)^{-1}\\ &amp; = &amp; \left(-\sum_{i=1}^{n}\frac{\partial^2 l(y_i, \vec{x}_i, \vec{c})}{\partial c_\alpha \partial c_\beta}\right)^{-1} \end{eqnarray}" src="form_316.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$H$" src="form_317.png"/> is the hessian matrix, which is the second derivative of the target function </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ L(\vec{c}) = \sum_{i=1}^n l(y_i, \vec{x}_i, \vec{c})\ . \]" src="form_318.png"/>
+</p>
+<p>The meat part is different </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ M(\vec{c}) = \bf{A}^T\bf{A} \]" src="form_319.png"/>
+</p>
+<p> where the <img class="formulaInl" alt="$m$" src="form_314.png"/>-th row of <img class="formulaInl" alt="$\bf{A}$" src="form_320.png"/> is </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ A_m = \sum_{i\in G_m}\frac{\partial l(y_i,\vec{x}_i,\vec{c})}{\partial \vec{c}} \]" src="form_321.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$G_m$" src="form_322.png"/> is the set of rows that belong to the same cluster.</p>
+<p>We can compute the quantities of <img class="formulaInl" alt="$B$" src="form_207.png"/> and <img class="formulaInl" alt="$A$" src="form_42.png"/> for each cluster during one scan through the data table in an aggregate function. Then sum over all clusters to the full <img class="formulaInl" alt="$B$" src="form_207.png"/> and <img class="formulaInl" alt="$A$" src="form_42.png"/> in the outside of the aggregate function. At last, the matrix mulplitications are done in a separate function on the master node.</p>
+<p>When multinomial logistic regression is computed before the multinomial clustered variance calculation, it uses a default reference category of zero and the regression coefficients are included in the output table. The regression coefficients in the output are in the same order as multinomial logistic regression function, which is described below. For a problem with <img class="formulaInl" alt="$ K $" src="form_118.png"/> dependent variables <img class="formulaInl" alt="$ (1, ..., K) $" src="form_119.png"/> and <img class="formulaInl" alt="$ J $" src="form_120.png"/> categories <img class="formulaInl" alt="$ (0, ..., J-1) $" src="form_121.png"/>, let <img class="formulaInl" alt="$ {m_{k,j}} $" src="form_122.png"/> denote the coefficient for dependent variable <img class="formulaInl" alt="$ k $" src="form_98.png"/> and category <img class="formulaInl" alt="$ j $" src="form_123.png"/>. The output is <img class="formulaInl" alt="$ {m_{k_1, j_0}, m_{k_1, j_1} \ldots m_{k_1, j_{J-1}},
  m_{k_2, j_0}, m_{k_2, j_1} \ldots m_{k_K, j_{J-1}}} $" src="form_323.png"/>. The order is NOT CONSISTENT with the multinomial regression marginal effect calculation with function <em>marginal_mlogregr</em>. This is deliberate because the interfaces of all multinomial regressions (robust, clustered, ...) will be moved to match that used in marginal.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] Standard, Robust, and Clustered Standard Errors Computed in R, <a href="http://diffuseprior.wordpress.com/2012/06/15/standard-robust-and-clustered-standard-errors-computed-in-r/">http://diffuseprior.wordpress.com/2012/06/15/standard-robust-and-clustered-standard-errors-computed-in-r/</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File <a class="el" href="clustered__variance_8sql__in.html">clustered_variance.sql_in</a> documenting the clustered variance SQL functions.</dd></dl>
+<p>File <a class="el" href="clustered__variance__coxph_8sql__in.html" title="SQL functions for clustered robust cox proportional hazards regression. ">clustered_variance_coxph.sql_in</a> documenting the clustered variance for Cox proportional hazards SQL functions.</p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__clustering.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__clustering.html b/docs/v1.11/group__grp__clustering.html
new file mode 100644
index 0000000..971f803
--- /dev/null
+++ b/docs/v1.11/group__grp__clustering.html
@@ -0,0 +1,133 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Clustering</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__clustering.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Clustering<div class="ingroups"><a class="el" href="group__grp__unsupervised.html">Unsupervised Learning</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods for clustering data </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__kmeans"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__kmeans.html">k-Means Clustering</a></td></tr>
+<tr class="memdesc:group__grp__kmeans"><td class="mdescLeft">&#160;</td><td class="mdescRight">Partitions a set of observations into clusters by finding centroids that minimize the sum of observations' distances from their closest centroid. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__clustering.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__clustering.js b/docs/v1.11/group__grp__clustering.js
new file mode 100644
index 0000000..61858da
--- /dev/null
+++ b/docs/v1.11/group__grp__clustering.js
@@ -0,0 +1,4 @@
+var group__grp__clustering =
+[
+    [ "k-Means Clustering", "group__grp__kmeans.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__correlation.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__correlation.html b/docs/v1.11/group__grp__correlation.html
new file mode 100644
index 0000000..e5ab148
--- /dev/null
+++ b/docs/v1.11/group__grp__correlation.html
@@ -0,0 +1,261 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Pearson&#39;s Correlation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__correlation.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Pearson's Correlation<div class="ingroups"><a class="el" href="group__grp__stats.html">Statistics</a> &raquo; <a class="el" href="group__grp__desc__stats.html">Descriptive Statistics</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#usage">Correlation Function</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#seealso">See Also</a> </li>
+</ul>
+</div><p>A correlation function is the degree and direction of association of two variables&mdash;how well one random variable can be predicted from the other. The coefficient of correlation varies from -1 to 1. A coefficient of 1 implies perfect correlation, 0 means no correlation, and -1 means perfect anti-correlation.</p>
+<p>This function provides a cross-correlation matrix for all pairs of numeric columns in a <em>source_table</em>. A correlation matrix describes correlation among <img class="formulaInl" alt="$ M $" src="form_175.png"/> variables. It is a square symmetrical <img class="formulaInl" alt="$ M $" src="form_175.png"/>x <img class="formulaInl" alt="$M $" src="form_380.png"/> matrix with the <img class="formulaInl" alt="$ (ij) $" src="form_381.png"/>th element equal to the correlation coefficient between the <img class="formulaInl" alt="$i$" src="form_129.png"/>th and the <img class="formulaInl" alt="$j$" src="form_130.png"/>th variable. The diagonal elements (correlations of variables with themselves) are always equal to 1.0.</p>
+<p><a class="anchor" id="usage"></a></p><dl class="section user"><dt>Correlation Function</dt><dd></dd></dl>
+<p>The correlation function has the following syntax: </p><pre class="syntax">
+correlation( source_table,
+             output_table,
+             target_cols,
+             verbose
+           )
+</pre><p>The covariance function, with a similar syntax, can be used to compute the covariance between features. </p><pre class="syntax">
+covariance( source_table,
+             output_table,
+             target_cols,
+             verbose
+           )
+</pre><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. The name of the data containing the input data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. The name of the table where the cross-correlation matrix will be saved. The output is a table with N+2 columns and N rows, where N is the number of target columns. It contains the following columns. </p><table class="output">
+<tr>
+<th>column_position </th><td>The first column is a sequential counter indicating the position of the variable in the '<em>output_table</em>'.  </td></tr>
+<tr>
+<th>variable </th><td>The second column contains the row-header for the variables.  </td></tr>
+<tr>
+<th>&lt;...&gt; </th><td>The remainder of the table is the NxN correlation matrix for the pairs of numeric 'source_table' columns.  </td></tr>
+</table>
+<p>The output table is arranged as a lower-triangular matrix with the upper triangle set to NULL and the diagonal elements set to 1.0. To obtain the result from the '<em>output_table</em>' in this matrix format ensure to order the elements using the '<em>column_position</em>', as shown in the example below. </p><pre class="example">
+SELECT * FROM output_table ORDER BY column_position;
+</pre><p>In addition to output table, a summary table named &lt;output_table&gt;_summary is also created at the same time, which has the following columns: </p><table class="output">
+<tr>
+<th>method</th><td>'correlation' </td></tr>
+<tr>
+<th>source_table</th><td>VARCHAR. The data source table name. </td></tr>
+<tr>
+<th>output_table</th><td>VARCHAR. The output table name. </td></tr>
+<tr>
+<th>column_names</th><td>VARCHAR. Column names used for correlation computation, comma-separated string. </td></tr>
+<tr>
+<th>mean_vector</th><td>FLOAT8[]. Vector where each is the mean of a column. </td></tr>
+<tr>
+<th>total_rows_processed </th><td>BIGINT. Total numbers of rows processed.  </td></tr>
+<tr>
+<th>total_rows_skipped </th><td>BIGINT. Total numbers of rows skipped due to missing values.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>target_cols (optional) </dt>
+<dd><p class="startdd">TEXT, default: '*'. A comma-separated list of the columns to correlate. If NULL or <code>'*'</code>, results are produced for all numeric columns.</p>
+<p class="enddd"></p>
+</dd>
+<dt>verbose (optional) </dt>
+<dd><p class="startdd">BOOLEAN, default: FALSE. Print verbose debugging information if TRUE.</p>
+<p class="enddd"></p>
+</dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>View online help for the correlation function. <pre class="example">
+SELECT madlib.correlation();
+</pre></li>
+<li>Create an input data set. <pre class="example">
+DROP TABLE IF EXISTS example_data;
+CREATE TABLE example_data(
+    id SERIAL, outlook TEXT,
+    temperature FLOAT8, humidity FLOAT8,
+    windy TEXT, class TEXT);
+INSERT INTO example_data VALUES
+(1, 'sunny', 85, 85, 'false', 'Dont Play'),
+(2, 'sunny', 80, 90, 'true', 'Dont Play'),
+(3, 'overcast', 83, 78, 'false', 'Play'),
+(4, 'rain', 70, 96, 'false', 'Play'),
+(5, 'rain', 68, 80, 'false', 'Play'),
+(6, 'rain', 65, 70, 'true', 'Dont Play'),
+(7, 'overcast', 64, 65, 'true', 'Play'),
+(8, 'sunny', 72, 95, 'false', 'Dont Play'),
+(9, 'sunny', 69, 70, 'false', 'Play'),
+(10, 'rain', 75, 80, 'false', 'Play'),
+(11, 'sunny', 75, 70, 'true', 'Play'),
+(12, 'overcast', 72, 90, 'true', 'Play'),
+(13, 'overcast', 81, 75, 'false', 'Play'),
+(14, 'rain', 71, 80, 'true', 'Dont Play'),
+(15, NULL, 100, 100, 'true', NULL),
+(16, NULL, 110, 100, 'true', NULL);
+</pre></li>
+<li>Run the <a class="el" href="correlation_8sql__in.html#ada17a10ea8a6c4580e7413c86ae5345e">correlation()</a> function on the data set. <pre class="example">
+-- Correlate all numeric columns
+SELECT madlib.correlation( 'example_data',
+                           'example_data_output'
+                         );
+-- Setting target_cols to NULL or '*' also correlates all numeric columns
+SELECT madlib.correlation( 'example_data',
+                           'example_data_output',
+                           '*'
+                         );
+-- Correlate only the temperature and humidity columns
+SELECT madlib.correlation( 'example_data',
+                           'example_data_output',
+                           'temperature, humidity'
+                         );
+</pre></li>
+<li>View the correlation matrix. <pre class="example">
+SELECT * FROM example_data_output ORDER BY column_position;
+</pre> Result: <pre class="result">
+ column_position |  variable   |    temperature    | humidity
+-----------------+-------------+-------------------+----------
+               1 | temperature |               1.0 |
+               2 | humidity    | 0.616876934548786 |      1.0
+(2 rows)
+</pre></li>
+<li>Compute the covariance of features in the data set. <pre class="example">
+SELECT madlib.covariance( 'example_data',
+                          'cov_output'
+                         );
+</pre></li>
+<li>View the covariance matrix. <pre class="example">
+SELECT * FROM cov_output ORDER BY column_position;
+</pre> Result: <pre class="result">
+ column_position |  variable   |    temperature    | humidity
+-----------------+-------------+-------------------+----------
+               1 | temperature |      146.25       |
+               2 | humidity    |      82.125       | 121.1875
+(2 rows)
+</pre></li>
+</ol>
+<dl class="section user"><dt>Notes</dt><dd>Current implementation ignores a row that contains NULL entirely. This means any correlation in such a row (with NULLs) does not contribute to the final answer.</dd></dl>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="correlation_8sql__in.html" title="SQL functions for correlation computation. ">correlation.sql_in</a> documenting the SQL functions</p>
+<p><a class="el" href="group__grp__summary.html">Summary</a> for general descriptive statistics for a table </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__countmin.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__countmin.html b/docs/v1.11/group__grp__countmin.html
new file mode 100644
index 0000000..b196a9a
--- /dev/null
+++ b/docs/v1.11/group__grp__countmin.html
@@ -0,0 +1,258 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: CountMin (Cormode-Muthukrishnan)</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__countmin.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">CountMin (Cormode-Muthukrishnan)<div class="ingroups"><a class="el" href="group__grp__early__stage.html">Early Stage Development</a> &raquo; <a class="el" href="group__grp__sketches.html">Cardinality Estimators</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#syntax">Syntax</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><dl class="section warning"><dt>Warning</dt><dd><em> This MADlib method is still in early stage development. There may be some issues that will be addressed in a future version. Interface and implementation is subject to change. </em></dd></dl>
+<p>This module implements Cormode-Muthukrishnan <em>CountMin</em> sketches on integer values, implemented as a user-defined aggregate. It also provides scalar functions over the sketches to produce approximate counts, order statistics, and histograms.</p>
+<p><a class="anchor" id="syntax"></a></p><dl class="section user"><dt>Syntax</dt><dd><ul>
+<li>Get a sketch of a selected column specified by <em>col_name</em>. <pre class="syntax">
+cmsketch( col_name )
+</pre></li>
+<li>Get the number of rows where <em>col_name = p</em>, computed from the sketch obtained from <code>cmsketch</code>. <pre class="syntax">
+cmsketch_count( cmsketch,
+                p
+              )
+</pre></li>
+<li>Get the number of rows where <em>col_name</em> is between <em>m</em> and <em>n</em> inclusive. <pre class="syntax">
+cmsketch_rangecount( cmsketch,
+                     m,
+                     n
+                   )
+</pre></li>
+<li>Get the <em>k</em>th percentile of <em>col_name</em> where <em>count</em> specifies number of rows. <em>k</em> should be an integer between 1 to 99. <pre class="syntax">
+cmsketch_centile( cmsketch,
+                  k,
+                  count
+                )
+</pre></li>
+<li>Get the median of col_name where <em>count</em> specifies number of rows. This is equivalent to <code><a class="el" href="sketch_8sql__in.html#a2f2ab2fe3244515f5f73d49690e73b39">cmsketch_centile</a>(<em>cmsketch</em>,50,<em>count</em>)</code>. <pre class="syntax">
+cmsketch_median( cmsketch,
+                 count
+               )
+</pre></li>
+<li>Get an n-bucket histogram for values between min and max for the column where each bucket has approximately the same width. The output is a text string containing triples {lo, hi, count} representing the buckets; counts are approximate. <pre class="syntax">
+cmsketch_width_histogram( cmsketch,
+                          min,
+                          max,
+                          n
+                        )
+</pre></li>
+<li>Get an n-bucket histogram for the column where each bucket has approximately the same count. The output is a text string containing triples {lo, hi, count} representing the buckets; counts are approximate. Note that an equi-depth histogram is equivalent to a spanning set of equi-spaced centiles. <pre class="syntax">
+cmsketch_depth_histogram( cmsketch,
+                          n
+                        )
+</pre></li>
+</ul>
+</dd></dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Generate some data. <pre class="example">
+CREATE TABLE data(class INT, a1 INT);
+INSERT INTO data SELECT 1,1 FROM generate_series(1,10000);
+INSERT INTO data SELECT 1,2 FROM generate_series(1,15000);
+INSERT INTO data SELECT 1,3 FROM generate_series(1,10000);
+INSERT INTO data SELECT 2,5 FROM generate_series(1,1000);
+INSERT INTO data SELECT 2,6 FROM generate_series(1,1000);
+</pre></li>
+<li>Count number of rows where a1 = 2 in each class. <pre class="example">
+SELECT class,
+       cmsketch_count(
+                       cmsketch( a1 ),
+                       2
+                      )
+FROM data GROUP BY data.class;
+</pre> Result: <pre class="result">
+ class | cmsketch_count
+&#160;------+----------------
+     2 |              0
+     1 |          15000
+(2 rows)
+</pre></li>
+<li>Count number of rows where a1 is between 3 and 6. <pre class="example">
+SELECT class,
+       cmsketch_rangecount(
+                            cmsketch(a1),
+                            3,
+                            6
+                          )
+FROM data GROUP BY data.class;
+</pre> Result: <pre class="result">
+ class | cmsketch_rangecount
+&#160;------+---------------------
+     2 |                2000
+     1 |               10000
+(2 rows)
+</pre></li>
+<li>Compute the 90th percentile of all of a1. <pre class="example">
+SELECT cmsketch_centile(
+                         cmsketch( a1 ),
+                         90,
+                         count(*)
+                       )
+FROM data;
+</pre> Result: <pre class="result">
+ cmsketch_centile
+&#160;-----------------
+                3
+(1 row)
+</pre></li>
+<li>Produce an equi-width histogram with 2 bins between 0 and 10. <pre class="example">
+SELECT cmsketch_width_histogram(
+                                 cmsketch( a1 ),
+                                 0,
+                                 10,
+                                 2
+                               )
+FROM data;
+</pre> Result: <pre class="result">
+      cmsketch_width_histogram
+&#160;-----------------------------------
+ [[0L, 4L, 35000], [5L, 10L, 2000]]
+(1 row)
+</pre></li>
+<li>Produce an equi-depth histogram of a1 with 2 bins of approximately equal depth. <pre class="example">
+SELECT cmsketch_depth_histogram(
+                                 cmsketch( a1 ),
+                                 2
+                               )
+FROM data;
+</pre> Result: <pre class="result">
+                       cmsketch_depth_histogram
+&#160;----------------------------------------------------------------------
+ [[-9223372036854775807L, 1, 10000], [2, 9223372036854775807L, 27000]]
+(1 row)
+</pre></li>
+</ol>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] G. Cormode and S. Muthukrishnan. An improved data stream summary: The count-min sketch and its applications. LATIN 2004, J. Algorithm 55(1): 58-75 (2005) . <a href="http://dimacs.rutgers.edu/~graham/pubs/html/CormodeMuthukrishnan04CMLatin.html">http://dimacs.rutgers.edu/~graham/pubs/html/CormodeMuthukrishnan04CMLatin.html</a></p>
+<p>[2] G. Cormode. Encyclopedia entry on 'Count-Min Sketch'. In L. Liu and M. T. Ozsu, editors, Encyclopedia of Database Systems, pages 511-516. Springer, 2009. <a href="http://dimacs.rutgers.edu/~graham/pubs/html/Cormode09b.html">http://dimacs.rutgers.edu/~graham/pubs/html/Cormode09b.html</a></p>
+<p><a class="anchor" id="related"></a>File <a class="el" href="sketch_8sql__in.html" title="SQL functions for sketch-based approximations of descriptive statistics. ">sketch.sql_in</a> documenting the SQL functions.</p>
+<p>Module grp_quantile for a different implementation of quantile function. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__cox__prop__hazards.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__cox__prop__hazards.html b/docs/v1.11/group__grp__cox__prop__hazards.html
new file mode 100644
index 0000000..60f31d9
--- /dev/null
+++ b/docs/v1.11/group__grp__cox__prop__hazards.html
@@ -0,0 +1,469 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Cox-Proportional Hazards Regression</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__cox__prop__hazards.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Cox-Proportional Hazards Regression<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__regml.html">Regression Models</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#training">Training Function</a> </li>
+<li class="level1">
+<a href="#cox_zph">PHA Test Function</a> </li>
+<li class="level1">
+<a href="#predict">Prediction Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#background">Technical Background</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Proportional-Hazard models enable the comparison of various survival models. These survival models are functions describing the probability of a one-item event (prototypically, this event is death) with respect to time. The interval of time before the occurrence of death can be called the survival time. Let T be a random variable representing the survival time, with a cumulative probability function P(t). Informally, P(t) is the probability that death has happened before time t.</p>
+<p><a class="anchor" id="training"></a></p><dl class="section user"><dt>Training Function</dt><dd></dd></dl>
+<p>Following is the syntax for the <a class="el" href="cox__prop__hazards_8sql__in.html#a737450bbfe0f10204b0074a9d45b0cef" title="Compute cox-regression coefficients and diagnostic statistics. ">coxph_train()</a> training function: </p><pre class="syntax">
+coxph_train( source_table,
+             output_table,
+             dependent_variable,
+             independent_variable,
+             right_censoring_status,
+             strata,
+             optimizer_params
+           )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd>TEXT. The name of the table containing input data. </dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. The name of the table where the output model is saved. The output is saved in the table named by the <em>output_table</em> argument. It has the following columns: </p><table class="output">
+<tr>
+<th>coef </th><td>FLOAT8[]. Vector of the coefficients.  </td></tr>
+<tr>
+<th>loglikelihood </th><td>FLOAT8. Log-likelihood value of the MLE estimate.  </td></tr>
+<tr>
+<th>std_err </th><td>FLOAT8[]. Vector of the standard error of the coefficients.  </td></tr>
+<tr>
+<th>stats </th><td>FLOAT8[]. Vector of the statistics of the coefficients.  </td></tr>
+<tr>
+<th>p_values </th><td>FLOAT8[]. Vector of the p-values of the coefficients.  </td></tr>
+<tr>
+<th>hessian </th><td>FLOAT8[]. The Hessian matrix computed using the final solution.  </td></tr>
+<tr>
+<th>num_iterations </th><td>INTEGER. The number of iterations performed by the optimizer.  </td></tr>
+</table>
+<p>Additionally, a summary output table is generated that contains a summary of the parameters used for building the Cox model. It is stored in a table named &lt;output_table&gt;_summary. It has the following columns: </p><table class="output">
+<tr>
+<th>source_table </th><td>The source table name.  </td></tr>
+<tr>
+<th>dependent_variable </th><td>The dependent variable name.  </td></tr>
+<tr>
+<th>independent_variable </th><td>The independent variable name.  </td></tr>
+<tr>
+<th>right_censoring_status </th><td>The right censoring status  </td></tr>
+<tr>
+<th>strata </th><td>The stratification columns  </td></tr>
+<tr>
+<th>num_processed </th><td>The number of rows that were actually used in the computation.  </td></tr>
+<tr>
+<th>num_missing_rows_skipped </th><td>The number of rows that were skipped in the computation due to NULL values in them.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_variable </dt>
+<dd>TEXT. A string containing the name of a column that contains an array of numeric values, or a string expression in the format 'ARRAY[1, x1, x2, x3]', where <em>x1</em>, <em>x2</em> and <em>x3</em> are column names. Dependent variables refer to the time of death. There is no need to pre-sort the data. </dd>
+<dt>independent_variable </dt>
+<dd>TEXT. The name of the independent variable. </dd>
+<dt>right_censoring_status (optional) </dt>
+<dd>TEXT, default: TRUE for all observations. A string containing an expression that evaluates to the right-censoring status for the observation&mdash;TRUE if the observation is not censored and FALSE if the observation is censored. The string could contain the name of the column containing the right-censoring status, a fixed Boolean expression (i.e., 'true', 'false', '0', '1') that applies to all observations, or a Boolean expression such as 'column_name &lt; 10' that can be evaluated for each observation. </dd>
+<dt>strata (optional) </dt>
+<dd>VARCHAR, default: NULL, which does not do any stratifications. A string of comma-separated column names that are the strata ID variables used to do stratification. </dd>
+<dt>optimizer_params (optional) </dt>
+<dd><p class="startdd">VARCHAR, default: NULL, which uses the default values of optimizer parameters: max_iter=100, optimizer=newton, tolerance=1e-8, array_agg_size=10000000, sample_size=1000000. It should be a string that contains 'key=value' pairs separated by commas. The meanings of these parameters are:</p>
+<ul>
+<li>max_iter &mdash; The maximum number of iterations. The computation stops if the number of iterations exceeds this, which usually means that there is no convergence.</li>
+<li>optimizer &mdash; The optimization method. Right now, "newton" is the only one supported.</li>
+<li>tolerance &mdash; The stopping criteria. When the difference between the log-likelihoods of two consecutive iterations is smaller than this number, the computation has already converged and stops.</li>
+<li>array_agg_size &mdash; To speed up the computation, the original data table is cut into multiple pieces, and each pieces of the data is aggregated into one big row. In the process of computation, the whole big row is loaded into memory and thus speed up the computation. This parameter controls approximately how many numbers we want to put into one big row. Larger value of array_agg_size may speed up more, but the size of the big row cannot exceed 1GB due to the restriction of PostgreSQL databases.</li>
+<li>sample_size &mdash; To cut the data into approximate equal pieces, we first sample the data, and then find out the break points using this sampled data. A larger sample_size produces more accurate break points.  </li>
+</ul>
+</dd>
+</dl>
+<p><a class="anchor" id="cox_zph"></a></p><dl class="section user"><dt>Proportional Hazards Assumption Test Function</dt><dd></dd></dl>
+<p>The <a class="el" href="cox__prop__hazards_8sql__in.html#a682d95d5475ce33e47937067cadc2766" title="Test the proportional hazards assumption for a Cox regression model fit (coxph_train) ...">cox_zph()</a> function tests the proportional hazards assumption (PHA) of a Cox regression.</p>
+<p>Proportional-hazard models enable the comparison of various survival models. These PH models, however, assume that the hazard for a given individual is a fixed proportion of the hazard for any other individual, and the ratio of the hazards is constant across time. MADlib does not currently have support for performing any transformation of the time to compute the correlation.</p>
+<p>The <a class="el" href="cox__prop__hazards_8sql__in.html#a682d95d5475ce33e47937067cadc2766" title="Test the proportional hazards assumption for a Cox regression model fit (coxph_train) ...">cox_zph()</a> function is used to test this assumption by computing the correlation of the residual of the <a class="el" href="cox__prop__hazards_8sql__in.html#a737450bbfe0f10204b0074a9d45b0cef" title="Compute cox-regression coefficients and diagnostic statistics. ">coxph_train()</a> model with time.</p>
+<p>Following is the syntax for the <a class="el" href="cox__prop__hazards_8sql__in.html#a682d95d5475ce33e47937067cadc2766" title="Test the proportional hazards assumption for a Cox regression model fit (coxph_train) ...">cox_zph()</a> function: </p><pre class="syntax">
+cox_zph(cox_model_table, output_table)
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>cox_model_table </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the Cox Proportional-Hazards model.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd>TEXT. The name of the table where the test statistics are saved. The output table is named by the <em>output_table</em> argument and has the following columns: <table class="output">
+<tr>
+<th>covariate </th><td>TEXT. The independent variables.  </td></tr>
+<tr>
+<th>rho </th><td>FLOAT8[]. Vector of the correlation coefficients between survival time and the scaled Schoenfeld residuals.  </td></tr>
+<tr>
+<th>chi_square </th><td>FLOAT8[]. Chi-square test statistic for the correlation analysis.  </td></tr>
+<tr>
+<th>p_value </th><td>FLOAT8[]. Two-side p-value for the chi-square statistic.  </td></tr>
+</table>
+</dd>
+</dl>
+<p>Additionally, the residual values are outputted to the table named <em>output_table</em>_residual. The table contains the following columns: </p><table class="output">
+<tr>
+<th>&lt;dep_column_name&gt; </th><td>FLOAT8. Time values (dependent variable) present in the original source table.   </td></tr>
+<tr>
+<th>residual </th><td>FLOAT8[]. Difference between the original covariate values and the expectation of the covariates obtained from the coxph_train model.  </td></tr>
+<tr>
+<th>scaled_residual </th><td>Residual values scaled by the variance of the coefficients.  </td></tr>
+</table>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd></dd></dl>
+<ul>
+<li>Table names can be optionally schema qualified (current_schemas() is used if a schema name is not provided) and table and column names should follow case-sensitivity and quoting rules per the database. For instance, 'mytable' and 'MyTable' both resolve to the same entity&mdash;'mytable'. If mixed-case or multi-byte characters are desired for entity names then the string should be double-quoted; in this case the input would be '"MyTable"'.</li>
+<li>The <a class="el" href="cox__prop__hazards_8sql__in.html#a3310cf98478b7c1e400e8fb1b3965d30">cox_prop_hazards_regr()</a> and <a class="el" href="cox__prop__hazards_8sql__in.html#ad778b289eb19ae0bb2b7e02a89bab3bc" title="Cox regression training function. ">cox_prop_hazards()</a> functions have been deprecated; <a class="el" href="cox__prop__hazards_8sql__in.html#a737450bbfe0f10204b0074a9d45b0cef" title="Compute cox-regression coefficients and diagnostic statistics. ">coxph_train()</a> should be used instead.</li>
+</ul>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd>The prediction function is provided to calculate the linear predictionors, risk or the linear terms for the given prediction data. It has the following syntax: <pre class="syntax">
+coxph_predict(model_table,
+              source_table,
+              id_col_name,
+              output_table,
+              pred_type,
+              reference)
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>model_table </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the cox model.</p>
+<p class="enddd"></p>
+</dd>
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the prediction data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>id_col_name </dt>
+<dd><p class="startdd">TEXT. Name of the id column in the source table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. Name of the table to store the prediction results in. The output table is named by the <em>output_table</em> argument and has the following columns: </p><table class="output">
+<tr>
+<th>id </th><td>TEXT. The id column name from the source table.  </td></tr>
+<tr>
+<th>predicted_result </th><td>DOUBLE PRECISION. Result of prediction based of the value of the prediction type parameter.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>pred_type </dt>
+<dd><p class="startdd">TEXT, OPTIONAL. Type of prediction. This can be one of 'linear_predictors', 'risk', or 'terms'. DEFAULT='linear_predictors'.</p><ul>
+<li>'linear_predictors' calculates the dot product of the independent variables and the coefficients.</li>
+<li>'risk' is the exponentiated value of the linear prediction.</li>
+<li>'terms' correspond to the linear terms obtained by multiplying the independent variables with their corresponding coefficients values (without further calculating the sum of these terms) </li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>reference </dt>
+<dd>TEXT, OPTIONAL. Reference level to use for centering predictions. Can be one of 'strata', 'overall'. DEFAULT='strata'. Note that R uses 'sample' instead of 'overall' when referring to the overall mean value of the covariates as being the reference level. </dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>View online help for the proportional hazards training method. <pre class="example">
+SELECT madlib.coxph_train();
+</pre></li>
+<li>Create an input data set. <pre class="example">
+DROP TABLE IF EXISTS sample_data;
+CREATE TABLE sample_data (
+    id INTEGER NOT NULL,
+    grp DOUBLE PRECISION,
+    wbc DOUBLE PRECISION,
+    timedeath INTEGER,
+    status BOOLEAN
+);
+COPY sample_data FROM STDIN WITH DELIMITER '|';
+  0 |   0 | 1.45 |        35 | t
+  1 |   0 | 1.47 |        34 | t
+  3 |   0 |  2.2 |        32 | t
+  4 |   0 | 1.78 |        25 | t
+  5 |   0 | 2.57 |        23 | t
+  6 |   0 | 2.32 |        22 | t
+  7 |   0 | 2.01 |        20 | t
+  8 |   0 | 2.05 |        19 | t
+  9 |   0 | 2.16 |        17 | t
+ 10 |   0 |  3.6 |        16 | t
+ 11 |   1 |  2.3 |        15 | t
+ 12 |   0 | 2.88 |        13 | t
+ 13 |   1 |  1.5 |        12 | t
+ 14 |   0 |  2.6 |        11 | t
+ 15 |   0 |  2.7 |        10 | t
+ 16 |   0 |  2.8 |         9 | t
+ 17 |   1 | 2.32 |         8 | t
+ 18 |   0 | 4.43 |         7 | t
+ 19 |   0 | 2.31 |         6 | t
+ 20 |   1 | 3.49 |         5 | t
+ 21 |   1 | 2.42 |         4 | t
+ 22 |   1 | 4.01 |         3 | t
+ 23 |   1 | 4.91 |         2 | t
+ 24 |   1 |    5 |         1 | t
+\.
+</pre></li>
+<li>Run the Cox regression function. <pre class="example">
+SELECT madlib.coxph_train( 'sample_data',
+                           'sample_cox',
+                           'timedeath',
+                           'ARRAY[grp,wbc]',
+                           'status'
+                         );
+</pre></li>
+<li>View the results of the regression. <pre class="example">
+\x on
+SELECT * FROM sample_cox;
+</pre> Results: <pre class="result">
+-[ RECORD 1 ]--+----------------------------------------------------------------------------
+coef           | {2.54407073265254,1.67172094779487}
+loglikelihood  | -37.8532498733
+std_err        | {0.677180599294897,0.387195514577534}
+z_stats        | {3.7568570855419,4.31751114064138}
+p_values       | {0.000172060691513886,1.5779844638453e-05}
+hessian        | {{2.78043065745617,-2.25848560642414},{-2.25848560642414,8.50472838284472}}
+num_iterations | 5
+</pre></li>
+<li>Computing predictions using cox model. (This example uses the original data table to perform the prediction. Typically a different test dataset with the same features as the original training dataset would be used.) <pre class="example">
+\x off
+-- Display the linear predictors for the original dataset
+SELECT madlib.coxph_predict('sample_cox',
+                            'sample_data',
+                            'id',
+                            'sample_pred');
+</pre> <pre class="result">
+SELECT * FROM sample_pred;
+ id |  predicted_value
+----+--------------------
+  0 |  -2.97110918125034
+  4 |  -2.41944126847803
+  6 |   -1.5167119566688
+  8 |  -1.96807661257341
+ 10 |  0.623090856508638
+ 12 |  -0.58054822590367
+ 14 |  -1.04863009128623
+ 16 | -0.714285901727259
+ 18 |   2.01061924317838
+ 20 |   2.98327228490375
+ 22 |   3.85256717775708
+ 24 |     5.507570916074
+  1 |  -2.93767476229444
+  3 |  -1.71731847040418
+  5 |  -1.09878171972008
+  7 |  -2.03494545048521
+  9 |  -1.78418730831598
+ 15 | -0.881457996506747
+ 19 |  -1.53342916614675
+ 11 |  0.993924357027849
+ 13 | -0.343452401208048
+ 17 |   1.02735877598375
+ 21 |   1.19453087076323
+ 23 |   5.35711603077246
+(24 rows)
+</pre> <pre class="example">
+-- Display the relative risk for the original dataset
+SELECT madlib.coxph_predict('sample_cox',
+                            'sample_data',
+                            'id',
+                            'sample_pred',
+                            'risk');
+</pre> <pre class="result">
+ id |  predicted_value
+ ----+--------------------
+  1 | 0.0529887971503509
+  3 |  0.179546963459175
+  5 |   0.33327686110022
+  7 |  0.130687611255372
+  9 |  0.167933483703554
+ 15 |  0.414178600294289
+ 19 |  0.215794402223054
+ 11 |   2.70181658768287
+ 13 |  0.709317242984782
+ 17 |   2.79367735395696
+ 21 |   3.30200833843654
+ 23 |   212.112338046551
+  0 | 0.0512464372091503
+  4 | 0.0889713146524469
+  6 |  0.219432204682557
+  8 |  0.139725343898993
+ 10 |   1.86468261037506
+ 12 |  0.559591499901241
+ 14 |  0.350417460388247
+ 16 |  0.489541567796517
+ 18 |   7.46794038691975
+ 20 |   19.7523463121038
+ 22 |   47.1138577624204
+ 24 |   246.551504798816
+(24 rows)
+</pre></li>
+<li>Run the test for Proportional Hazards assumption to obtain correlation between residuals and time. <pre class="example">
+SELECT madlib.cox_zph( 'sample_cox',
+                       'sample_zph_output'
+                     );
+</pre></li>
+<li>View results of the PHA test. <pre class="example">
+SELECT * FROM sample_zph_output;
+</pre> Results: <pre class="result">
+-[ RECORD 1 ]-----------------------------------------
+covariate  | ARRAY[grp,wbc]
+rho        | {0.00237308357328641,0.0375600568840431}
+chi_square | {0.000100675718191977,0.0232317400546175}
+p_value    | {0.991994376850758,0.878855984657948}
+</pre></li>
+</ol>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>Generally, proportional-hazard models start with a list of <img class="formulaInl" alt="$ \boldsymbol n $" src="form_382.png"/> observations, each with <img class="formulaInl" alt="$ \boldsymbol m $" src="form_383.png"/> covariates and a time of death. From this <img class="formulaInl" alt="$ \boldsymbol n \times m $" src="form_384.png"/> matrix, we would like to derive the correlation between the covariates and the hazard function. This amounts to finding the parameters <img class="formulaInl" alt="$ \boldsymbol \beta $" src="form_385.png"/> that best fit the model described below.</p>
+<p>Let us define:</p><ul>
+<li><img class="formulaInl" alt="$ \boldsymbol t \in \mathbf R^{m} $" src="form_386.png"/> denote the vector of observed dependent variables, with <img class="formulaInl" alt="$ n $" src="form_11.png"/> rows.</li>
+<li><img class="formulaInl" alt="$ X \in \mathbf R^{m} $" src="form_387.png"/> denote the design matrix with <img class="formulaInl" alt="$ m $" src="form_293.png"/> columns and <img class="formulaInl" alt="$ n $" src="form_11.png"/> rows, containing all observed vectors of independent variables <img class="formulaInl" alt="$ \boldsymbol x_i $" src="form_100.png"/> as rows.</li>
+<li><img class="formulaInl" alt="$ R(t_i) $" src="form_388.png"/> denote the set of observations still alive at time <img class="formulaInl" alt="$ t_i $" src="form_389.png"/></li>
+</ul>
+<p>Note that this model <b>does not</b> include a <b>constant term</b>, and the data cannot contain a column of 1s.</p>
+<p>By definition, </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ P[T_k = t_i | \boldsymbol R(t_i)] = \frac{e^{\beta^T x_k} }{ \sum_{j \in R(t_i)} e^{\beta^T x_j}}. \,. \]" src="form_390.png"/>
+</p>
+<p>The <b>partial likelihood </b>function can now be generated as the product of conditional probabilities: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \mathcal L = \prod_{i = 1}^n \left( \frac{e^{\beta^T x_i}}{ \sum_{j \in R(t_i)} e^{\beta^T x_j}} \right). \]" src="form_391.png"/>
+</p>
+<p>The log-likelihood form of this equation is </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ L = \sum_{i = 1}^n \left[ \beta^T x_i - \log\left(\sum_{j \in R(t_i)} e^{\beta^T x_j }\right) \right]. \]" src="form_392.png"/>
+</p>
+<p>Using this score function and Hessian matrix, the partial likelihood can be maximized using the <b> Newton-Raphson algorithm</b>. <b>Breslow's method</b> is used to resolved tied times of deaths. The time of death for two records are considered "equal" if they differ by less than 1.0e-6</p>
+<p>The inverse of the Hessian matrix, evaluated at the estimate of <img class="formulaInl" alt="$ \boldsymbol \beta $" src="form_385.png"/>, can be used as an <b>approximate variance-covariance matrix </b> for the estimate, and used to produce approximate <b>standard errors</b> for the regression coefficients.</p>
+<p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \mathit{se}(c_i) = \left( (H)^{-1} \right)_{ii} \,. \]" src="form_393.png"/>
+</p>
+<p> The Wald z-statistic is </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ z_i = \frac{c_i}{\mathit{se}(c_i)} \,. \]" src="form_110.png"/>
+</p>
+<p>The Wald <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> gives the probability (under the assumptions inherent in the Wald test) of seeing a value at least as extreme as the one observed, provided that the null hypothesis ( <img class="formulaInl" alt="$ c_i = 0 $" src="form_112.png"/>) is true. Letting <img class="formulaInl" alt="$ F $" src="form_113.png"/> denote the cumulative density function of a standard normal distribution, the Wald <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> is therefore </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ p_i = \Pr(|Z| \geq |z_i|) = 2 \cdot (1 - F( |z_i| )) \]" src="form_114.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ Z $" src="form_115.png"/> is a standard normally distributed random variable.</p>
+<p>The condition number is computed as <img class="formulaInl" alt="$ \kappa(H) $" src="form_394.png"/> during the iteration immediately <em>preceding</em> convergence (i.e., <img class="formulaInl" alt="$ A $" src="form_14.png"/> is computed using the coefficients of the previous iteration). A large condition number (say, more than 1000) indicates the presence of significant multicollinearity.</p>
+<p><a class="anchor" id="Literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>A somewhat random selection of nice write-ups, with valuable pointers into further literature:</p>
+<p>[1] John Fox: Cox Proportional-Hazards Regression for Survival Data, Appendix to An R and S-PLUS companion to Applied Regression Feb 2012, <a href="http://cran.r-project.org/doc/contrib/Fox-Companion/appendix-cox-regression.pdf">http://cran.r-project.org/doc/contrib/Fox-Companion/appendix-cox-regression.pdf</a></p>
+<p>[2] Stephen J Walters: What is a Cox model? <a href="http://www.medicine.ox.ac.uk/bandolier/painres/download/whatis/cox_model.pdf">http://www.medicine.ox.ac.uk/bandolier/painres/download/whatis/cox_model.pdf</a></p>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd></dd></dl>
+<p>If number of ties in the source table is very large, a memory allocation error may be raised. The limitation is about <img class="formulaInl" alt="$(10^8 / m)$" src="form_395.png"/>, where <img class="formulaInl" alt="$m$" src="form_314.png"/> is number of featrues. For instance, if there are 100 featrues, the number of ties should be fewer than 1 million.</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="cox__prop__hazards_8sql__in.html" title="SQL functions for cox proportional hazards. ">cox_prop_hazards.sql_in</a> documenting the functions</p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>



[04/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/matrix__ops_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/matrix__ops_8sql__in.html b/docs/v1.11/matrix__ops_8sql__in.html
new file mode 100644
index 0000000..9fb695b
--- /dev/null
+++ b/docs/v1.11/matrix__ops_8sql__in.html
@@ -0,0 +1,6325 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: matrix_ops.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('matrix__ops_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">matrix_ops.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Implementation of matrix operations in SQL.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a0535b01f414f5d61153abca8b3cd94fa"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a0535b01f414f5d61153abca8b3cd94fa">matrix_info</a> (text message)</td></tr>
+<tr class="separator:a0535b01f414f5d61153abca8b3cd94fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94c1c4f3fb88bb80344d53ee2cc3c981"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a94c1c4f3fb88bb80344d53ee2cc3c981">matrix_info</a> ()</td></tr>
+<tr class="separator:a94c1c4f3fb88bb80344d53ee2cc3c981"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83e1d5e2c8cd598084c6d21fdce83ae7"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a83e1d5e2c8cd598084c6d21fdce83ae7">matrix_mult</a> (text matrix_a, text a_args, text matrix_b, text b_args, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:a83e1d5e2c8cd598084c6d21fdce83ae7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies two matrices. It requires that all the values are NON-NULL. This is the sparse representation of the matrix where the matrix elements are indexed by the row and column index.  <a href="#a83e1d5e2c8cd598084c6d21fdce83ae7">More...</a><br /></td></tr>
+<tr class="separator:a83e1d5e2c8cd598084c6d21fdce83ae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea1f8c6538b189a29c24b56f5af496b8"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aea1f8c6538b189a29c24b56f5af496b8">matrix_mult</a> (text matrix_a, text a_args, text matrix_b, text b_args, text matrix_out)</td></tr>
+<tr class="separator:aea1f8c6538b189a29c24b56f5af496b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43a2702360817f94ecf9b3ba9a984548"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a43a2702360817f94ecf9b3ba9a984548">matrix_mult</a> (text message)</td></tr>
+<tr class="separator:a43a2702360817f94ecf9b3ba9a984548"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad89a88acce449ee27ba9d3a73950c2d7"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ad89a88acce449ee27ba9d3a73950c2d7">matrix_mult</a> ()</td></tr>
+<tr class="separator:ad89a88acce449ee27ba9d3a73950c2d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad615ae2da39bf15c8032eacb8330a74"><td class="memItemLeft" align="right" valign="top">integer []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aad615ae2da39bf15c8032eacb8330a74">matrix_ndims</a> (text matrix_in, text in_args, boolean is_block)</td></tr>
+<tr class="memdesc:aad615ae2da39bf15c8032eacb8330a74"><td class="mdescLeft">&#160;</td><td class="mdescRight">get the ndims of a matrix in an array format  <a href="#aad615ae2da39bf15c8032eacb8330a74">More...</a><br /></td></tr>
+<tr class="separator:aad615ae2da39bf15c8032eacb8330a74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a563239e2948ed428ae62df73912c8cda"><td class="memItemLeft" align="right" valign="top">integer []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a563239e2948ed428ae62df73912c8cda">matrix_ndims</a> (text matrix_in, text in_args)</td></tr>
+<tr class="separator:a563239e2948ed428ae62df73912c8cda"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a198a59b704931cbe35edd1ffdccf025b"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a198a59b704931cbe35edd1ffdccf025b">matrix_ndims</a> (text message)</td></tr>
+<tr class="separator:a198a59b704931cbe35edd1ffdccf025b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac502592b54ed6d09d8e16eb7993672fb"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ac502592b54ed6d09d8e16eb7993672fb">matrix_ndims</a> ()</td></tr>
+<tr class="separator:ac502592b54ed6d09d8e16eb7993672fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cbb83dad451e7c36033c0f3df0a22e0"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a1cbb83dad451e7c36033c0f3df0a22e0">matrix_add</a> (text matrix_a, text a_args, text matrix_b, text b_args, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:a1cbb83dad451e7c36033c0f3df0a22e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds two matrices. It requires that all the values are NON-NULL. This is the sparse representation of the matrix where the matrix elements are indexed by the row and column index.  <a href="#a1cbb83dad451e7c36033c0f3df0a22e0">More...</a><br /></td></tr>
+<tr class="separator:a1cbb83dad451e7c36033c0f3df0a22e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41caa30da3fe15625e33782884ca6060"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a41caa30da3fe15625e33782884ca6060">matrix_add</a> (text matrix_a, text a_args, text matrix_b, text b_args, text matrix_out)</td></tr>
+<tr class="separator:a41caa30da3fe15625e33782884ca6060"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af305d7f198954d3dabf1b47578ad8d81"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#af305d7f198954d3dabf1b47578ad8d81">matrix_add</a> (text message)</td></tr>
+<tr class="separator:af305d7f198954d3dabf1b47578ad8d81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68b950ef082b7f0545ba1a926c9afe35"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a68b950ef082b7f0545ba1a926c9afe35">matrix_add</a> ()</td></tr>
+<tr class="separator:a68b950ef082b7f0545ba1a926c9afe35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9b1f1554e98d3ab8f04d203f99fd651"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aa9b1f1554e98d3ab8f04d203f99fd651">matrix_sub</a> (text matrix_a, text a_args, text matrix_b, text b_args, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:aa9b1f1554e98d3ab8f04d203f99fd651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subs two matrices. It requires that all the values are NON-NULL. This is the sparse representation of the matrix where the matrix elements are indexed by the row and column id.  <a href="#aa9b1f1554e98d3ab8f04d203f99fd651">More...</a><br /></td></tr>
+<tr class="separator:aa9b1f1554e98d3ab8f04d203f99fd651"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a8806e11141e8cc5a3fa0c6b1b9e62a"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a2a8806e11141e8cc5a3fa0c6b1b9e62a">matrix_sub</a> (text matrix_a, text a_args, text matrix_b, text b_args, text matrix_out)</td></tr>
+<tr class="separator:a2a8806e11141e8cc5a3fa0c6b1b9e62a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66d586c0126a95e43ecad7d3efbcce69"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a66d586c0126a95e43ecad7d3efbcce69">matrix_sub</a> (text message)</td></tr>
+<tr class="separator:a66d586c0126a95e43ecad7d3efbcce69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41d7286b1a57206f999e064bf3745407"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a41d7286b1a57206f999e064bf3745407">matrix_sub</a> ()</td></tr>
+<tr class="separator:a41d7286b1a57206f999e064bf3745407"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61fef136d511ac92153223f590ee596f"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a61fef136d511ac92153223f590ee596f">matrix_extract_row</a> (text matrix_in, text in_args, integer index)</td></tr>
+<tr class="memdesc:a61fef136d511ac92153223f590ee596f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract row from matrix given row index. It requires that all the values are NON-NULL. This is the dense or sparse representation of the matrix where the matrix elements are indexed by row id for dense and by the row and column id for sparse.  <a href="#a61fef136d511ac92153223f590ee596f">More...</a><br /></td></tr>
+<tr class="separator:a61fef136d511ac92153223f590ee596f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b8c0815933d4d39a6ea7bc7fe951552"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a0b8c0815933d4d39a6ea7bc7fe951552">matrix_extract_row</a> (text message)</td></tr>
+<tr class="separator:a0b8c0815933d4d39a6ea7bc7fe951552"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a65963c0f5721af6f785f65083152c64c"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a65963c0f5721af6f785f65083152c64c">matrix_extract_row</a> ()</td></tr>
+<tr class="separator:a65963c0f5721af6f785f65083152c64c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f3b0f7a3bbbab7b22f8ae545cf46255"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a1f3b0f7a3bbbab7b22f8ae545cf46255">matrix_extract_col</a> (text matrix_in, text in_args, integer index)</td></tr>
+<tr class="memdesc:a1f3b0f7a3bbbab7b22f8ae545cf46255"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract column from matrix given column index. It requires that all the values are NON-NULL. This is the dense or sparse representation of the matrix where the matrix elements are indexed by row id for dense and by the row and column id for sparse.  <a href="#a1f3b0f7a3bbbab7b22f8ae545cf46255">More...</a><br /></td></tr>
+<tr class="separator:a1f3b0f7a3bbbab7b22f8ae545cf46255"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c5371cb5bc60dc48ba4a6cee805c30d"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a1c5371cb5bc60dc48ba4a6cee805c30d">matrix_extract_col</a> (text message)</td></tr>
+<tr class="separator:a1c5371cb5bc60dc48ba4a6cee805c30d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98a695c4cf03ae60c654013ec08fdfe8"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a98a695c4cf03ae60c654013ec08fdfe8">matrix_extract_col</a> ()</td></tr>
+<tr class="separator:a98a695c4cf03ae60c654013ec08fdfe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2f88aa4f4a8e479276c927048e1814f2"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a2f88aa4f4a8e479276c927048e1814f2">matrix_zeros</a> (integer row_dim, integer col_dim, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:a2f88aa4f4a8e479276c927048e1814f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes matrix with zeros. It requires that all the values are NON-NULL.  <a href="#a2f88aa4f4a8e479276c927048e1814f2">More...</a><br /></td></tr>
+<tr class="separator:a2f88aa4f4a8e479276c927048e1814f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a94d6e419cbf5a1809e7c4cd788adf025"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a94d6e419cbf5a1809e7c4cd788adf025">matrix_zeros</a> (integer row_dim, integer col_dim, text matrix_out)</td></tr>
+<tr class="separator:a94d6e419cbf5a1809e7c4cd788adf025"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a733fd716b4b996f1a6ffca967496d899"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a733fd716b4b996f1a6ffca967496d899">matrix_zeros</a> (text message)</td></tr>
+<tr class="separator:a733fd716b4b996f1a6ffca967496d899"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaed270402933fd463479858f893b4357"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aaed270402933fd463479858f893b4357">matrix_zeros</a> ()</td></tr>
+<tr class="separator:aaed270402933fd463479858f893b4357"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6aefe99d73608495150c1ac46cc9bcd6"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a6aefe99d73608495150c1ac46cc9bcd6">matrix_max</a> (text matrix_in, text in_args, integer dim, text matrix_out, boolean fetch_index)</td></tr>
+<tr class="memdesc:a6aefe99d73608495150c1ac46cc9bcd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get max value along dimension from matrix. Also returns corresponding index if set fetch_index. It requires that all the values are NON-NULL. This is the dense or sparse representation of the matrix where the matrix elements are indexed by row id for dense and by the row and column id for sparse.  <a href="#a6aefe99d73608495150c1ac46cc9bcd6">More...</a><br /></td></tr>
+<tr class="separator:a6aefe99d73608495150c1ac46cc9bcd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a738a759b0397a3a652ba76c5e2aea9a9"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a738a759b0397a3a652ba76c5e2aea9a9">matrix_max</a> (text matrix_in, text in_args, integer dim, text matrix_out)</td></tr>
+<tr class="separator:a738a759b0397a3a652ba76c5e2aea9a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5101b99f8112074e95c76f008081741"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ad5101b99f8112074e95c76f008081741">matrix_max</a> (text message)</td></tr>
+<tr class="separator:ad5101b99f8112074e95c76f008081741"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f47e137a229cc32670461dee5fa3c7a"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a3f47e137a229cc32670461dee5fa3c7a">matrix_max</a> ()</td></tr>
+<tr class="separator:a3f47e137a229cc32670461dee5fa3c7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa27d69d09f5eb456eb326d4b5eda1a2a"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aa27d69d09f5eb456eb326d4b5eda1a2a">matrix_min</a> (text matrix_in, text in_args, integer dim, text matrix_out, boolean fetch_index)</td></tr>
+<tr class="memdesc:aa27d69d09f5eb456eb326d4b5eda1a2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get min value along dimension from matrix. Also returns corresponding index if set fetch_index. It requires that all the values are NON-NULL. This is the dense or sparse representation of the matrix where the matrix elements are indexed by row id for dense and by the row and column id for sparse.  <a href="#aa27d69d09f5eb456eb326d4b5eda1a2a">More...</a><br /></td></tr>
+<tr class="separator:aa27d69d09f5eb456eb326d4b5eda1a2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6647bd00e4b853c2d7fbc9175f087ab9"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a6647bd00e4b853c2d7fbc9175f087ab9">matrix_min</a> (text matrix_in, text in_args, integer dim, text matrix_out)</td></tr>
+<tr class="separator:a6647bd00e4b853c2d7fbc9175f087ab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d2aee81366873b11104a5d4fe1e4c36"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a7d2aee81366873b11104a5d4fe1e4c36">matrix_min</a> (text message)</td></tr>
+<tr class="separator:a7d2aee81366873b11104a5d4fe1e4c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad777bc84ac4691172a90133825ce5301"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ad777bc84ac4691172a90133825ce5301">matrix_min</a> ()</td></tr>
+<tr class="separator:ad777bc84ac4691172a90133825ce5301"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af03096b43d66e3a3448885e8d6643244"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#af03096b43d66e3a3448885e8d6643244">matrix_sum</a> (text matrix_in, text in_args, integer dim)</td></tr>
+<tr class="memdesc:af03096b43d66e3a3448885e8d6643244"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate sum along dimension for matrix. It requires that all the values are NON-NULL. This is the sparse representation of the matrix where the matrix elements are indexed by the row and column id.  <a href="#af03096b43d66e3a3448885e8d6643244">More...</a><br /></td></tr>
+<tr class="separator:af03096b43d66e3a3448885e8d6643244"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6006396999fd192910197e40a0655179"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a6006396999fd192910197e40a0655179">matrix_sum</a> (text matrix_in, text in_args)</td></tr>
+<tr class="separator:a6006396999fd192910197e40a0655179"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ce9cf659cd15d6c765ff8cd11b26a2f"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a2ce9cf659cd15d6c765ff8cd11b26a2f">matrix_sum</a> (text message)</td></tr>
+<tr class="separator:a2ce9cf659cd15d6c765ff8cd11b26a2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73a54a0e80047b8b9e5df2c4b635c155"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a73a54a0e80047b8b9e5df2c4b635c155">matrix_sum</a> ()</td></tr>
+<tr class="separator:a73a54a0e80047b8b9e5df2c4b635c155"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff618caaa8e3edc1b3f2465d04598a9d"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aff618caaa8e3edc1b3f2465d04598a9d">matrix_mean</a> (text matrix_in, text in_args, integer dim)</td></tr>
+<tr class="memdesc:aff618caaa8e3edc1b3f2465d04598a9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate mean along dimension for matrix. It requires that all the values are NON-NULL. This is the sparse representation of the matrix where the matrix elements are indexed by the row and column id.  <a href="#aff618caaa8e3edc1b3f2465d04598a9d">More...</a><br /></td></tr>
+<tr class="separator:aff618caaa8e3edc1b3f2465d04598a9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21d94d92c4545bccb58234e8ee0bed2a"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a21d94d92c4545bccb58234e8ee0bed2a">matrix_mean</a> (text matrix_in, text in_args)</td></tr>
+<tr class="separator:a21d94d92c4545bccb58234e8ee0bed2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae703f1bf36c4ff0771253db03d2cd7d2"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ae703f1bf36c4ff0771253db03d2cd7d2">matrix_mean</a> (text message)</td></tr>
+<tr class="separator:ae703f1bf36c4ff0771253db03d2cd7d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef727e104b1c64c790bf0913caf78152"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aef727e104b1c64c790bf0913caf78152">matrix_mean</a> ()</td></tr>
+<tr class="separator:aef727e104b1c64c790bf0913caf78152"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa41d97528365f8e161e5e821165a6e0d"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aa41d97528365f8e161e5e821165a6e0d">matrix_scalar_mult</a> (text matrix_in, text in_args, float8 scalar, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:aa41d97528365f8e161e5e821165a6e0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies one matrix with scalar. It requires that all the values are NON-NULL. This is the sparse representation of the matrix where the matrix elements are indexed by the row and column id.  <a href="#aa41d97528365f8e161e5e821165a6e0d">More...</a><br /></td></tr>
+<tr class="separator:aa41d97528365f8e161e5e821165a6e0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c8518f032d9f6af692dabde9f4e2051"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a0c8518f032d9f6af692dabde9f4e2051">matrix_scalar_mult</a> (text matrix_in, text in_args, float8 scalar, text matrix_out)</td></tr>
+<tr class="separator:a0c8518f032d9f6af692dabde9f4e2051"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6993220fd6f4d2c85514a05c966c0334"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a6993220fd6f4d2c85514a05c966c0334">matrix_scalar_mult</a> (text message)</td></tr>
+<tr class="separator:a6993220fd6f4d2c85514a05c966c0334"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48baae4d5938c7afdf160a84d43de399"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a48baae4d5938c7afdf160a84d43de399">matrix_scalar_mult</a> ()</td></tr>
+<tr class="separator:a48baae4d5938c7afdf160a84d43de399"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5060836ec7418a8ec7141740d709db5a"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a5060836ec7418a8ec7141740d709db5a">matrix_vec_mult</a> (text matrix_in, text in_args, float8[] vector)</td></tr>
+<tr class="memdesc:a5060836ec7418a8ec7141740d709db5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies one matrix with vector. It requires that all the values are NON-NULL. This is the sparse representation of the matrix where the matrix elements are indexed by the row and column id.  <a href="#a5060836ec7418a8ec7141740d709db5a">More...</a><br /></td></tr>
+<tr class="separator:a5060836ec7418a8ec7141740d709db5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43ac21377c0932229f36fd4f11cedb2a"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a43ac21377c0932229f36fd4f11cedb2a">matrix_vec_mult</a> (text message)</td></tr>
+<tr class="separator:a43ac21377c0932229f36fd4f11cedb2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a738b55e4fa41b7b8ef650e47ba85fad7"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a738b55e4fa41b7b8ef650e47ba85fad7">matrix_vec_mult</a> ()</td></tr>
+<tr class="separator:a738b55e4fa41b7b8ef650e47ba85fad7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa93181583456a1f23c3665c051742173"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aa93181583456a1f23c3665c051742173">matrix_elem_mult</a> (text matrix_a, text a_args, text matrix_b, text b_args, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:aa93181583456a1f23c3665c051742173"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiplies two matrices by element. It requires that all the values are NON-NULL. This is the sparse representation of the matrix where the matrix elements are indexed by the row and column id.  <a href="#aa93181583456a1f23c3665c051742173">More...</a><br /></td></tr>
+<tr class="separator:aa93181583456a1f23c3665c051742173"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a282716431d27998bebf44d496ccd82df"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a282716431d27998bebf44d496ccd82df">matrix_elem_mult</a> (text matrix_a, text a_args, text matrix_b, text b_args, text matrix_out)</td></tr>
+<tr class="separator:a282716431d27998bebf44d496ccd82df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad0ff6a550b1941ce0cc3057343ce6eef"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ad0ff6a550b1941ce0cc3057343ce6eef">matrix_elem_mult</a> (text message)</td></tr>
+<tr class="separator:ad0ff6a550b1941ce0cc3057343ce6eef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78e64fe103c3f22288445ae6dfe0c3a2"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a78e64fe103c3f22288445ae6dfe0c3a2">matrix_elem_mult</a> ()</td></tr>
+<tr class="separator:a78e64fe103c3f22288445ae6dfe0c3a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa8089cdaf2b66d668f2f15fe3d457d06"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aa8089cdaf2b66d668f2f15fe3d457d06">matrix_trans</a> (text matrix_in, text in_args, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:aa8089cdaf2b66d668f2f15fe3d457d06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transpose matrix. It requires that all the values are NON-NULL. This is the sparse representation of the matrix where the matrix elements are indexed by the row and column index.  <a href="#aa8089cdaf2b66d668f2f15fe3d457d06">More...</a><br /></td></tr>
+<tr class="separator:aa8089cdaf2b66d668f2f15fe3d457d06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af29ba2a78c6fc0efe0560882853514e7"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#af29ba2a78c6fc0efe0560882853514e7">matrix_trans</a> (text matrix_in, text in_args, text matrix_out)</td></tr>
+<tr class="separator:af29ba2a78c6fc0efe0560882853514e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a84deae83650034337bbec470786573ba"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a84deae83650034337bbec470786573ba">matrix_trans</a> (text message)</td></tr>
+<tr class="separator:a84deae83650034337bbec470786573ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b37a26e5a301338305992bae6e35230"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a7b37a26e5a301338305992bae6e35230">matrix_trans</a> ()</td></tr>
+<tr class="separator:a7b37a26e5a301338305992bae6e35230"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a390fb7234f49e17c780e961184873759"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a390fb7234f49e17c780e961184873759">matrix_sparsify</a> (text matrix_in, text in_args, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:a390fb7234f49e17c780e961184873759"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts matrix to sparse representation. It requires that all the values are NON-NULL. This is the dense representation of the matrix where the matrix elements are indexed by the row and column index.  <a href="#a390fb7234f49e17c780e961184873759">More...</a><br /></td></tr>
+<tr class="separator:a390fb7234f49e17c780e961184873759"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a07be86160c55d50fe8277e8bdd3bab38"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a07be86160c55d50fe8277e8bdd3bab38">matrix_sparsify</a> (text matrix_in, text in_args, text matrix_out)</td></tr>
+<tr class="separator:a07be86160c55d50fe8277e8bdd3bab38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32bf4abd829dfc1b28d684af10d6b2d8"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a32bf4abd829dfc1b28d684af10d6b2d8">matrix_sparsify</a> (text message)</td></tr>
+<tr class="separator:a32bf4abd829dfc1b28d684af10d6b2d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0cdd245c633ccb63fc1067ed121a8a4d"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a0cdd245c633ccb63fc1067ed121a8a4d">matrix_sparsify</a> ()</td></tr>
+<tr class="separator:a0cdd245c633ccb63fc1067ed121a8a4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7df10b8c7cf6a26cc297a6c39482d084"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a7df10b8c7cf6a26cc297a6c39482d084">matrix_densify</a> (text matrix_in, text in_args, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:a7df10b8c7cf6a26cc297a6c39482d084"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts matrix to dense representation. It requires that all the values are NON-NULL. This is the sparse representation of the matrix where the matrix elements are indexed by the row index.  <a href="#a7df10b8c7cf6a26cc297a6c39482d084">More...</a><br /></td></tr>
+<tr class="separator:a7df10b8c7cf6a26cc297a6c39482d084"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d47b253d9f4a966c06bc011b52762ef"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a6d47b253d9f4a966c06bc011b52762ef">matrix_densify</a> (text matrix_in, text in_args, text matrix_out)</td></tr>
+<tr class="separator:a6d47b253d9f4a966c06bc011b52762ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2440a8a698a41e31afd7517edba19a17"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a2440a8a698a41e31afd7517edba19a17">matrix_densify</a> (text message)</td></tr>
+<tr class="separator:a2440a8a698a41e31afd7517edba19a17"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adda0815232229bce7f88cfca9c99c2fb"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#adda0815232229bce7f88cfca9c99c2fb">matrix_densify</a> ()</td></tr>
+<tr class="separator:adda0815232229bce7f88cfca9c99c2fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68c05ce6379f28d5e30dd0144fe50565"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a68c05ce6379f28d5e30dd0144fe50565">matrix_scale_and_add</a> (text matrix_a, text a_args, text matrix_b, text b_args, float8 scale, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:a68c05ce6379f28d5e30dd0144fe50565"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scale and add matrix operation ( R &lt;- A + sB)  <a href="#a68c05ce6379f28d5e30dd0144fe50565">More...</a><br /></td></tr>
+<tr class="separator:a68c05ce6379f28d5e30dd0144fe50565"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31de2056018ac96ba01125c0e131f21e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a31de2056018ac96ba01125c0e131f21e">matrix_scale_and_add</a> (text matrix_a, text a_args, text matrix_b, text b_args, float8 scale, text matrix_out)</td></tr>
+<tr class="separator:a31de2056018ac96ba01125c0e131f21e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa5eb2864180eb276a786d9b2172aef5f"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aa5eb2864180eb276a786d9b2172aef5f">matrix_norm</a> (text matrix_in, text in_args, text norm_type)</td></tr>
+<tr class="memdesc:aa5eb2864180eb276a786d9b2172aef5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute matrix norm (of various types)  <a href="#aa5eb2864180eb276a786d9b2172aef5f">More...</a><br /></td></tr>
+<tr class="separator:aa5eb2864180eb276a786d9b2172aef5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8ebac230a8a23e27125fd6b324484a30"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a8ebac230a8a23e27125fd6b324484a30">matrix_norm</a> (text matrix_in, text in_args)</td></tr>
+<tr class="separator:a8ebac230a8a23e27125fd6b324484a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d3873b96aa8d7ec3288ba1e6c275f65"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a4d3873b96aa8d7ec3288ba1e6c275f65">matrix_norm</a> (text message)</td></tr>
+<tr class="separator:a4d3873b96aa8d7ec3288ba1e6c275f65"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed19bdcfe46eb2645d85a9e71895719b"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aed19bdcfe46eb2645d85a9e71895719b">matrix_norm</a> ()</td></tr>
+<tr class="separator:aed19bdcfe46eb2645d85a9e71895719b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0cb243e18397fb101f1cf48d9872f805"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a0cb243e18397fb101f1cf48d9872f805">matrix_block_mult</a> (text matrix_a, text a_args, text matrix_b, text b_args, text matrix_out, text out_args)</td></tr>
+<tr class="separator:a0cb243e18397fb101f1cf48d9872f805"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af84a929ab1558a06a5f8e9e500bf9051"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#af84a929ab1558a06a5f8e9e500bf9051">matrix_block_square</a> (text matrix_in, text in_args, text matrix_out, text out_args)</td></tr>
+<tr class="separator:af84a929ab1558a06a5f8e9e500bf9051"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f096c3062218d0a6848ab1a22f3d5bb"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a5f096c3062218d0a6848ab1a22f3d5bb">matrix_block_trans</a> (text matrix_in, text in_args, text matrix_out, text out_args)</td></tr>
+<tr class="separator:a5f096c3062218d0a6848ab1a22f3d5bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4082533d1943e20660dee4c951edf22"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ae4082533d1943e20660dee4c951edf22">matrix_square</a> (text matrix_in, text in_args, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:ae4082533d1943e20660dee4c951edf22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate square of matrix. It requires that all the values are NON-NULL. This is the dense representation of the matrix where the matrix elements are indexed by the row index.  <a href="#ae4082533d1943e20660dee4c951edf22">More...</a><br /></td></tr>
+<tr class="separator:ae4082533d1943e20660dee4c951edf22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac27837c0e5196168e51ddd870c34205e"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ac27837c0e5196168e51ddd870c34205e">matrix_square</a> (text matrix_in, text in_args, text matrix_out)</td></tr>
+<tr class="separator:ac27837c0e5196168e51ddd870c34205e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a642932bc5d60ee0ee29068e2c0438d19"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a642932bc5d60ee0ee29068e2c0438d19">matrix_diag</a> (float8[] diag_elements, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:a642932bc5d60ee0ee29068e2c0438d19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a diagonal matrix with a specified vector on the main diagonal. It always creates the sparse representation of the diagonal matrix where the matrix elements are indexed by the row and column index.  <a href="#a642932bc5d60ee0ee29068e2c0438d19">More...</a><br /></td></tr>
+<tr class="separator:a642932bc5d60ee0ee29068e2c0438d19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3b60dc30259b5526c7be0d1a6a95c20"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ae3b60dc30259b5526c7be0d1a6a95c20">matrix_diag</a> (float8[] diag_elements, text matrix_out)</td></tr>
+<tr class="separator:ae3b60dc30259b5526c7be0d1a6a95c20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af05e66bbc871c4c24f569bf1b16f684b"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#af05e66bbc871c4c24f569bf1b16f684b">matrix_diag</a> (text message)</td></tr>
+<tr class="separator:af05e66bbc871c4c24f569bf1b16f684b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a888d9ab690fed966da3722886e1c0ff7"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a888d9ab690fed966da3722886e1c0ff7">matrix_diag</a> ()</td></tr>
+<tr class="separator:a888d9ab690fed966da3722886e1c0ff7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7f85d65a21f193f5e77409a3dcd34b06"><td class="memItemLeft" align="right" valign="top">float []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a7f85d65a21f193f5e77409a3dcd34b06">matrix_extract_diag</a> (text matrix_in, text in_args)</td></tr>
+<tr class="memdesc:a7f85d65a21f193f5e77409a3dcd34b06"><td class="mdescLeft">&#160;</td><td class="mdescRight">main diagonal matrix. It requires that all the matrix must be the square matrix. This is the sparse representation of the matrix where the matrix elements are indexed by the row and column index.  <a href="#a7f85d65a21f193f5e77409a3dcd34b06">More...</a><br /></td></tr>
+<tr class="separator:a7f85d65a21f193f5e77409a3dcd34b06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8415b48d92a0523ebc4a3df4144fdd48"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a8415b48d92a0523ebc4a3df4144fdd48">matrix_extract_diag</a> (text message)</td></tr>
+<tr class="separator:a8415b48d92a0523ebc4a3df4144fdd48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adce984af4adbd3ed1864c9427002ce93"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#adce984af4adbd3ed1864c9427002ce93">matrix_extract_diag</a> ()</td></tr>
+<tr class="separator:adce984af4adbd3ed1864c9427002ce93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af4ce5b8872d28bd1d0e2e72af41db173"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#af4ce5b8872d28bd1d0e2e72af41db173">matrix_identity</a> (integer row_dim, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:af4ce5b8872d28bd1d0e2e72af41db173"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an identity matrix with the dimensionality specified by an integer. It can specify the sparse or dense representation of the result matrix.  <a href="#af4ce5b8872d28bd1d0e2e72af41db173">More...</a><br /></td></tr>
+<tr class="separator:af4ce5b8872d28bd1d0e2e72af41db173"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9284b89b9c13e43c2492aa6c9a9a17c0"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a9284b89b9c13e43c2492aa6c9a9a17c0">matrix_identity</a> (integer row_dim, text matrix_out)</td></tr>
+<tr class="separator:a9284b89b9c13e43c2492aa6c9a9a17c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5e003d0385e3be5858529e592fa8aef"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ac5e003d0385e3be5858529e592fa8aef">matrix_identity</a> (text message)</td></tr>
+<tr class="separator:ac5e003d0385e3be5858529e592fa8aef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab82476872e84430e9abc7a5485b4de9a"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ab82476872e84430e9abc7a5485b4de9a">matrix_identity</a> ()</td></tr>
+<tr class="separator:ab82476872e84430e9abc7a5485b4de9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5df0edded7b5db4b9bdd29ff3e39ec3"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ad5df0edded7b5db4b9bdd29ff3e39ec3">matrix_random</a> (integer row_dim, integer col_dim, text in_args, text distribution, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:ad5df0edded7b5db4b9bdd29ff3e39ec3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes matrix with random distribution. It requires that all the values are NON-NULL.  <a href="#ad5df0edded7b5db4b9bdd29ff3e39ec3">More...</a><br /></td></tr>
+<tr class="separator:ad5df0edded7b5db4b9bdd29ff3e39ec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af2dec2ccb01c2ba4b3d1293a032ff08f"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#af2dec2ccb01c2ba4b3d1293a032ff08f">matrix_random</a> (integer row_id, integer col_id, text distribution, text matrix_out)</td></tr>
+<tr class="separator:af2dec2ccb01c2ba4b3d1293a032ff08f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae86e6f65ef75ed13a1de8b8e0c537bfc"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ae86e6f65ef75ed13a1de8b8e0c537bfc">matrix_random</a> (integer row_id, integer col_id, text matrix_out)</td></tr>
+<tr class="separator:ae86e6f65ef75ed13a1de8b8e0c537bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f59138935fe638eca1f15588aa76ac1"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a1f59138935fe638eca1f15588aa76ac1">matrix_ones</a> (integer row_dim, integer col_dim, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:a1f59138935fe638eca1f15588aa76ac1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes matrix with ones. It requires that all the values are NON-NULL.  <a href="#a1f59138935fe638eca1f15588aa76ac1">More...</a><br /></td></tr>
+<tr class="separator:a1f59138935fe638eca1f15588aa76ac1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14b7d6ad206764d48dfbaa0cc9978e32"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a14b7d6ad206764d48dfbaa0cc9978e32">matrix_ones</a> (integer row_id, integer col_id, text matrix_out)</td></tr>
+<tr class="separator:a14b7d6ad206764d48dfbaa0cc9978e32"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9e608ad657246ace0bf0b4235d3a07d"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ac9e608ad657246ace0bf0b4235d3a07d">matrix_ones</a> (text message)</td></tr>
+<tr class="separator:ac9e608ad657246ace0bf0b4235d3a07d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7df4dbdc3b0a7105c644c787daadf666"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a7df4dbdc3b0a7105c644c787daadf666">matrix_ones</a> ()</td></tr>
+<tr class="separator:a7df4dbdc3b0a7105c644c787daadf666"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0176dd860f866c5e0899b32f471bc953"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a0176dd860f866c5e0899b32f471bc953">matrix_inverse</a> (text matrix_in, text in_args, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:a0176dd860f866c5e0899b32f471bc953"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate inverse of matrix. It requires that all the values are NON-NULL. This is the dense representation of the matrix where the matrix elements are indexed by the row index.  <a href="#a0176dd860f866c5e0899b32f471bc953">More...</a><br /></td></tr>
+<tr class="separator:a0176dd860f866c5e0899b32f471bc953"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afee5dbac4040688e33f4bedb87af2d9e"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#afee5dbac4040688e33f4bedb87af2d9e">matrix_inverse</a> (text matrix_in, text in_args, text matrix_out)</td></tr>
+<tr class="separator:afee5dbac4040688e33f4bedb87af2d9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa344aec551796b20f22a276f5d8492f0"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aa344aec551796b20f22a276f5d8492f0">matrix_inverse</a> (text message)</td></tr>
+<tr class="separator:aa344aec551796b20f22a276f5d8492f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2725d030fc03dcfa3a9271940d800e7a"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a2725d030fc03dcfa3a9271940d800e7a">matrix_inverse</a> ()</td></tr>
+<tr class="separator:a2725d030fc03dcfa3a9271940d800e7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a929ded138fb0a953c8126ee8e20d793f"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a929ded138fb0a953c8126ee8e20d793f">matrix_pinv</a> (text matrix_in, text in_args, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:a929ded138fb0a953c8126ee8e20d793f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate generalized inverse of matrix. It requires that all the values are NON-NULL. This is the dense representation of the matrix where the matrix elements are indexed by the row index.  <a href="#a929ded138fb0a953c8126ee8e20d793f">More...</a><br /></td></tr>
+<tr class="separator:a929ded138fb0a953c8126ee8e20d793f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a39c21ffb83c184a21b481ad12056af13"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a39c21ffb83c184a21b481ad12056af13">matrix_pinv</a> (text matrix_in, text in_args, text matrix_out)</td></tr>
+<tr class="separator:a39c21ffb83c184a21b481ad12056af13"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc992cc64ae6c2537b417f5c9693d93c"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#adc992cc64ae6c2537b417f5c9693d93c">matrix_pinv</a> (text message)</td></tr>
+<tr class="separator:adc992cc64ae6c2537b417f5c9693d93c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85193210d3fd55cba9d983a8cf71a34b"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a85193210d3fd55cba9d983a8cf71a34b">matrix_pinv</a> ()</td></tr>
+<tr class="separator:a85193210d3fd55cba9d983a8cf71a34b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21a96e5933fd1094befc20051b0fb7b7"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a21a96e5933fd1094befc20051b0fb7b7">matrix_lu</a> (text matrix_in, text in_args, text matrix_out_prefix, text out_args)</td></tr>
+<tr class="memdesc:a21a96e5933fd1094befc20051b0fb7b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate full pivoting LU decomposition of matrix. It requires that all the values are NON-NULL. This is the dense representation of the matrix where the matrix elements are indexed by the row index.  <a href="#a21a96e5933fd1094befc20051b0fb7b7">More...</a><br /></td></tr>
+<tr class="separator:a21a96e5933fd1094befc20051b0fb7b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac0cfa9628072628259b2a50fef12ef9c"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ac0cfa9628072628259b2a50fef12ef9c">matrix_lu</a> (text matrix_in, text in_args, text matrix_out_prefix)</td></tr>
+<tr class="separator:ac0cfa9628072628259b2a50fef12ef9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acdb62ad5d8fcfaf80bcb553df4c57bcf"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#acdb62ad5d8fcfaf80bcb553df4c57bcf">matrix_lu</a> (text message)</td></tr>
+<tr class="separator:acdb62ad5d8fcfaf80bcb553df4c57bcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa1609dc673ccae19bae8493030490f76"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aa1609dc673ccae19bae8493030490f76">matrix_lu</a> ()</td></tr>
+<tr class="separator:aa1609dc673ccae19bae8493030490f76"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1905e1b687e45dacbef1e82097b538de"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a1905e1b687e45dacbef1e82097b538de">matrix_eigen</a> (text matrix_in, text in_args, text matrix_out, text out_args)</td></tr>
+<tr class="memdesc:a1905e1b687e45dacbef1e82097b538de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate eigen values of matrix. It requires that all the values are NON-NULL.  <a href="#a1905e1b687e45dacbef1e82097b538de">More...</a><br /></td></tr>
+<tr class="separator:a1905e1b687e45dacbef1e82097b538de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2ad35c91364d5ce4a94f7fd2aa6ce4b"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ae2ad35c91364d5ce4a94f7fd2aa6ce4b">matrix_eigen</a> (text matrix_in, text in_args, text matrix_out)</td></tr>
+<tr class="separator:ae2ad35c91364d5ce4a94f7fd2aa6ce4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1d4021eccdee42c7a3d8fa953900f1e"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ac1d4021eccdee42c7a3d8fa953900f1e">matrix_eigen</a> (text message)</td></tr>
+<tr class="separator:ac1d4021eccdee42c7a3d8fa953900f1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae25eb4b085772e283250ae1f3ace2cc6"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ae25eb4b085772e283250ae1f3ace2cc6">matrix_eigen</a> ()</td></tr>
+<tr class="separator:ae25eb4b085772e283250ae1f3ace2cc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e4aeeb2f56f59f89fffe3049089ed23"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a4e4aeeb2f56f59f89fffe3049089ed23">matrix_cholesky</a> (text matrix_in, text in_args, text matrix_out_prefix, text out_args)</td></tr>
+<tr class="memdesc:a4e4aeeb2f56f59f89fffe3049089ed23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cholesky decompose of matrix. Because it is required that input matrix should be symmetric, it is only the lower triangular part that will be used for the decompositon. The upper triangular part won't be read. It requires that all the values are NON-NULL. This is the dense representation of the matrix where the matrix elements are indexed by the row index.  <a href="#a4e4aeeb2f56f59f89fffe3049089ed23">More...</a><br /></td></tr>
+<tr class="separator:a4e4aeeb2f56f59f89fffe3049089ed23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13be8579794a2460c8727b116c73163c"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a13be8579794a2460c8727b116c73163c">matrix_cholesky</a> (text matrix_in, text in_args, text matrix_out_prefix)</td></tr>
+<tr class="separator:a13be8579794a2460c8727b116c73163c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac9cfb05c9ab8e4daf35ba65b06f85d8d"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ac9cfb05c9ab8e4daf35ba65b06f85d8d">matrix_cholesky</a> (text message)</td></tr>
+<tr class="separator:ac9cfb05c9ab8e4daf35ba65b06f85d8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d1154d0e461d7e45b936b15d192ecb0"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a2d1154d0e461d7e45b936b15d192ecb0">matrix_cholesky</a> ()</td></tr>
+<tr class="separator:a2d1154d0e461d7e45b936b15d192ecb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac656a3a1e0008af89af9d4af44467407"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ac656a3a1e0008af89af9d4af44467407">matrix_qr</a> (text matrix_in, text in_args, text matrix_out_prefix, text out_args)</td></tr>
+<tr class="memdesc:ac656a3a1e0008af89af9d4af44467407"><td class="mdescLeft">&#160;</td><td class="mdescRight">QR decompose of matrix. It requires that all the values are NON-NULL. This is the dense representation of the matrix where the matrix elements are indexed by the row index.  <a href="#ac656a3a1e0008af89af9d4af44467407">More...</a><br /></td></tr>
+<tr class="separator:ac656a3a1e0008af89af9d4af44467407"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad7b68aacf626bed0c5f2a37be63848e4"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ad7b68aacf626bed0c5f2a37be63848e4">matrix_qr</a> (text matrix_in, text in_args, text matrix_out_prefix)</td></tr>
+<tr class="separator:ad7b68aacf626bed0c5f2a37be63848e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58a87beb5600e5a06f36ae1e083fe4cc"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a58a87beb5600e5a06f36ae1e083fe4cc">matrix_qr</a> (text message)</td></tr>
+<tr class="separator:a58a87beb5600e5a06f36ae1e083fe4cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae66de066dfdafaba16575f58ab58376c"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ae66de066dfdafaba16575f58ab58376c">matrix_qr</a> ()</td></tr>
+<tr class="separator:ae66de066dfdafaba16575f58ab58376c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3906a54d945b19672641ca08bef11e69"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a3906a54d945b19672641ca08bef11e69">matrix_rank</a> (text matrix_in, text in_args)</td></tr>
+<tr class="memdesc:a3906a54d945b19672641ca08bef11e69"><td class="mdescLeft">&#160;</td><td class="mdescRight">rank of matrix. It requires that all the values are NON-NULL. This is the dense representation of the matrix where the matrix elements are indexed by the row index.  <a href="#a3906a54d945b19672641ca08bef11e69">More...</a><br /></td></tr>
+<tr class="separator:a3906a54d945b19672641ca08bef11e69"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aef438cede80c62cdd8126a77b7bd86c7"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aef438cede80c62cdd8126a77b7bd86c7">matrix_rank</a> (text message)</td></tr>
+<tr class="separator:aef438cede80c62cdd8126a77b7bd86c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8613f342735ddb02a8b1d3585a569f26"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a8613f342735ddb02a8b1d3585a569f26">matrix_rank</a> ()</td></tr>
+<tr class="separator:a8613f342735ddb02a8b1d3585a569f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad87178a3e1721ee05589817cb598d6ec"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ad87178a3e1721ee05589817cb598d6ec">matrix_nuclear_norm</a> (text matrix_in, text in_args)</td></tr>
+<tr class="memdesc:ad87178a3e1721ee05589817cb598d6ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">nuclear norm of matrix. It requires that all the values are NON-NULL. This is the dense representation of the matrix where the matrix elements are indexed by the row index.  <a href="#ad87178a3e1721ee05589817cb598d6ec">More...</a><br /></td></tr>
+<tr class="separator:ad87178a3e1721ee05589817cb598d6ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af37ef69921ecb4d667ebf65a3901ad4c"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#af37ef69921ecb4d667ebf65a3901ad4c">matrix_nuclear_norm</a> (text message)</td></tr>
+<tr class="separator:af37ef69921ecb4d667ebf65a3901ad4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae90888a1b50fa901966ca2b9975f4ada"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ae90888a1b50fa901966ca2b9975f4ada">matrix_nuclear_norm</a> ()</td></tr>
+<tr class="separator:ae90888a1b50fa901966ca2b9975f4ada"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4d267c1d4a4869414c880ea18d44a260"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a4d267c1d4a4869414c880ea18d44a260">__matrix_vec_mult_in_mem</a> (float8[] vector, float8[][] matrix)</td></tr>
+<tr class="separator:a4d267c1d4a4869414c880ea18d44a260"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86db6cbb11df1f7077540ce531b52399"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a86db6cbb11df1f7077540ce531b52399">__matrix_vec_mult_in_mem</a> (float8[] vector, float8[] matrix)</td></tr>
+<tr class="separator:a86db6cbb11df1f7077540ce531b52399"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaeacfbaf004310e36ebb8c4ce4ac601c"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aaeacfbaf004310e36ebb8c4ce4ac601c">__row_fold</a> (float8[] row_in, integer[] pattern)</td></tr>
+<tr class="memdesc:aaeacfbaf004310e36ebb8c4ce4ac601c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function folds (through multiplication) array x according to the pattern in array y, producing an array of the same length as array y.  <a href="#aaeacfbaf004310e36ebb8c4ce4ac601c">More...</a><br /></td></tr>
+<tr class="separator:aaeacfbaf004310e36ebb8c4ce4ac601c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c36379876228130e6d4d1bf858c695d"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a9c36379876228130e6d4d1bf858c695d">__bernoulli_vector</a> (integer dim, float8 pos_val, float8 neg_val, float8 prob, integer seed)</td></tr>
+<tr class="separator:a9c36379876228130e6d4d1bf858c695d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9ed5e603fa0924f08a7a9e5b3171768a"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a9ed5e603fa0924f08a7a9e5b3171768a">__bernoulli_vector</a> (integer dim)</td></tr>
+<tr class="separator:a9ed5e603fa0924f08a7a9e5b3171768a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a659d654fc2cd25e498ad83950e044b13"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a659d654fc2cd25e498ad83950e044b13">__uniform_vector</a> (integer dim, float8 a, float8 b, integer seed)</td></tr>
+<tr class="separator:a659d654fc2cd25e498ad83950e044b13"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69a8dcfcacf6d5d362e26d74192cea92"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a69a8dcfcacf6d5d362e26d74192cea92">__uniform_vector</a> (integer dim, float8 a, float8 b)</td></tr>
+<tr class="separator:a69a8dcfcacf6d5d362e26d74192cea92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1545c36760a94943c2e1aeca23f1db84"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a1545c36760a94943c2e1aeca23f1db84">__normal_vector</a> (integer dim, float8 mu, float8 sigma, integer seed)</td></tr>
+<tr class="separator:a1545c36760a94943c2e1aeca23f1db84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32e4cb006c85a878f6054fae7a41b135"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a32e4cb006c85a878f6054fae7a41b135">__normal_vector</a> (integer dim, float8 mu, float8 sigma)</td></tr>
+<tr class="separator:a32e4cb006c85a878f6054fae7a41b135"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a845a3e8b711a3ad64103a2c0442f7baf"><td class="memItemLeft" align="right" valign="top">integer []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a845a3e8b711a3ad64103a2c0442f7baf">__rand_vector</a> (integer dim)</td></tr>
+<tr class="separator:a845a3e8b711a3ad64103a2c0442f7baf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a049ad6b2bb6a728539fb49e4e6610233"><td class="memItemLeft" align="right" valign="top">integer []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a049ad6b2bb6a728539fb49e4e6610233">__rand_block</a> (integer row_dim, integer col_dim)</td></tr>
+<tr class="separator:a049ad6b2bb6a728539fb49e4e6610233"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b183fd27db62e94f9275dd6ca8077c3"><td class="memItemLeft" align="right" valign="top">integer []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a5b183fd27db62e94f9275dd6ca8077c3">__rand_block</a> (integer dim)</td></tr>
+<tr class="separator:a5b183fd27db62e94f9275dd6ca8077c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a461bf9972c8b132d6f21a1de19fd4f40"><td class="memItemLeft" align="right" valign="top">set&lt; float8[]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a461bf9972c8b132d6f21a1de19fd4f40">__matrix_row_split</a> (float8[] row_in, integer size)</td></tr>
+<tr class="separator:a461bf9972c8b132d6f21a1de19fd4f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a04809ad9a25c7cf84afd0253fa825d6c"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a04809ad9a25c7cf84afd0253fa825d6c">__matrix_densify_sfunc</a> (float8[] state, integer col_dim, integer col_id, float8 val)</td></tr>
+<tr class="separator:a04809ad9a25c7cf84afd0253fa825d6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a10a095fb37e4505d38c926a2a390e72f"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a10a095fb37e4505d38c926a2a390e72f">__matrix_densify_agg</a> (integer, integer, float8)</td></tr>
+<tr class="separator:a10a095fb37e4505d38c926a2a390e72f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a998820afa3721fa1119532dc76801d18"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a998820afa3721fa1119532dc76801d18">__array_abs_add_sfunc</a> (anyarray x, anyarray y)</td></tr>
+<tr class="separator:a998820afa3721fa1119532dc76801d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab905d4447072594f1af9c2bd954bba90"><td class="memItemLeft" align="right" valign="top">aggregate anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ab905d4447072594f1af9c2bd954bba90">__matrix_column_abs_sum_agg</a> (anyarray)</td></tr>
+<tr class="separator:ab905d4447072594f1af9c2bd954bba90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a320f5ca4aacb21d56ae2e5eebc908835"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a320f5ca4aacb21d56ae2e5eebc908835">__matrix_blockize_sfunc</a> (float8[] state, integer row_id, float8[] row_vec, integer rsize)</td></tr>
+<tr class="separator:a320f5ca4aacb21d56ae2e5eebc908835"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc0ca1d652b5bd1ad6ffe658bc45b758"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#acc0ca1d652b5bd1ad6ffe658bc45b758">__matrix_blockize_agg</a> (integer, float8[], integer)</td></tr>
+<tr class="separator:acc0ca1d652b5bd1ad6ffe658bc45b758"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66142991fa1c3abc0c1b1327002743ce"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a66142991fa1c3abc0c1b1327002743ce">__matrix_unblockize_sfunc</a> (float8[] state, integer total_col_dim, integer col_id, float8[] row_vec)</td></tr>
+<tr class="separator:a66142991fa1c3abc0c1b1327002743ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9040650f804ace7108c0bca001ed6fae"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a9040650f804ace7108c0bca001ed6fae">__matrix_unblockize_agg</a> (integer, integer, float8[])</td></tr>
+<tr class="separator:a9040650f804ace7108c0bca001ed6fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad16c824212e369760b9fb8ea658eac8c"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ad16c824212e369760b9fb8ea658eac8c">matrix_mem_mult</a> (float[] matrix_a, float[] matrix_b, boolean trans_b)</td></tr>
+<tr class="separator:ad16c824212e369760b9fb8ea658eac8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91383f59dcb8b7ca2fba89ea350d113b"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a91383f59dcb8b7ca2fba89ea350d113b">matrix_mem_mult</a> (float[] matrix_a, float[] matrix_b)</td></tr>
+<tr class="separator:a91383f59dcb8b7ca2fba89ea350d113b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0731901b985a90c3aa2f686a7ce95978"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a0731901b985a90c3aa2f686a7ce95978">matrix_mem_trans</a> (float[] matrix)</td></tr>
+<tr class="separator:a0731901b985a90c3aa2f686a7ce95978"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a634478f746232cb12f3c46cbb2c20837"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a634478f746232cb12f3c46cbb2c20837">__matrix_mem_sum_sfunc</a> (float[] state, float[] matrix)</td></tr>
+<tr class="separator:a634478f746232cb12f3c46cbb2c20837"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9f91e48c5890026fc35e65722bb6a0b"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aa9f91e48c5890026fc35e65722bb6a0b">__matrix_mem_sum</a> (float8[])</td></tr>
+<tr class="separator:aa9f91e48c5890026fc35e65722bb6a0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4176a88e13c09362af1e4c1afd1f12b"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ae4176a88e13c09362af1e4c1afd1f12b">__matrix_column_to_array_format</a> (text matrix_in, text row_id, text matrix_out, boolean istemp)</td></tr>
+<tr class="separator:ae4176a88e13c09362af1e4c1afd1f12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa63cfd84aa33c87ad16f52dc7f642848"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aa63cfd84aa33c87ad16f52dc7f642848">matrix_blockize</a> (text matrix_in, text in_args, integer rsize, integer csize, text matrix_out, text out_args)</td></tr>
+<tr class="separator:aa63cfd84aa33c87ad16f52dc7f642848"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f5cd60132d738f440dffef007476b91"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a8f5cd60132d738f440dffef007476b91">matrix_blockize</a> (text matrix_in, text in_args, integer rsize, integer csize, text matrix_out)</td></tr>
+<tr class="separator:a8f5cd60132d738f440dffef007476b91"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a199e7cf9e56acd6a7f3fd78e73fa22"><td class="memItemLeft" align="right" valign="top">matrix_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a0a199e7cf9e56acd6a7f3fd78e73fa22">matrix_unblockize</a> (text matrix_in, text in_args, text matrix_out, text out_args)</td></tr>
+<tr class="separator:a0a199e7cf9e56acd6a7f3fd78e73fa22"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01ea5d175f37efba0cedbba6ade0f7bd"><td class="memItemLeft" align="right" valign="top">set&lt; float8[]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a01ea5d175f37efba0cedbba6ade0f7bd">__matrix_unnest_block</a> (float8[] block)</td></tr>
+<tr class="separator:a01ea5d175f37efba0cedbba6ade0f7bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac8430e6b3e2595ec2f13bbc98609ebbb"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ac8430e6b3e2595ec2f13bbc98609ebbb">__matrix_compose_dense_transition</a> (float8[] state, integer numrows, integer row_id, float8[] x)</td></tr>
+<tr class="separator:ac8430e6b3e2595ec2f13bbc98609ebbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e0fda0e0ef7fc7d1669207d86667251"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a2e0fda0e0ef7fc7d1669207d86667251">__matrix_compose_sparse_transition</a> (float8[] state, integer numrows, integer numcols, integer row_id, integer col_id, float8 x)</td></tr>
+<tr class="separator:a2e0fda0e0ef7fc7d1669207d86667251"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a067b397a47438e993a1b1577744e0cf6"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a067b397a47438e993a1b1577744e0cf6">__matrix_compose_merge</a> (float8[] stateleft, float8[] stateright)</td></tr>
+<tr class="separator:a067b397a47438e993a1b1577744e0cf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad62966b094a7c4ce9c5e0c3b6679e4d1"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ad62966b094a7c4ce9c5e0c3b6679e4d1">__matrix_inv_final</a> (float8[] state)</td></tr>
+<tr class="separator:ad62966b094a7c4ce9c5e0c3b6679e4d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1fecf03b9cb3df7423ce40e24a86c511"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a1fecf03b9cb3df7423ce40e24a86c511">__matrix_pinv_final</a> (float8[] state)</td></tr>
+<tr class="separator:a1fecf03b9cb3df7423ce40e24a86c511"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac113f89fe7f51491c8223480433495e5"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#ac113f89fe7f51491c8223480433495e5">__matrix_eigen_final</a> (float8[] state)</td></tr>
+<tr class="separator:ac113f89fe7f51491c8223480433495e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b4ddaf2e9daf2452a016498c7f546fb"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a6b4ddaf2e9daf2452a016498c7f546fb">__matrix_cholesky_final</a> (float8[] state)</td></tr>
+<tr class="separator:a6b4ddaf2e9daf2452a016498c7f546fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad1de24406ecd7ec29b5aa2553373dfc"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#aad1de24406ecd7ec29b5aa2553373dfc">__matrix_qr_final</a> (float8[] state)</td></tr>
+<tr class="separator:aad1de24406ecd7ec29b5aa2553373dfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe950f847a36db534edc393f04d5fd28"><td class="memItemLeft" align="right" valign="top">int8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#abe950f847a36db534edc393f04d5fd28">__matrix_rank_final</a> (float8[] state)</td></tr>
+<tr class="separator:abe950f847a36db534edc393f04d5fd28"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47ca9c941be86f88c4746744a6105e89"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a47ca9c941be86f88c4746744a6105e89">__matrix_lu_final</a> (float8[] state)</td></tr>
+<tr class="separator:a47ca9c941be86f88c4746744a6105e89"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7df499382f7b4ea9347f941cb049c738"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a7df499382f7b4ea9347f941cb049c738">__matrix_nuclear_norm_final</a> (float8[] state)</td></tr>
+<tr class="separator:a7df499382f7b4ea9347f941cb049c738"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2a42b415200e2970528ee6db0070aaec"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html#a2a42b415200e2970528ee6db0070aaec">__matrix_dense_inverse</a> (integer numrows, integer row_id, float8[] x)</td></tr>
+<tr class="memdesc:a2a42b415200e2970528ee6db0070aaec"><td class="mdescLeft">&#160;

<TRUNCATED>


[39/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_745a5b6eaaef3a7f811e3c789eb52f97.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_745a5b6eaaef3a7f811e3c789eb52f97.html b/docs/v1.11/dir_745a5b6eaaef3a7f811e3c789eb52f97.html
new file mode 100644
index 0000000..0e435bf
--- /dev/null
+++ b/docs/v1.11/dir_745a5b6eaaef3a7f811e3c789eb52f97.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: src Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_745a5b6eaaef3a7f811e3c789eb52f97.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">src Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_83e7b5f64ce52d52547b13bc30808bb2"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_83e7b5f64ce52d52547b13bc30808bb2.html">pg_gp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_045246a4284e43a18b3301f7f2fe9021.html">svec</a></li><li class="navelem"><a class="el" href="dir_745a5b6eaaef3a7f811e3c789eb52f97.html">src</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_7826d1d18040ad5cc29c8c0a0584577d.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_7826d1d18040ad5cc29c8c0a0584577d.html b/docs/v1.11/dir_7826d1d18040ad5cc29c8c0a0584577d.html
new file mode 100644
index 0000000..7217944
--- /dev/null
+++ b/docs/v1.11/dir_7826d1d18040ad5cc29c8c0a0584577d.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: src Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_7826d1d18040ad5cc29c8c0a0584577d.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">src Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_cb710ad19fe91decef89dbd466e543db"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_cb710ad19fe91decef89dbd466e543db.html">pg_gp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_9805c440171e66ba1bda146b355dfe51.html">sketch</a></li><li class="navelem"><a class="el" href="dir_7826d1d18040ad5cc29c8c0a0584577d.html">src</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_7bd8cc8c955bd44740c1673f7ff31105.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_7bd8cc8c955bd44740c1673f7ff31105.html b/docs/v1.11/dir_7bd8cc8c955bd44740c1673f7ff31105.html
new file mode 100644
index 0000000..17d9360
--- /dev/null
+++ b/docs/v1.11/dir_7bd8cc8c955bd44740c1673f7ff31105.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: lda Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_7bd8cc8c955bd44740c1673f7ff31105.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">lda Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:lda_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html">lda.sql_in</a></td></tr>
+<tr class="memdesc:lda_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for Latent Dirichlet Allocation. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_7bd8cc8c955bd44740c1673f7ff31105.html">lda</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_7e9c6fdb32abf4292fff6cf9ea7ab593.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_7e9c6fdb32abf4292fff6cf9ea7ab593.html b/docs/v1.11/dir_7e9c6fdb32abf4292fff6cf9ea7ab593.html
new file mode 100644
index 0000000..0b4d886
--- /dev/null
+++ b/docs/v1.11/dir_7e9c6fdb32abf4292fff6cf9ea7ab593.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: pmml Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_7e9c6fdb32abf4292fff6cf9ea7ab593.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">pmml Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:table__to__pmml_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="table__to__pmml_8sql__in.html">table_to_pmml.sql_in</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_7e9c6fdb32abf4292fff6cf9ea7ab593.html">pmml</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_81ad8ebe36740ee548289daebe004715.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_81ad8ebe36740ee548289daebe004715.html b/docs/v1.11/dir_81ad8ebe36740ee548289daebe004715.html
new file mode 100644
index 0000000..89a0d19
--- /dev/null
+++ b/docs/v1.11/dir_81ad8ebe36740ee548289daebe004715.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: kmeans Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_81ad8ebe36740ee548289daebe004715.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">kmeans Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:kmeans_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="kmeans_8sql__in.html">kmeans.sql_in</a></td></tr>
+<tr class="memdesc:kmeans_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set of functions for k-means clustering. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_81ad8ebe36740ee548289daebe004715.html">kmeans</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_83e7b5f64ce52d52547b13bc30808bb2.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_83e7b5f64ce52d52547b13bc30808bb2.html b/docs/v1.11/dir_83e7b5f64ce52d52547b13bc30808bb2.html
new file mode 100644
index 0000000..0164bbf
--- /dev/null
+++ b/docs/v1.11/dir_83e7b5f64ce52d52547b13bc30808bb2.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: pg_gp Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_83e7b5f64ce52d52547b13bc30808bb2.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">pg_gp Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:svec_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svec_8sql__in.html">svec.sql_in</a></td></tr>
+<tr class="memdesc:svec_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL type definitions and functions for sparse vector data type <code>svec</code> <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_045246a4284e43a18b3301f7f2fe9021.html">svec</a></li><li class="navelem"><a class="el" href="dir_745a5b6eaaef3a7f811e3c789eb52f97.html">src</a></li><li class="navelem"><a class="el" href="dir_83e7b5f64ce52d52547b13bc30808bb2.html">pg_gp</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_88709bbec5405cf908e9c046a270c403.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_88709bbec5405cf908e9c046a270c403.html b/docs/v1.11/dir_88709bbec5405cf908e9c046a270c403.html
new file mode 100644
index 0000000..dd3bfc4
--- /dev/null
+++ b/docs/v1.11/dir_88709bbec5405cf908e9c046a270c403.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: knn Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_88709bbec5405cf908e9c046a270c403.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">knn Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:knn_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="knn_8sql__in.html">knn.sql_in</a></td></tr>
+<tr class="memdesc:knn_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set of functions for k-nearest neighbors. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_88709bbec5405cf908e9c046a270c403.html">knn</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_8e2b1b33327b47bbc574e11f1a03404a.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_8e2b1b33327b47bbc574e11f1a03404a.html b/docs/v1.11/dir_8e2b1b33327b47bbc574e11f1a03404a.html
new file mode 100644
index 0000000..1f50cef
--- /dev/null
+++ b/docs/v1.11/dir_8e2b1b33327b47bbc574e11f1a03404a.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: src Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_8e2b1b33327b47bbc574e11f1a03404a.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">src Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_d0ff1bc8be395d65672549993d82a3c0"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_d0ff1bc8be395d65672549993d82a3c0.html">pg_gp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_0f3d836a779dde44bc18fb3c10f3236b.html">stemmer</a></li><li class="navelem"><a class="el" href="dir_8e2b1b33327b47bbc574e11f1a03404a.html">src</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_93241c6f02785cda96cb2a5453b16091.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_93241c6f02785cda96cb2a5453b16091.html b/docs/v1.11/dir_93241c6f02785cda96cb2a5453b16091.html
new file mode 100644
index 0000000..c6a8dc5
--- /dev/null
+++ b/docs/v1.11/dir_93241c6f02785cda96cb2a5453b16091.html
@@ -0,0 +1,137 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: methods Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_93241c6f02785cda96cb2a5453b16091.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">methods Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_a3ac5584feaaa1368115abd5f91b8e22"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_a3ac5584feaaa1368115abd5f91b8e22.html">array_ops</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_9805c440171e66ba1bda146b355dfe51"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_9805c440171e66ba1bda146b355dfe51.html">sketch</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_0f3d836a779dde44bc18fb3c10f3236b"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_0f3d836a779dde44bc18fb3c10f3236b.html">stemmer</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_045246a4284e43a18b3301f7f2fe9021"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_045246a4284e43a18b3301f7f2fe9021.html">svec</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_25068098bc33cf5efdba96ef1f982a7e"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_25068098bc33cf5efdba96ef1f982a7e.html">svec_util</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_95cb5eef4fa03e373c9501c2b1e64548.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_95cb5eef4fa03e373c9501c2b1e64548.html b/docs/v1.11/dir_95cb5eef4fa03e373c9501c2b1e64548.html
new file mode 100644
index 0000000..2435999
--- /dev/null
+++ b/docs/v1.11/dir_95cb5eef4fa03e373c9501c2b1e64548.html
@@ -0,0 +1,131 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: recursive_partitioning Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_95cb5eef4fa03e373c9501c2b1e64548.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">recursive_partitioning Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:decision__tree_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html">decision_tree.sql_in</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:random__forest_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="random__forest_8sql__in.html">random_forest.sql_in</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_95cb5eef4fa03e373c9501c2b1e64548.html">recursive_partitioning</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_9805c440171e66ba1bda146b355dfe51.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_9805c440171e66ba1bda146b355dfe51.html b/docs/v1.11/dir_9805c440171e66ba1bda146b355dfe51.html
new file mode 100644
index 0000000..cf2d143
--- /dev/null
+++ b/docs/v1.11/dir_9805c440171e66ba1bda146b355dfe51.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: sketch Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_9805c440171e66ba1bda146b355dfe51.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sketch Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_7826d1d18040ad5cc29c8c0a0584577d"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_7826d1d18040ad5cc29c8c0a0584577d.html">src</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_9805c440171e66ba1bda146b355dfe51.html">sketch</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_997c3e15c9d18078f134bb6226e9c9a5.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_997c3e15c9d18078f134bb6226e9c9a5.html b/docs/v1.11/dir_997c3e15c9d18078f134bb6226e9c9a5.html
new file mode 100644
index 0000000..f97a74e
--- /dev/null
+++ b/docs/v1.11/dir_997c3e15c9d18078f134bb6226e9c9a5.html
@@ -0,0 +1,148 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: stats Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_997c3e15c9d18078f134bb6226e9c9a5.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">stats Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:clustered__variance__coxph_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance__coxph_8sql__in.html">clustered_variance_coxph.sql_in</a></td></tr>
+<tr class="memdesc:clustered__variance__coxph_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for clustered robust cox proportional hazards regression. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:correlation_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html">correlation.sql_in</a></td></tr>
+<tr class="memdesc:correlation_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for correlation computation. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:cox__prop__hazards_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html">cox_prop_hazards.sql_in</a></td></tr>
+<tr class="memdesc:cox__prop__hazards_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for cox proportional hazards. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:distribution_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="distribution_8sql__in.html">distribution.sql_in</a></td></tr>
+<tr class="memdesc:distribution_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for collecting distributions. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:hypothesis__tests_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html">hypothesis_tests.sql_in</a></td></tr>
+<tr class="memdesc:hypothesis__tests_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for statistical hypothesis tests. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:pred__metrics_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pred__metrics_8sql__in.html">pred_metrics.sql_in</a></td></tr>
+<tr class="memdesc:pred__metrics_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">A collection of summary statistics to gauge model accuracy based on predicted values vs. ground-truth values. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:robust__variance__coxph_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robust__variance__coxph_8sql__in.html">robust_variance_coxph.sql_in</a></td></tr>
+<tr class="memdesc:robust__variance__coxph_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for robust cox proportional hazards regression. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_997c3e15c9d18078f134bb6226e9c9a5.html">stats</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[36/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/elastic__net_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/elastic__net_8sql__in.html b/docs/v1.11/elastic__net_8sql__in.html
new file mode 100644
index 0000000..be8c22b
--- /dev/null
+++ b/docs/v1.11/elastic__net_8sql__in.html
@@ -0,0 +1,2470 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: elastic_net.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('elastic__net_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">elastic_net.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for elastic net regularization.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a735038a5090c112505c740a90a203e83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a735038a5090c112505c740a90a203e83">elastic_net_train</a> (text tbl_source, text tbl_result, text col_dep_var, text col_ind_var, text regress_family, float8 alpha, float8 lambda_value, boolean standardize, text grouping_col, text optimizer, text optimizer_params, text excluded, integer max_iter, float8 tolerance)</td></tr>
+<tr class="memdesc:a735038a5090c112505c740a90a203e83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interface for elastic net.  <a href="#a735038a5090c112505c740a90a203e83">More...</a><br /></td></tr>
+<tr class="separator:a735038a5090c112505c740a90a203e83"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a148de1ad5e1e60b9df3d3af590c06579"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a148de1ad5e1e60b9df3d3af590c06579">elastic_net_train</a> (text tbl_source, text tbl_result, text col_ind_var, text col_dep_var, text regress_family, float8 alpha, float8 lambda_value, boolean standardization, text grouping_columns, text optimizer, text optimizer_params, text excluded, integer max_iter)</td></tr>
+<tr class="separator:a148de1ad5e1e60b9df3d3af590c06579"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63c8ed415005cc446a59bdc47a09791d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a63c8ed415005cc446a59bdc47a09791d">elastic_net_train</a> (text tbl_source, text tbl_result, text col_ind_var, text col_dep_var, text regress_family, float8 alpha, float8 lambda_value, boolean standardization, text grouping_columns, text optimizer, text optimizer_params, text excluded)</td></tr>
+<tr class="separator:a63c8ed415005cc446a59bdc47a09791d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac26504e7ac55190207758356d821a01a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#ac26504e7ac55190207758356d821a01a">elastic_net_train</a> (text tbl_source, text tbl_result, text col_ind_var, text col_dep_var, text regress_family, float8 alpha, float8 lambda_value, boolean standardization, text grouping_columns, text optimizer, text optimizer_params)</td></tr>
+<tr class="separator:ac26504e7ac55190207758356d821a01a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e698f9a0c7a1aa43f4bf9e169dc8b35"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a7e698f9a0c7a1aa43f4bf9e169dc8b35">elastic_net_train</a> (text tbl_source, text tbl_result, text col_ind_var, text col_dep_var, text regress_family, float8 alpha, float8 lambda_value, boolean standardization, text grouping_columns, text optimizer)</td></tr>
+<tr class="separator:a7e698f9a0c7a1aa43f4bf9e169dc8b35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab54d8862d3ad299aceca4ac2c914437e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#ab54d8862d3ad299aceca4ac2c914437e">elastic_net_train</a> (text tbl_source, text tbl_result, text col_ind_var, text col_dep_var, text regress_family, float8 alpha, float8 lambda_value, boolean standardization, text grouping_columns)</td></tr>
+<tr class="separator:ab54d8862d3ad299aceca4ac2c914437e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0351b7ed17eccb6db2c0bd61b421458b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a0351b7ed17eccb6db2c0bd61b421458b">elastic_net_train</a> (text tbl_source, text tbl_result, text col_ind_var, text col_dep_var, text regress_family, float8 alpha, float8 lambda_value, boolean standardization)</td></tr>
+<tr class="separator:a0351b7ed17eccb6db2c0bd61b421458b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a57491bc6b156d575bb93edb986aaa5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a1a57491bc6b156d575bb93edb986aaa5">elastic_net_train</a> (text tbl_source, text tbl_result, text col_ind_var, text col_dep_var, text regress_family, float8 alpha, float8 lambda_value)</td></tr>
+<tr class="separator:a1a57491bc6b156d575bb93edb986aaa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add7e2592fb0bd9f2eb1d8b176c80b5d0"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#add7e2592fb0bd9f2eb1d8b176c80b5d0">elastic_net_train</a> ()</td></tr>
+<tr class="memdesc:add7e2592fb0bd9f2eb1d8b176c80b5d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Help function, to print out the supported families.  <a href="#add7e2592fb0bd9f2eb1d8b176c80b5d0">More...</a><br /></td></tr>
+<tr class="separator:add7e2592fb0bd9f2eb1d8b176c80b5d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f6ee3def49b5e9a1d3375fe41427dc0"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a6f6ee3def49b5e9a1d3375fe41427dc0">elastic_net_train</a> (text family_or_optimizer)</td></tr>
+<tr class="memdesc:a6f6ee3def49b5e9a1d3375fe41427dc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Help function, to print out the supported optimizer for a family or print out the parameter list for an optimizer.  <a href="#a6f6ee3def49b5e9a1d3375fe41427dc0">More...</a><br /></td></tr>
+<tr class="separator:a6f6ee3def49b5e9a1d3375fe41427dc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3578608204ac9b2d3442ff42977f632b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a3578608204ac9b2d3442ff42977f632b">elastic_net_predict</a> (text tbl_model, text tbl_new_source, text col_id, text tbl_predict)</td></tr>
+<tr class="memdesc:a3578608204ac9b2d3442ff42977f632b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prediction and put the result in a table can be used together with General-CV.  <a href="#a3578608204ac9b2d3442ff42977f632b">More...</a><br /></td></tr>
+<tr class="separator:a3578608204ac9b2d3442ff42977f632b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaddbfdfea4207d38ab7e2cd3db876bdc"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#aaddbfdfea4207d38ab7e2cd3db876bdc">elastic_net_predict</a> (text regress_family, float8[] coefficients, float8 intercept, float8[] ind_var)</td></tr>
+<tr class="memdesc:aaddbfdfea4207d38ab7e2cd3db876bdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prediction use learned coefficients for a given example.  <a href="#aaddbfdfea4207d38ab7e2cd3db876bdc">More...</a><br /></td></tr>
+<tr class="separator:aaddbfdfea4207d38ab7e2cd3db876bdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a96db4ff4ba3ea363fafbf6c036c19fae"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a96db4ff4ba3ea363fafbf6c036c19fae">elastic_net_gaussian_predict</a> (float8[] coefficients, float8 intercept, float8[] ind_var)</td></tr>
+<tr class="memdesc:a96db4ff4ba3ea363fafbf6c036c19fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prediction for linear models use learned coefficients for a given example.  <a href="#a96db4ff4ba3ea363fafbf6c036c19fae">More...</a><br /></td></tr>
+<tr class="separator:a96db4ff4ba3ea363fafbf6c036c19fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa78cde79f1f2caa7c5b38f933001d793"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#aa78cde79f1f2caa7c5b38f933001d793">elastic_net_binomial_predict</a> (float8[] coefficients, float8 intercept, float8[] ind_var)</td></tr>
+<tr class="memdesc:aa78cde79f1f2caa7c5b38f933001d793"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prediction for logistic models use learned coefficients for a given example.  <a href="#aa78cde79f1f2caa7c5b38f933001d793">More...</a><br /></td></tr>
+<tr class="separator:aa78cde79f1f2caa7c5b38f933001d793"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a308718fd5234bc1007b971a639aadf71"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a308718fd5234bc1007b971a639aadf71">elastic_net_binomial_prob</a> (float8[] coefficients, float8 intercept, float8[] ind_var)</td></tr>
+<tr class="memdesc:a308718fd5234bc1007b971a639aadf71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the probability of belonging to the True class for a given observation.  <a href="#a308718fd5234bc1007b971a639aadf71">More...</a><br /></td></tr>
+<tr class="separator:a308718fd5234bc1007b971a639aadf71"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a465ca3aeaca43ab1294f82146eb2fc31"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a465ca3aeaca43ab1294f82146eb2fc31">__elastic_net_binomial_loglikelihood</a> (float8[] coefficients, float8 intercept, boolean dep_var, float8[] ind_var)</td></tr>
+<tr class="separator:a465ca3aeaca43ab1294f82146eb2fc31"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8a31dceade418034918a37c34101c18"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#ad8a31dceade418034918a37c34101c18">__gaussian_igd_transition</a> (float8[] state, float8[] ind_var, float8 dep_var, float8[] pre_state, float8 lambda, float8 alpha, integer dimension, float8 stepsize, integer total_rows, float8[] xmean, float8 ymean, float8 step_decay)</td></tr>
+<tr class="separator:ad8a31dceade418034918a37c34101c18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba6849a59e2178eb0629d3bfc5abe5da"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#aba6849a59e2178eb0629d3bfc5abe5da">__gaussian_igd_merge</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:aba6849a59e2178eb0629d3bfc5abe5da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c5b88fb94d8035e988178a2b67ffa43"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a4c5b88fb94d8035e988178a2b67ffa43">__gaussian_igd_final</a> (float8[] state)</td></tr>
+<tr class="separator:a4c5b88fb94d8035e988178a2b67ffa43"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a493a8cfa6faf0264c7cf9aa80dc9ffb2"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a493a8cfa6faf0264c7cf9aa80dc9ffb2">__gaussian_igd_step</a> (float8[], float8, float8[], float8, float8, integer, float8, integer, float8[], float8, float8)</td></tr>
+<tr class="separator:a493a8cfa6faf0264c7cf9aa80dc9ffb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd46990f9fd7d216bc7f9e8115f10408"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#abd46990f9fd7d216bc7f9e8115f10408">__gaussian_igd_step_single_seg</a> (float8[], float8, float8[], float8, float8, integer, float8, integer, float8[], float8, float8)</td></tr>
+<tr class="separator:abd46990f9fd7d216bc7f9e8115f10408"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a244ef9698a82bbd2d28cdce326f8e514"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a244ef9698a82bbd2d28cdce326f8e514">__gaussian_igd_state_diff</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a244ef9698a82bbd2d28cdce326f8e514"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a407f4a6063a4eb931a39b23f52d675f1"><td class="memItemLeft" align="right" valign="top">__elastic_net_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a407f4a6063a4eb931a39b23f52d675f1">__gaussian_igd_result</a> (float8[] in_state, float8[] feature_sq, float8 threshold, float8 tolerance)</td></tr>
+<tr class="separator:a407f4a6063a4eb931a39b23f52d675f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a87bf3c26c925cfe8d214cc4f8c784613"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a87bf3c26c925cfe8d214cc4f8c784613">__gaussian_fista_transition</a> (float8[] state, float8[] ind_var, float8 dep_var, float8[] pre_state, float8 lambda, float8 alpha, integer dimension, integer total_rows, float8 max_stepsize, float8 eta, integer use_active_set, integer is_active, integer random_stepsize)</td></tr>
+<tr class="separator:a87bf3c26c925cfe8d214cc4f8c784613"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a35dad39bc1dce3573be2c9cc3f5458b2"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a35dad39bc1dce3573be2c9cc3f5458b2">__gaussian_fista_merge</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a35dad39bc1dce3573be2c9cc3f5458b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cf4bc6bc719c054cf99436965bbab0c"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a9cf4bc6bc719c054cf99436965bbab0c">__gaussian_fista_final</a> (float8[] state)</td></tr>
+<tr class="separator:a9cf4bc6bc719c054cf99436965bbab0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4566cf3ca4587153ab7b57fd741582fe"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a4566cf3ca4587153ab7b57fd741582fe">__gaussian_fista_step</a> (float8[], float8, float8[], float8, float8, integer, integer, float8, float8, integer, integer, integer)</td></tr>
+<tr class="separator:a4566cf3ca4587153ab7b57fd741582fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab9b58c238fa59cd8b38a07d3cbfef514"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#ab9b58c238fa59cd8b38a07d3cbfef514">__gaussian_fista_state_diff</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:ab9b58c238fa59cd8b38a07d3cbfef514"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9f5ed35bd3467280e7d68604046ccebd"><td class="memItemLeft" align="right" valign="top">__elastic_net_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a9f5ed35bd3467280e7d68604046ccebd">__gaussian_fista_result</a> (float8[] in_state)</td></tr>
+<tr class="separator:a9f5ed35bd3467280e7d68604046ccebd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa0f3feb438f90eef90ddfc9ad4f3e33e"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#aa0f3feb438f90eef90ddfc9ad4f3e33e">__binomial_igd_transition</a> (float8[] state, float8[] ind_var, boolean dep_var, float8[] pre_state, float8 lambda, float8 alpha, integer dimension, float8 stepsize, integer total_rows, float8[] xmean, float8 ymean, float8 step_decay)</td></tr>
+<tr class="separator:aa0f3feb438f90eef90ddfc9ad4f3e33e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4aed277de996eab9023335413fe9e28"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#ae4aed277de996eab9023335413fe9e28">__binomial_igd_merge</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:ae4aed277de996eab9023335413fe9e28"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a39c4af5547dc7f28c189fe5ef8d09ba5"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a39c4af5547dc7f28c189fe5ef8d09ba5">__binomial_igd_final</a> (float8[] state)</td></tr>
+<tr class="separator:a39c4af5547dc7f28c189fe5ef8d09ba5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a791a9701c20c65d1e86a1d5c3462b99d"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a791a9701c20c65d1e86a1d5c3462b99d">__binomial_igd_step</a> (float8[], boolean, float8[], float8, float8, integer, float8, integer, float8[], float8, float8)</td></tr>
+<tr class="separator:a791a9701c20c65d1e86a1d5c3462b99d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1ec74fff164d85cae14969bb0890e11"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#ac1ec74fff164d85cae14969bb0890e11">__binomial_igd_step_single_seg</a> (float8[], boolean, float8[], float8, float8, integer, float8, integer, float8[], float8, float8)</td></tr>
+<tr class="separator:ac1ec74fff164d85cae14969bb0890e11"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2968538b152e7f38e71bcff8e55b768e"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a2968538b152e7f38e71bcff8e55b768e">__binomial_igd_state_diff</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a2968538b152e7f38e71bcff8e55b768e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93bfe398c91709e7d55ed94d18c6ac23"><td class="memItemLeft" align="right" valign="top">__elastic_net_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a93bfe398c91709e7d55ed94d18c6ac23">__binomial_igd_result</a> (float8[] in_state, float8[] feature_sq, float8 threshold, float8 tolerance)</td></tr>
+<tr class="separator:a93bfe398c91709e7d55ed94d18c6ac23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43f125953d105e8ad2243f7c722cf753"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a43f125953d105e8ad2243f7c722cf753">__binomial_fista_transition</a> (float8[] state, float8[] ind_var, boolean dep_var, float8[] pre_state, float8 lambda, float8 alpha, integer dimension, integer total_rows, float8 max_stepsize, float8 eta, integer use_active_set, integer is_active, integer random_stepsize)</td></tr>
+<tr class="separator:a43f125953d105e8ad2243f7c722cf753"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2284166bacd4b45fb34d50b2d7aec4d4"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a2284166bacd4b45fb34d50b2d7aec4d4">__binomial_fista_merge</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a2284166bacd4b45fb34d50b2d7aec4d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af83bb77c4eb5c9f5750f35d56fd39117"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#af83bb77c4eb5c9f5750f35d56fd39117">__binomial_fista_final</a> (float8[] state)</td></tr>
+<tr class="separator:af83bb77c4eb5c9f5750f35d56fd39117"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69a71f6e1f8fb3f7d8ad8b987bd432db"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a69a71f6e1f8fb3f7d8ad8b987bd432db">__binomial_fista_step</a> (float8[], boolean, float8[], float8, float8, integer, integer, float8, float8, integer, integer, integer)</td></tr>
+<tr class="separator:a69a71f6e1f8fb3f7d8ad8b987bd432db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba9d8b5ca783ad4c3d551fd7b2797ade"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#aba9d8b5ca783ad4c3d551fd7b2797ade">__binomial_fista_state_diff</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:aba9d8b5ca783ad4c3d551fd7b2797ade"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e0cc178e025d8eebb0637d97a02f624"><td class="memItemLeft" align="right" valign="top">__elastic_net_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html#a1e0cc178e025d8eebb0637d97a02f624">__binomial_fista_result</a> (float8[] in_state)</td></tr>
+<tr class="separator:a1e0cc178e025d8eebb0637d97a02f624"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>July 2012</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to elastic net, see the module description <a class="el" href="group__grp__elasticnet.html">Elastic Net Regularization</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="af83bb77c4eb5c9f5750f35d56fd39117"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af83bb77c4eb5c9f5750f35d56fd39117">&#9670;&nbsp;</a></span>__binomial_fista_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __binomial_fista_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2284166bacd4b45fb34d50b2d7aec4d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2284166bacd4b45fb34d50b2d7aec4d4">&#9670;&nbsp;</a></span>__binomial_fista_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __binomial_fista_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1e0cc178e025d8eebb0637d97a02f624"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1e0cc178e025d8eebb0637d97a02f624">&#9670;&nbsp;</a></span>__binomial_fista_result()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__elastic_net_result __binomial_fista_result </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>in_state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aba9d8b5ca783ad4c3d551fd7b2797ade"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba9d8b5ca783ad4c3d551fd7b2797ade">&#9670;&nbsp;</a></span>__binomial_fista_state_diff()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 __binomial_fista_state_diff </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a69a71f6e1f8fb3f7d8ad8b987bd432db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a69a71f6e1f8fb3f7d8ad8b987bd432db">&#9670;&nbsp;</a></span>__binomial_fista_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __binomial_fista_step </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a43f125953d105e8ad2243f7c722cf753"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a43f125953d105e8ad2243f7c722cf753">&#9670;&nbsp;</a></span>__binomial_fista_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __binomial_fista_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>dep_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>pre_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>lambda</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>alpha</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>dimension</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>total_rows</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>max_stepsize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>eta</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>use_active_set</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>is_active</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>random_stepsize</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a39c4af5547dc7f28c189fe5ef8d09ba5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a39c4af5547dc7f28c189fe5ef8d09ba5">&#9670;&nbsp;</a></span>__binomial_igd_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __binomial_igd_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae4aed277de996eab9023335413fe9e28"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae4aed277de996eab9023335413fe9e28">&#9670;&nbsp;</a></span>__binomial_igd_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __binomial_igd_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a93bfe398c91709e7d55ed94d18c6ac23"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a93bfe398c91709e7d55ed94d18c6ac23">&#9670;&nbsp;</a></span>__binomial_igd_result()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__elastic_net_result __binomial_igd_result </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>in_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>feature_sq</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>threshold</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>tolerance</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2968538b152e7f38e71bcff8e55b768e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2968538b152e7f38e71bcff8e55b768e">&#9670;&nbsp;</a></span>__binomial_igd_state_diff()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 __binomial_igd_state_diff </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a791a9701c20c65d1e86a1d5c3462b99d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a791a9701c20c65d1e86a1d5c3462b99d">&#9670;&nbsp;</a></span>__binomial_igd_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __binomial_igd_step </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac1ec74fff164d85cae14969bb0890e11"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac1ec74fff164d85cae14969bb0890e11">&#9670;&nbsp;</a></span>__binomial_igd_step_single_seg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __binomial_igd_step_single_seg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa0f3feb438f90eef90ddfc9ad4f3e33e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa0f3feb438f90eef90ddfc9ad4f3e33e">&#9670;&nbsp;</a></span>__binomial_igd_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __binomial_igd_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>dep_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>pre_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>lambda</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>alpha</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>dimension</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>stepsize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>total_rows</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>xmean</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>ymean</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>step_decay</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a465ca3aeaca43ab1294f82146eb2fc31"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a465ca3aeaca43ab1294f82146eb2fc31">&#9670;&nbsp;</a></span>__elastic_net_binomial_loglikelihood()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 __elastic_net_binomial_loglikelihood </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coefficients</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>intercept</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>dep_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>ind_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9cf4bc6bc719c054cf99436965bbab0c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9cf4bc6bc719c054cf99436965bbab0c">&#9670;&nbsp;</a></span>__gaussian_fista_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __gaussian_fista_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a35dad39bc1dce3573be2c9cc3f5458b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a35dad39bc1dce3573be2c9cc3f5458b2">&#9670;&nbsp;</a></span>__gaussian_fista_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __gaussian_fista_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9f5ed35bd3467280e7d68604046ccebd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9f5ed35bd3467280e7d68604046ccebd">&#9670;&nbsp;</a></span>__gaussian_fista_result()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__elastic_net_result __gaussian_fista_result </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>in_state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab9b58c238fa59cd8b38a07d3cbfef514"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab9b58c238fa59cd8b38a07d3cbfef514">&#9670;&nbsp;</a></span>__gaussian_fista_state_diff()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 __gaussian_fista_state_diff </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4566cf3ca4587153ab7b57fd741582fe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4566cf3ca4587153ab7b57fd741582fe">&#9670;&nbsp;</a></span>__gaussian_fista_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __gaussian_fista_step </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a87bf3c26c925cfe8d214cc4f8c784613"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a87bf3c26c925cfe8d214cc4f8c784613">&#9670;&nbsp;</a></span>__gaussian_fista_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __gaussian_fista_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>dep_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>pre_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>lambda</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>alpha</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>dimension</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>total_rows</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>max_stepsize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>eta</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>use_active_set</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>is_active</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>random_stepsize</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4c5b88fb94d8035e988178a2b67ffa43"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4c5b88fb94d8035e988178a2b67ffa43">&#9670;&nbsp;</a></span>__gaussian_igd_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __gaussian_igd_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aba6849a59e2178eb0629d3bfc5abe5da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba6849a59e2178eb0629d3bfc5abe5da">&#9670;&nbsp;</a></span>__gaussian_igd_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __gaussian_igd_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a407f4a6063a4eb931a39b23f52d675f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a407f4a6063a4eb931a39b23f52d675f1">&#9670;&nbsp;</a></span>__gaussian_igd_result()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__elastic_net_result __gaussian_igd_result </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>in_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>feature_sq</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>threshold</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>tolerance</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a244ef9698a82bbd2d28cdce326f8e514"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a244ef9698a82bbd2d28cdce326f8e514">&#9670;&nbsp;</a></span>__gaussian_igd_state_diff()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 __gaussian_igd_state_diff </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a493a8cfa6faf0264c7cf9aa80dc9ffb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a493a8cfa6faf0264c7cf9aa80dc9ffb2">&#9670;&nbsp;</a></span>__gaussian_igd_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __gaussian_igd_step </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abd46990f9fd7d216bc7f9e8115f10408"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd46990f9fd7d216bc7f9e8115f10408">&#9670;&nbsp;</a></span>__gaussian_igd_step_single_seg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __gaussian_igd_step_single_seg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad8a31dceade418034918a37c34101c18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8a31dceade418034918a37c34101c18">&#9670;&nbsp;</a></span>__gaussian_igd_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __gaussian_igd_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>dep_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>pre_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>lambda</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>alpha</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>dimension</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>stepsize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>total_rows</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>xmean</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>ymean</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>step_decay</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa78cde79f1f2caa7c5b38f933001d793"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa78cde79f1f2caa7c5b38f933001d793">&#9670;&nbsp;</a></span>elastic_net_binomial_predict()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">boolean elastic_net_binomial_predict </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coefficients</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>intercept</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>ind_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">coefficients</td><td>Logistic fitting coefficients </td></tr>
+    <tr><td class="paramname">intercept</td><td>Logistic fitting intercept </td></tr>
+    <tr><td class="paramname">ind_var</td><td>Features (independent variables)</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>returns a boolean value </p>
+
+</div>
+</div>
+<a id="a308718fd5234bc1007b971a639aadf71"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a308718fd5234bc1007b971a639aadf71">&#9670;&nbsp;</a></span>elastic_net_binomial_prob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 elastic_net_binomial_prob </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coefficients</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>intercept</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>ind_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">coefficients</td><td>Logistic fitting coefficients </td></tr>
+    <tr><td class="paramname">intercept</td><td>Logistic fitting intercept </td></tr>
+    <tr><td class="paramname">ind_var</td><td>Features (independent variables)</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>returns a double value, which is the probability of this data point being True class </p>
+
+</div>
+</div>
+<a id="a96db4ff4ba3ea363fafbf6c036c19fae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a96db4ff4ba3ea363fafbf6c036c19fae">&#9670;&nbsp;</a></span>elastic_net_gaussian_predict()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 elastic_net_gaussian_predict </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coefficients</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>intercept</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>ind_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">coefficients</td><td>Linear fitting coefficients </td></tr>
+    <tr><td class="paramname">intercept</td><td>Linear fitting intercept </td></tr>
+    <tr><td class="paramname">ind_var</td><td>Features (independent variables)</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>returns a double value </p>
+
+</div>
+</div>
+<a id="a3578608204ac9b2d3442ff42977f632b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3578608204ac9b2d3442ff42977f632b">&#9670;&nbsp;</a></span>elastic_net_predict() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void elastic_net_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tbl_model</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tbl_new_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tbl_predict</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">tbl_model</td><td>The result from elastic_net_train </td></tr>
+    <tr><td class="paramname">tbl_new_source</td><td>Data table </td></tr>
+    <tr><td class="paramname">col_id</td><td>Unique ID associated with each row </td></tr>
+    <tr><td class="paramname">tbl_predict</td><td>Prediction result </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="aaddbfdfea4207d38ab7e2cd3db876bdc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaddbfdfea4207d38ab7e2cd3db876bdc">&#9670;&nbsp;</a></span>elastic_net_predict() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 elastic_net_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>regress_family</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coefficients</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>intercept</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>ind_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">regress_family</td><td>model family </td></tr>
+    <tr><td class="paramname">coefficients</td><td>The fitting coefficients </td></tr>
+    <tr><td class="paramname">intercept</td><td>The fitting intercept </td></tr>
+    <tr><td class="paramname">ind_var</td><td>Features (independent variables) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>float8</dd></dl>
+<p>Note: Please use function <a class="el" href="elastic__net_8sql__in.html#a96db4ff4ba3ea363fafbf6c036c19fae" title="Prediction for linear models use learned coefficients for a given example. ">elastic_net_gaussian_predict()</a> or <a class="el" href="elastic__net_8sql__in.html#aa78cde79f1f2caa7c5b38f933001d793" title="Prediction for logistic models use learned coefficients for a given example. ">elastic_net_binomial_predict()</a> instead if you could. This function is not supported in HAWQ and may be deprecated in the future, as users are confused between this function and the table output function with the same name.</p>
+<p>When regress_family is 'binomial' or 'logistic', this function returns 1 for True and 0 for False </p>
+
+</div>
+</div>
+<a id="a735038a5090c112505c740a90a203e83"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a735038a5090c112505c740a90a203e83">&#9670;&nbsp;</a></span>elastic_net_train() <span class="overload">[1/10]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void elastic_net_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tbl_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tbl_result</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_dep_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>regress_family</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>alpha</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>lambda_value</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>standardize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>optimizer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>optimizer_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>excluded</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>tolerance</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">tbl_source</td><td>Name of data source table </td></tr>
+    <tr><td class="paramname">tbl_result</td><td>Name of the table to store the results </td></tr>
+    <tr><td class="paramname">col_ind_var</td><td>Name of independent variable column, independent variable is an array </td></tr>
+    <tr><td class="paramname">col_dep_var</td><td>Name of dependent variable column </td></tr>
+    <tr><td class="paramname">regress_family</td><td>Response type (gaussian or binomial) </td></tr>
+    <tr><td class="paramname">alpha</td><td>The elastic net parameter, [0, 1] </td></tr>
+    <tr><td class="paramname">lambda_value</td><td>The regularization parameter </td></tr>
+    <tr><td class="paramname">standardize</td><td>Whether to normalize the variables (default True) </td></tr>
+    <tr><td class="paramname">grouping_col</td><td>List of columns on which to apply grouping (currently only a placeholder) </td></tr>
+    <tr><td class="paramname">optimizer</td><td>The optimization algorithm, 'fista' or 'igd'. Default is 'fista' </td></tr>
+    <tr><td class="paramname">optimizer_params</td><td>Parameters of the above optimizer, the format is 'arg = value, ...'. Default is NULL </td></tr>
+    <tr><td class="paramname">excluded</td><td>Which columns to exclude? Default is NULL (applicable only if col_ind_var is set as * or a column of array, column names as 'col1, col2, ...' if col_ind_var is '*'; element indices as '1,2,3, ...' if col_ind_var is a column of array) </td></tr>
+    <tr><td class="paramname">max_iter</td><td>Maximum number of iterations to run the algorithm (default value of 10000) </td></tr>
+    <tr><td class="paramname">tolerance</td><td>Iteration stopping criteria. Default is 1e-6 </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a148de1ad5e1e60b9df3d3af590c06579"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a148de1ad5e1e60b9df3d3af590c06579">&#9670;&nbsp;</a></span>elastic_net_train() <span class="overload">[2/10]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void elastic_net_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tbl_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tbl_result</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_dep_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>regress_family</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>alpha</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>lambda_value</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>standardization</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_columns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>optimizer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>optimizer_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>excluded</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a63c8ed415005cc446a59bdc47a09791d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63c8ed415005cc446a59bdc47a09791d">&#9670;&nbsp;</a></span>elastic_net_train() <span class="overload">[3/10]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void elastic_net_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tbl_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tbl_result</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_dep_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>regress_family</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>alpha</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>lambda_value</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>standardization</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_columns</em>, </td>
+        </tr>
+        <tr>
+ 

<TRUNCATED>


[12/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/hypothesis__tests_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/hypothesis__tests_8sql__in.html b/docs/v1.11/hypothesis__tests_8sql__in.html
new file mode 100644
index 0000000..616a82c
--- /dev/null
+++ b/docs/v1.11/hypothesis__tests_8sql__in.html
@@ -0,0 +1,1249 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: hypothesis_tests.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('hypothesis__tests_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">hypothesis_tests.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for statistical hypothesis tests.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a3bd1bcc335a2da73d01b40e06f7d2eea"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a3bd1bcc335a2da73d01b40e06f7d2eea">t_test_one_transition</a> (float8[] state, float8 value)</td></tr>
+<tr class="separator:a3bd1bcc335a2da73d01b40e06f7d2eea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac97c5f5015790b59645d69858e127645"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#ac97c5f5015790b59645d69858e127645">t_test_merge_states</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:ac97c5f5015790b59645d69858e127645"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad570d893565618bcbbcbb01b3bb0a9b9"><td class="memItemLeft" align="right" valign="top">t_test_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#ad570d893565618bcbbcbb01b3bb0a9b9">t_test_one_final</a> (float8[] state)</td></tr>
+<tr class="separator:ad570d893565618bcbbcbb01b3bb0a9b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abc6006e8da028dd93ac48b8fd9ae8786"><td class="memItemLeft" align="right" valign="top">f_test_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#abc6006e8da028dd93ac48b8fd9ae8786">f_test_final</a> (float8[] state)</td></tr>
+<tr class="separator:abc6006e8da028dd93ac48b8fd9ae8786"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14fdcfa276fd1a7ea2e3adb41ebe7db4"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a14fdcfa276fd1a7ea2e3adb41ebe7db4">t_test_one</a> (float8 value)</td></tr>
+<tr class="memdesc:a14fdcfa276fd1a7ea2e3adb41ebe7db4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform one-sample or dependent paired Student t-test.  <a href="#a14fdcfa276fd1a7ea2e3adb41ebe7db4">More...</a><br /></td></tr>
+<tr class="separator:a14fdcfa276fd1a7ea2e3adb41ebe7db4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1a835d80d1846a10a2c25b91ce81c6d2"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a1a835d80d1846a10a2c25b91ce81c6d2">t_test_two_transition</a> (float8[] state, boolean first, float8 value)</td></tr>
+<tr class="separator:a1a835d80d1846a10a2c25b91ce81c6d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a0a8a579bbf0f0d1efcbf62223e3431"><td class="memItemLeft" align="right" valign="top">t_test_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a0a0a8a579bbf0f0d1efcbf62223e3431">t_test_two_pooled_final</a> (float8[] state)</td></tr>
+<tr class="separator:a0a0a8a579bbf0f0d1efcbf62223e3431"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c306ba8380ce6567831fef4610e515b"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a5c306ba8380ce6567831fef4610e515b">t_test_two_pooled</a> (boolean first, float8 value)</td></tr>
+<tr class="memdesc:a5c306ba8380ce6567831fef4610e515b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform two-sample pooled (i.e., equal variances) Student t-test.  <a href="#a5c306ba8380ce6567831fef4610e515b">More...</a><br /></td></tr>
+<tr class="separator:a5c306ba8380ce6567831fef4610e515b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8fe7f38d29bf835718adca811e36f15a"><td class="memItemLeft" align="right" valign="top">t_test_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a8fe7f38d29bf835718adca811e36f15a">t_test_two_unpooled_final</a> (float8[] state)</td></tr>
+<tr class="separator:a8fe7f38d29bf835718adca811e36f15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac50750a0e0797ce24af1dc479b9699e1"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#ac50750a0e0797ce24af1dc479b9699e1">t_test_two_unpooled</a> (boolean first, float8 value)</td></tr>
+<tr class="memdesc:ac50750a0e0797ce24af1dc479b9699e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform unpooled (i.e., unequal variances) t-test (also known as Welch's t-test)  <a href="#ac50750a0e0797ce24af1dc479b9699e1">More...</a><br /></td></tr>
+<tr class="separator:ac50750a0e0797ce24af1dc479b9699e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a946aa469ff6ddf8d276db16fa26ad4"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a5a946aa469ff6ddf8d276db16fa26ad4">f_test</a> (boolean first, float8 value)</td></tr>
+<tr class="memdesc:a5a946aa469ff6ddf8d276db16fa26ad4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform Fisher F-test.  <a href="#a5a946aa469ff6ddf8d276db16fa26ad4">More...</a><br /></td></tr>
+<tr class="separator:a5a946aa469ff6ddf8d276db16fa26ad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7c580537666776f1bd4b9d4a0a6b6438"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a7c580537666776f1bd4b9d4a0a6b6438">chi2_gof_test_transition</a> (float8[] state, bigint observed, float8 expected, bigint df)</td></tr>
+<tr class="separator:a7c580537666776f1bd4b9d4a0a6b6438"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4b83895c48dd1c1ca2e106b15741868"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#ab4b83895c48dd1c1ca2e106b15741868">chi2_gof_test_transition</a> (float8[] state, bigint observed, float8 expected)</td></tr>
+<tr class="separator:ab4b83895c48dd1c1ca2e106b15741868"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66d03891a6add6d67f944df5344ed40e"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a66d03891a6add6d67f944df5344ed40e">chi2_gof_test_transition</a> (float8[] state, bigint observed)</td></tr>
+<tr class="separator:a66d03891a6add6d67f944df5344ed40e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b8265718a16ec65e89d2ab512f6a3e1"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a2b8265718a16ec65e89d2ab512f6a3e1">chi2_gof_test_merge_states</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a2b8265718a16ec65e89d2ab512f6a3e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a61c31dfde998db18afd6552239b872c4"><td class="memItemLeft" align="right" valign="top">chi2_test_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a61c31dfde998db18afd6552239b872c4">chi2_gof_test_final</a> (float8[] state)</td></tr>
+<tr class="separator:a61c31dfde998db18afd6552239b872c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c912b329fb103a44253932a653d4e40"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a4c912b329fb103a44253932a653d4e40">chi2_gof_test</a> (bigint observed, float8 expected=1, bigint df=0)</td></tr>
+<tr class="memdesc:a4c912b329fb103a44253932a653d4e40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform Pearson's chi-squared goodness-of-fit test.  <a href="#a4c912b329fb103a44253932a653d4e40">More...</a><br /></td></tr>
+<tr class="separator:a4c912b329fb103a44253932a653d4e40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09a8ed9d073f8c43d9ade3cf2defb2b0"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a09a8ed9d073f8c43d9ade3cf2defb2b0">chi2_gof_test</a> (bigint observed, float8 expected)</td></tr>
+<tr class="separator:a09a8ed9d073f8c43d9ade3cf2defb2b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13730efbff97aa5624a350135a9b83ff"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a13730efbff97aa5624a350135a9b83ff">chi2_gof_test</a> (bigint observed)</td></tr>
+<tr class="separator:a13730efbff97aa5624a350135a9b83ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58ffb5b2b8392e005f4f3e21560df93f"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a58ffb5b2b8392e005f4f3e21560df93f">ks_test_transition</a> (float8[] state, boolean first, float8 value, bigint numFirst, bigint numSecond)</td></tr>
+<tr class="separator:a58ffb5b2b8392e005f4f3e21560df93f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd3f6d1d6dc4203cab3bcc980ec8ed8d"><td class="memItemLeft" align="right" valign="top">ks_test_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#abd3f6d1d6dc4203cab3bcc980ec8ed8d">ks_test_final</a> (float8[] state)</td></tr>
+<tr class="separator:abd3f6d1d6dc4203cab3bcc980ec8ed8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e324c82b069ebf7b498012aa83931c5"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a4e324c82b069ebf7b498012aa83931c5">mw_test_transition</a> (float8[] state, boolean first, float8 value)</td></tr>
+<tr class="memdesc:a4e324c82b069ebf7b498012aa83931c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform Kolmogorov-Smirnov test.  <a href="#a4e324c82b069ebf7b498012aa83931c5">More...</a><br /></td></tr>
+<tr class="separator:a4e324c82b069ebf7b498012aa83931c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac18e666088117997da2d22236e982f5e"><td class="memItemLeft" align="right" valign="top">mw_test_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#ac18e666088117997da2d22236e982f5e">mw_test_final</a> (float8[] state)</td></tr>
+<tr class="separator:ac18e666088117997da2d22236e982f5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0d85654832dfa961cd13526c052642f3"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a0d85654832dfa961cd13526c052642f3">wsr_test_transition</a> (float8[] state, float8 value, float8 precision)</td></tr>
+<tr class="memdesc:a0d85654832dfa961cd13526c052642f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform Mann-Whitney test.  <a href="#a0d85654832dfa961cd13526c052642f3">More...</a><br /></td></tr>
+<tr class="separator:a0d85654832dfa961cd13526c052642f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4093de00ab033f4900ce186d481fa012"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a4093de00ab033f4900ce186d481fa012">wsr_test_transition</a> (float8[] state, float8 value)</td></tr>
+<tr class="separator:a4093de00ab033f4900ce186d481fa012"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f0431ace27ac78e9e1df9906f1f1c33"><td class="memItemLeft" align="right" valign="top">wsr_test_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a8f0431ace27ac78e9e1df9906f1f1c33">wsr_test_final</a> (float8[] state)</td></tr>
+<tr class="separator:a8f0431ace27ac78e9e1df9906f1f1c33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa694f4ce95280210a3887773bb3f417b"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#aa694f4ce95280210a3887773bb3f417b">one_way_anova_transition</a> (float8[] state, integer group, float8 value)</td></tr>
+<tr class="memdesc:aa694f4ce95280210a3887773bb3f417b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform Wilcoxon-Signed-Rank test.  <a href="#aa694f4ce95280210a3887773bb3f417b">More...</a><br /></td></tr>
+<tr class="separator:aa694f4ce95280210a3887773bb3f417b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad6c05d07183c961961f171b0a925ad93"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#ad6c05d07183c961961f171b0a925ad93">one_way_anova_merge_states</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:ad6c05d07183c961961f171b0a925ad93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ac28bec7ff670a7da8b9eae4a8ed4cb"><td class="memItemLeft" align="right" valign="top">one_way_anova_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#a5ac28bec7ff670a7da8b9eae4a8ed4cb">one_way_anova_final</a> (float8[] state)</td></tr>
+<tr class="separator:a5ac28bec7ff670a7da8b9eae4a8ed4cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd5c80afd954294de268030ee73e88cc"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="hypothesis__tests_8sql__in.html#abd5c80afd954294de268030ee73e88cc">one_way_anova</a> (integer group, float8 value)</td></tr>
+<tr class="memdesc:abd5c80afd954294de268030ee73e88cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform one-way analysis of variance.  <a href="#abd5c80afd954294de268030ee73e88cc">More...</a><br /></td></tr>
+<tr class="separator:abd5c80afd954294de268030ee73e88cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section see"><dt>See also</dt><dd>For an overview of hypthesis-test functions, see the module description <a class="el" href="group__grp__stats__tests.html">Hypothesis Tests</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a4c912b329fb103a44253932a653d4e40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4c912b329fb103a44253932a653d4e40">&#9670;&nbsp;</a></span>chi2_gof_test() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] chi2_gof_test </td>
+          <td>(</td>
+          <td class="paramtype">bigint&#160;</td>
+          <td class="paramname"><em>observed</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>expected</em> = <code>1</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bigint&#160;</td>
+          <td class="paramname"><em>df</em> = <code>0</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Let <img class="formulaInl" alt="$ n_1, \dots, n_k $" src="form_446.png"/> be a realization of a (vector) random variable <img class="formulaInl" alt="$ N = (N_1, \dots, N_k) $" src="form_447.png"/> that follows the multinomial distribution with parameters <img class="formulaInl" alt="$ k $" src="form_98.png"/> and <img class="formulaInl" alt="$ p = (p_1, \dots, p_k) $" src="form_448.png"/>. Test the null hypothesis <img class="formulaInl" alt="$ H_0 : p = p^0 $" src="form_449.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">observed</td><td>Number <img class="formulaInl" alt="$ n_i $" src="form_450.png"/> of observations of the current event/row </td></tr>
+    <tr><td class="paramname">expected</td><td>Expected number of observations of current event/row. This number is not required to be normalized. That is, <img class="formulaInl" alt="$ p^0_i $" src="form_451.png"/> will be taken as <code>expected</code> divided by <code>sum(expected)</code>. Hence, if this parameter is not specified, chi2_test() will by default use <img class="formulaInl" alt="$ p^0 = (\frac 1k, \dots, \frac 1k) $" src="form_452.png"/>, i.e., test that <img class="formulaInl" alt="$ p $" src="form_111.png"/> is a discrete uniform distribution. </td></tr>
+    <tr><td class="paramname">df</td><td>Degrees of freedom. This is the number of events reduced by the degree of freedom lost by using the observed numbers for defining the expected number of observations. If this parameter is 0, the degree of freedom is taken as <img class="formulaInl" alt="$ (k - 1) $" src="form_453.png"/>.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value as follows. Let <img class="formulaInl" alt="$ n = \sum_{i=1}^n n_i $" src="form_454.png"/>.<ul>
+<li><code>statistic FLOAT8</code> - Statistic <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \chi^2 = \sum_{i=1}^k \frac{(n_i - np_i)^2}{np_i} \]" src="form_455.png"/>
+</p>
+ The corresponding random variable is approximately chi-squared distributed with <code>df</code> degrees of freedom.</li>
+<li><code>df BIGINT</code> - Degrees of freedom</li>
+<li><code>p_value FLOAT8</code> - Approximate p-value, i.e., <img class="formulaInl" alt="$ \Pr[X^2 \geq \chi^2 \mid p = p^0] $" src="form_456.png"/>. Computed as <code>(1.0 - <a class="el" href="prob_8sql__in.html#a230513b6b549d5b445cbacbdbab42c15">chi_squared_cdf</a>(statistic))</code>.</li>
+<li><code>phi FLOAT8</code> - Phi coefficient, i.e., <img class="formulaInl" alt="$ \phi = \sqrt{\frac{\chi^2}{n}} $" src="form_457.png"/></li>
+<li><code>contingency_coef FLOAT8</code> - Contingency coefficient, i.e., <img class="formulaInl" alt="$ \sqrt{\frac{\chi^2}{n + \chi^2}} $" src="form_458.png"/></li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Test null hypothesis that all possible outcomes of a categorical variable are equally likely: <pre>SELECT (chi2_gof_test(<em>observed</em>, 1, NULL)).* FROM <em>source</em></pre></li>
+<li>Test null hypothesis that two categorical variables are independent. Such data is often shown in a <em>contingency table</em> (also known as <em>crosstab</em>). A crosstab is a matrix where possible values for the first variable correspond to rows and values for the second variable to columns. The matrix elements are the observation frequencies of the joint occurrence of the respective values. <a class="el" href="hypothesis__tests_8sql__in.html#a4c912b329fb103a44253932a653d4e40" title="Perform Pearson&#39;s chi-squared goodness-of-fit test. ">chi2_gof_test()</a> assumes that the crosstab is stored in normalized form, i.e., there are three columns <code><em>var1</em></code>, <code><em>var2</em></code>, <code><em>observed</em></code>. <pre>SELECT (chi2_gof_test(<em>observed</em>, expected, deg_freedom)).*
+FROM (
+    SELECT
+        <em>observed</em>,
+        sum(<em>observed</em>) OVER (PARTITION BY var1)::DOUBLE PRECISION
+            * sum(<em>observed</em>) OVER (PARTITION BY var2) AS expected
+    FROM <em>source</em>
+) p, (
+   SELECT
+        (count(DISTINCT <em>var1</em>) - 1) * (count(DISTINCT <em>var2</em>) - 1) AS deg_freedom
+    FROM <em>source</em>
+) q;</pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a09a8ed9d073f8c43d9ade3cf2defb2b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a09a8ed9d073f8c43d9ade3cf2defb2b0">&#9670;&nbsp;</a></span>chi2_gof_test() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] chi2_gof_test </td>
+          <td>(</td>
+          <td class="paramtype">bigint&#160;</td>
+          <td class="paramname"><em>observed</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>expected</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a13730efbff97aa5624a350135a9b83ff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a13730efbff97aa5624a350135a9b83ff">&#9670;&nbsp;</a></span>chi2_gof_test() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] chi2_gof_test </td>
+          <td>(</td>
+          <td class="paramtype">bigint&#160;</td>
+          <td class="paramname"><em>observed</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a61c31dfde998db18afd6552239b872c4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a61c31dfde998db18afd6552239b872c4">&#9670;&nbsp;</a></span>chi2_gof_test_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">chi2_test_result chi2_gof_test_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2b8265718a16ec65e89d2ab512f6a3e1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2b8265718a16ec65e89d2ab512f6a3e1">&#9670;&nbsp;</a></span>chi2_gof_test_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] chi2_gof_test_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7c580537666776f1bd4b9d4a0a6b6438"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7c580537666776f1bd4b9d4a0a6b6438">&#9670;&nbsp;</a></span>chi2_gof_test_transition() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] chi2_gof_test_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bigint&#160;</td>
+          <td class="paramname"><em>observed</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>expected</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bigint&#160;</td>
+          <td class="paramname"><em>df</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab4b83895c48dd1c1ca2e106b15741868"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab4b83895c48dd1c1ca2e106b15741868">&#9670;&nbsp;</a></span>chi2_gof_test_transition() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] chi2_gof_test_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bigint&#160;</td>
+          <td class="paramname"><em>observed</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>expected</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a66d03891a6add6d67f944df5344ed40e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a66d03891a6add6d67f944df5344ed40e">&#9670;&nbsp;</a></span>chi2_gof_test_transition() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] chi2_gof_test_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bigint&#160;</td>
+          <td class="paramname"><em>observed</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5a946aa469ff6ddf8d276db16fa26ad4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a946aa469ff6ddf8d276db16fa26ad4">&#9670;&nbsp;</a></span>f_test()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] f_test </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>first</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Given realizations <img class="formulaInl" alt="$ x_1, \dots, x_m $" src="form_434.png"/> and <img class="formulaInl" alt="$ y_1, \dots, y_n $" src="form_435.png"/> of i.i.d. random variables <img class="formulaInl" alt="$ X_1, \dots, X_m \sim N(\mu_X, \sigma^2) $" src="form_436.png"/> and <img class="formulaInl" alt="$ Y_1, \dots, Y_n \sim N(\mu_Y, \sigma^2) $" src="form_437.png"/> with unknown parameters <img class="formulaInl" alt="$ \mu_X, \mu_Y, $" src="form_417.png"/> and <img class="formulaInl" alt="$ \sigma^2 $" src="form_306.png"/>, test the null hypotheses <img class="formulaInl" alt="$ H_0 : \sigma_X &lt; \sigma_Y $" src="form_438.png"/> and <img class="formulaInl" alt="$ H_0 : \sigma_X = \sigma_Y $" src="form_439.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">first</td><td>Indicator whether <code>value</code> is from first sample <img class="formulaInl" alt="$ x_1, \dots, x_m $" src="form_434.png"/> (if <code>TRUE</code>) or from second sample <img class="formulaInl" alt="$ y_1, \dots, y_n $" src="form_435.png"/> (if <code>FALSE</code>) </td></tr>
+    <tr><td class="paramname">value</td><td>Value of random variate <img class="formulaInl" alt="$ x_i $" src="form_63.png"/> or <img class="formulaInl" alt="$ y_i $" src="form_61.png"/></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value as follows. We denote by <img class="formulaInl" alt="$ \bar x, \bar y $" src="form_420.png"/> the sample means and by <img class="formulaInl" alt="$ s_X^2, s_Y^2 $" src="form_421.png"/> the sample variances.<ul>
+<li><code>statistic FLOAT8</code> - Statistic <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ f = \frac{s_Y^2}{s_X^2} \]" src="form_440.png"/>
+</p>
+ The corresponding random variable is F-distributed with <img class="formulaInl" alt="$ (n - 1) $" src="form_409.png"/> degrees of freedom in the numerator and <img class="formulaInl" alt="$ (m - 1) $" src="form_441.png"/> degrees of freedom in the denominator.</li>
+<li><code>df1 BIGINT</code> - Degrees of freedom in the numerator <img class="formulaInl" alt="$ (n - 1) $" src="form_409.png"/></li>
+<li><code>df2 BIGINT</code> - Degrees of freedom in the denominator <img class="formulaInl" alt="$ (m - 1) $" src="form_441.png"/></li>
+<li><code>p_value_one_sided FLOAT8</code> - Lower bound on one-sided p-value. In detail, the result is <img class="formulaInl" alt="$ \Pr[F \geq f \mid \sigma_X = \sigma_Y] $" src="form_442.png"/>, which is a lower bound on <img class="formulaInl" alt="$ \Pr[F \geq f \mid \sigma_X \leq \sigma_Y] $" src="form_443.png"/>. Computed as <code>(1.0 - <a class="el" href="prob_8sql__in.html#a6c5b3e35531e44098f9d0cbef14cb8a6">fisher_f_cdf</a>(statistic))</code>.</li>
+<li><code>p_value_two_sided FLOAT8</code> - Two-sided p-value, i.e., <img class="formulaInl" alt="$ 2 \cdot \min \{ p, 1 - p \} $" src="form_444.png"/> where <img class="formulaInl" alt="$ p = \Pr[ F \geq f \mid \sigma_X = \sigma_Y] $" src="form_445.png"/>. Computed as <code>(min(p_value_one_sided, 1. - p_value_one_sided))</code>.</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Test null hypothesis that the variance of the first sample is at most (or equal to, respectively) the variance of the second sample: <pre>SELECT (f_test(<em>first</em>, <em>value</em>)).* FROM <em>source</em></pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="abc6006e8da028dd93ac48b8fd9ae8786"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc6006e8da028dd93ac48b8fd9ae8786">&#9670;&nbsp;</a></span>f_test_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">f_test_result f_test_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abd3f6d1d6dc4203cab3bcc980ec8ed8d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd3f6d1d6dc4203cab3bcc980ec8ed8d">&#9670;&nbsp;</a></span>ks_test_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">ks_test_result ks_test_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a58ffb5b2b8392e005f4f3e21560df93f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a58ffb5b2b8392e005f4f3e21560df93f">&#9670;&nbsp;</a></span>ks_test_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] ks_test_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>first</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bigint&#160;</td>
+          <td class="paramname"><em>numFirst</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bigint&#160;</td>
+          <td class="paramname"><em>numSecond</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac18e666088117997da2d22236e982f5e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac18e666088117997da2d22236e982f5e">&#9670;&nbsp;</a></span>mw_test_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">mw_test_result mw_test_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4e324c82b069ebf7b498012aa83931c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4e324c82b069ebf7b498012aa83931c5">&#9670;&nbsp;</a></span>mw_test_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] mw_test_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>first</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Given realizations <img class="formulaInl" alt="$ x_1, \dots, x_m $" src="form_434.png"/> and <img class="formulaInl" alt="$ y_1, \dots, y_m $" src="form_414.png"/> of i.i.d. random variables <img class="formulaInl" alt="$ X_1, \dots, X_m $" src="form_459.png"/> and i.i.d. <img class="formulaInl" alt="$ Y_1, \dots, Y_n $" src="form_460.png"/>, respectively, test the null hypothesis that the underlying distributions function <img class="formulaInl" alt="$ F_X, F_Y $" src="form_461.png"/> are identical, i.e., <img class="formulaInl" alt="$ H_0 : F_X = F_Y $" src="form_462.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">first</td><td>Determines whether the value belongs to the first (if <code>TRUE</code>) or the second sample (if <code>FALSE</code>) </td></tr>
+    <tr><td class="paramname">value</td><td>Value of random variate <img class="formulaInl" alt="$ x_i $" src="form_63.png"/> or <img class="formulaInl" alt="$ y_i $" src="form_61.png"/> </td></tr>
+    <tr><td class="paramname">m</td><td>Size <img class="formulaInl" alt="$ m $" src="form_293.png"/> of the first sample. See usage instructions below. </td></tr>
+    <tr><td class="paramname">n</td><td>Size of the second sample. See usage instructions below.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value.<ul>
+<li><code>statistic FLOAT8</code> - Kolmogorov–Smirnov statistic <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ d = \max_{t \in \mathbb R} |F_x(t) - F_y(t)| \]" src="form_463.png"/>
+</p>
+ where <img class="formulaInl" alt="$ F_x(t) := \frac 1m |\{ i \mid x_i \leq t \}| $" src="form_464.png"/> and <img class="formulaInl" alt="$ F_y $" src="form_465.png"/> (defined likewise) are the empirical distribution functions.</li>
+<li><code>k_statistic FLOAT8</code> - Kolmogorov statistic <img class="formulaInl" alt="$ k = (r + 0.12 + \frac{0.11}{r}) \cdot d $" src="form_466.png"/> where <img class="formulaInl" alt="$ r = \sqrt{\frac{m n}{m+n}}. $" src="form_467.png"/> and <img class="formulaInl" alt="$ d $" src="form_468.png"/> is the statistic. Then <img class="formulaInl" alt="$ k $" src="form_98.png"/> is approximately Kolmogorov distributed.</li>
+<li><code>p_value FLOAT8</code> - Approximate p-value, i.e., an approximate value for <img class="formulaInl" alt="$ \Pr[D \geq d \mid F_X = F_Y] $" src="form_469.png"/>. Computed as <code>(1.0 - <a class="el" href="prob_8sql__in.html#aeef43f74f583bdff17bd074d9c0d9607">kolmogorov_cdf</a>(k_statistic))</code>.</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Test null hypothesis that two samples stem from the same distribution: <pre>SELECT (ks_test(<em>first</em>, <em>value</em>,
+    (SELECT count(<em>value</em>) FROM <em>source</em> WHERE <em>first</em>),
+    (SELECT count(<em>value</em>) FROM <em>source</em> WHERE NOT <em>first</em>)
+    ORDER BY <em>value</em>
+)).* FROM <em>source</em></pre></li>
+</ul>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This aggregate must be used as an ordered aggregate (<code>ORDER BY <em>value</code></em>) and will raise an exception if values are not ordered. </dd></dl>
+
+</div>
+</div>
+<a id="abd5c80afd954294de268030ee73e88cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd5c80afd954294de268030ee73e88cc">&#9670;&nbsp;</a></span>one_way_anova()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] one_way_anova </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>group</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Given realizations <img class="formulaInl" alt="$ x_{1,1}, \dots, x_{1, n_1}, x_{2,1}, \dots, x_{2,n_2}, \dots, x_{k,n_k} $" src="form_494.png"/> of i.i.d. random variables <img class="formulaInl" alt="$ X_{i,j} \sim N(\mu_i, \sigma^2) $" src="form_495.png"/> with unknown parameters <img class="formulaInl" alt="$ \mu_1, \dots, \mu_k $" src="form_496.png"/> and <img class="formulaInl" alt="$ \sigma^2 $" src="form_306.png"/>, test the null hypotheses <img class="formulaInl" alt="$ H_0 : \mu_1 = \dots = \mu_k $" src="form_497.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">group</td><td>Group which <code>value</code> is from. Note that <code>group</code> can assume arbitary value not limited to a continguous range of integers. </td></tr>
+    <tr><td class="paramname">value</td><td>Value of random variate <img class="formulaInl" alt="$ x_{i,j} $" src="form_498.png"/></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value as follows. Let <img class="formulaInl" alt="$ n := \sum_{i=1}^k n_i $" src="form_499.png"/> be the total size of all samples. Denote by <img class="formulaInl" alt="$ \bar x $" src="form_406.png"/> the grand mean, by <img class="formulaInl" alt="$ \overline{x_i} $" src="form_500.png"/> the group sample means, and by <img class="formulaInl" alt="$ s_i^2 $" src="form_501.png"/> the group sample variances.<ul>
+<li><code>sum_squares_between DOUBLE PRECISION</code> - sum of squares between the group means, i.e., <img class="formulaInl" alt="$ \mathit{SS}_b = \sum_{i=1}^k n_i (\overline{x_i} - \bar x)^2. $" src="form_502.png"/></li>
+<li><code>sum_squares_within DOUBLE PRECISION</code> - sum of squares within the groups, i.e., <img class="formulaInl" alt="$ \mathit{SS}_w = \sum_{i=1}^k (n_i - 1) s_i^2. $" src="form_503.png"/></li>
+<li><code>df_between BIGINT</code> - degree of freedom for between-group variation <img class="formulaInl" alt="$ (k-1) $" src="form_504.png"/></li>
+<li><code>df_within BIGINT</code> - degree of freedom for within-group variation <img class="formulaInl" alt="$ (n-k) $" src="form_505.png"/></li>
+<li><code>mean_squares_between DOUBLE PRECISION</code> - mean square between groups, i.e., <img class="formulaInl" alt="$ s_b^2 := \frac{\mathit{SS}_b}{k-1} $" src="form_506.png"/></li>
+<li><code>mean_squares_within DOUBLE PRECISION</code> - mean square within groups, i.e., <img class="formulaInl" alt="$ s_w^2 := \frac{\mathit{SS}_w}{n-k} $" src="form_507.png"/></li>
+<li><code>statistic DOUBLE PRECISION</code> - Statistic computed as <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ f = \frac{s_b^2}{s_w^2}. \]" src="form_508.png"/>
+</p>
+ This statistic is Fisher F-distributed with <img class="formulaInl" alt="$ (k-1) $" src="form_504.png"/> degrees of freedom in the numerator and <img class="formulaInl" alt="$ (n-k) $" src="form_505.png"/> degrees of freedom in the denominator.</li>
+<li><code>p_value DOUBLE PRECISION</code> - p-value, i.e., <img class="formulaInl" alt="$ \Pr[ F \geq f \mid H_0] $" src="form_509.png"/>.</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Test null hypothesis that the mean of the all samples is equal: <pre>SELECT (one_way_anova(<em>group</em>, <em>value</em>)).* FROM <em>source</em></pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a5ac28bec7ff670a7da8b9eae4a8ed4cb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ac28bec7ff670a7da8b9eae4a8ed4cb">&#9670;&nbsp;</a></span>one_way_anova_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">one_way_anova_result one_way_anova_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad6c05d07183c961961f171b0a925ad93"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad6c05d07183c961961f171b0a925ad93">&#9670;&nbsp;</a></span>one_way_anova_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] one_way_anova_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa694f4ce95280210a3887773bb3f417b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa694f4ce95280210a3887773bb3f417b">&#9670;&nbsp;</a></span>one_way_anova_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] one_way_anova_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>group</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Given realizations <img class="formulaInl" alt="$ x_1, \dots, x_n $" src="form_184.png"/> of i.i.d. random variables <img class="formulaInl" alt="$ X_1, \dots, X_n $" src="form_479.png"/> with unknown mean <img class="formulaInl" alt="$ \mu $" src="form_288.png"/>, test the null hypotheses <img class="formulaInl" alt="$ H_0 : \mu \leq 0 $" src="form_404.png"/> and <img class="formulaInl" alt="$ H_0 : \mu = 0 $" src="form_405.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">value</td><td>Value of random variate <img class="formulaInl" alt="$ x_i $" src="form_63.png"/> or <img class="formulaInl" alt="$ y_i $" src="form_61.png"/>. Values of 0 are ignored (i.e., they do not count towards <img class="formulaInl" alt="$ n $" src="form_11.png"/>). </td></tr>
+    <tr><td class="paramname">precision</td><td>The precision <img class="formulaInl" alt="$ \epsilon_i $" src="form_480.png"/> with which value is known. The precision determines the handling of ties. The current value <img class="formulaInl" alt="$ v_i $" src="form_481.png"/> is regarded a tie with the previous value <img class="formulaInl" alt="$ v_{i-1} $" src="form_482.png"/> if <img class="formulaInl" alt="$ v_i - \epsilon_i \leq \max_{j=1, \dots, i-1} v_j + \epsilon_j $" src="form_483.png"/>. If <code>precision</code> is negative, then it will be treated as <code>value * 2^(-52)</code>. (Note that <img class="formulaInl" alt="$ 2^{-52} $" src="form_366.png"/> is the machine epsilon for type <code>DOUBLE PRECISION</code>.)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>statistic FLOAT8</code> - statistic computed as follows. Let <img class="formulaInl" alt="$ w^+ = \sum_{i \mid x_i &gt; 0} r_i $" src="form_484.png"/> and <img class="formulaInl" alt="$ w^- = \sum_{i \mid x_i &lt; 0} r_i $" src="form_485.png"/> be the <em>signed rank sums</em> where <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ r_i = \{ j \mid |x_j| &lt; |x_i| \} + \frac{\{ j \mid |x_j| = |x_i| \} + 1}{2}. \]" src="form_486.png"/>
+</p>
+ The Wilcoxon signed-rank statistic is <img class="formulaInl" alt="$ w = \min \{ w^+, w^- \} $" src="form_487.png"/>.</li>
+<li><code>rank_sum_pos FLOAT8</code> - rank sum of all positive values, i.e., <img class="formulaInl" alt="$ w^+ $" src="form_488.png"/></li>
+<li><code>rank_sum_neg FLOAT8</code> - rank sum of all negative values, i.e., <img class="formulaInl" alt="$ w^- $" src="form_489.png"/></li>
+<li><code>num BIGINT</code> - number <img class="formulaInl" alt="$ n $" src="form_11.png"/> of non-zero values</li>
+<li><code>z_statistic FLOAT8</code> - z-statistic <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ z = \frac{w^+ - \frac{n(n+1)}{4}} {\sqrt{\frac{n(n+1)(2n+1)}{24} - \sum_{i=1}^n \frac{t_i^2 - 1}{48}}} \]" src="form_490.png"/>
+</p>
+ where <img class="formulaInl" alt="$ t_i $" src="form_389.png"/> is the number of values with absolute value equal to <img class="formulaInl" alt="$ |x_i| $" src="form_491.png"/>. The corresponding random variable is approximately standard normally distributed.</li>
+<li><code>p_value_one_sided FLOAT8</code> - One-sided p-value i.e., <img class="formulaInl" alt="$ \Pr[Z \geq z \mid \mu \leq 0] $" src="form_492.png"/>. Computed as <code>(1.0 - <a class="el" href="prob_8sql__in.html#a6c0a499faa80db26c0178f1e69cf7a50">normal_cdf</a>(z_statistic))</code>.</li>
+<li><code>p_value_two_sided FLOAT8</code> - Two-sided p-value, i.e., <img class="formulaInl" alt="$ \Pr[ |Z| \geq |z| \mid \mu = 0] $" src="form_493.png"/>. Computed as <code>(2 * <a class="el" href="prob_8sql__in.html#a6c0a499faa80db26c0178f1e69cf7a50">normal_cdf</a>(-abs(z_statistic)))</code>.</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>One-sample test: Test null hypothesis that the mean of a sample is at most (or equal to, respectively) <img class="formulaInl" alt="$ \mu_0 $" src="form_413.png"/>: <pre>SELECT (wsr_test(<em>value</em> - <em>mu_0</em> ORDER BY abs(<em>value</em>))).* FROM <em>source</em></pre></li>
+<li>Dependent paired test: Test null hypothesis that the mean difference between the first and second value in a pair is at most (or equal to, respectively) <img class="formulaInl" alt="$ \mu_0 $" src="form_413.png"/>: <pre>SELECT (wsr_test(<em>first</em> - <em>second</em> - <em>mu_0</em> ORDER BY abs(<em>first</em> - <em>second</em>))).* FROM <em>source</em></pre> If correctly determining ties is important (e.g., you may want to do so when comparing to software products that take <code>first</code>, <code>second</code>, and <code>mu_0</code> as individual parameters), supply the precision parameter. This can be done as follows: <pre>SELECT (wsr_test(
+    <em>first</em> - <em>second</em> - <em>mu_0</em>,
+    3 * 2^(-52) * greatest(first, second, mu_0)
+    ORDER BY abs(<em>first</em> - <em>second</em>)
+)).* FROM <em>source</em></pre> Here <img class="formulaInl" alt="$ 2^{-52} $" src="form_366.png"/> is the machine epsilon, which we scale to the magnitude of the input data and multiply with 3 because we have a sum with three terms.</li>
+</ul>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This aggregate must be used as an ordered aggregate (<code>ORDER BY abs(<em>value</code></em>)) and will raise an exception if the absolute values are not ordered. </dd></dl>
+
+</div>
+</div>
+<a id="ac97c5f5015790b59645d69858e127645"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac97c5f5015790b59645d69858e127645">&#9670;&nbsp;</a></span>t_test_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] t_test_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a14fdcfa276fd1a7ea2e3adb41ebe7db4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a14fdcfa276fd1a7ea2e3adb41ebe7db4">&#9670;&nbsp;</a></span>t_test_one()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] t_test_one </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Given realizations <img class="formulaInl" alt="$ x_1, \dots, x_n $" src="form_184.png"/> of i.i.d. random variables <img class="formulaInl" alt="$ X_1, \dots, X_n \sim N(\mu, \sigma^2) $" src="form_403.png"/> with unknown parameters <img class="formulaInl" alt="$ \mu $" src="form_288.png"/> and <img class="formulaInl" alt="$ \sigma^2 $" src="form_306.png"/>, test the null hypotheses <img class="formulaInl" alt="$ H_0 : \mu \leq 0 $" src="form_404.png"/> and <img class="formulaInl" alt="$ H_0 : \mu = 0 $" src="form_405.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">value</td><td>Value of random variate <img class="formulaInl" alt="$ x_i $" src="form_63.png"/></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value as follows. We denote by <img class="formulaInl" alt="$ \bar x $" src="form_406.png"/> the sample mean and by <img class="formulaInl" alt="$ s^2 $" src="form_407.png"/> the sample variance.<ul>
+<li><code>statistic FLOAT8</code> - Statistic <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ t = \frac{\sqrt n \cdot \bar x}{s} \]" src="form_408.png"/>
+</p>
+ The corresponding random variable is Student-t distributed with <img class="formulaInl" alt="$ (n - 1) $" src="form_409.png"/> degrees of freedom.</li>
+<li><code>df FLOAT8</code> - Degrees of freedom <img class="formulaInl" alt="$ (n - 1) $" src="form_409.png"/></li>
+<li><code>p_value_one_sided FLOAT8</code> - Lower bound on one-sided p-value. In detail, the result is <img class="formulaInl" alt="$ \Pr[\bar X \geq \bar x \mid \mu = 0] $" src="form_410.png"/>, which is a lower bound on <img class="formulaInl" alt="$ \Pr[\bar X \geq \bar x \mid \mu \leq 0] $" src="form_411.png"/>. Computed as <code>(1.0 - <a class="el" href="prob_8sql__in.html#a5322531131074c23a2dbf067ee504ef7">students_t_cdf</a>(statistic))</code>.</li>
+<li><code>p_value_two_sided FLOAT8</code> - Two-sided p-value, i.e., <img class="formulaInl" alt="$ \Pr[ |\bar X| \geq |\bar x| \mid \mu = 0] $" src="form_412.png"/>. Computed as <code>(2 * <a class="el" href="prob_8sql__in.html#a5322531131074c23a2dbf067ee504ef7">students_t_cdf</a>(-abs(statistic)))</code>.</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>One-sample t-test: Test null hypothesis that the mean of a sample is at most (or equal to, respectively) <img class="formulaInl" alt="$ \mu_0 $" src="form_413.png"/>: <pre>SELECT (t_test_one(<em>value</em> - <em>mu_0</em>)).* FROM <em>source</em></pre></li>
+<li>Dependent paired t-test: Test null hypothesis that the mean difference between the first and second value in each pair is at most (or equal to, respectively) <img class="formulaInl" alt="$ \mu_0 $" src="form_413.png"/>: <pre>SELECT (t_test_one(<em>first</em> - <em>second</em> - <em>mu_0</em>)).*
+              FROM <em>source</em></pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ad570d893565618bcbbcbb01b3bb0a9b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad570d893565618bcbbcbb01b3bb0a9b9">&#9670;&nbsp;</a></span>t_test_one_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">t_test_result t_test_one_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3bd1bcc335a2da73d01b40e06f7d2eea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3bd1bcc335a2da73d01b40e06f7d2eea">&#9670;&nbsp;</a></span>t_test_one_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] t_test_one_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5c306ba8380ce6567831fef4610e515b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5c306ba8380ce6567831fef4610e515b">&#9670;&nbsp;</a></span>t_test_two_pooled()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] t_test_two_pooled </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>first</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Given realizations <img class="formulaInl" alt="$ x_1, \dots, x_n $" src="form_184.png"/> and <img class="formulaInl" alt="$ y_1, \dots, y_m $" src="form_414.png"/> of i.i.d. random variables <img class="formulaInl" alt="$ X_1, \dots, X_n \sim N(\mu_X, \sigma^2) $" src="form_415.png"/> and <img class="formulaInl" alt="$ Y_1, \dots, Y_m \sim N(\mu_Y, \sigma^2) $" src="form_416.png"/> with unknown parameters <img class="formulaInl" alt="$ \mu_X, \mu_Y, $" src="form_417.png"/> and <img class="formulaInl" alt="$ \sigma^2 $" src="form_306.png"/>, test the null hypotheses <img class="formulaInl" alt="$ H_0 : \mu_X \leq \mu_Y $" src="form_418.png"/> and <img class="formulaInl" alt="$ H_0 : \mu_X = \mu_Y $" src="form_419.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">first</td><td>Indicator whether <code>value</code> is from first sample <img class="formulaInl" alt="$ x_1, \dots, x_n $" src="form_184.png"/> (if <code>TRUE</code>) or from second sample <img class="formulaInl" alt="$ y_1, \dots, y_m $" src="form_414.png"/> (if <code>FALSE</code>) </td></tr>
+    <tr><td class="paramname">value</td><td>Value of random variate <img class="formulaInl" alt="$ x_i $" src="form_63.png"/> or <img class="formulaInl" alt="$ y_i $" src="form_61.png"/></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value as follows. We denote by <img class="formulaInl" alt="$ \bar x, \bar y $" src="form_420.png"/> the sample means and by <img class="formulaInl" alt="$ s_X^2, s_Y^2 $" src="form_421.png"/> the sample variances.<ul>
+<li><code>statistic FLOAT8</code> - Statistic <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ t = \frac{\bar x - \bar y}{s_p \sqrt{1/n + 1/m}} \]" src="form_422.png"/>
+</p>
+ where <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ s_p^2 = \frac{\sum_{i=1}^n (x_i - \bar x)^2 + \sum_{i=1}^m (y_i - \bar y)^2} {n + m - 2} \]" src="form_423.png"/>
+</p>
+ is the <em>pooled variance</em>. The corresponding random variable is Student-t distributed with <img class="formulaInl" alt="$ (n + m - 2) $" src="form_424.png"/> degrees of freedom.</li>
+<li><code>df FLOAT8</code> - Degrees of freedom <img class="formulaInl" alt="$ (n + m - 2) $" src="form_424.png"/></li>
+<li><code>p_value_one_sided FLOAT8</code> - Lower bound on one-sided p-value. In detail, the result is <img class="formulaInl" alt="$ \Pr[\bar X - \bar Y \geq \bar x - \bar y \mid \mu_X = \mu_Y] $" src="form_425.png"/>, which is a lower bound on <img class="formulaInl" alt="$ \Pr[\bar X - \bar Y \geq \bar x - \bar y \mid \mu_X \leq \mu_Y] $" src="form_426.png"/>. Computed as <code>(1.0 - <a class="el" href="prob_8sql__in.html#a5322531131074c23a2dbf067ee504ef7">students_t_cdf</a>(statistic))</code>.</li>
+<li><code>p_value_two_sided FLOAT8</code> - Two-sided p-value, i.e., <img class="formulaInl" alt="$ \Pr[ |\bar X - \bar Y| \geq |\bar x - \bar y| \mid \mu_X = \mu_Y] $" src="form_427.png"/>. Computed as <code>(2 * <a class="el" href="prob_8sql__in.html#a5322531131074c23a2dbf067ee504ef7">students_t_cdf</a>(-abs(statistic)))</code>.</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Two-sample pooled t-test: Test null hypothesis that the mean of the first sample is at most (or equal to, respectively) the mean of the second sample: <pre>SELECT (t_test_pooled(<em>first</em>, <em>value</em>)).* FROM <em>source</em></pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a0a0a8a579bbf0f0d1efcbf62223e3431"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0a0a8a579bbf0f0d1efcbf62223e3431">&#9670;&nbsp;</a></span>t_test_two_pooled_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">t_test_result t_test_two_pooled_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1a835d80d1846a10a2c25b91ce81c6d2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1a835d80d1846a10a2c25b91ce81c6d2">&#9670;&nbsp;</a></span>t_test_two_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] t_test_two_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>first</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac50750a0e0797ce24af1dc479b9699e1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac50750a0e0797ce24af1dc479b9699e1">&#9670;&nbsp;</a></span>t_test_two_unpooled()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] t_test_two_unpooled </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>first</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Given realizations <img class="formulaInl" alt="$ x_1, \dots, x_n $" src="form_184.png"/> and <img class="formulaInl" alt="$ y_1, \dots, y_m $" src="form_414.png"/> of i.i.d. random variables <img class="formulaInl" alt="$ X_1, \dots, X_n \sim N(\mu_X, \sigma_X^2) $" src="form_428.png"/> and <img class="formulaInl" alt="$ Y_1, \dots, Y_m \sim N(\mu_Y, \sigma_Y^2) $" src="form_429.png"/> with unknown parameters <img class="formulaInl" alt="$ \mu_X, \mu_Y, \sigma_X^2, $" src="form_430.png"/> and <img class="formulaInl" alt="$ \sigma_Y^2 $" src="form_431.png"/>, test the null hypotheses <img class="formulaInl" alt="$ H_0 : \mu_X \leq \mu_Y $" src="form_418.png"/> and <img class="formulaInl" alt="$ H_0 : \mu_X = \mu_Y $" src="form_419.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">first</td><td>Indicator whether <code>value</code> is from first sample <img class="formulaInl" alt="$ x_1, \dots, x_n $" src="form_184.png"/> (if <code>TRUE</code>) or from second sample <img class="formulaInl" alt="$ y_1, \dots, y_m $" src="form_414.png"/> (if <code>FALSE</code>) </td></tr>
+    <tr><td class="paramname">value</td><td>Value of random variate <img class="formulaInl" alt="$ x_i $" src="form_63.png"/> or <img class="formulaInl" alt="$ y_i $" src="form_61.png"/></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value as follows. We denote by <img class="formulaInl" alt="$ \bar x, \bar y $" src="form_420.png"/> the sample means and by <img class="formulaInl" alt="$ s_X^2, s_Y^2 $" src="form_421.png"/> the sample variances.<ul>
+<li><code>statistic FLOAT8</code> - Statistic <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ t = \frac{\bar x - \bar y}{\sqrt{s_X^2/n + s_Y^2/m}} \]" src="form_432.png"/>
+</p>
+ The corresponding random variable is approximately Student-t distributed with <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \frac{(s_X^2 / n + s_Y^2 / m)^2}{(s_X^2 / n)^2/(n-1) + (s_Y^2 / m)^2/(m-1)} \]" src="form_433.png"/>
+</p>
+ degrees of freedom (Welch–Satterthwaite formula).</li>
+<li><code>df FLOAT8</code> - Degrees of freedom (as above)</li>
+<li><code>p_value_one_sided FLOAT8</code> - Lower bound on one-sided p-value. In detail, the result is <img class="formulaInl" alt="$ \Pr[\bar X - \bar Y \geq \bar x - \bar y \mid \mu_X = \mu_Y] $" src="form_425.png"/>, which is a lower bound on <img class="formulaInl" alt="$ \Pr[\bar X - \bar Y \geq \bar x - \bar y \mid \mu_X \leq \mu_Y] $" src="form_426.png"/>. Computed as <code>(1.0 - <a class="el" href="prob_8sql__in.html#a5322531131074c23a2dbf067ee504ef7">students_t_cdf</a>(statistic))</code>.</li>
+<li><code>p_value_two_sided FLOAT8</code> - Two-sided p-value, i.e., <img class="formulaInl" alt="$ \Pr[ |\bar X - \bar Y| \geq |\bar x - \bar y| \mid \mu_X = \mu_Y] $" src="form_427.png"/>. Computed as <code>(2 * <a class="el" href="prob_8sql__in.html#a5322531131074c23a2dbf067ee504ef7">students_t_cdf</a>(-abs(statistic)))</code>.</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Two-sample unpooled t-test: Test null hypothesis that the mean of the first sample is at most (or equal to, respectively) the mean of the second sample: <pre>SELECT (t_test_unpooled(<em>first</em>, <em>value</em>)).* FROM <em>source</em></pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a8fe7f38d29bf835718adca811e36f15a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8fe7f38d29bf835718adca811e36f15a">&#9670;&nbsp;</a></span>t_test_two_unpooled_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">t_test_result t_test_two_unpooled_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8f0431ace27ac78e9e1df9906f1f1c33"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8f0431ace27ac78e9e1df9906f1f1c33">&#9670;&nbsp;</a></span>wsr_test_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">wsr_test_result wsr_test_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0d85654832dfa961cd13526c052642f3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0d85654832dfa961cd13526c052642f3">&#9670;&nbsp;</a></span>wsr_test_transition() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] wsr_test_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>precision</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Given realizations <img class="formulaInl" alt="$ x_1, \dots, x_m $" src="form_434.png"/> and <img class="formulaInl" alt="$ y_1, \dots, y_m $" src="form_414.png"/> of i.i.d. random variables <img class="formulaInl" alt="$ X_1, \dots, X_m $" src="form_459.png"/> and i.i.d. <img class="formulaInl" alt="$ Y_1, \dots, Y_n $" src="form_460.png"/>, respectively, test the null hypothesis that the underlying distributions are equal, i.e., <img class="formulaInl" alt="$ H_0 : \forall i,j: \Pr[X_i &gt; Y_j] + \frac{\Pr[X_i = Y_j]}{2} = \frac 12 $" src="form_470.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">first</td><td>Determines whether the value belongs to the first (if <code>TRUE</code>) or the second sample (if <code>FALSE</code>) </td></tr>
+    <tr><td class="paramname">value</td><td>Value of random variate <img class="formulaInl" alt="$ x_i $" src="form_63.png"/> or <img class="formulaInl" alt="$ y_i $" src="form_61.png"/></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value.<ul>
+<li><code>statistic FLOAT8</code> - Statistic <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ z = \frac{u - \bar x}{\sqrt{\frac{mn(m+n+1)}{12}}} \]" src="form_471.png"/>
+</p>
+ where <img class="formulaInl" alt="$ u $" src="form_472.png"/> is the u-statistic computed as follows. The z-statistic is approximately standard normally distributed.</li>
+<li><code>u_statistic FLOAT8</code> - Statistic <img class="formulaInl" alt="$ u = \min \{ u_x, u_y \} $" src="form_473.png"/> where <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ u_x = mn + \binom{m+1}{2} - \sum_{i=1}^m r_{x,i} \]" src="form_474.png"/>
+</p>
+ where <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ r_{x,i} = \{ j \mid x_j &lt; x_i \} + \{ j \mid y_j &lt; x_i \} + \frac{\{ j \mid x_j = x_i \} + \{ j \mid y_j = x_i \} + 1}{2} \]" src="form_475.png"/>
+</p>
+ is defined as the rank of <img class="formulaInl" alt="$ x_i $" src="form_63.png"/> in the combined list of all <img class="formulaInl" alt="$ m+n $" src="form_476.png"/> observations. For ties, the average rank of all equal values is used.</li>
+<li><code>p_value_one_sided FLOAT8</code> - Approximate one-sided p-value, i.e., an approximate value for <img class="formulaInl" alt="$ \Pr[Z \geq z \mid H_0] $" src="form_477.png"/>. Computed as <code>(1.0 - <a class="el" href="prob_8sql__in.html#a6c0a499faa80db26c0178f1e69cf7a50">normal_cdf</a>(z_statistic))</code>.</li>
+<li><code>p_value_two_sided FLOAT8</code> - Approximate two-sided p-value, i.e., an approximate value for <img class="formulaInl" alt="$ \Pr[|Z| \geq |z| \mid H_0] $" src="form_478.png"/>. Computed as <code>(2 * <a class="el" href="prob_8sql__in.html#a6c0a499faa80db26c0178f1e69cf7a50">normal_cdf</a>(-abs(z_statistic)))</code>.</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Test null hypothesis that two samples stem from the same distribution: <pre>SELECT (mw_test(<em>first</em>, <em>value</em> ORDER BY <em>value</em>)).* FROM <em>source</em></pre></li>
+</ul>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This aggregate must be used as an ordered aggregate (<code>ORDER BY <em>value</code></em>) and will raise an exception if values are not ordered. </dd></dl>
+
+</div>
+</div>
+<a id="a4093de00ab033f4900ce186d481fa012"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4093de00ab033f4900ce186d481fa012">&#9670;&nbsp;</a></span>wsr_test_transition() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] wsr_test_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_997c3e15c9d18078f134bb6226e9c9a5.html">stats</a></li><li class="navelem"><a class="el" href="hypothesis__tests_8sql__in.html">hypothesis_tests.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/index.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/index.html b/docs/v1.11/index.html
new file mode 100644
index 0000000..9afcc61
--- /dev/null
+++ b/docs/v1.11/index.html
@@ -0,0 +1,139 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Main Page</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('index.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">MADlib Documentation</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><p>Apache MADlib (incubating) is an open-source library for scalable in-database analytics. It provides data-parallel implementations of mathematical, statistical and machine learning methods for structured and unstructured data.</p>
+<p>The MADlib mission: to foster widespread development of scalable analytic skills, by harnessing efforts from commercial practice, academic research, and open-source development.</p>
+<p>Useful links: </p><ul>
+<li>
+<a href="http://madlib.incubator.apache.org">MADlib web site</a> </li>
+<li>
+<a href="https://cwiki.apache.org/confluence/display/MADLIB">MADlib wiki</a> </li>
+<li>
+<a href="https://issues.apache.org/jira/browse/MADLIB/">JIRAs for reporting bugs and reviewing backlog</a> </li>
+<li>
+<a href="https://mail-archives.apache.org/mod_mbox/incubator-madlib-user/">User mailing list</a> </li>
+<li>
+<a href="https://mail-archives.apache.org/mod_mbox/incubator-madlib-dev/">Dev mailing list</a> </li>
+<li>
+User documentation for earlier releases: <a href="../v1.10.0/index.html">v1.10.0</a>, <a href="../v1.9.1/index.html">v1.9.1</a>, <a href="../v1.9/index.html">v1.9</a>, <a href="../v1.8/index.html">v1.8</a>, <a href="../v1.7.1/index.html">v1.7.1</a>, <a href="../v1.7/index.html">v1.7</a>, <a href="../v1.6/index.html">v1.6</a>, <a href="../v1.5/index.html">v1.5</a>, <a href="../v1.4/index.html">v1.4</a>, <a href="../v1.3/index.html">v1.3</a>, <a href="../v1.2/index.html">v1.2</a>  </li>
+</ul>
+<p>Please refer to the <a href="https://github.com/apache/incubator-madlib/blob/master/README.md">ReadMe</a> file for information about incorporated third-party material. License information regarding MADlib and included third-party libraries can be found inside the <a href="https://github.com/apache/incubator-madlib/blob/master/LICENSE">License</a> directory. </p>
+</div></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[07/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/linear_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/linear_8sql__in.html b/docs/v1.11/linear_8sql__in.html
new file mode 100644
index 0000000..9a453ab
--- /dev/null
+++ b/docs/v1.11/linear_8sql__in.html
@@ -0,0 +1,699 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: linear.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('linear_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">linear.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for linear regression.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ad0175a9ecc455d9679f7d251af264848"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#ad0175a9ecc455d9679f7d251af264848">linregr_train</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, varchar grouping_cols, boolean heteroskedasticity_option)</td></tr>
+<tr class="memdesc:ad0175a9ecc455d9679f7d251af264848"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linear regression training function with grouping support.  <a href="#ad0175a9ecc455d9679f7d251af264848">More...</a><br /></td></tr>
+<tr class="separator:ad0175a9ecc455d9679f7d251af264848"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac807cf4749db37b6fc7be24c2db10d96"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#ac807cf4749db37b6fc7be24c2db10d96">linregr_train</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, varchar grouping_cols)</td></tr>
+<tr class="separator:ac807cf4749db37b6fc7be24c2db10d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71fb4a634f3145d0369879c931e0f16e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a71fb4a634f3145d0369879c931e0f16e">linregr_train</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname)</td></tr>
+<tr class="separator:a71fb4a634f3145d0369879c931e0f16e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1469685d518752784080c0b2811c9a81"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a1469685d518752784080c0b2811c9a81">linregr_train</a> ()</td></tr>
+<tr class="separator:a1469685d518752784080c0b2811c9a81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f8e25203a2b3a9d0fd332a539972292"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a5f8e25203a2b3a9d0fd332a539972292">linregr_train</a> (varchar message)</td></tr>
+<tr class="separator:a5f8e25203a2b3a9d0fd332a539972292"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2b87a3e60272176bfa2fb859f99461a"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#aa2b87a3e60272176bfa2fb859f99461a">linregr_transition</a> (bytea8 state, float8 y, float8[] x)</td></tr>
+<tr class="separator:aa2b87a3e60272176bfa2fb859f99461a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a042536820ffbad498a4e1c410f949e35"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a042536820ffbad498a4e1c410f949e35">linregr_merge_states</a> (bytea8 state1, bytea8 state2)</td></tr>
+<tr class="separator:a042536820ffbad498a4e1c410f949e35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a28b69254ba5cd513b35ba6b17efd2c35"><td class="memItemLeft" align="right" valign="top">linregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a28b69254ba5cd513b35ba6b17efd2c35">linregr_final</a> (bytea8 state)</td></tr>
+<tr class="separator:a28b69254ba5cd513b35ba6b17efd2c35"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a583204053716bbece6321f5d9332b1"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a4a583204053716bbece6321f5d9332b1">hetero_linregr_transition</a> (bytea8 state, float8 y, float8[] x, float8[] coef)</td></tr>
+<tr class="separator:a4a583204053716bbece6321f5d9332b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad10649c8460c337a285cf20f2b87d0c5"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#ad10649c8460c337a285cf20f2b87d0c5">hetero_linregr_merge_states</a> (bytea8 state1, bytea8 state2)</td></tr>
+<tr class="separator:ad10649c8460c337a285cf20f2b87d0c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4b2e38f45a8e519af5947fcc2eb02829"><td class="memItemLeft" align="right" valign="top">heteroskedasticity_test_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a4b2e38f45a8e519af5947fcc2eb02829">hetero_linregr_final</a> (bytea8 state)</td></tr>
+<tr class="separator:a4b2e38f45a8e519af5947fcc2eb02829"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5fcd1daa9796dccf5430929c37ea0ee9"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a5fcd1daa9796dccf5430929c37ea0ee9">linregr</a> (float8 dependentVariable, float8[] independentVariables)</td></tr>
+<tr class="memdesc:a5fcd1daa9796dccf5430929c37ea0ee9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute linear regression coefficients and diagnostic statistics.  <a href="#a5fcd1daa9796dccf5430929c37ea0ee9">More...</a><br /></td></tr>
+<tr class="separator:a5fcd1daa9796dccf5430929c37ea0ee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d36a88e06a31753f4045a6c4539ca10"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a6d36a88e06a31753f4045a6c4539ca10">heteroskedasticity_test_linregr</a> (float8 dependentVariable, float8[] independentVariables, float8[] olsCoefficients)</td></tr>
+<tr class="memdesc:a6d36a88e06a31753f4045a6c4539ca10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute studentized Breuch-Pagan heteroskedasticity test for linear regression.  <a href="#a6d36a88e06a31753f4045a6c4539ca10">More...</a><br /></td></tr>
+<tr class="separator:a6d36a88e06a31753f4045a6c4539ca10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8da0030683d5931b93e5f2bee3fd0544"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a8da0030683d5931b93e5f2bee3fd0544">linregr_predict</a> (float8[] coef, float8[] col_ind_var)</td></tr>
+<tr class="memdesc:a8da0030683d5931b93e5f2bee3fd0544"><td class="mdescLeft">&#160;</td><td class="mdescRight">Predict the boolean value of a dependent variable for a specific independent variable value in a linear regression model.  <a href="#a8da0030683d5931b93e5f2bee3fd0544">More...</a><br /></td></tr>
+<tr class="separator:a8da0030683d5931b93e5f2bee3fd0544"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98442804f12e5489dedf0ada2d8c273e"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a98442804f12e5489dedf0ada2d8c273e">linregr_predict</a> (text message)</td></tr>
+<tr class="separator:a98442804f12e5489dedf0ada2d8c273e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1cf80cdbcabf4ba83b128c08bc804ca5"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html#a1cf80cdbcabf4ba83b128c08bc804ca5">linregr_predict</a> ()</td></tr>
+<tr class="separator:a1cf80cdbcabf4ba83b128c08bc804ca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>January 2011</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to linear regression, see the module description <a class="el" href="group__grp__linreg.html">Linear Regression</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a4b2e38f45a8e519af5947fcc2eb02829"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4b2e38f45a8e519af5947fcc2eb02829">&#9670;&nbsp;</a></span>hetero_linregr_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">heteroskedasticity_test_result hetero_linregr_final </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad10649c8460c337a285cf20f2b87d0c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad10649c8460c337a285cf20f2b87d0c5">&#9670;&nbsp;</a></span>hetero_linregr_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 hetero_linregr_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4a583204053716bbece6321f5d9332b1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a583204053716bbece6321f5d9332b1">&#9670;&nbsp;</a></span>hetero_linregr_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 hetero_linregr_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6d36a88e06a31753f4045a6c4539ca10"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d36a88e06a31753f4045a6c4539ca10">&#9670;&nbsp;</a></span>heteroskedasticity_test_linregr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 heteroskedasticity_test_linregr </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>dependentVariable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>independentVariables</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>olsCoefficients</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dependentVariable</td><td>Column containing the dependent variable </td></tr>
+    <tr><td class="paramname">independentVariables</td><td>Column containing the array of independent variables </td></tr>
+    <tr><td class="paramname">olsCoefficients</td><td>Column containing the array of the OLS coefficients (as obtained by linregr)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section user"><dt></dt><dd>To include an intercept in the model, set one coordinate in the <code>independentVariables</code> array to 1.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>test_statistic FLOAT8[]</code> - Prob &gt; test_statistc</li>
+<li><code>p_value FLOAT8[]</code> - Prob &gt; test_statistc</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><pre> SELECT (heteoskedasticity_test_linregr(<em>dependentVariable</em>,
+ <em>independentVariables</em>, coef)).*
+ FROM (
+   SELECT linregr(<em>dependentVariable</em>, <em>independentVariables</em>).coef
+ ) AS ols_coef, <em>sourceName</em> as src;
+</pre> </dd></dl>
+
+</div>
+</div>
+<a id="a5fcd1daa9796dccf5430929c37ea0ee9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5fcd1daa9796dccf5430929c37ea0ee9">&#9670;&nbsp;</a></span>linregr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 linregr </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>dependentVariable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>independentVariables</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dependentVariable</td><td>Column containing the dependent variable </td></tr>
+    <tr><td class="paramname">independentVariables</td><td>Column containing the array of independent variables</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section user"><dt></dt><dd>To include an intercept in the model, set one coordinate in the <code>independentVariables</code> array to 1.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>coef FLOAT8[]</code> - Array of coefficients, <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/></li>
+<li><code>r2 FLOAT8</code> - Coefficient of determination, <img class="formulaInl" alt="$ R^2 $" src="form_337.png"/></li>
+<li><code>std_err FLOAT8[]</code> - Array of standard errors, <img class="formulaInl" alt="$ \mathit{se}(c_1), \dots, \mathit{se}(c_k) $" src="form_350.png"/></li>
+<li><code>t_stats FLOAT8[]</code> - Array of t-statistics, <img class="formulaInl" alt="$ \boldsymbol t $" src="form_351.png"/></li>
+<li><code>p_values FLOAT8[]</code> - Array of p-values, <img class="formulaInl" alt="$ \boldsymbol p $" src="form_352.png"/></li>
+<li><code>condition_no FLOAT8</code> - The condition number of matrix <img class="formulaInl" alt="$ X^T X $" src="form_353.png"/>.</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Get vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/> and all diagnostic statistics:<br />
+ <pre>SELECT (linregr(<em>dependentVariable</em>,
+        <em>independentVariables</em>)).*
+FROM <em>sourceName</em>;</pre></li>
+<li>Get vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/>:<br />
+ <pre>SELECT (linregr(<em>dependentVariable</em>,
+        <em>independentVariables</em>)).coef
+FROM <em>sourceName</em>;</pre></li>
+<li>Get a subset of the output columns, e.g., only the array of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/>, the coefficient of determination <img class="formulaInl" alt="$ R^2 $" src="form_337.png"/>, and the array of p-values <img class="formulaInl" alt="$ \boldsymbol p $" src="form_352.png"/>: <pre>SELECT (lr).coef, (lr).r2, (lr).p_values
+FROM (
+    SELECT linregr( <em>dependentVariable</em>,
+                    <em>independentVariables</em>) AS lr
+    FROM <em>sourceName</em>
+) AS subq;</pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a28b69254ba5cd513b35ba6b17efd2c35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a28b69254ba5cd513b35ba6b17efd2c35">&#9670;&nbsp;</a></span>linregr_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">linregr_result linregr_final </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a042536820ffbad498a4e1c410f949e35"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a042536820ffbad498a4e1c410f949e35">&#9670;&nbsp;</a></span>linregr_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 linregr_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8da0030683d5931b93e5f2bee3fd0544"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8da0030683d5931b93e5f2bee3fd0544">&#9670;&nbsp;</a></span>linregr_predict() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 linregr_predict </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">coef</td><td>Coefficients obtained by running linear regression. </td></tr>
+    <tr><td class="paramname">col_ind</td><td>Independent variable array </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>DOUBLE PRECISION Predicted value</dd></dl>
+<p>This function computes the dot product of the independent variables and the coefficients. This requires the length of the two vectors to be the same. </p>
+
+</div>
+</div>
+<a id="a98442804f12e5489dedf0ada2d8c273e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a98442804f12e5489dedf0ada2d8c273e">&#9670;&nbsp;</a></span>linregr_predict() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text linregr_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1cf80cdbcabf4ba83b128c08bc804ca5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1cf80cdbcabf4ba83b128c08bc804ca5">&#9670;&nbsp;</a></span>linregr_predict() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text linregr_predict </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad0175a9ecc455d9679f7d251af264848"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad0175a9ecc455d9679f7d251af264848">&#9670;&nbsp;</a></span>linregr_train() <span class="overload">[1/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void linregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>heteroskedasticity_option</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac807cf4749db37b6fc7be24c2db10d96"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac807cf4749db37b6fc7be24c2db10d96">&#9670;&nbsp;</a></span>linregr_train() <span class="overload">[2/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void linregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a71fb4a634f3145d0369879c931e0f16e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71fb4a634f3145d0369879c931e0f16e">&#9670;&nbsp;</a></span>linregr_train() <span class="overload">[3/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void linregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1469685d518752784080c0b2811c9a81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1469685d518752784080c0b2811c9a81">&#9670;&nbsp;</a></span>linregr_train() <span class="overload">[4/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar linregr_train </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5f8e25203a2b3a9d0fd332a539972292"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f8e25203a2b3a9d0fd332a539972292">&#9670;&nbsp;</a></span>linregr_train() <span class="overload">[5/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar linregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa2b87a3e60272176bfa2fb859f99461a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa2b87a3e60272176bfa2fb859f99461a">&#9670;&nbsp;</a></span>linregr_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 linregr_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_ff78ec617a20167dfb17882205d627df.html">regress</a></li><li class="navelem"><a class="el" href="linear_8sql__in.html">linear.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/lmf_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/lmf_8sql__in.html b/docs/v1.11/lmf_8sql__in.html
new file mode 100644
index 0000000..bd7bdb8
--- /dev/null
+++ b/docs/v1.11/lmf_8sql__in.html
@@ -0,0 +1,879 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: lmf.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('lmf_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">lmf.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for low-rank matrix factorization.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a187574cfe85888b29d6b1658554e7507"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#a187574cfe85888b29d6b1658554e7507">lmf_igd_transition</a> (float8[] state, integer row_num, integer column_num, float8 val, float8[] previous_state, integer row_dim, integer column_dim, integer max_rank, float8 stepsize, float8 scale_factor)</td></tr>
+<tr class="separator:a187574cfe85888b29d6b1658554e7507"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3bb16a76a927e1e59420d4a8e13012f"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#ae3bb16a76a927e1e59420d4a8e13012f">lmf_igd_merge</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:ae3bb16a76a927e1e59420d4a8e13012f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a298f46c944cd6813b0360514bf8c9ed1"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#a298f46c944cd6813b0360514bf8c9ed1">lmf_igd_final</a> (float8[] state)</td></tr>
+<tr class="separator:a298f46c944cd6813b0360514bf8c9ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54d2ca2048d9a0c29d5593530b932a23"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#a54d2ca2048d9a0c29d5593530b932a23">lmf_igd_step</a> (integer row_num, integer column_num, float8 val, float8[] previous_state, integer row_dim, integer column_dim, integer max_rank, float8 stepsize, float8 scale_factor)</td></tr>
+<tr class="separator:a54d2ca2048d9a0c29d5593530b932a23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05860ded070a214128e0b4e64c9c989e"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#a05860ded070a214128e0b4e64c9c989e">internal_lmf_igd_distance</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a05860ded070a214128e0b4e64c9c989e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8dede6aa8d024f0bb9acca9a83dfd579"><td class="memItemLeft" align="right" valign="top">lmf_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#a8dede6aa8d024f0bb9acca9a83dfd579">internal_lmf_igd_result</a> (float8[] state)</td></tr>
+<tr class="separator:a8dede6aa8d024f0bb9acca9a83dfd579"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aea3df2d68e7a289da928b8a584ac719e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#aea3df2d68e7a289da928b8a584ac719e">internal_execute_using_lmf_igd_args</a> (varchar sql, integer, integer, integer, float8, float8, integer, float8)</td></tr>
+<tr class="separator:aea3df2d68e7a289da928b8a584ac719e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae221f5f5b2f670a93c00202b251857d"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#aae221f5f5b2f670a93c00202b251857d">internal_compute_lmf_igd</a> (varchar rel_args, varchar rel_state, varchar rel_source, varchar col_row, varchar col_column, varchar col_value)</td></tr>
+<tr class="separator:aae221f5f5b2f670a93c00202b251857d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1acb1f0e1f7008118f21c83546a4602"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#ac1acb1f0e1f7008118f21c83546a4602">lmf_igd_run</a> (varchar rel_output, regclass rel_source, varchar col_row, varchar col_column, varchar col_value, integer row_dim=&quot;SELECT max(col_row) FROM rel_source&quot;, integer column_dim=&quot;SELECT max(col_col) FROM rel_source&quot;, integer max_rank=20, float8 stepsize=0.01, float8 scale_factor=0.1, integer num_iterations=10, float8 tolerance=0.0001)</td></tr>
+<tr class="memdesc:ac1acb1f0e1f7008118f21c83546a4602"><td class="mdescLeft">&#160;</td><td class="mdescRight">Low-rank matrix factorization of a incomplete matrix into two factors.  <a href="#ac1acb1f0e1f7008118f21c83546a4602">More...</a><br /></td></tr>
+<tr class="separator:ac1acb1f0e1f7008118f21c83546a4602"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a917cb41e439c6786f91a27463dca0732"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#a917cb41e439c6786f91a27463dca0732">lmf_igd_run</a> (varchar rel_output, regclass rel_source, varchar col_row, varchar col_column, varchar col_value, integer row_dim, integer column_dim, integer max_rank, float8 stepsize, float8 scale_factor)</td></tr>
+<tr class="separator:a917cb41e439c6786f91a27463dca0732"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b18ea9dd016d109a5c001762394e788"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#a9b18ea9dd016d109a5c001762394e788">lmf_igd_run</a> (varchar rel_output, regclass rel_source, varchar col_row, varchar col_column, varchar col_value, integer row_dim, integer column_dim, integer max_rank, float8 stepsize)</td></tr>
+<tr class="separator:a9b18ea9dd016d109a5c001762394e788"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c5c2d04936ac341e8c054237266938b"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#a0c5c2d04936ac341e8c054237266938b">lmf_igd_run</a> (varchar rel_output, regclass rel_source, varchar col_row, varchar col_column, varchar col_value, integer row_dim, integer column_dim, integer max_rank)</td></tr>
+<tr class="separator:a0c5c2d04936ac341e8c054237266938b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acaeef70cbcad01aadbad6fbce81d42fb"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html#acaeef70cbcad01aadbad6fbce81d42fb">lmf_igd_run</a> (varchar rel_output, regclass rel_source, varchar col_row, varchar col_column, text col_value)</td></tr>
+<tr class="separator:acaeef70cbcad01aadbad6fbce81d42fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>June 2012</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to Low-rank Matrix Factorization, see the module description <a class="el" href="group__grp__lmf.html">Low-rank Matrix Factorization</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="aae221f5f5b2f670a93c00202b251857d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aae221f5f5b2f670a93c00202b251857d">&#9670;&nbsp;</a></span>internal_compute_lmf_igd()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer internal_compute_lmf_igd </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_args</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_row</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aea3df2d68e7a289da928b8a584ac719e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea3df2d68e7a289da928b8a584ac719e">&#9670;&nbsp;</a></span>internal_execute_using_lmf_igd_args()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void internal_execute_using_lmf_igd_args </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>sql</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a05860ded070a214128e0b4e64c9c989e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a05860ded070a214128e0b4e64c9c989e">&#9670;&nbsp;</a></span>internal_lmf_igd_distance()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 internal_lmf_igd_distance </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8dede6aa8d024f0bb9acca9a83dfd579"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8dede6aa8d024f0bb9acca9a83dfd579">&#9670;&nbsp;</a></span>internal_lmf_igd_result()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">lmf_result internal_lmf_igd_result </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a298f46c944cd6813b0360514bf8c9ed1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a298f46c944cd6813b0360514bf8c9ed1">&#9670;&nbsp;</a></span>lmf_igd_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] lmf_igd_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae3bb16a76a927e1e59420d4a8e13012f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae3bb16a76a927e1e59420d4a8e13012f">&#9670;&nbsp;</a></span>lmf_igd_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] lmf_igd_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac1acb1f0e1f7008118f21c83546a4602"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac1acb1f0e1f7008118f21c83546a4602">&#9670;&nbsp;</a></span>lmf_igd_run() <span class="overload">[1/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer lmf_igd_run </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_output</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">regclass&#160;</td>
+          <td class="paramname"><em>rel_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_row</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_value</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em> = <code>&quot;SELECT&#160;max(col_row)&#160;FROM&#160;rel_source&quot;</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>column_dim</em> = <code>&quot;SELECT&#160;max(col_col)&#160;FROM&#160;rel_source&quot;</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_rank</em> = <code>20</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>stepsize</em> = <code>0.01</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>scale_factor</em> = <code>0.1</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num_iterations</em> = <code>10</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>tolerance</em> = <code>0.0001</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>This function takes as input the table representation of a incomplete matrix in the sparse (i, j, value) format and decomposes it into the specified set of most significant features of matrices of U and V matrix. The input matrix is expected to have dimension [1:row_dim][1:column_dim], but in sparse format.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">rel_output</td><td>Name of the table that the factors will be appended to </td></tr>
+    <tr><td class="paramname">rel_source</td><td>Name of the table/view with the source data </td></tr>
+    <tr><td class="paramname">col_row</td><td>Name of the column containing cell row number </td></tr>
+    <tr><td class="paramname">col_column</td><td>Name of the column containing cell column number </td></tr>
+    <tr><td class="paramname">col_value</td><td>Name of the column containing cell value </td></tr>
+    <tr><td class="paramname">row_dim</td><td>Maximum number of rows of input </td></tr>
+    <tr><td class="paramname">column_dim</td><td>Maximum number of columns of input </td></tr>
+    <tr><td class="paramname">max_rank</td><td>Rank of desired approximation </td></tr>
+    <tr><td class="paramname">stepsize</td><td>Hyper-parameter that decides how aggressive that the gradient steps are </td></tr>
+    <tr><td class="paramname">scale_factor</td><td>Hyper-parameter that decides scale of initial factors </td></tr>
+    <tr><td class="paramname">num_iterations</td><td>Maximum number if iterations to perform regardless of convergence </td></tr>
+    <tr><td class="paramname">tolerance</td><td>Acceptable level of error in convergence. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a917cb41e439c6786f91a27463dca0732"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a917cb41e439c6786f91a27463dca0732">&#9670;&nbsp;</a></span>lmf_igd_run() <span class="overload">[2/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer lmf_igd_run </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_output</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">regclass&#160;</td>
+          <td class="paramname"><em>rel_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_row</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_value</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>column_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_rank</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>stepsize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>scale_factor</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9b18ea9dd016d109a5c001762394e788"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9b18ea9dd016d109a5c001762394e788">&#9670;&nbsp;</a></span>lmf_igd_run() <span class="overload">[3/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer lmf_igd_run </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_output</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">regclass&#160;</td>
+          <td class="paramname"><em>rel_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_row</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_value</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>column_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_rank</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>stepsize</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0c5c2d04936ac341e8c054237266938b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c5c2d04936ac341e8c054237266938b">&#9670;&nbsp;</a></span>lmf_igd_run() <span class="overload">[4/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer lmf_igd_run </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_output</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">regclass&#160;</td>
+          <td class="paramname"><em>rel_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_row</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_value</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>column_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_rank</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="acaeef70cbcad01aadbad6fbce81d42fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acaeef70cbcad01aadbad6fbce81d42fb">&#9670;&nbsp;</a></span>lmf_igd_run() <span class="overload">[5/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer lmf_igd_run </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_output</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">regclass&#160;</td>
+          <td class="paramname"><em>rel_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_row</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>col_value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a54d2ca2048d9a0c29d5593530b932a23"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a54d2ca2048d9a0c29d5593530b932a23">&#9670;&nbsp;</a></span>lmf_igd_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] lmf_igd_step </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>column_num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>previous_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>column_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_rank</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>stepsize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>scale_factor</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a187574cfe85888b29d6b1658554e7507"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a187574cfe85888b29d6b1658554e7507">&#9670;&nbsp;</a></span>lmf_igd_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] lmf_igd_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>column_num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>val</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>previous_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>column_dim</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_rank</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>stepsize</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>scale_factor</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_450eb4b4c1b972a45a3073b4cf0d30d8.html">convex</a></li><li class="navelem"><a class="el" href="lmf_8sql__in.html">lmf.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[30/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__assoc__rules.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__assoc__rules.html b/docs/v1.11/group__grp__assoc__rules.html
new file mode 100644
index 0000000..47b5923
--- /dev/null
+++ b/docs/v1.11/group__grp__assoc__rules.html
@@ -0,0 +1,362 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Apriori Algorithm</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__assoc__rules.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Apriori Algorithm<div class="ingroups"><a class="el" href="group__grp__unsupervised.html">Unsupervised Learning</a> &raquo; <a class="el" href="group__grp__association__rules.html">Association Rules</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#rules">Rules</a> </li>
+<li>
+<a href="#algorithm">Apriori Algorithm</a> </li>
+<li>
+<a href="#syntax">Function Syntax</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#notes">Notes</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>This module implements the association rules data mining technique on a transactional data set. Given the names of a table and the columns, minimum support and confidence values, this function generates all single and multidimensional association rules that meet the minimum thresholds.</p>
+<p>Association rule mining is a widely used technique for discovering relationships between variables in a large data set (e.g., items in a store that are commonly purchased together). The classic market basket analysis example using association rules is the "beer and diapers" rule. According to data mining urban legend, a study of customer purchase behavior in a supermarket found that men often purchased beer and diapers together. After making this discovery, the managers strategically placed beer and diapers closer together on the shelves and saw a dramatic increase in sales. In addition to market basket analysis, association rules are also used in bioinformatics, web analytics, and several other fields.</p>
+<p>This type of data mining algorithm uses transactional data. Every transaction event has a unique identification, and each transaction consists of a set of items (or itemset). Purchases are considered binary (either it was purchased or not), and this implementation does not take into consideration the quantity of each item. For the MADlib association rules function, it is assumed that the data is stored in two columns with one item and transaction id per row. Transactions with multiple items will span multiple rows with one row per item.</p>
+<pre>
+    trans_id | product
+    ---------+---------
+           1 | 1
+           1 | 2
+           1 | 3
+           1 | 4
+           2 | 3
+           2 | 4
+           2 | 5
+           3 | 1
+           3 | 4
+           3 | 6
+    ...
+</pre><p><a class="anchor" id="rules"></a></p><dl class="section user"><dt>Rules</dt><dd></dd></dl>
+<p>Association rules take the form "If X, then Y", where X and Y are non-empty itemsets. X and Y are called the antecedent and consequent, or the left-hand-side and right-hand-side, of the rule respectively. Using our previous example, the association rule may state "If {diapers}, then {beer}" with .2 support and .85 confidence.</p>
+<p>The following metrics are defined for any given itemset "X".</p><ul>
+<li>Count: The number of transactions that contain X</li>
+<li>Support: The ratio of transactions that contain X to all transactions, T <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ S (X) = \frac{Total X}{Total transactions} \]" src="form_0.png"/>
+</p>
+</li>
+</ul>
+<p>Given any association rule "If X, then Y", the association rules function will also calculate the following metrics:</p><ul>
+<li>Count: The number of transactions that contain X,Y</li>
+<li>Support: The ratio of transactions that contain X,Y to all transactions, T <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ S (X \Rightarrow Y) = \frac{Total(X \cup Y)}{Total transactions} \]" src="form_1.png"/>
+</p>
+</li>
+<li>Confidence: The ratio of transactions that contain <img class="formulaInl" alt="$ X,Y $" src="form_2.png"/> to transactions that contain <img class="formulaInl" alt="$ X $" src="form_3.png"/>. One could view this metric as the conditional probability of <img class="formulaInl" alt="$ Y $" src="form_4.png"/> , given <img class="formulaInl" alt="$ X $" src="form_3.png"/> . <img class="formulaInl" alt="$ P(Y|X) $" src="form_5.png"/> <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ C (X \Rightarrow Y) = \frac{s(X \cap Y )}{s(X)} \]" src="form_6.png"/>
+</p>
+</li>
+<li>Lift: The ratio of observed support of <img class="formulaInl" alt="$ X,Y $" src="form_2.png"/> to the expected support of <img class="formulaInl" alt="$ X,Y $" src="form_2.png"/> , assuming <img class="formulaInl" alt="$ X $" src="form_3.png"/> and <img class="formulaInl" alt="$ Y $" src="form_4.png"/> are independent. <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ L (X \Rightarrow Y) = \frac{s(X \cap Y )}{s(X) \cdot s(Y)} \]" src="form_7.png"/>
+</p>
+</li>
+<li><p class="startli">Conviction: The ratio of expected support of <img class="formulaInl" alt="$ X $" src="form_3.png"/> occurring without <img class="formulaInl" alt="$ Y $" src="form_4.png"/> assuming <img class="formulaInl" alt="$ X $" src="form_3.png"/> and <img class="formulaInl" alt="$ \neg Y $" src="form_8.png"/> are independent, to the observed support of <img class="formulaInl" alt="$ X $" src="form_3.png"/> occuring without <img class="formulaInl" alt="$ Y $" src="form_4.png"/>. If conviction is greater than 1, then this metric shows that incorrect predictions ( <img class="formulaInl" alt="$ X \Rightarrow Y $" src="form_9.png"/> ) occur less often than if these two actions were independent. This metric can be viewed as the ratio that the association rule would be incorrect if the actions were independent (i.e. a conviction of 1.5 indicates that if the variables were independent, this rule would be incorrect 50% more often.)</p>
+<p class="formulaDsp">
+<img class="formulaDsp" alt="\[ Conv (X \Rightarrow Y) = \frac{1 - S(Y)}{1 - C(X \Rightarrow Y)} \]" src="form_10.png"/>
+</p>
+</li>
+</ul>
+<p><a class="anchor" id="algorithm"></a></p><dl class="section user"><dt>Apriori Algorithm</dt><dd></dd></dl>
+<p>Although there are many algorithms that generate association rules, the classic algorithm is called Apriori [1] which we have implemented in this module. It is a breadth-first search, as opposed to depth-first searches like Eclat. Frequent itemsets of order <img class="formulaInl" alt="$ n $" src="form_11.png"/> are generated from sets of order <img class="formulaInl" alt="$ n - 1 $" src="form_12.png"/>. Using the downward closure property, all sets must have frequent subsets. There are two steps in this algorithm; generating frequent itemsets, and using these itemsets to construct the association rules. A simplified version of the algorithm is as follows, and assumes a minimum level of support and confidence is provided:</p>
+<p><em>Initial</em> <em>step</em> </p><ol type="1">
+<li>Generate all itemsets of order 1.</li>
+<li>Eliminate itemsets that have support less than minimum support.</li>
+</ol>
+<p><em>Main</em> <em>algorithm</em> </p><ol type="1">
+<li>For <img class="formulaInl" alt="$ n \ge 2 $" src="form_13.png"/>, generate itemsets of order <img class="formulaInl" alt="$ n $" src="form_11.png"/> by combining the itemsets of order <img class="formulaInl" alt="$ n - 1 $" src="form_12.png"/>. This is done by doing the union of two itemsets that have identical items except one.</li>
+<li>Eliminate itemsets that have (n-1) order subsets with insufficient support.</li>
+<li>Eliminate itemsets with insufficient support.</li>
+<li>Repeat until itemsets cannot be generated, or maximum itemset size is exceeded.</li>
+</ol>
+<p><em>Association</em> <em>rule</em> <em>generation</em> </p>
+<p>Given a frequent itemset <img class="formulaInl" alt="$ A $" src="form_14.png"/> generated from the Apriori algorithm, and all subsets <img class="formulaInl" alt="$ B $" src="form_15.png"/> , we generate rules such that <img class="formulaInl" alt="$ B \Rightarrow (A - B) $" src="form_16.png"/> meets minimum confidence requirements.</p>
+<p><a class="anchor" id="syntax"></a></p><dl class="section user"><dt>Function Syntax</dt><dd>Association rules has the following syntax: <pre class="syntax">
+assoc_rules( support,
+             confidence,
+             tid_col,
+             item_col,
+             input_table,
+             output_schema,
+             verbose,
+             max_itemset_size
+           );</pre> This generates all association rules that satisfy the specified minimum <em>support</em> and <em>confidence</em>.</dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>support </dt>
+<dd><p class="startdd">Minimum level of support needed for each itemset to be included in result.</p>
+<p class="enddd"></p>
+</dd>
+<dt>confidence </dt>
+<dd><p class="startdd">Minimum level of confidence needed for each rule to be included in result.</p>
+<p class="enddd"></p>
+</dd>
+<dt>tid_col </dt>
+<dd><p class="startdd">Name of the column storing the transaction ids.</p>
+<p class="enddd"></p>
+</dd>
+<dt>item_col </dt>
+<dd><p class="startdd">Name of the column storing the products.</p>
+<p class="enddd"></p>
+</dd>
+<dt>input_table </dt>
+<dd><p class="startdd">Name of the table containing the input data.</p>
+<p>The input data is expected to be of the following form: </p><pre>{TABLE|VIEW} <em>input_table</em> (
+    <em>trans_id</em> INTEGER,
+    <em>product</em> TEXT
+)</pre><p>The algorithm maps the product names to consecutive integer ids starting at 1. If they are already structured this way, then the ids will not change. </p>
+<p class="enddd"></p>
+</dd>
+<dt>output_schema </dt>
+<dd><p class="startdd">The name of the schema where the final results will be stored. The schema must be created before calling the function. Alternatively, use <code>NULL</code> to output to the current schema.</p>
+<p>The results containing the rules, support, count, confidence, lift, and conviction are stored in the table <code>assoc_rules</code> in the schema specified by <code>output_schema</code>.</p>
+<p>The table has the following columns. </p><table class="output">
+<tr>
+<th>ruleid </th><td>integer  </td></tr>
+<tr>
+<th>pre </th><td>text  </td></tr>
+<tr>
+<th>post </th><td>text  </td></tr>
+<tr>
+<th>count </th><td>integer  </td></tr>
+<tr>
+<th>support </th><td>double  </td></tr>
+<tr>
+<th>confidence </th><td>double  </td></tr>
+<tr>
+<th>lift </th><td>double  </td></tr>
+<tr>
+<th>conviction </th><td>double  </td></tr>
+</table>
+<p>On Greenplum Database or Apache HAWQ, the table is distributed by the <code>ruleid</code> column.</p>
+<p>The <code>pre</code> and <code>post</code> columns are the itemsets of left and right hand sides of the association rule respectively. The <code>support</code>, <code>confidence</code>, <code>lift</code>, and <code>conviction</code> columns are calculated as described earlier. </p>
+<p class="enddd"></p>
+</dd>
+<dt>verbose </dt>
+<dd><p class="startdd">BOOLEAN, default: FALSE. Determines if details are printed for each iteration as the algorithm progresses.</p>
+<p class="enddd"></p>
+</dd>
+<dt>max_itemset_size </dt>
+<dd>INTEGER, default: generate itemsets of all sizes. Determines the maximum size of frequent itemsets that are used for generating association rules. Must be 2 or more. This parameter can be used to reduce run time for data sets where itemset size is large.  </dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<p>Let's look at some sample transactional data and generate association rules.</p>
+<ol type="1">
+<li>Create an input dataset: <pre class="example">
+DROP TABLE IF EXISTS test_data;
+CREATE TABLE test_data (
+    trans_id INT,
+    product TEXT
+);
+INSERT INTO test_data VALUES (1, 'beer');
+INSERT INTO test_data VALUES (1, 'diapers');
+INSERT INTO test_data VALUES (1, 'chips');
+INSERT INTO test_data VALUES (2, 'beer');
+INSERT INTO test_data VALUES (2, 'diapers');
+INSERT INTO test_data VALUES (3, 'beer');
+INSERT INTO test_data VALUES (3, 'diapers');
+INSERT INTO test_data VALUES (4, 'beer');
+INSERT INTO test_data VALUES (4, 'chips');
+INSERT INTO test_data VALUES (5, 'beer');
+INSERT INTO test_data VALUES (6, 'beer');
+INSERT INTO test_data VALUES (6, 'diapers');
+INSERT INTO test_data VALUES (6, 'chips');
+INSERT INTO test_data VALUES (7, 'beer');
+INSERT INTO test_data VALUES (7, 'diapers');
+</pre></li>
+<li>Let <img class="formulaInl" alt="$ min(support) = .25 $" src="form_17.png"/> and <img class="formulaInl" alt="$ min(confidence) = .5 $" src="form_18.png"/>, and the output schema is set to <code>NULL</code> indicating output to the current schema. In this example we set verbose to TRUE so that we have some insight into progress of the function. We can now generate association rules as follows: <pre class="example">
+SELECT * FROM madlib.assoc_rules( .25,            -- Support
+                                  .5,             -- Confidence
+                                  'trans_id',     -- Transaction id col
+                                  'product',      -- Product col
+                                  'test_data',    -- Input data
+                                  NULL,           -- Output schema
+                                  TRUE            -- Verbose output
+                                );
+</pre> Result (iteration details not shown): <pre class="result">
+ output_schema | output_table | total_rules |   total_time    
+---------------+--------------+-------------+-----------------
+ public        | assoc_rules  |           7 | 00:00:00.569254
+(1 row)
+</pre> The association rules are stored in the assoc_rules table: <pre class="example">
+SELECT * FROM assoc_rules
+ORDER BY support DESC, confidence DESC;
+</pre> Result: <pre class="result">
+ ruleid |       pre       |      post      | count |      support      |    confidence     |       lift        |    conviction     
+--------+-----------------+----------------+-------+-------------------+-------------------+-------------------+-------------------
+      2 | {diapers}       | {beer}         |     5 | 0.714285714285714 |                 1 |                 1 |                 0
+      6 | {beer}          | {diapers}      |     5 | 0.714285714285714 | 0.714285714285714 |                 1 |                 1
+      5 | {chips}         | {beer}         |     3 | 0.428571428571429 |                 1 |                 1 |                 0
+      4 | {chips,diapers} | {beer}         |     2 | 0.285714285714286 |                 1 |                 1 |                 0
+      1 | {chips}         | {diapers,beer} |     2 | 0.285714285714286 | 0.666666666666667 | 0.933333333333333 | 0.857142857142857
+      7 | {chips}         | {diapers}      |     2 | 0.285714285714286 | 0.666666666666667 | 0.933333333333333 | 0.857142857142857
+      3 | {beer,chips}    | {diapers}      |     2 | 0.285714285714286 | 0.666666666666667 | 0.933333333333333 | 0.857142857142857
+(7 rows)
+</pre></li>
+<li>Limit association rules generated from itemsets of size at most 2: <pre class="example">
+SELECT * FROM madlib.assoc_rules( .25,            -- Support
+                                  .5,             -- Confidence
+                                  'trans_id',     -- Transaction id col
+                                  'product',      -- Product col
+                                  'test_data',    -- Input data
+                                  NULL,           -- Output schema
+                                  TRUE,           -- Verbose output
+                                  2               -- Max itemset size
+                                );
+</pre> Result (iteration details not shown): <pre class="result">
+ output_schema | output_table | total_rules |   total_time    
+---------------+--------------+-------------+-----------------
+ public        | assoc_rules  |           4 | 00:00:00.565176
+(1 row)
+</pre> The association rules are again stored in the assoc_rules table: <pre class="example">
+SELECT * FROM assoc_rules
+ORDER BY support DESC, confidence DESC;
+</pre> Result: <pre class="result">
+ ruleid |    pre    |   post    | count |      support      |    confidence     |       lift        |    conviction     
+--------+-----------+-----------+-------+-------------------+-------------------+-------------------+-------------------
+      1 | {diapers} | {beer}    |     5 | 0.714285714285714 |                 1 |                 1 |                 0
+      2 | {beer}    | {diapers} |     5 | 0.714285714285714 | 0.714285714285714 |                 1 |                 1
+      3 | {chips}   | {beer}    |     3 | 0.428571428571429 |                 1 |                 1 |                 0
+      4 | {chips}   | {diapers} |     2 | 0.285714285714286 | 0.666666666666667 | 0.933333333333333 | 0.857142857142857
+(4 rows)
+</pre></li>
+<li>Post-processing can now be done on the output table in the case that you want to filter the results. For example, if you want any single item on the left hand side and a particular item on the right hand side: <pre class="example">
+SELECT * FROM assoc_rules WHERE array_upper(pre,1) = 1 AND post = array['beer'];
+</pre> Result: <pre class="result">
+ ruleid |    pre    |  post  | count |      support      | confidence | lift | conviction 
+--------+-----------+--------+-------+-------------------+------------+------+------------
+      1 | {diapers} | {beer} |     5 | 0.714285714285714 |          1 |    1 |          0
+      3 | {chips}   | {beer} |     3 | 0.428571428571429 |          1 |    1 |          0
+(2 rows)
+</pre></li>
+</ol>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd></dd></dl>
+<p>The association rules function always creates a table named <code>assoc_rules</code>. Make a copy of this table before running the function again if you would like to keep multiple association rule tables.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] <a href="https://en.wikipedia.org/wiki/Apriori_algorithm">https://en.wikipedia.org/wiki/Apriori_algorithm</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="assoc__rules_8sql__in.html" title="The assoc_rules function computes association rules for a given set of data. The data is assumed to h...">assoc_rules.sql_in</a> documenting the SQL function. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__association__rules.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__association__rules.html b/docs/v1.11/group__grp__association__rules.html
new file mode 100644
index 0000000..719bc88
--- /dev/null
+++ b/docs/v1.11/group__grp__association__rules.html
@@ -0,0 +1,133 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Association Rules</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__association__rules.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Association Rules<div class="ingroups"><a class="el" href="group__grp__unsupervised.html">Unsupervised Learning</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods used to uncover interesting patterns in transactional datasets. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__assoc__rules"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__assoc__rules.html">Apriori Algorithm</a></td></tr>
+<tr class="memdesc:group__grp__assoc__rules"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes association rules for a given set of data. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__association__rules.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__association__rules.js b/docs/v1.11/group__grp__association__rules.js
new file mode 100644
index 0000000..e10c849
--- /dev/null
+++ b/docs/v1.11/group__grp__association__rules.js
@@ -0,0 +1,4 @@
+var group__grp__association__rules =
+[
+    [ "Apriori Algorithm", "group__grp__assoc__rules.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__bayes.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__bayes.html b/docs/v1.11/group__grp__bayes.html
new file mode 100644
index 0000000..aab5b5b
--- /dev/null
+++ b/docs/v1.11/group__grp__bayes.html
@@ -0,0 +1,482 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Naive Bayes Classification</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__bayes.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Naive Bayes Classification<div class="ingroups"><a class="el" href="group__grp__early__stage.html">Early Stage Development</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#train">Training Function(s)</a> </li>
+<li>
+<a href="#classify">Classify Function(s)</a> </li>
+<li>
+<a href="#probabilities">Probabilities Function(s)</a> </li>
+<li>
+<a href="#adhoc">Ad Hoc Computation</a> </li>
+<li>
+<a href="#notes">Implementation Notes</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#background">Technical Background</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><dl class="section warning"><dt>Warning</dt><dd><em> This MADlib method is still in early stage development. There may be some issues that will be addressed in a future version. Interface and implementation is subject to change. </em></dd></dl>
+<p>Naive Bayes refers to a stochastic model where all independent variables <img class="formulaInl" alt="$ a_1, \dots, a_n $" src="form_19.png"/> (often referred to as attributes in this context) independently contribute to the probability that a data point belongs to a certain class <img class="formulaInl" alt="$ c $" src="form_20.png"/>.</p>
+<p>Naives Bayes classification estimates feature probabilities and class priors using maximum likelihood or Laplacian smoothing. For numeric attributes, Gaussian smoothing can be used to estimate the feature probabilities.These parameters are then used to classify new data.</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function(s)</dt><dd></dd></dl>
+<p>For data with only categorical attributes, precompute feature probabilities and class priors using the following function:</p>
+<pre class="syntax">
+create_nb_prepared_data_tables ( trainingSource,
+                                 trainingClassColumn,
+                                 trainingAttrColumn,
+                                 numAttrs,
+                                 featureProbsName,
+                                 classPriorsName
+                               )
+</pre><p>For data containing both categorical and numeric attributes, use the following form to precompute the Gaussian parameters (mean and variance) for numeric attributes alongside the feature probabilities for categorical attributes and class priors.</p>
+<pre class="syntax">
+create_nb_prepared_data_tables ( trainingSource,
+                                 trainingClassColumn,
+                                 trainingAttrColumn,
+                                 numericAttrsColumnIndices,
+                                 numAttrs,
+                                 featureProbsName,
+                                 numericAttrParamsName,
+                                 classPriorsName
+                               )
+</pre><p>The <em>trainingSource</em> is expected to be of the following form: </p><pre>{TABLE|VIEW} <em>trainingSource</em> (
+    ...
+    <em>trainingClassColumn</em> INTEGER,
+    <em>trainingAttrColumn</em> INTEGER[] OR NUMERIC[] OR FLOAT8[],
+    ...
+)</pre><p><em>numericAttrsColumnIndices</em> should be of type TEXT, specified as an array of indices (starting from 1) in the <em>trainingAttrColumn</em> attributes-array that correspond to numeric attributes.</p>
+<p>The two output tables are:</p><ul>
+<li><em>featureProbsName</em> &ndash; stores feature probabilities</li>
+<li><em>classPriorsName</em> &ndash; stores the class priors</li>
+</ul>
+<p>In addition to the above, if the function specifying numeric attributes is used, an additional table <em>numericAttrParamsName</em> is created which stores the Gaussian parameters for the numeric attributes.</p>
+<p><a class="anchor" id="classify"></a></p><dl class="section user"><dt>Classify Function(s)</dt><dd></dd></dl>
+<p>Perform Naive Bayes classification: </p><pre class="syntax">
+create_nb_classify_view ( featureProbsName,
+                          classPriorsName,
+                          classifySource,
+                          classifyKeyColumn,
+                          classifyAttrColumn,
+                          numAttrs,
+                          destName
+                        )
+</pre><p>For data with numeric attributes, use the following version:</p>
+<pre class="syntax">
+create_nb_classify_view ( featureProbsName,
+                          classPriorsName,
+                          classifySource,
+                          classifyKeyColumn,
+                          classifyAttrColumn,
+                          numAttrs,
+                          numericAttrParamsName,
+                          destName
+                        )
+</pre><p>The <b>data to classify</b> is expected to be of the following form: </p><pre>{TABLE|VIEW} <em>classifySource</em> (
+    ...
+    <em>classifyKeyColumn</em> ANYTYPE,
+    <em>classifyAttrColumn</em> INTEGER[],
+    ...
+)</pre><p>This function creates the view <code><em>destName</em></code> mapping <em>classifyKeyColumn</em> to the Naive Bayes classification. </p><pre class="result">
+key | nb_classification
+&#160;---+------------------
+...
+</pre><p><a class="anchor" id="probabilities"></a></p><dl class="section user"><dt>Probabilities Function(s)</dt><dd></dd></dl>
+<p>Compute Naive Bayes probabilities. </p><pre class="syntax">
+create_nb_probs_view( featureProbsName,
+                      classPriorsName,
+                      classifySource,
+                      classifyKeyColumn,
+                      classifyAttrColumn,
+                      numAttrs,
+                      destName
+                    )
+</pre><p>For data with numeric attributes , use the following version:</p>
+<pre class="syntax">
+create_nb_probs_view( featureProbsName,
+                      classPriorsName,
+                      classifySource,
+                      classifyKeyColumn,
+                      classifyAttrColumn,
+                      numAttrs,
+                      numericAttrParamsName,
+                      destName
+                    )
+</pre><p>This creates the view <code><em>destName</em></code> mapping <em>classifyKeyColumn</em> and every single class to the Naive Bayes probability: </p><pre class="result">
+key | class | nb_prob
+&#160;---+-------+--------
+...
+</pre><p><a class="anchor" id="adhoc"></a></p><dl class="section user"><dt>Ad Hoc Computation Function</dt><dd></dd></dl>
+<p>With ad hoc execution (no precomputation), the functions <a class="el" href="bayes_8sql__in.html#a798402280fc6db710957ae3ab58767e0" title="Create a view with columns (key, nb_classification) ">create_nb_classify_view()</a> and <a class="el" href="bayes_8sql__in.html#a163afffd0c845d325f060f74bcf02243" title="Create view with columns (key, class, nb_prob) ">create_nb_probs_view()</a> can be used in an ad-hoc fashion without the precomputation step. In this case, replace the function arguments</p>
+<pre>'<em>featureProbsName</em>', '<em>classPriorsName</em>'</pre><p> with </p><pre>'<em>trainingSource</em>', '<em>trainingClassColumn</em>', '<em>trainingAttrColumn</em>'</pre><p> for data without any any numeric attributes and with </p><pre>'<em>trainingSource</em>', '<em>trainingClassColumn</em>', '<em>trainingAttrColumn</em>', '<em>numericAttrsColumnIndices</em>'</pre><p> for data containing numeric attributes as well.</p>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Implementation Notes</dt><dd><ul>
+<li>The probabilities computed on the platforms of PostgreSQL and Greenplum database have a small difference due to the nature of floating point computation. Usually this is not important. However, if a data point has <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ P(C=c_i \mid A) \approx P(C=c_j \mid A) \]" src="form_21.png"/>
+</p>
+ for two classes, this data point might be classified into diferent classes on PostgreSQL and Greenplum. This leads to the differences in classifications on PostgreSQL and Greenplum for some data sets, but this should not affect the quality of the results.</li>
+<li>When two classes have equal and highest probability among all classes, the classification result is an array of these two classes, but the order of the two classes is random.</li>
+<li>The current implementation of Naive Bayes classification is suitable for discontinuous (categorial) attributes as well as continuous (numeric) attributes.<br />
+For continuous data, a typical assumption, usually used for small datasets, is that the continuous values associated with each class are distributed according to a Gaussian distribution, and the probabilities <img class="formulaInl" alt="$ P(A_i = a \mid C=c) $" src="form_22.png"/> are estimated using the Gaussian Distribution formula: <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ P(A_i=a \mid C=c) = \frac{1}{\sqrt{2\pi\sigma^{2}_c}}exp\left(-\frac{(a-\mu_c)^{2}}{2\sigma^{2}_c}\right) \]" src="form_23.png"/>
+</p>
+ where <img class="formulaInl" alt="$\mu_c$" src="form_24.png"/> and <img class="formulaInl" alt="$\sigma^{2}_c$" src="form_25.png"/> are the population mean and variance of the attribute for the class <img class="formulaInl" alt="$c$" src="form_26.png"/>.<br />
+Another common technique for handling continuous values, which is better for large data sets, is to use binning to discretize the values, and convert the continuous data into categorical bins. This approach is currently not implemented.</li>
+<li>One can provide floating point data to the Naive Bayes classification function. If the corresponding attribute index is not specified in <em>numericAttrsColumnIndices</em>, floating point numbers will be used as symbolic substitutions for categorial data. In this case, the classification would work best if there are sufficient data points for each floating point attribute. However, if floating point numbers are used as continuous data without the attribute being marked as of type numeric in <em>numericAttrsColumnIndices</em>, no warning is raised and the result may not be as expected.</li>
+</ul>
+</dd></dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<p>The following is an extremely simplified example of the above option #1 which can by verified by hand.</p>
+<ol type="1">
+<li>The training and the classification data. <pre class="example">
+SELECT * FROM training;
+</pre> Result: <pre class="result">
+ id | class | attributes
+&#160;---+-------+------------
+  1 |     1 | {1,2,3}
+  2 |     1 | {1,2,1}
+  3 |     1 | {1,4,3}
+  4 |     2 | {1,2,2}
+  5 |     2 | {0,2,2}
+  6 |     2 | {0,1,3}
+(6 rows)
+</pre> <pre class="example">
+SELECT * FROM toclassify;
+</pre> Result: <pre class="result">
+ id | attributes
+&#160;---+------------
+  1 | {0,2,1}
+  2 | {1,2,3}
+(2 rows)
+</pre></li>
+<li>Precompute feature probabilities and class priors. <pre class="example">
+SELECT madlib.create_nb_prepared_data_tables( 'training',
+                                              'class',
+                                              'attributes',
+                                              3,
+                                              'nb_feature_probs',
+                                              'nb_class_priors'
+                                            );
+</pre></li>
+<li>Optionally check the contents of the precomputed tables. <pre class="example">
+SELECT * FROM nb_class_priors;
+</pre> Result: <pre class="result">
+ class | class_cnt | all_cnt
+&#160;------+-----------+---------
+     1 |         3 |       6
+     2 |         3 |       6
+(2 rows)
+</pre> <pre class="example">
+SELECT * FROM nb_feature_probs;
+</pre> Result: <pre class="result">
+ class | attr | value | cnt | attr_cnt
+&#160;------+------+-------+-----+----------
+     1 |    1 |     0 |   0 |        2
+     1 |    1 |     1 |   3 |        2
+     1 |    2 |     1 |   0 |        3
+     1 |    2 |     2 |   2 |        3
+...
+</pre></li>
+<li>Create the view with Naive Bayes classification and check the results. <pre class="example">
+SELECT madlib.create_nb_classify_view( 'nb_feature_probs',
+                                       'nb_class_priors',
+                                       'toclassify',
+                                       'id',
+                                       'attributes',
+                                       3,
+                                       'nb_classify_view_fast'
+                                     );
+&#160;
+SELECT * FROM nb_classify_view_fast;
+</pre> Result: <pre class="result">
+ key | nb_classification
+&#160;----+-------------------
+   1 | {2}
+   2 | {1}
+(2 rows)
+</pre></li>
+<li>Look at the probabilities for each class (note that we use "Laplacian smoothing"), <pre class="example">
+SELECT madlib.create_nb_probs_view( 'nb_feature_probs',
+                                    'nb_class_priors',
+                                    'toclassify',
+                                    'id',
+                                    'attributes',
+                                    3,
+                                    'nb_probs_view_fast'
+                                  );
+&#160;
+SELECT * FROM nb_probs_view_fast;
+</pre> Result: <pre class="result">
+ key | class | nb_prob
+&#160;----+-------+---------
+   1 |     1 |     0.4
+   1 |     2 |     0.6
+   2 |     1 |    0.75
+   2 |     2 |    0.25
+(4 rows)
+</pre></li>
+</ol>
+<p>The following is an example of using a dataset with both numeric and categorical attributes</p>
+<ol type="1">
+<li>The training and the classification data. Attributes {height(numeric),weight(numeric),shoe size(categorical)}, Class{sex(1=male,2=female)} <pre class="example">
+SELECT * FROM gaussian_data;
+</pre> Result: <pre class="result">
+ id | sex |  attributes   
+&#160;----+-----+---------------
+  1 |   1 | {6,180,12}
+  2 |   1 | {5.92,190,12}
+  3 |   1 | {5.58,170,11}
+  4 |   1 | {5.92,165,11}
+  5 |   2 | {5,100,6}
+  6 |   2 | {5.5,150,6}
+  7 |   2 | {5.42,130,7}
+  8 |   2 | {5.75,150,8}
+(8 rows)
+</pre> <pre class="example">
+SELECT * FROM gaussian_test;
+</pre> Result: <pre class="result">
+ id | sex |  attributes  
+----+-----+--------------
+  9 |   1 | {5.8,180,11}
+ 10 |   2 | {5,160,6}
+(2 rows)
+</pre></li>
+<li>Precompute feature probabilities and class priors. <pre class="example">
+SELECT madlib.create_nb_prepared_data_tables( 'gaussian_data',
+                                              'sex',
+                                              'attributes',
+                                              'ARRAY[1,2]',
+                                              3,
+                                              'categ_feature_probs',
+                                              'numeric_attr_params',
+                                              'class_priors'
+                                            );
+</pre></li>
+<li>Optionally check the contents of the precomputed tables. <pre class="example">
+SELECT * FROM class_priors;
+</pre> Result: <pre class="result">
+class | class_cnt | all_cnt 
+&#160;-------+-----------+---------
+     1 |         4 |       8
+     2 |         4 |       8
+(2 rows)
+</pre> <pre class="example">
+SELECT * FROM categ_feature_probs;
+</pre> Result: <pre class="result">
+ class | attr | value | cnt | attr_cnt 
+-------+------+-------+-----+----------
+     2 |    3 |     6 |   2 |        5
+     1 |    3 |    12 |   2 |        5
+     2 |    3 |     7 |   1 |        5
+     1 |    3 |    11 |   2 |        5
+     2 |    3 |     8 |   1 |        5
+     2 |    3 |    12 |   0 |        5
+     1 |    3 |     6 |   0 |        5
+     2 |    3 |    11 |   0 |        5
+     1 |    3 |     8 |   0 |        5
+     1 |    3 |     7 |   0 |        5
+(10 rows)
+</pre> <pre class="example">
+SELECT * FROM numeric_attr_params;
+</pre> Result: <pre class="result">
+class | attr |      attr_mean       |        attr_var        
+-------+------+----------------------+------------------------
+     1 |    1 |   5.8550000000000000 | 0.03503333333333333333
+     1 |    2 | 176.2500000000000000 |   122.9166666666666667
+     2 |    1 |   5.4175000000000000 | 0.09722500000000000000
+     2 |    2 | 132.5000000000000000 |   558.3333333333333333
+(4 rows)
+</pre></li>
+<li>Create the view with Naive Bayes classification and check the results. <pre class="example">
+SELECT madlib.create_nb_classify_view( 'categ_feature_probs',
+                                       'class_priors',
+                                       'gaussian_test',
+                                       'id',
+                                       'attributes',
+                                       3,
+                                       'numeric_attr_params',
+                                       'classify_view'
+                                     );
+&#160;
+SELECT * FROM classify_view;
+</pre> Result: <pre class="result">
+ key | nb_classification
+&#160;----+-------------------
+   9 | {1}
+   10 | {2}
+(2 rows)
+</pre></li>
+<li>Look at the probabilities for each class <pre class="example">
+SELECT madlib.create_nb_probs_view( 'categ_feature_probs',
+                                       'class_priors',
+                                       'gaussian_test',
+                                       'id',
+                                       'attributes',
+                                       3,
+                                       'numeric_attr_params',
+                                       'probs_view'
+                                  );
+&#160;
+SELECT * FROM probs_view;
+</pre> Result: <pre class="result">
+ key | class |       nb_prob        
+-----+-------+----------------------
+   9 |     1 |    0.993556745948775
+   9 |     2 |  0.00644325405122553
+  10 |     1 | 5.74057538627122e-05
+  10 |     2 |    0.999942594246137
+(4 rows)
+</pre></li>
+</ol>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>In detail, <b>Bayes'</b> theorem states that </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \Pr(C = c \mid A_1 = a_1, \dots, A_n = a_n) = \frac{\Pr(C = c) \cdot \Pr(A_1 = a_1, \dots, A_n = a_n \mid C = c)} {\Pr(A_1 = a_1, \dots, A_n = a_n)} \,, \]" src="form_27.png"/>
+</p>
+<p> and the <b>naive</b> assumption is that </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \Pr(A_1 = a_1, \dots, A_n = a_n \mid C = c) = \prod_{i=1}^n \Pr(A_i = a_i \mid C = c) \,. \]" src="form_28.png"/>
+</p>
+<p> Naives Bayes classification estimates feature probabilities and class priors using maximum likelihood or Laplacian smoothing. These parameters are then used to classifying new data.</p>
+<p>A Naive Bayes classifier computes the following formula: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \text{classify}(a_1, ..., a_n) = \arg\max_c \left\{ \Pr(C = c) \cdot \prod_{i=1}^n \Pr(A_i = a_i \mid C = c) \right\} \]" src="form_29.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ c $" src="form_20.png"/> ranges over all classes in the training data and probabilites are estimated with relative frequencies from the training set. There are different ways to estimate the feature probabilities <img class="formulaInl" alt="$ P(A_i = a \mid C = c) $" src="form_30.png"/>. The maximum likelihood estimate takes the relative frequencies. That is: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ P(A_i = a \mid C = c) = \frac{\#(c,i,a)}{\#c} \]" src="form_31.png"/>
+</p>
+<p> where</p><ul>
+<li><img class="formulaInl" alt="$ \#(c,i,a) $" src="form_32.png"/> denotes the # of training samples where attribute <img class="formulaInl" alt="$ i $" src="form_33.png"/> is <img class="formulaInl" alt="$ a $" src="form_34.png"/> and class is <img class="formulaInl" alt="$ c $" src="form_20.png"/></li>
+<li><img class="formulaInl" alt="$ \#c $" src="form_35.png"/> denotes the # of training samples where class is <img class="formulaInl" alt="$ c $" src="form_20.png"/>.</li>
+</ul>
+<p>Since the maximum likelihood sometimes results in estimates of "0", you might want to use a "smoothed" estimate. To do this, you add a number of "virtual" samples and make the assumption that these samples are evenly distributed among the values assumed by attribute <img class="formulaInl" alt="$ i $" src="form_33.png"/> (that is, the set of all values observed for attribute <img class="formulaInl" alt="$ a $" src="form_34.png"/> for any class):</p>
+<p class="formulaDsp">
+<img class="formulaDsp" alt="\[ P(A_i = a \mid C = c) = \frac{\#(c,i,a) + s}{\#c + s \cdot \#i} \]" src="form_36.png"/>
+</p>
+<p> where</p><ul>
+<li><img class="formulaInl" alt="$ \#i $" src="form_37.png"/> denotes the # of distinct values for attribute <img class="formulaInl" alt="$ i $" src="form_33.png"/> (for all classes)</li>
+<li><img class="formulaInl" alt="$ s \geq 0 $" src="form_38.png"/> denotes the smoothing factor.</li>
+</ul>
+<p>The case <img class="formulaInl" alt="$ s = 1 $" src="form_39.png"/> is known as "Laplace smoothing". The case <img class="formulaInl" alt="$ s = 0 $" src="form_40.png"/> trivially reduces to maximum-likelihood estimates.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] Tom Mitchell: Machine Learning, McGraw Hill, 1997. Book chapter <em>Generativ and Discriminative Classifiers: Naive Bayes and Logistic Regression</em> available at: <a href="http://www.cs.cmu.edu/~tom/NewChapters.html">http://www.cs.cmu.edu/~tom/NewChapters.html</a></p>
+<p>[2] Wikipedia, Naive Bayes classifier, <a href="http://en.wikipedia.org/wiki/Naive_Bayes_classifier">http://en.wikipedia.org/wiki/Naive_Bayes_classifier</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File <a class="el" href="bayes_8sql__in.html" title="SQL functions for naive Bayes. ">bayes.sql_in</a> documenting the SQL functions.</dd></dl>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__cg.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__cg.html b/docs/v1.11/group__grp__cg.html
new file mode 100644
index 0000000..0b279f1
--- /dev/null
+++ b/docs/v1.11/group__grp__cg.html
@@ -0,0 +1,179 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Conjugate Gradient</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__cg.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Conjugate Gradient<div class="ingroups"><a class="el" href="group__grp__early__stage.html">Early Stage Development</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#syntax">Function Syntax</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><dl class="section warning"><dt>Warning</dt><dd><em> This MADlib method is still in early stage development. There may be some issues that will be addressed in a future version. Interface and implementation is subject to change. </em></dd></dl>
+<p>This function uses the iterative conjugate gradient method [1] to find a solution to the function: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \boldsymbol Ax = \boldsymbol b \]" src="form_45.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ \boldsymbol A $" src="form_46.png"/> is a symmetric, positive definite matrix and <img class="formulaInl" alt="$x$" src="form_43.png"/> and <img class="formulaInl" alt="$ \boldsymbol b $" src="form_44.png"/> are vectors.</p>
+<p><a class="anchor" id="syntax"></a></p><dl class="section user"><dt>Function Syntax</dt><dd>Conjugate gradient returns x as an array. It has the following syntax.</dd></dl>
+<pre class="syntax">
+conjugate_gradient( table_name,
+                    name_of_row_values_col,
+                    name_of_row_number_col,
+                    aray_of_b_values,
+                    desired_precision
+                  )
+</pre><p>Matrix <img class="formulaInl" alt="$ \boldsymbol A $" src="form_46.png"/> is assumed to be stored in a table where each row consists of at least two columns: array containing values of a given row, row number: </p><pre>{TABLE|VIEW} <em>matrix_A</em> (
+    <em>row_number</em> FLOAT,
+    <em>row_values</em> FLOAT[],
+)</pre><p> The number of elements in each row should be the same.</p>
+<p><img class="formulaInl" alt="$ \boldsymbol b $" src="form_44.png"/> is passed as a FLOAT[] to the function.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd><ol type="1">
+<li>Construct matrix A according to structure. <pre class="example">
+SELECT * FROM data;
+</pre> Result: <pre class="result">
+ row_num | row_val
+&#160;--------+---------
+       1 | {2,1}
+       2 | {1,4}
+(2 rows)
+</pre></li>
+<li>Call the conjugate gradient function. <pre class="example">
+SELECT conjugate_gradient( 'data',
+                           'row_val',
+                           'row_num',
+                           '{2,1}',
+                           1E-6,1
+                         );
+</pre> <pre class="result">
+INFO:  COMPUTE RESIDUAL ERROR 14.5655661859659
+INFO:  ERROR 0.144934004246004
+INFO:  ERROR 3.12963615962926e-31
+INFO:  TEST FINAL ERROR 2.90029642185163e-29
+    conjugate_gradient
+&#160;--------------------------
+ {1,-1.31838984174237e-15}
+(1 row)
+</pre></li>
+</ol>
+</dd></dl>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd>[1] "Conjugate gradient method" Wikipedia - <a href="http://en.wikipedia.org/wiki/Conjugate_gradient_method">http://en.wikipedia.org/wiki/Conjugate_gradient_method</a></dd></dl>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File <a class="el" href="conjugate__gradient_8sql__in.html" title="SQL function computing Conjugate Gradient. ">conjugate_gradient.sql_in</a> documenting the SQL function. </dd></dl>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[21/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__mlogreg.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__mlogreg.html b/docs/v1.11/group__grp__mlogreg.html
new file mode 100644
index 0000000..887829f
--- /dev/null
+++ b/docs/v1.11/group__grp__mlogreg.html
@@ -0,0 +1,410 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Multinomial Logistic Regression</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__mlogreg.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Multinomial Logistic Regression<div class="ingroups"><a class="el" href="group__grp__deprecated.html">Deprecated Modules</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<dl class="section warning"><dt>Warning</dt><dd><em> This is an old implementation of multinomial logistic regression. Replacement of this function is available as the Multinomial regression module <a class="el" href="group__grp__multinom.html">Multinomial Regression</a></em></dd></dl>
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#predict">Prediction Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#background">Technical Background</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Multinomial logistic regression is a widely used regression analysis tool that models the outcomes of categorical dependent random variables. The model assumes that the conditional mean of the dependent categorical variables is the logistic function of an affine combination of independent variables. Multinomial logistic regression finds the vector of coefficients that maximizes the likelihood of the observations.</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd>The multinomial logistic regression training function has the following syntax: <pre class="syntax">
+mlogregr_train(source_table,
+               output_table,
+               dependent_varname,
+               independent_varname,
+               ref_category,
+               optimizer_params
+              )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the input data.</p>
+<p></p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. The name of the generated table containing the output model. The output table produced by the multinomial logistic regression training function contains the following columns: </p><table class="output">
+<tr>
+<th>category </th><td>INTEGER. The category. Categories are encoded as integers with values from {0, 1, 2,..., <em>numCategories</em> &ndash; 1}  </td></tr>
+<tr>
+<th>ref_category </th><td>INTEGER. The reference category. Categories are encoded as integers with values from {0, 1, 2,..., <em>numCategories</em> &ndash; 1}  </td></tr>
+<tr>
+<th>coef </th><td>FLOAT8[]. An array of coefficients, <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/>.   </td></tr>
+<tr>
+<th>log_likelihood </th><td>FLOAT8. The log-likelihood, <img class="formulaInl" alt="$ l(\boldsymbol c) $" src="form_80.png"/>.  </td></tr>
+<tr>
+<th>std_err </th><td>FLOAT8[]. An array of the standard errors.  </td></tr>
+<tr>
+<th>z_stats </th><td>FLOAT8[]. An array of the Wald z-statistics.  </td></tr>
+<tr>
+<th>p_values </th><td>FLOAT8[]. An array of the Wald p-values.  </td></tr>
+<tr>
+<th>odds_ratios </th><td>FLOAT8[]. An array of the odds ratios.  </td></tr>
+<tr>
+<th>condition_no </th><td>FLOAT8. The condition number of the matrix, computed using the coefficients of the iteration immediately preceding convergence.  </td></tr>
+<tr>
+<th>num_iterations </th><td>INTEGER. The number of iterations executed before the algorithm completed.  </td></tr>
+</table>
+<p>A summary table named &lt;out_table&gt;_summary is also created at the same time, and it contains the following columns:</p>
+<table class="output">
+<tr>
+<th>source_table </th><td>The data source table name.  </td></tr>
+<tr>
+<th>out_table </th><td>The output table name.  </td></tr>
+<tr>
+<th>dependent_varname </th><td>The dependent variable.  </td></tr>
+<tr>
+<th>independent_varname </th><td>The independent variables.  </td></tr>
+<tr>
+<th>optimizer_params </th><td>The optimizer parameters. It is a copy of the optimizer_params in the training function's arguments.  </td></tr>
+<tr>
+<th>ref_category </th><td>An integer, the value of reference category used.  </td></tr>
+<tr>
+<th>num_rows_processed </th><td>INTEGER. The number of rows actually processed, which is equal to the total number of rows in the source table minus the number of skipped rows.  </td></tr>
+<tr>
+<th>num_missing_rows_skipped </th><td>INTEGER. The number of rows skipped during the training. A row will be skipped if the ind_col is NULL or contains NULL values.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_varname </dt>
+<dd><p class="startdd">TEXT. The name of the column containing the dependent variable.</p>
+<p class="enddd"></p>
+</dd>
+<dt>independent_varname </dt>
+<dd><p class="startdd">TEXT. Expression list to evaluate for the independent variables. An intercept variable is not assumed. The number of independent variables cannot exceed 65535.</p>
+<p class="enddd"></p>
+</dd>
+<dt>ref_category (optional) </dt>
+<dd><p class="startdd">INTEGER, default: 0. The reference category ranges from [0, <em>numCategories</em> &ndash; 1].</p>
+<p class="enddd"></p>
+</dd>
+<dt>optimizer_params (optional) </dt>
+<dd>VARCHAR, default: NULL, which uses the default values of optimizer parameters. It should be a string that contains pairs of 'key=value' separated by commas. Supported parameters with their default values: max_iter=20, optimizer='irls', precision=1e-4. Currently, only 'irls' and 'newton' are allowed for 'optimizer'.  </dd>
+</dl>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>Table names can be optionally schema qualified and table and column names should follow the same case-sensitivity and quoting rules as in the database.</dd></dl>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd>The prediction function is provided to estimate the conditional mean given a new predictor. It has the following syntax: <pre class="syntax">
+mlogregr_predict(
+    model_table,
+    new_data_table,
+    id_col_name,
+    output_table,
+    type)
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>model_table </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the multilogistic model. This should be the output table returned from <em>mlogregr_train</em>.</p>
+<p class="enddd"></p>
+</dd>
+<dt>new_data_table </dt>
+<dd><p class="startdd">TEXT. Name of the table containing prediction data. This table is expected to contain the same features that were used during training. The table should also contain <em>id_col_name</em> used for identifying each row.</p>
+<p class="enddd"></p>
+</dd>
+<dt>id_col_name </dt>
+<dd><p class="startdd">TEXT. Name of the column containing id information in the source data. This is a mandatory argument and is used for correlating prediction table rows with the source. The values of this column are expected to be unique for each tuple. </p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. Name of the table to output prediction results to. If this table already exists then an error is returned. This output table contains the <em>id_col_name</em> column giving the 'id' for each prediction.</p>
+<p>If <em>type</em> = 'response', then the table has a single additional column with the prediction value of the response. The type of this column depends on the type of the response variable used during training.</p>
+<p>If <em>type</em> = 'prob', then the table has multiple additional columns, one for each possible category. The columns are labeled as 'estimated_prob_<em>category_value</em>', where <em>category_value</em> represents the values of categories (0 to K-1).</p>
+<p class="enddd"></p>
+</dd>
+<dt>type </dt>
+<dd><p class="startdd">TEXT, optional, default: 'response'.</p>
+<p>When <em>type</em> = 'prob', the probabilities of each category (including the reference category) is given.</p>
+<p class="enddd">When <em>type</em> = 'response', a single output is provided which represents the prediction category for each tuple. This represents the category with the highest probability.  </p>
+</dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Create the training data table. <pre class="example">
+DROP TABLE IF EXISTS test3;
+CREATE TABLE test3 (
+    feat1 INTEGER,
+    feat2 INTEGER,
+    cat INTEGER
+);
+INSERT INTO test3(feat1, feat2, cat) VALUES
+(1,35,1),
+(2,33,0),
+(3,39,1),
+(1,37,1),
+(2,31,1),
+(3,36,0),
+(2,36,1),
+(2,31,1),
+(2,41,1),
+(2,37,1),
+(1,44,1),
+(3,33,2),
+(1,31,1),
+(2,44,1),
+(1,35,1),
+(1,44,0),
+(1,46,0),
+(2,46,1),
+(2,46,2),
+(3,49,1),
+(2,39,0),
+(2,44,1),
+(1,47,1),
+(1,44,1),
+(1,37,2),
+(3,38,2),
+(1,49,0),
+(2,44,0),
+(3,61,2),
+(1,65,2),
+(3,67,1),
+(3,65,2),
+(1,65,2),
+(2,67,2),
+(1,65,2),
+(1,62,2),
+(3,52,2),
+(3,63,2),
+(2,59,2),
+(3,65,2),
+(2,59,0),
+(3,67,2),
+(3,67,2),
+(3,60,2),
+(3,67,2),
+(3,62,2),
+(2,54,2),
+(3,65,2),
+(3,62,2),
+(2,59,2),
+(3,60,2),
+(3,63,2),
+(3,65,2),
+(2,63,1),
+(2,67,2),
+(2,65,2),
+(2,62,2);
+</pre></li>
+<li>Run the multilogistic regression function. <pre class="example">
+DROP TABLE IF EXISTS test3_output;
+DROP TABLE IF EXISTS test3_output_summary;
+SELECT madlib.mlogregr_train('test3',
+                             'test3_output',
+                             'cat',
+                             'ARRAY[1, feat1, feat2]',
+                             0,
+                             'max_iter=20, optimizer=irls, precision=0.0001'
+                             );
+</pre></li>
+<li>View the result: <pre class="example">
+-- Set extended display on for easier reading of output
+\x on
+SELECT * FROM test3_output;
+</pre> Results: <pre class="result">
+-[ RECORD 1 ]--+------------------------------------------------------------
+category       | 1
+ref_category   | 0
+coef           | {1.45474045211601,0.0849956182104023,-0.0172383499601956}
+loglikelihood  | -39.14759930999
+std_err        | {2.13085072854143,0.585021661344715,0.0431487356292144}
+z_stats        | {0.682704063982831,0.145286275409074,-0.39950996729842}
+p_values       | {0.494793861210936,0.884484850387893,0.689517480964129}
+odd_ratios     | {4.28337158128448,1.08871229617973,0.982909380301134}
+condition_no   | 280069.034217586
+num_iterations | 5
+-[ RECORD 2 ]--+------------------------------------------------------------
+category       | 2
+ref_category   | 0
+coef           | {-7.12908167688326,0.87648787696783,0.127886153027713}
+loglikelihood  | -39.14759930999
+std_err        | {2.52104008297868,0.639575886323862,0.0445757462972303}
+z_stats        | {-2.82783352990566,1.37042045472615,2.86896269049475}
+p_values       | {0.00468641692252239,0.170555690550421,0.00411820373218956}
+odd_ratios     | {0.000801455044349486,2.40244718187161,1.13642361694409}
+condition_no   | 280069.034217586
+num_iterations | 5
+</pre></li>
+<li>View all parameters used during the training <pre class="example">
+\x on
+SELECT * FROM test3_output_summary;
+</pre> Results: <pre class="result">
+-[ RECORD 1 ]------------+--------------------------------------------------
+method                   | mlogregr
+source_table             | test3
+out_table                | test3_output
+dependent_varname        | cat
+independent_varname      | ARRAY[1, feat1, feat2]
+optimizer_params         | max_iter=20, optimizer=irls, precision=0.0001
+ref_category             | 0
+num_categories           | 3
+num_rows_processed       | 57
+num_missing_rows_skipped | 0
+variance_covariance      | {{4.54052482732554,3.01080140927409,-0.551901021610841,-0.380754019900586,-0.0784151362989211,-0.0510014701718268},{3.01080140927409,6.35564309998514,-0.351902272617974,-0.766730342510818,-0.051877550252329,-0.0954432017695571},{-0.551901021610841,-0.351902272617974,0.34225034424253,0.231740815080827,-0.00117521831508331,-0.00114043921343171},{-0.380754019900586,-0.766730342510818,0.231740815080827,0.409057314366954,-0.000556498286025567,-0.000404735750986327},{-0.0784151362989211,-0.051877550252329,-0.00117521831508331,-0.000556498286025569,0.00186181338639984,0.00121080293928445},{-0.0510014701718268,-0.0954432017695571,-0.00114043921343171,-0.000404735750986325,0.00121080293928446,0.00198699715795504}}
+coef                     | {{1.45474045211601,0.0849956182104023,-0.0172383499601956},{-7.12908167688326,0.87648787696783,0.127886153027713}}
+</pre></li>
+</ol>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd>Multinomial logistic regression models the outcomes of categorical dependent random variables (denoted <img class="formulaInl" alt="$ Y \in \{ 0,1,2 \ldots k \} $" src="form_94.png"/>). The model assumes that the conditional mean of the dependent categorical variables is the logistic function of an affine combination of independent variables (usually denoted <img class="formulaInl" alt="$ \boldsymbol x $" src="form_59.png"/>). That is, <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ E[Y \mid \boldsymbol x] = \sigma(\boldsymbol c^T \boldsymbol x) \]" src="form_95.png"/>
+</p>
+ for some unknown vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/> and where <img class="formulaInl" alt="$ \sigma(x) = \frac{1}{1 + \exp(-x)} $" src="form_96.png"/> is the logistic function. Multinomial logistic regression finds the vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/> that maximizes the likelihood of the observations.</dd></dl>
+<p>Let</p><ul>
+<li><img class="formulaInl" alt="$ \boldsymbol y \in \{ 0,1 \}^{n \times k} $" src="form_97.png"/> denote the vector of observed dependent variables, with <img class="formulaInl" alt="$ n $" src="form_11.png"/> rows and <img class="formulaInl" alt="$ k $" src="form_98.png"/> columns, containing the observed values of the dependent variable,</li>
+<li><img class="formulaInl" alt="$ X \in \mathbf R^{n \times k} $" src="form_99.png"/> denote the design matrix with <img class="formulaInl" alt="$ k $" src="form_98.png"/> columns and <img class="formulaInl" alt="$ n $" src="form_11.png"/> rows, containing all observed vectors of independent variables <img class="formulaInl" alt="$ \boldsymbol x_i $" src="form_100.png"/> as rows.</li>
+</ul>
+<p>By definition, </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ P[Y = y_i | \boldsymbol x_i] = \sigma((-1)^{y_i} \cdot \boldsymbol c^T \boldsymbol x_i) \,. \]" src="form_101.png"/>
+</p>
+<p> Maximizing the likelihood <img class="formulaInl" alt="$ \prod_{i=1}^n \Pr(Y = y_i \mid \boldsymbol x_i) $" src="form_102.png"/> is equivalent to maximizing the log-likelihood <img class="formulaInl" alt="$ \sum_{i=1}^n \log \Pr(Y = y_i \mid \boldsymbol x_i) $" src="form_103.png"/>, which simplifies to </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ l(\boldsymbol c) = -\sum_{i=1}^n \log(1 + \exp((-1)^{y_i} \cdot \boldsymbol c^T \boldsymbol x_i)) \,. \]" src="form_104.png"/>
+</p>
+<p> The Hessian of this objective is <img class="formulaInl" alt="$ H = -X^T A X $" src="form_105.png"/> where <img class="formulaInl" alt="$ A = \text{diag}(a_1, \dots, a_n) $" src="form_106.png"/> is the diagonal matrix with <img class="formulaInl" alt="$ a_i = \sigma(\boldsymbol c^T \boldsymbol x) \cdot \sigma(-\boldsymbol c^T \boldsymbol x) \,. $" src="form_107.png"/> Since <img class="formulaInl" alt="$ H $" src="form_108.png"/> is non-positive definite, <img class="formulaInl" alt="$ l(\boldsymbol c) $" src="form_80.png"/> is convex. There are many techniques for solving convex optimization problems. Currently, logistic regression in MADlib can use:</p><ul>
+<li>Iteratively Reweighted Least Squares</li>
+</ul>
+<p>We estimate the standard error for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> as </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \mathit{se}(c_i) = \left( (X^T A X)^{-1} \right)_{ii} \,. \]" src="form_109.png"/>
+</p>
+<p> The Wald z-statistic is </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ z_i = \frac{c_i}{\mathit{se}(c_i)} \,. \]" src="form_110.png"/>
+</p>
+<p>The Wald <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> gives the probability (under the assumptions inherent in the Wald test) of seeing a value at least as extreme as the one observed, provided that the null hypothesis ( <img class="formulaInl" alt="$ c_i = 0 $" src="form_112.png"/>) is true. Letting <img class="formulaInl" alt="$ F $" src="form_113.png"/> denote the cumulative density function of a standard normal distribution, the Wald <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> is therefore </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ p_i = \Pr(|Z| \geq |z_i|) = 2 \cdot (1 - F( |z_i| )) \]" src="form_114.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ Z $" src="form_115.png"/> is a standard normally distributed random variable.</p>
+<p>The odds ratio for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> is estimated as <img class="formulaInl" alt="$ \exp(c_i) $" src="form_116.png"/>.</p>
+<p>The condition number is computed as <img class="formulaInl" alt="$ \kappa(X^T A X) $" src="form_117.png"/> during the iteration immediately <em>preceding</em> convergence (i.e., <img class="formulaInl" alt="$ A $" src="form_14.png"/> is computed using the coefficients of the previous iteration). A large condition number (say, more than 1000) indicates the presence of significant multicollinearity.</p>
+<p>The multinomial logistic regression uses a default reference category of zero, and the regression coefficients in the output are in the order described below. For a problem with <img class="formulaInl" alt="$ K $" src="form_118.png"/> dependent variables <img class="formulaInl" alt="$ (1, ..., K) $" src="form_119.png"/> and <img class="formulaInl" alt="$ J $" src="form_120.png"/> categories <img class="formulaInl" alt="$ (0, ..., J-1) $" src="form_121.png"/>, let <img class="formulaInl" alt="$ {m_{k,j}} $" src="form_122.png"/> denote the coefficient for dependent variable <img class="formulaInl" alt="$ k $" src="form_98.png"/> and category <img class="formulaInl" alt="$ j $" src="form_123.png"/>. The output is <img class="formulaInl" alt="$ {m_{k_1, j_0}, m_{k_1, j_1} \ldots m_{k_1, j_{J-1}}, m_{k_2, j_0}, m_{k_2, j_1}, \ldots m_{k_2, j_{J-1}} \ldots m_{k_K, j_{J-1}}} $" src="form_124.png"/>. The order is NOT CONSISTENT with the multinomial regression marginal effect calculation 
 with function <em>marginal_mlogregr</em>. This is deliberate because the interfaces of all multinomial regressions (robust, clustered, ...) will be moved to match that used in marginal.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>A collection of nice write-ups, with valuable pointers into further literature:</p>
+<p>[1] Annette J. Dobson: An Introduction to Generalized Linear Models, Second Edition. Nov 2001</p>
+<p>[2] Cosma Shalizi: Statistics 36-350: Data Mining, Lecture Notes, 18 November 2009, <a href="http://www.stat.cmu.edu/~cshalizi/350/lectures/26/lecture-26.pdf">http://www.stat.cmu.edu/~cshalizi/350/lectures/26/lecture-26.pdf</a></p>
+<p>[3] Scott A. Czepiel: Maximum Likelihood Estimation of Logistic Regression Models: Theory and Implementation, Retrieved Jul 12 2012, <a href="http://czep.net/stat/mlelr.pdf">http://czep.net/stat/mlelr.pdf</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="multilogistic_8sql__in.html" title="SQL functions for multinomial logistic regression. ">multilogistic.sql_in</a> documenting the multinomial logistic regression functions</p>
+<p><a class="el" href="group__grp__logreg.html">Logistic Regression</a></p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__multinom.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__multinom.html b/docs/v1.11/group__grp__multinom.html
new file mode 100644
index 0000000..cc50f5a
--- /dev/null
+++ b/docs/v1.11/group__grp__multinom.html
@@ -0,0 +1,481 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Multinomial Regression</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__multinom.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Multinomial Regression<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__regml.html">Regression Models</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#predict">Prediction Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#background">Technical Background</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>In statistics, multinomial regression is a classification method that generalizes binomial regression to multiclass problems, i.e. with more than two possible discrete outcomes. That is, it is a model that is used to predict the probabilities of the different possible outcomes of a categorically distributed dependent variable, given a set of independent variables (which may be real-valued, binary-valued, categorical-valued, etc.).</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd>The multinomial regression training function has the following syntax: <pre class="syntax">
+multinom(source_table,
+         model_table,
+         dependent_varname,
+         independent_varname,
+         ref_category,
+         link_func,
+         grouping_col,
+         optim_params,
+         verbose
+        )
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the table containing the training data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>model_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the generated table containing the model.</p>
+<p>The model table produced by multinom() contains the following columns:</p>
+<table class="output">
+<tr>
+<th>&lt;...&gt; </th><td><p class="starttd">Grouping columns, if provided in input. This could be multiple columns depending on the <code>grouping_col</code> input. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>category </th><td><p class="starttd">VARCHAR. String representation of category value. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>coef </th><td><p class="starttd">FLOAT8[]. Vector of the coefficients in linear predictor. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>log_likelihood </th><td><p class="starttd">FLOAT8. The log-likelihood <img class="formulaInl" alt="$ l(\boldsymbol \beta) $" src="form_93.png"/>. The value will be the same across categories within the same group. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>std_err </th><td><p class="starttd">FLOAT8[]. Vector of the standard errors of the coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>z_stats </th><td><p class="starttd">FLOAT8[]. Vector of the z-statistics of the coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>p_values </th><td><p class="starttd">FLOAT8[]. Vector of the p-values of the coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_rows_processed </th><td><p class="starttd">BIGINT. Number of rows processed. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_rows_skipped </th><td><p class="starttd">BIGINT. Number of rows skipped due to missing values or failures. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_iterations </th><td>INTEGER. Number of iterations actually completed. This would be different from the <code>nIterations</code> argument if a <code>tolerance</code> parameter is provided and the algorithm converges before all iterations are completed.  </td></tr>
+</table>
+<p>A summary table named &lt;model_table&gt;_summary is also created at the same time, which has the following columns: </p><table class="output">
+<tr>
+<th>method </th><td><p class="starttd">VARCHAR. String describes the model: 'multinom'. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>source_table </th><td><p class="starttd">VARCHAR. Data source table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>model_table </th><td><p class="starttd">VARCHAR. Model table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>dependent_varname </th><td><p class="starttd">VARCHAR. Expression for dependent variable. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>independent_varname </th><td><p class="starttd">VARCHAR. Expression for independent variables. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>ref_category </th><td><p class="starttd">VARCHAR. String representation of reference category. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>link_func </th><td><p class="starttd">VARCHAR. String that contains link function parameters: only 'logit' is implemented now </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>grouping_col </th><td><p class="starttd">VARCHAR. String representation of grouping columns. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>optimizer_params </th><td><p class="starttd">VARCHAR. String that contains optimizer parameters, and has the form of 'optimizer=..., max_iter=..., tolerance=...'. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_all_groups </th><td><p class="starttd">INTEGER. Number of groups in glm training. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_failed_groups </th><td><p class="starttd">INTEGER. Number of failed groups in glm training. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>total_rows_processed </th><td><p class="starttd">BIGINT. Total number of rows processed in all groups. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>total_rows_skipped </th><td><p class="starttd">BIGINT. Total number of rows skipped in all groups due to missing values or failures. </p>
+<p class="endtd"></p>
+</td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_varname </dt>
+<dd><p class="startdd">VARCHAR. Name of the dependent variable column.</p>
+<p class="enddd"></p>
+</dd>
+<dt>independent_varname </dt>
+<dd><p class="startdd">VARCHAR. Expression list to evaluate for the independent variables. An intercept variable is not assumed. It is common to provide an explicit intercept term by including a single constant <code>1</code> term in the independent variable list.</p>
+<p class="enddd"></p>
+</dd>
+<dt>link_function (optional) </dt>
+<dd><p class="startdd">VARCHAR, default: 'logit'. Parameters for link function. Currently, we support logit. </p>
+<p class="enddd"></p>
+</dd>
+<dt>ref_category (optional) </dt>
+<dd><p class="startdd">VARCHAR, default: '0'. Parameters to specify the reference category. </p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_col (optional) </dt>
+<dd><p class="startdd">VARCHAR, default: NULL. An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL "GROUP BY" clause. When this value is NULL, no grouping is used and a single model is generated.</p>
+<p class="enddd"></p>
+</dd>
+<dt>optim_params (optional) </dt>
+<dd><p class="startdd">VARCHAR, default: 'max_iter=100,optimizer=irls,tolerance=1e-6'. Parameters for optimizer. Currently, we support tolerance=[tolerance for relative error between log-likelihoods], max_iter=[maximum iterations to run], optimizer=irls.</p>
+<p class="enddd"></p>
+</dd>
+<dt>verbose (optional) </dt>
+<dd>BOOLEAN, default: FALSE. Provides verbose output of the results of training. </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>For p-values, we just return the computation result directly. Other statistical packages, like 'R', produce the same result, but on printing the result to screen, another format function is used and any p-value that is smaller than the machine epsilon (the smallest positive floating-point number 'x' such that '1 + x != 1') will be printed on screen as "&lt; xxx" (xxx is the value of the machine epsilon). Although the result may look different, they are in fact the same. </dd></dl>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd>Multinomial regression prediction function has the following format: <pre class="syntax">
+multinom_predict(model_table,
+                 predict_table_input,
+                 output_table,
+                 predict_type,
+                 verbose,
+                 id_column
+                )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>model_table </dt>
+<dd><p class="startdd">TEXT. Name of the generated table containing the model, which is the output table from multinom().</p>
+<p class="enddd"></p>
+</dd>
+<dt>predict_table_input </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the data to predict on. The table must contain id column as the primary key.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. Name of the generated table containing the predicted values.</p>
+<p>The model table produced by multinom_predict contains the following columns:</p>
+<table class="output">
+<tr>
+<th>id </th><td><p class="starttd">SERIAL. Column to identify the predicted value. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>category </th><td><p class="starttd">TEXT. Available if the predicted type = 'response'. Column contains the predicted categories </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>category_value </th><td>FLOAT8. The predicted probability for the specific category_value.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>predict_type </dt>
+<dd>TEXT. Either 'response' or 'probability'. Using 'response' will give the predicted category with the largest probability. Using probability will give the predicted probabilities for all categories </dd>
+<dt>verbose </dt>
+<dd><p class="startdd">BOOLEAN. Control whether verbose is displayed. The default is FALSE. </p>
+<p class="enddd"></p>
+</dd>
+<dt>id_column </dt>
+<dd>TEXT. The name of the column in the input table. </dd>
+</dl>
+</dd></dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Create the training data table. <pre class="example">
+DROP TABLE IF EXISTS test3;
+CREATE TABLE test3 (
+    feat1 INTEGER,
+    feat2 INTEGER,
+    cat INTEGER
+);
+INSERT INTO test3(feat1, feat2, cat) VALUES
+(1,35,1),
+(2,33,0),
+(3,39,1),
+(1,37,1),
+(2,31,1),
+(3,36,0),
+(2,36,1),
+(2,31,1),
+(2,41,1),
+(2,37,1),
+(1,44,1),
+(3,33,2),
+(1,31,1),
+(2,44,1),
+(1,35,1),
+(1,44,0),
+(1,46,0),
+(2,46,1),
+(2,46,2),
+(3,49,1),
+(2,39,0),
+(2,44,1),
+(1,47,1),
+(1,44,1),
+(1,37,2),
+(3,38,2),
+(1,49,0),
+(2,44,0),
+(3,61,2),
+(1,65,2),
+(3,67,1),
+(3,65,2),
+(1,65,2),
+(2,67,2),
+(1,65,2),
+(1,62,2),
+(3,52,2),
+(3,63,2),
+(2,59,2),
+(3,65,2),
+(2,59,0),
+(3,67,2),
+(3,67,2),
+(3,60,2),
+(3,67,2),
+(3,62,2),
+(2,54,2),
+(3,65,2),
+(3,62,2),
+(2,59,2),
+(3,60,2),
+(3,63,2),
+(3,65,2),
+(2,63,1),
+(2,67,2),
+(2,65,2),
+(2,62,2);
+</pre></li>
+<li>Run the multilogistic regression function. <pre class="example">
+DROP TABLE IF EXISTS test3_output;
+DROP TABLE IF EXISTS test3_output_summary;
+SELECT madlib.multinom('test3',
+                       'test3_output',
+                       'cat',
+                       'ARRAY[1, feat1, feat2]',
+                       '0',
+                       'logit'
+                       );
+</pre></li>
+<li>View the regression results. <pre class="example">
+-- Set extended display on for easier reading of output
+\x on
+SELECT * FROM test3_output;
+</pre></li>
+</ol>
+<p>Result: </p><pre class="result">
+-[ RECORD 1 ]------+------------------------------------------------------------
+category           | 1
+coef               | {1.45474045165731,0.084995618282504,-0.0172383499512136}
+log_likelihood     | -39.1475993094045
+std_err            | {2.13085878785549,0.585023211942952,0.0431489262260687}
+z_stats            | {0.682701481650677,0.145285890452484,-0.399508202380224}
+p_values           | {0.494795493298706,0.884485154314181,0.689518781152604}
+num_rows_processed | 57
+num_rows_skipped   | 0
+iteration          | 6
+-[ RECORD 2 ]------+------------------------------------------------------------
+category           | 2
+coef               | {-7.1290816775109,0.876487877074751,0.127886153038661}
+log_likelihood     | -39.1475993094045
+std_err            | {2.52105418324135,0.639578886139654,0.0445760103748678}
+z_stats            | {-2.82781771407425,1.37041402721253,2.86894569440347}
+p_values           | {0.00468664844488755,0.170557695812408,0.00411842502754068}
+num_rows_processed | 57
+num_rows_skipped   | 0
+iteration          | 6
+</pre><ol type="1">
+<li>Predicting dependent variable using multinomial model. (This example uses the original data table to perform the prediction. Typically a different test dataset with the same features as the original training dataset would be used for prediction.)</li>
+</ol>
+<pre class="example">
+\x off
+-- Add the id column for prediction function
+ALTER TABLE test3 ADD COLUMN id SERIAL;
+-- Predict probabilities for all categories using the original data
+SELECT madlib.multinom_predict('test3_out','test3', 'test3_prd_prob', 'probability');
+-- Display the predicted value
+SELECT * FROM test3_prd_prob;
+</pre><p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd>When link = 'logit', multinomial logistic regression models the outcomes of categorical dependent random variables (denoted <img class="formulaInl" alt="$ Y \in \{ 0,1,2 \ldots k \} $" src="form_94.png"/>). The model assumes that the conditional mean of the dependent categorical variables is the logistic function of an affine combination of independent variables (usually denoted <img class="formulaInl" alt="$ \boldsymbol x $" src="form_59.png"/>). That is, <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ E[Y \mid \boldsymbol x] = \sigma(\boldsymbol c^T \boldsymbol x) \]" src="form_95.png"/>
+</p>
+ for some unknown vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/> and where <img class="formulaInl" alt="$ \sigma(x) = \frac{1}{1 + \exp(-x)} $" src="form_96.png"/> is the logistic function. Multinomial logistic regression finds the vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/> that maximizes the likelihood of the observations.</dd></dl>
+<p>Let</p><ul>
+<li><img class="formulaInl" alt="$ \boldsymbol y \in \{ 0,1 \}^{n \times k} $" src="form_97.png"/> denote the vector of observed dependent variables, with <img class="formulaInl" alt="$ n $" src="form_11.png"/> rows and <img class="formulaInl" alt="$ k $" src="form_98.png"/> columns, containing the observed values of the dependent variable,</li>
+<li><img class="formulaInl" alt="$ X \in \mathbf R^{n \times k} $" src="form_99.png"/> denote the design matrix with <img class="formulaInl" alt="$ k $" src="form_98.png"/> columns and <img class="formulaInl" alt="$ n $" src="form_11.png"/> rows, containing all observed vectors of independent variables <img class="formulaInl" alt="$ \boldsymbol x_i $" src="form_100.png"/> as rows.</li>
+</ul>
+<p>By definition, </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ P[Y = y_i | \boldsymbol x_i] = \sigma((-1)^{y_i} \cdot \boldsymbol c^T \boldsymbol x_i) \,. \]" src="form_101.png"/>
+</p>
+<p> Maximizing the likelihood <img class="formulaInl" alt="$ \prod_{i=1}^n \Pr(Y = y_i \mid \boldsymbol x_i) $" src="form_102.png"/> is equivalent to maximizing the log-likelihood <img class="formulaInl" alt="$ \sum_{i=1}^n \log \Pr(Y = y_i \mid \boldsymbol x_i) $" src="form_103.png"/>, which simplifies to </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ l(\boldsymbol c) = -\sum_{i=1}^n \log(1 + \exp((-1)^{y_i} \cdot \boldsymbol c^T \boldsymbol x_i)) \,. \]" src="form_104.png"/>
+</p>
+<p> The Hessian of this objective is <img class="formulaInl" alt="$ H = -X^T A X $" src="form_105.png"/> where <img class="formulaInl" alt="$ A = \text{diag}(a_1, \dots, a_n) $" src="form_106.png"/> is the diagonal matrix with <img class="formulaInl" alt="$ a_i = \sigma(\boldsymbol c^T \boldsymbol x) \cdot \sigma(-\boldsymbol c^T \boldsymbol x) \,. $" src="form_107.png"/> Since <img class="formulaInl" alt="$ H $" src="form_108.png"/> is non-positive definite, <img class="formulaInl" alt="$ l(\boldsymbol c) $" src="form_80.png"/> is convex. There are many techniques for solving convex optimization problems. Currently, logistic regression in MADlib can use:</p><ul>
+<li>Iteratively Reweighted Least Squares</li>
+</ul>
+<p>We estimate the standard error for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> as </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \mathit{se}(c_i) = \left( (X^T A X)^{-1} \right)_{ii} \,. \]" src="form_109.png"/>
+</p>
+<p> The Wald z-statistic is </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ z_i = \frac{c_i}{\mathit{se}(c_i)} \,. \]" src="form_110.png"/>
+</p>
+<p>The Wald <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> gives the probability (under the assumptions inherent in the Wald test) of seeing a value at least as extreme as the one observed, provided that the null hypothesis ( <img class="formulaInl" alt="$ c_i = 0 $" src="form_112.png"/>) is true. Letting <img class="formulaInl" alt="$ F $" src="form_113.png"/> denote the cumulative density function of a standard normal distribution, the Wald <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> is therefore </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ p_i = \Pr(|Z| \geq |z_i|) = 2 \cdot (1 - F( |z_i| )) \]" src="form_114.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ Z $" src="form_115.png"/> is a standard normally distributed random variable.</p>
+<p>The odds ratio for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> is estimated as <img class="formulaInl" alt="$ \exp(c_i) $" src="form_116.png"/>.</p>
+<p>The condition number is computed as <img class="formulaInl" alt="$ \kappa(X^T A X) $" src="form_117.png"/> during the iteration immediately <em>preceding</em> convergence (i.e., <img class="formulaInl" alt="$ A $" src="form_14.png"/> is computed using the coefficients of the previous iteration). A large condition number (say, more than 1000) indicates the presence of significant multicollinearity.</p>
+<p>The multinomial logistic regression uses a default reference category of zero, and the regression coefficients in the output are in the order described below. For a problem with <img class="formulaInl" alt="$ K $" src="form_118.png"/> dependent variables <img class="formulaInl" alt="$ (1, ..., K) $" src="form_119.png"/> and <img class="formulaInl" alt="$ J $" src="form_120.png"/> categories <img class="formulaInl" alt="$ (0, ..., J-1) $" src="form_121.png"/>, let <img class="formulaInl" alt="$ {m_{k,j}} $" src="form_122.png"/> denote the coefficient for dependent variable <img class="formulaInl" alt="$ k $" src="form_98.png"/> and category <img class="formulaInl" alt="$ j $" src="form_123.png"/>. The output is <img class="formulaInl" alt="$ {m_{k_1, j_0}, m_{k_1, j_1} \ldots m_{k_1, j_{J-1}}, m_{k_2, j_0}, m_{k_2, j_1}, \ldots m_{k_2, j_{J-1}} \ldots m_{k_K, j_{J-1}}} $" src="form_124.png"/>. The order is NOT CONSISTENT with the multinomial regression marginal effect calculation 
 with function <em>marginal_mlogregr</em>. This is deliberate because the interfaces of all multinomial regressions (robust, clustered, ...) will be moved to match that used in marginal.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>A collection of nice write-ups, with valuable pointers into further literature:</p>
+<p>[1] Annette J. Dobson: An Introduction to Generalized Linear Models, Second Edition. Nov 2001</p>
+<p>[2] Cosma Shalizi: Statistics 36-350: Data Mining, Lecture Notes, 18 November 2009, <a href="http://www.stat.cmu.edu/~cshalizi/350/lectures/26/lecture-26.pdf">http://www.stat.cmu.edu/~cshalizi/350/lectures/26/lecture-26.pdf</a></p>
+<p>[3] Scott A. Czepiel: Maximum Likelihood Estimation of Logistic Regression Models: Theory and Implementation, Retrieved Jul 12 2012, <a href="http://czep.net/stat/mlelr.pdf">http://czep.net/stat/mlelr.pdf</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="multiresponseglm_8sql__in.html" title="SQL functions for multinomial regression. ">multiresponseglm.sql_in</a> documenting the multinomial regression functions</p>
+<p><a class="el" href="group__grp__logreg.html">Logistic Regression</a></p>
+<p><a class="el" href="group__grp__ordinal.html">Ordinal Regression</a></p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__nene.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__nene.html b/docs/v1.11/group__grp__nene.html
new file mode 100644
index 0000000..6b6ed21
--- /dev/null
+++ b/docs/v1.11/group__grp__nene.html
@@ -0,0 +1,133 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Nearest Neighbors</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__nene.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Nearest Neighbors<div class="ingroups"><a class="el" href="group__grp__early__stage.html">Early Stage Development</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods to create nearest neigbor based models. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__knn"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__knn.html">k-Nearest Neighbors</a></td></tr>
+<tr class="memdesc:group__grp__knn"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds k nearest data points to the given data point and outputs majority vote value of output classes for classification, and average value of target values for regression. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__nene.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__nene.js b/docs/v1.11/group__grp__nene.js
new file mode 100644
index 0000000..54ffcd8
--- /dev/null
+++ b/docs/v1.11/group__grp__nene.js
@@ -0,0 +1,4 @@
+var group__grp__nene =
+[
+    [ "k-Nearest Neighbors", "group__grp__knn.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__ordinal.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__ordinal.html b/docs/v1.11/group__grp__ordinal.html
new file mode 100644
index 0000000..8ce5526
--- /dev/null
+++ b/docs/v1.11/group__grp__ordinal.html
@@ -0,0 +1,464 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Ordinal Regression</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__ordinal.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Ordinal Regression<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__regml.html">Regression Models</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#predict">Prediction Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#background">Model Details</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>In statistics, ordinal regression is a type of regression analysis used for predicting an ordinal variable, i.e. a variable whose value exists on an arbitrary scale where only the relative ordering between different values is significant. The two most common types of ordinal regression models are ordered logit, which applies to data that meet the proportional odds assumption, and ordered probit.</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd>The ordinal regression training function has the following syntax: <pre class="syntax">
+ordinal(source_table,
+         model_table,
+         dependent_varname,
+         independent_varname,
+         cat_order,
+         link_func,
+         grouping_col,
+         optim_params,
+         verbose
+        )
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the table containing the training data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>model_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the generated table containing the model.</p>
+<p>The model table produced by ordinal() contains the following columns:</p>
+<table class="output">
+<tr>
+<th>&lt;...&gt; </th><td><p class="starttd">Grouping columns, if provided in input. This could be multiple columns depending on the <code>grouping_col</code> input. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>coef_threshold </th><td><p class="starttd">FLOAT8[]. Vector of the threshold coefficients in linear predictor. The threshold coefficients are the intercepts specific to each categorical levels </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>std_err_threshold </th><td><p class="starttd">FLOAT8[]. Vector of the threshold standard errors of the threshold coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>z_stats_threshold </th><td><p class="starttd">FLOAT8[]. Vector of the threshold z-statistics of the thresholdcoefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>p_values_threshold </th><td><p class="starttd">FLOAT8[]. Vector of the threshold p-values of the threshold coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>log_likelihood </th><td><p class="starttd">FLOAT8. The log-likelihood <img class="formulaInl" alt="$ l(\boldsymbol \beta) $" src="form_93.png"/>. The value will be the same across categories within the same group. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>coef_feature </th><td><p class="starttd">FLOAT8[]. Vector of the feature coefficients in linear predictor. The feature coefficients are the coefficients for the independent variables. They are the same across categories. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>std_err_feature </th><td><p class="starttd">FLOAT8[]. Vector of the feature standard errors of the feature coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>z_stats_feature </th><td><p class="starttd">FLOAT8[]. Vector of the feature z-statistics of the feature coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>p_values_feature </th><td><p class="starttd">FLOAT8[]. Vector of the feature p-values of the feature coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_rows_processed </th><td><p class="starttd">BIGINT. Number of rows processed. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_rows_skipped </th><td><p class="starttd">BIGINT. Number of rows skipped due to missing values or failures. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_iterations </th><td>INTEGER. Number of iterations actually completed. This would be different from the <code>nIterations</code> argument if a <code>tolerance</code> parameter is provided and the algorithm converges before all iterations are completed.  </td></tr>
+</table>
+<p>A summary table named &lt;model_table&gt;_summary is also created at the same time, which has the following columns: </p><table class="output">
+<tr>
+<th>method </th><td><p class="starttd">VARCHAR. String describes the model: 'ordinal'. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>source_table </th><td><p class="starttd">VARCHAR. Data source table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>model_table </th><td><p class="starttd">VARCHAR. Model table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>dependent_varname </th><td><p class="starttd">VARCHAR. Expression for dependent variable. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>independent_varname </th><td><p class="starttd">VARCHAR. Expression for independent variables. The independent variables should not include intercept term. Otherwise there will be an error message indicating Hessian matrix is not finite. In that case, the user should drop the intercept and rerun the function agian. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>cat_order </th><td><p class="starttd">VARCHAR. String representation of category order. Default is the sorted categories in data using python sort </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>link_func </th><td><p class="starttd">VARCHAR. String that contains link function parameters: 'logit' and 'probit' links are implemented now </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>grouping_col </th><td><p class="starttd">VARCHAR. String representation of grouping columns. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>optimizer_params </th><td><p class="starttd">VARCHAR. String that contains optimizer parameters, and has the form of 'optimizer=..., max_iter=..., tolerance=...'. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_all_groups </th><td><p class="starttd">INTEGER. Number of groups in ordinal regression training. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_failed_groups </th><td><p class="starttd">INTEGER. Number of failed groups in ordinal regression training. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>total_rows_processed </th><td><p class="starttd">BIGINT. Total number of rows processed in all groups. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>total_rows_skipped </th><td><p class="starttd">BIGINT. Total number of rows skipped in all groups due to missing values or failures. </p>
+<p class="endtd"></p>
+</td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_varname </dt>
+<dd><p class="startdd">VARCHAR. Name of the dependent variable column.</p>
+<p class="enddd"></p>
+</dd>
+<dt>independent_varname </dt>
+<dd><p class="startdd">VARCHAR. Expression list to evaluate for the independent variables. The intercept should not be included here since the cumulative probability force to have intercepts for each category level.</p>
+<p class="enddd"></p>
+</dd>
+<dt>cat_order </dt>
+<dd><p class="startdd">VARCHAR, String that represents the order of category. The order is specified by charactor '&lt;'. </p>
+<p class="enddd"></p>
+</dd>
+<dt>link_function (optional) </dt>
+<dd><p class="startdd">VARCHAR, default: 'logit'. Parameters for link function. Currently, we support logit and probit. </p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_col (optional) </dt>
+<dd><p class="startdd">VARCHAR, default: NULL. An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL "GROUP BY" clause. When this value is NULL, no grouping is used and a single model is generated.</p>
+<p class="enddd"></p>
+</dd>
+<dt>optim_params (optional) </dt>
+<dd><p class="startdd">VARCHAR, default: 'max_iter=100,optimizer=irls,tolerance=1e-6'. Parameters for optimizer. Currently, we support tolerance=[tolerance for relative error between log-likelihoods], max_iter=[maximum iterations to run], optimizer=irls.</p>
+<p class="enddd"></p>
+</dd>
+<dt>verbose (optional) </dt>
+<dd>BOOLEAN, default: FALSE. Provides verbose output of the results of training. </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>To calculate the standard error the coefficient, we are using the square root of the diagnal elements of the expected Fisher information matrix, which is a by-product of iteratively reweighted least square. This method is used in the original ordinal regression paper by McCullagh(1980). In some software like Stata, the standard error is calculated by the observed information matrix, which is supported by Efron and Hinkley (1978). In R, polr() uses the approximated observed information matrix while the optimization is achieved by first order optimization method. Therefore, there will be some difference on standard error, z-stats and p-value from other software.</dd></dl>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd>Ordinal regression prediction function has the following format: <pre class="syntax">
+ordinal_predict(
+                    model_table,
+                    predict_table_input,
+                    output_table,
+                    predict_type,
+                    verbose
+               )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>model_table </dt>
+<dd><p class="startdd">TEXT. Name of the generated table containing the model, which is the output table from ordinal().</p>
+<p class="enddd"></p>
+</dd>
+<dt>predict_table_input </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the data to predict on. The table must contain id column as the primary key.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. Name of the generated table containing the predicted values.</p>
+<p>The model table produced by ordinal_predict contains the following columns:</p>
+<table class="output">
+<tr>
+<th>id </th><td><p class="starttd">SERIAL. Column to identify the predicted value. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>category </th><td><p class="starttd">TEXT. Available if the predicted type = 'response'. Column contains the predicted categories </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>category_value </th><td>FLOAT8. The predicted probability for the specific category_value.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>predict_type </dt>
+<dd><p class="startdd">TEXT. Either 'response' or 'probability'. Using 'response' will give the predicted category with the largest probability. Using probability will give the predicted probabilities for all categories</p>
+<p class="enddd"></p>
+</dd>
+<dt>verbose </dt>
+<dd>BOOLEAN. Whether verbose is displayed </dd>
+</dl>
+</dd></dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Create the training data table. <pre class="example">
+DROP TABLE IF EXISTS test3;
+CREATE TABLE test3 (
+    feat1 INTEGER,
+    feat2 INTEGER,
+    cat INTEGER
+);
+INSERT INTO test3(feat1, feat2, cat) VALUES
+(1,35,1),
+(2,33,0),
+(3,39,1),
+(1,37,1),
+(2,31,1),
+(3,36,0),
+(2,36,1),
+(2,31,1),
+(2,41,1),
+(2,37,1),
+(1,44,1),
+(3,33,2),
+(1,31,1),
+(2,44,1),
+(1,35,1),
+(1,44,0),
+(1,46,0),
+(2,46,1),
+(2,46,2),
+(3,49,1),
+(2,39,0),
+(2,44,1),
+(1,47,1),
+(1,44,1),
+(1,37,2),
+(3,38,2),
+(1,49,0),
+(2,44,0),
+(3,61,2),
+(1,65,2),
+(3,67,1),
+(3,65,2),
+(1,65,2),
+(2,67,2),
+(1,65,2),
+(1,62,2),
+(3,52,2),
+(3,63,2),
+(2,59,2),
+(3,65,2),
+(2,59,0),
+(3,67,2),
+(3,67,2),
+(3,60,2),
+(3,67,2),
+(3,62,2),
+(2,54,2),
+(3,65,2),
+(3,62,2),
+(2,59,2),
+(3,60,2),
+(3,63,2),
+(3,65,2),
+(2,63,1),
+(2,67,2),
+(2,65,2),
+(2,62,2);
+</pre></li>
+<li>Run the multilogistic regression function. <pre class="example">
+DROP TABLE IF EXISTS test3_output;
+DROP TABLE IF EXISTS test3_output_summary;
+SELECT madlib.ordinal('test3',
+                       'test3_output',
+                       'cat',
+                       'ARRAY[feat1, feat2]',
+                       '0&lt;1&lt;2',
+                       'logit'
+                       );
+</pre></li>
+<li>View the regression results. <pre class="example">
+-- Set extended display on for easier reading of output
+\x on
+SELECT * FROM test3_output;
+</pre></li>
+</ol>
+<p>Result: </p><pre class="result">
+-[ RECORD 1 ]------+-------------------------------------------
+coef_threshold     | {4.12831944358935,6.55999442887089}
+std_err_threshold  | {1.3603408170882,1.54843501580999}
+z_stats_threshold  | {3.03476848722806,4.23653195768075}
+p_values_threshold | {0.00240720390579325,2.26998625331282e-05}
+log_likelihood     | -42.1390192418541
+coef_feature       | {0.574822563129293,0.108115645059558}
+std_err_feature    | {0.394064908788145,0.0276025960683975}
+z_stats_feature    | {1.45870020473791,3.91686509456046}
+p_values_feature   | {0.144647639733733,8.9707915817562e-05}
+num_rows_processed | 57
+num_rows_skipped   | 0
+iteration          | 7
+</pre><ol type="1">
+<li>Predicting dependent variable using ordinal model. (This example uses the original data table to perform the prediction. Typically a different test dataset with the same features as the original training dataset would be used for prediction.)</li>
+</ol>
+<pre class="example">
+\x off
+-- Add the id column for prediction function
+ALTER TABLE test3 ADD COLUMN id SERIAL;
+-- Predict probabilities for all categories using the original data 
+SELECT ordinal_predict('test3_output','test3', 'test3_prd_prob', 'probability');
+-- Display the predicted value
+SELECT * FROM test3_prd_prob;
+</pre><p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Model Details</dt><dd></dd></dl>
+<p>The function ordinal() fit the ordinal response model using a cumulative link model. The ordinal reponse variable, denoted by <img class="formulaInl" alt="$ Y_i $" src="form_125.png"/>, can fall in <img class="formulaInl" alt="$ j = 1,.. , J$" src="form_126.png"/> categories. Then <img class="formulaInl" alt="$ Y_i $" src="form_125.png"/> follows a multinomial distribution with parameter <img class="formulaInl" alt="$\pi$" src="form_127.png"/> where <img class="formulaInl" alt="$\pi_{ij}$" src="form_128.png"/> denote the probability that the <img class="formulaInl" alt="$i$" src="form_129.png"/>th observation falls in response category <img class="formulaInl" alt="$j$" src="form_130.png"/>. We define the cumulative probabilities as </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \gamma_{ij} = \Pr(Y_i \le j)= \pi_{i1} +...+ \pi_{ij} . \]" src="form_131.png"/>
+</p>
+<p> Next we will consider the logit link for illustration purpose. The logit function is defined as <img class="formulaInl" alt="$ \mbox{logit}(\pi) = \log[\pi/(1-\pi)] $" src="form_132.png"/> and cumulative logits are defined as: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \mbox{logit}(\gamma_{ij})=\mbox{logit}(\Pr(Y_i \le j))=\log \frac{\Pr(Y_i \le j)}{1-\Pr(Y_i\le j)}, j=1,...,J−1 \]" src="form_133.png"/>
+</p>
+<p> so that the cumulative logits are defined for all but the last category.</p>
+<p>A cumulative link model with a logit link, or simply cumulative logit model is a regression model for cumulative logits: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \mbox{logit}(\gamma_{ij}) = \theta_j - x^T_i \beta \]" src="form_134.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$x_i$" src="form_135.png"/> is a vector of explanatory variables for the <img class="formulaInl" alt="$i$" src="form_129.png"/>th observation and <img class="formulaInl" alt="$\beta$" src="form_136.png"/> is the corresponding set of regression parameters. The <img class="formulaInl" alt="$\{\theta_j\}$" src="form_137.png"/> parameters provide each cumulative logit (for each <img class="formulaInl" alt="$j$" src="form_130.png"/>) with its own intercept. A key point is that the regression part <img class="formulaInl" alt="$x^T_i\beta$" src="form_138.png"/> is independent of <img class="formulaInl" alt="$j$" src="form_130.png"/>, so <img class="formulaInl" alt="$\beta$" src="form_136.png"/> has the same effect for each of the J − 1 cumulative logits. Note that <img class="formulaInl" alt="$x^T_i\beta$" src="form_138.png"/> does not contain an intercept, since the <img class="formulaInl" alt="$\{\theta_j\}$" src="form_137.png"/> act as intercepts
 . For small values of <img class="formulaInl" alt="$x^T_i\beta$" src="form_138.png"/> the response is likely to fall in the first category and for large values of <img class="formulaInl" alt="$x^T_i\beta$" src="form_138.png"/> the response is likely to fall in the last category. The horizontal displacements of the curves are given by the values of <img class="formulaInl" alt="$\{\theta_j\}$" src="form_137.png"/>.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>A collection of nice write-ups, with valuable pointers into further literature:</p>
+<p>[1] Peter McCullagh: Regression Models for Ordinal Data, Journal of the Royal Statistical Society. Series B (Methodological), Volume 42, Issue 2 (1980), 109-142</p>
+<p>[2] Rune Haubo B Christensen: Analysis of ordinal data with cumulative link models &ndash; estimation with the R-package ordinal. cran.r-project.org/web/packages/ordinal/vignettes/clm_intro.pdf</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="ordinal_8sql__in.html" title="SQL functions for ordinal regression. ">ordinal.sql_in</a> documenting the ordinal regression functions</p>
+<p><a class="el" href="group__grp__multinom.html">Multinomial Regression</a></p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[46/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/clustered__variance__coxph_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/clustered__variance__coxph_8sql__in.html b/docs/v1.11/clustered__variance__coxph_8sql__in.html
new file mode 100644
index 0000000..3715afb
--- /dev/null
+++ b/docs/v1.11/clustered__variance__coxph_8sql__in.html
@@ -0,0 +1,483 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: clustered_variance_coxph.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('clustered__variance__coxph_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">clustered_variance_coxph.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for clustered robust cox proportional hazards regression.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a91f46572f245f34c9fe92d0ec806a998"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance__coxph_8sql__in.html#a91f46572f245f34c9fe92d0ec806a998">clustered_variance_coxph</a> ()</td></tr>
+<tr class="separator:a91f46572f245f34c9fe92d0ec806a998"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e6c0f27cb3ba9ad583055c96c847795"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance__coxph_8sql__in.html#a9e6c0f27cb3ba9ad583055c96c847795">clustered_variance_coxph</a> (varchar message)</td></tr>
+<tr class="separator:a9e6c0f27cb3ba9ad583055c96c847795"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc0a2119671931eea54e021a4db6168c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance__coxph_8sql__in.html#acc0a2119671931eea54e021a4db6168c">clustered_variance_coxph</a> (text model_table, text output_table, text clustervar)</td></tr>
+<tr class="separator:acc0a2119671931eea54e021a4db6168c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7081022015c00a14ecca27e017a4458b"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance__coxph_8sql__in.html#a7081022015c00a14ecca27e017a4458b">coxph_a_b_transition</a> (float8[], integer, boolean, float8[], float8)</td></tr>
+<tr class="separator:a7081022015c00a14ecca27e017a4458b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a62bff141ced5972df28ceecdfe522888"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance__coxph_8sql__in.html#a62bff141ced5972df28ceecdfe522888">coxph_a_b_merge</a> (float8[], float8[])</td></tr>
+<tr class="separator:a62bff141ced5972df28ceecdfe522888"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2373d116ad1e2b2090f8c23a0c15edb5"><td class="memItemLeft" align="right" valign="top">__coxph_a_b_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance__coxph_8sql__in.html#a2373d116ad1e2b2090f8c23a0c15edb5">coxph_a_b_final</a> (float8[])</td></tr>
+<tr class="separator:a2373d116ad1e2b2090f8c23a0c15edb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f5ca89e3265e170c325125e61ef191d"><td class="memItemLeft" align="right" valign="top">aggregate __coxph_a_b_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance__coxph_8sql__in.html#a5f5ca89e3265e170c325125e61ef191d">coxph_a_b</a> (integer, boolean, float8[], float8)</td></tr>
+<tr class="separator:a5f5ca89e3265e170c325125e61ef191d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a523e61b6d56c8ff59fa8ae3121073a49"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance__coxph_8sql__in.html#a523e61b6d56c8ff59fa8ae3121073a49">coxph_compute_w</a> (float8[] x, boolean status, float8[] coef, float8[] h, float8 s, float8 a, float8[] b)</td></tr>
+<tr class="separator:a523e61b6d56c8ff59fa8ae3121073a49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a713f413fc571244b7cec6c0084a61eb9"><td class="memItemLeft" align="right" valign="top">__coxph_cl_var_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance__coxph_8sql__in.html#a713f413fc571244b7cec6c0084a61eb9">coxph_compute_clustered_stats</a> (float8[] coef, float8[] hessian, float8[] a)</td></tr>
+<tr class="separator:a713f413fc571244b7cec6c0084a61eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abaeae5d6cd30db4b06a49d24d714812e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance__coxph_8sql__in.html#abaeae5d6cd30db4b06a49d24d714812e">robust_variance_coxph</a> (varchar model_table, varchar output_table, varchar clustervar)</td></tr>
+<tr class="separator:abaeae5d6cd30db4b06a49d24d714812e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>Oct 2013</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to clustered robust cox regression, see the module description <a class="el" href="group__grp__clustered__errors.html">Clustered Variance</a> </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a91f46572f245f34c9fe92d0ec806a998"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a91f46572f245f34c9fe92d0ec806a998">&#9670;&nbsp;</a></span>clustered_variance_coxph() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar clustered_variance_coxph </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9e6c0f27cb3ba9ad583055c96c847795"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9e6c0f27cb3ba9ad583055c96c847795">&#9670;&nbsp;</a></span>clustered_variance_coxph() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar clustered_variance_coxph </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="acc0a2119671931eea54e021a4db6168c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acc0a2119671931eea54e021a4db6168c">&#9670;&nbsp;</a></span>clustered_variance_coxph() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_coxph </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>clustervar</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5f5ca89e3265e170c325125e61ef191d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f5ca89e3265e170c325125e61ef191d">&#9670;&nbsp;</a></span>coxph_a_b()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate __coxph_a_b_result coxph_a_b </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2373d116ad1e2b2090f8c23a0c15edb5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2373d116ad1e2b2090f8c23a0c15edb5">&#9670;&nbsp;</a></span>coxph_a_b_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__coxph_a_b_result coxph_a_b_final </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]</td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a62bff141ced5972df28ceecdfe522888"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a62bff141ced5972df28ceecdfe522888">&#9670;&nbsp;</a></span>coxph_a_b_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] coxph_a_b_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7081022015c00a14ecca27e017a4458b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7081022015c00a14ecca27e017a4458b">&#9670;&nbsp;</a></span>coxph_a_b_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] coxph_a_b_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a713f413fc571244b7cec6c0084a61eb9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a713f413fc571244b7cec6c0084a61eb9">&#9670;&nbsp;</a></span>coxph_compute_clustered_stats()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__coxph_cl_var_result coxph_compute_clustered_stats </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>hessian</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>a</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a523e61b6d56c8ff59fa8ae3121073a49"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a523e61b6d56c8ff59fa8ae3121073a49">&#9670;&nbsp;</a></span>coxph_compute_w()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] coxph_compute_w </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>status</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>s</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>b</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abaeae5d6cd30db4b06a49d24d714812e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abaeae5d6cd30db4b06a49d24d714812e">&#9670;&nbsp;</a></span>robust_variance_coxph()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void robust_variance_coxph </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>clustervar</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_997c3e15c9d18078f134bb6226e9c9a5.html">stats</a></li><li class="navelem"><a class="el" href="clustered__variance__coxph_8sql__in.html">clustered_variance_coxph.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/conjugate__gradient_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/conjugate__gradient_8sql__in.html b/docs/v1.11/conjugate__gradient_8sql__in.html
new file mode 100644
index 0000000..6b4593c
--- /dev/null
+++ b/docs/v1.11/conjugate__gradient_8sql__in.html
@@ -0,0 +1,250 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: conjugate_gradient.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('conjugate__gradient_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">conjugate_gradient.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL function computing Conjugate Gradient.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ab94e8a12cc9c2d0dac35168721ec8585"><td class="memItemLeft" align="right" valign="top">float []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conjugate__gradient_8sql__in.html#ab94e8a12cc9c2d0dac35168721ec8585">conjugate_gradient</a> (text matrix, text val_id, text row_id, float[] b, float precision_limit, int verbosity)</td></tr>
+<tr class="memdesc:ab94e8a12cc9c2d0dac35168721ec8585"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute conjugate gradient.  <a href="#ab94e8a12cc9c2d0dac35168721ec8585">More...</a><br /></td></tr>
+<tr class="separator:ab94e8a12cc9c2d0dac35168721ec8585"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe53a640e2287e06587eb1541fb6b4a3"><td class="memItemLeft" align="right" valign="top">float []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conjugate__gradient_8sql__in.html#abe53a640e2287e06587eb1541fb6b4a3">conjugate_gradient</a> (text matrix, text val_id, text row_id, float[] b, float precision_limit)</td></tr>
+<tr class="separator:abe53a640e2287e06587eb1541fb6b4a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>March 2011 </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="ab94e8a12cc9c2d0dac35168721ec8585"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab94e8a12cc9c2d0dac35168721ec8585">&#9670;&nbsp;</a></span>conjugate_gradient() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float [] conjugate_gradient </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>matrix</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float []&#160;</td>
+          <td class="paramname"><em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&#160;</td>
+          <td class="paramname"><em>precision_limit</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>verbosity</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">matrix</td><td>Name of the table containing argument matrix A </td></tr>
+    <tr><td class="paramname">val_id</td><td>Name of the column contains row values </td></tr>
+    <tr><td class="paramname">row_id</td><td>Name of the column contains row number </td></tr>
+    <tr><td class="paramname">b</td><td>Array containing values of b </td></tr>
+    <tr><td class="paramname">precision_limit</td><td>Precision threshold after which process will terminate </td></tr>
+    <tr><td class="paramname">verbosity</td><td>Verbose flag (0 = false, 1 = true) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Array containing values of x </dd></dl>
+
+</div>
+</div>
+<a id="abe53a640e2287e06587eb1541fb6b4a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abe53a640e2287e06587eb1541fb6b4a3">&#9670;&nbsp;</a></span>conjugate_gradient() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float [] conjugate_gradient </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>matrix</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>val_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float []&#160;</td>
+          <td class="paramname"><em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&#160;</td>
+          <td class="paramname"><em>precision_limit</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_70d8e2ac93858c66799eabe768a70190.html">conjugate_gradient</a></li><li class="navelem"><a class="el" href="conjugate__gradient_8sql__in.html">conjugate_gradient.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/correlation_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/correlation_8sql__in.html b/docs/v1.11/correlation_8sql__in.html
new file mode 100644
index 0000000..a2b3179
--- /dev/null
+++ b/docs/v1.11/correlation_8sql__in.html
@@ -0,0 +1,576 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: correlation.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('correlation_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">correlation.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for correlation computation.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ae6223d0ba3e2b8a2d298ee78a293be6a"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#ae6223d0ba3e2b8a2d298ee78a293be6a">correlation_transition</a> (float8[] state, float8[] x, float8[] <a class="el" href="svec__util_8sql__in.html#a546b947319c9f48237120a31929bdfd9">mean</a>)</td></tr>
+<tr class="separator:ae6223d0ba3e2b8a2d298ee78a293be6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac53cf4dd28185715a1798176bce44b1b"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#ac53cf4dd28185715a1798176bce44b1b">correlation_merge</a> (float8[] left_state, float8[] right_state)</td></tr>
+<tr class="separator:ac53cf4dd28185715a1798176bce44b1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85a1a9b0ae5e608fd235f08ae01ff966"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#a85a1a9b0ae5e608fd235f08ae01ff966">correlation_final</a> (float8[] state)</td></tr>
+<tr class="separator:a85a1a9b0ae5e608fd235f08ae01ff966"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c3081444f6bafc88a9b377f2af32968"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#a1c3081444f6bafc88a9b377f2af32968">correlation_agg</a> (float8[], float8[])</td></tr>
+<tr class="separator:a1c3081444f6bafc88a9b377f2af32968"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c4f4adaf75fe3406bf1d0a20f8512ac"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#a5c4f4adaf75fe3406bf1d0a20f8512ac">covariance_agg</a> (float8[], float8[])</td></tr>
+<tr class="separator:a5c4f4adaf75fe3406bf1d0a20f8512ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada17a10ea8a6c4580e7413c86ae5345e"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#ada17a10ea8a6c4580e7413c86ae5345e">correlation</a> (varchar source_table, varchar output_table, varchar target_cols, boolean verbose)</td></tr>
+<tr class="separator:ada17a10ea8a6c4580e7413c86ae5345e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a30437d71937df60681be42769d5d3a29"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#a30437d71937df60681be42769d5d3a29">correlation</a> (varchar source_table, varchar output_table, varchar target_cols)</td></tr>
+<tr class="separator:a30437d71937df60681be42769d5d3a29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79c79a64e2145e640e410d8ebae078f7"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#a79c79a64e2145e640e410d8ebae078f7">correlation</a> (varchar source_table, varchar output_table)</td></tr>
+<tr class="separator:a79c79a64e2145e640e410d8ebae078f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a703be245d20fa6ac1cc1ae433f08c4eb"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#a703be245d20fa6ac1cc1ae433f08c4eb">correlation</a> (text input_message)</td></tr>
+<tr class="separator:a703be245d20fa6ac1cc1ae433f08c4eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad81ac0ea4b9675fe257b2f5c2cee385e"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#ad81ac0ea4b9675fe257b2f5c2cee385e">correlation</a> ()</td></tr>
+<tr class="separator:ad81ac0ea4b9675fe257b2f5c2cee385e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa962df7076b6a57914e766c8ab4fea78"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#aa962df7076b6a57914e766c8ab4fea78">covariance</a> (varchar source_table, varchar output_table, varchar target_cols, boolean verbose)</td></tr>
+<tr class="separator:aa962df7076b6a57914e766c8ab4fea78"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63aaa72fa4a4003a4b92b0b46eb69e00"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#a63aaa72fa4a4003a4b92b0b46eb69e00">covariance</a> (varchar source_table, varchar output_table, varchar target_cols)</td></tr>
+<tr class="separator:a63aaa72fa4a4003a4b92b0b46eb69e00"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada9ca243ead62cda1ec4faf8940e9b52"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#ada9ca243ead62cda1ec4faf8940e9b52">covariance</a> (varchar source_table, varchar output_table)</td></tr>
+<tr class="separator:ada9ca243ead62cda1ec4faf8940e9b52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a986c54ff5cc92d3d530b494a8ee6f112"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#a986c54ff5cc92d3d530b494a8ee6f112">covariance</a> (text input_message)</td></tr>
+<tr class="separator:a986c54ff5cc92d3d530b494a8ee6f112"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ef3717dbd8916187ea111b933a52470"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="correlation_8sql__in.html#a3ef3717dbd8916187ea111b933a52470">covariance</a> ()</td></tr>
+<tr class="separator:a3ef3717dbd8916187ea111b933a52470"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>April 2013</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to <a class="el" href="correlation_8sql__in.html#ada17a10ea8a6c4580e7413c86ae5345e">correlation</a>, see the module description <a class="el" href="group__grp__correlation.html">Pearson's Correlation</a> </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="ada17a10ea8a6c4580e7413c86ae5345e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ada17a10ea8a6c4580e7413c86ae5345e">&#9670;&nbsp;</a></span>correlation() <span class="overload">[1/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text correlation </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>target_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a30437d71937df60681be42769d5d3a29"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a30437d71937df60681be42769d5d3a29">&#9670;&nbsp;</a></span>correlation() <span class="overload">[2/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text correlation </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>target_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a79c79a64e2145e640e410d8ebae078f7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a79c79a64e2145e640e410d8ebae078f7">&#9670;&nbsp;</a></span>correlation() <span class="overload">[3/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text correlation </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a703be245d20fa6ac1cc1ae433f08c4eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a703be245d20fa6ac1cc1ae433f08c4eb">&#9670;&nbsp;</a></span>correlation() <span class="overload">[4/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text correlation </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>input_message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad81ac0ea4b9675fe257b2f5c2cee385e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad81ac0ea4b9675fe257b2f5c2cee385e">&#9670;&nbsp;</a></span>correlation() <span class="overload">[5/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text correlation </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1c3081444f6bafc88a9b377f2af32968"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c3081444f6bafc88a9b377f2af32968">&#9670;&nbsp;</a></span>correlation_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] correlation_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a85a1a9b0ae5e608fd235f08ae01ff966"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a85a1a9b0ae5e608fd235f08ae01ff966">&#9670;&nbsp;</a></span>correlation_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] correlation_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac53cf4dd28185715a1798176bce44b1b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac53cf4dd28185715a1798176bce44b1b">&#9670;&nbsp;</a></span>correlation_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] correlation_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>left_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>right_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae6223d0ba3e2b8a2d298ee78a293be6a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae6223d0ba3e2b8a2d298ee78a293be6a">&#9670;&nbsp;</a></span>correlation_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] correlation_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>mean</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa962df7076b6a57914e766c8ab4fea78"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa962df7076b6a57914e766c8ab4fea78">&#9670;&nbsp;</a></span>covariance() <span class="overload">[1/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text covariance </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>target_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a63aaa72fa4a4003a4b92b0b46eb69e00"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63aaa72fa4a4003a4b92b0b46eb69e00">&#9670;&nbsp;</a></span>covariance() <span class="overload">[2/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text covariance </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>target_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ada9ca243ead62cda1ec4faf8940e9b52"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ada9ca243ead62cda1ec4faf8940e9b52">&#9670;&nbsp;</a></span>covariance() <span class="overload">[3/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text covariance </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a986c54ff5cc92d3d530b494a8ee6f112"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a986c54ff5cc92d3d530b494a8ee6f112">&#9670;&nbsp;</a></span>covariance() <span class="overload">[4/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text covariance </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>input_message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3ef3717dbd8916187ea111b933a52470"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3ef3717dbd8916187ea111b933a52470">&#9670;&nbsp;</a></span>covariance() <span class="overload">[5/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text covariance </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5c4f4adaf75fe3406bf1d0a20f8512ac"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5c4f4adaf75fe3406bf1d0a20f8512ac">&#9670;&nbsp;</a></span>covariance_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] covariance_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_997c3e15c9d18078f134bb6226e9c9a5.html">stats</a></li><li class="navelem"><a class="el" href="correlation_8sql__in.html">correlation.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[41/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dense__linear__systems_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dense__linear__systems_8sql__in.html b/docs/v1.11/dense__linear__systems_8sql__in.html
new file mode 100644
index 0000000..52c266a
--- /dev/null
+++ b/docs/v1.11/dense__linear__systems_8sql__in.html
@@ -0,0 +1,634 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: dense_linear_systems.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dense__linear__systems_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">dense_linear_systems.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for linear systems.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ad34728809ab3121705342cf91b34c6dd"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#ad34728809ab3121705342cf91b34c6dd">dense_residual_norm_transition</a> (bytea8 state, float8[] a, float8 b, float8[] x)</td></tr>
+<tr class="separator:ad34728809ab3121705342cf91b34c6dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73ebde08b8395fd7bddbe1dc37b9539f"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#a73ebde08b8395fd7bddbe1dc37b9539f">dense_residual_norm_merge_states</a> (bytea8 state1, bytea8 state2)</td></tr>
+<tr class="separator:a73ebde08b8395fd7bddbe1dc37b9539f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a01935dd8c4aef8c92e77b7f0f905fa4b"><td class="memItemLeft" align="right" valign="top">residual_norm_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#a01935dd8c4aef8c92e77b7f0f905fa4b">dense_residual_norm_final</a> (bytea8 state)</td></tr>
+<tr class="separator:a01935dd8c4aef8c92e77b7f0f905fa4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52f2bcdd0d038f19e64a44d4bb07fefb"><td class="memItemLeft" align="right" valign="top">aggregate residual_norm_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#a52f2bcdd0d038f19e64a44d4bb07fefb">dense_residual_norm</a> (float8[] left_hand_side, float8 right_hand_side, float8[] solution)</td></tr>
+<tr class="memdesc:a52f2bcdd0d038f19e64a44d4bb07fefb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the residual after solving the dense linear systems.  <a href="#a52f2bcdd0d038f19e64a44d4bb07fefb">More...</a><br /></td></tr>
+<tr class="separator:a52f2bcdd0d038f19e64a44d4bb07fefb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acbfc47693d0b50ccfc6b7f7c38209b18"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#acbfc47693d0b50ccfc6b7f7c38209b18">dense_direct_linear_system_transition</a> (float8[] state, integer row_id, float8[] a, float8 b, integer num_rows, integer algorithm)</td></tr>
+<tr class="separator:acbfc47693d0b50ccfc6b7f7c38209b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a607403f90e1921435183d031825e5e54"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#a607403f90e1921435183d031825e5e54">dense_direct_linear_system_merge_states</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a607403f90e1921435183d031825e5e54"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63a3ed2c811216d3d88c120005a13875"><td class="memItemLeft" align="right" valign="top">dense_linear_solver_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#a63a3ed2c811216d3d88c120005a13875">dense_direct_linear_system_final</a> (float8[] state)</td></tr>
+<tr class="separator:a63a3ed2c811216d3d88c120005a13875"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a379f260d8dfbf5c2be05c60776974188"><td class="memItemLeft" align="right" valign="top">aggregate dense_linear_solver_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#a379f260d8dfbf5c2be05c60776974188">dense_direct_linear_system</a> (integer row_id, float8[] left_hand_side, float8 right_hand_side, integer numEquations, integer algorithm)</td></tr>
+<tr class="memdesc:a379f260d8dfbf5c2be05c60776974188"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solve a system of linear equations using the direct method.  <a href="#a379f260d8dfbf5c2be05c60776974188">More...</a><br /></td></tr>
+<tr class="separator:a379f260d8dfbf5c2be05c60776974188"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a885d6a36c07dc2c048948cb5287a3b92"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#a885d6a36c07dc2c048948cb5287a3b92">linear_solver_dense</a> (varchar input_string)</td></tr>
+<tr class="memdesc:a885d6a36c07dc2c048948cb5287a3b92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Help function, to print out the supported families.  <a href="#a885d6a36c07dc2c048948cb5287a3b92">More...</a><br /></td></tr>
+<tr class="separator:a885d6a36c07dc2c048948cb5287a3b92"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2272a21f30096a79cd543fe66a0aee19"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#a2272a21f30096a79cd543fe66a0aee19">linear_solver_dense</a> ()</td></tr>
+<tr class="separator:a2272a21f30096a79cd543fe66a0aee19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab7de234e67060a4fc48978e430642baa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#ab7de234e67060a4fc48978e430642baa">linear_solver_dense</a> (varchar source_table, varchar out_table, varchar row_id, varchar left_hand_side, varchar right_hand_side, varchar grouping_cols, varchar optimizer, varchar optimizer_options)</td></tr>
+<tr class="memdesc:ab7de234e67060a4fc48978e430642baa"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper function for the various marginal linear_systemsion analyzes.  <a href="#ab7de234e67060a4fc48978e430642baa">More...</a><br /></td></tr>
+<tr class="separator:ab7de234e67060a4fc48978e430642baa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a003b5a21cffde500fa808f1c6e9c14ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html#a003b5a21cffde500fa808f1c6e9c14ae">linear_solver_dense</a> (varchar source_table, varchar out_table, varchar row_id, varchar left_hand_side, varchar right_hand_side)</td></tr>
+<tr class="memdesc:a003b5a21cffde500fa808f1c6e9c14ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variables.  <a href="#a003b5a21cffde500fa808f1c6e9c14ae">More...</a><br /></td></tr>
+<tr class="separator:a003b5a21cffde500fa808f1c6e9c14ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>July 2013</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>Computes the solution of a consistent linear system, for more details see the module description at <a class="el" href="group__grp__dense__linear__solver.html">Dense Linear Systems</a> </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a379f260d8dfbf5c2be05c60776974188"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a379f260d8dfbf5c2be05c60776974188">&#9670;&nbsp;</a></span>dense_direct_linear_system()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate dense_linear_solver_result dense_direct_linear_system </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>left_hand_side</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>right_hand_side</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numEquations</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>algorithm</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">row_id</td><td>Column containing the row_id </td></tr>
+    <tr><td class="paramname">left_hand_side</td><td>Column containing the left hand side of the system </td></tr>
+    <tr><td class="paramname">right_hand_side</td><td>Column containing the right hand side of the system </td></tr>
+    <tr><td class="paramname">numEquations</td><td>Number of equations </td></tr>
+    <tr><td class="paramname">algorithm</td><td>Algorithm used for the dense linear solver</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>solution FLOAT8[] </code> - Array of marginal effects</li>
+<li><code>residual_norm FLOAT8</code> - Norm of the residual</li>
+<li><code>iters INTEGER</code> - Iterations taken</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Get all the diagnostic statistics:<br />
+ <pre> SELECT linear_system_dense(<em>row_id</em>,
+                                  <em>left_hand_side</em>,
+                                  <em> right_hand_side </em>,
+                                  <em> numEquations </em>)
+ FROM <em>dataTable</em>;
+</pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a63a3ed2c811216d3d88c120005a13875"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63a3ed2c811216d3d88c120005a13875">&#9670;&nbsp;</a></span>dense_direct_linear_system_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">dense_linear_solver_result dense_direct_linear_system_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a607403f90e1921435183d031825e5e54"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a607403f90e1921435183d031825e5e54">&#9670;&nbsp;</a></span>dense_direct_linear_system_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] dense_direct_linear_system_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="acbfc47693d0b50ccfc6b7f7c38209b18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acbfc47693d0b50ccfc6b7f7c38209b18">&#9670;&nbsp;</a></span>dense_direct_linear_system_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] dense_direct_linear_system_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num_rows</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>algorithm</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a52f2bcdd0d038f19e64a44d4bb07fefb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a52f2bcdd0d038f19e64a44d4bb07fefb">&#9670;&nbsp;</a></span>dense_residual_norm()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate residual_norm_result dense_residual_norm </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>left_hand_side</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>right_hand_side</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>solution</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">left_hand_side</td><td>Column containing the left hand side of the system </td></tr>
+    <tr><td class="paramname">right_hand_side</td><td>Column containing the right hand side of the system </td></tr>
+    <tr><td class="paramname">solution</td><td>Solution of the linear system</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>residual_norm FLOAT8:</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Get all the diagnostic statistics:<br />
+ <pre> SELECT dense_residual_norm(<em>row_id</em>,
+                                  <em>left_hand_side</em>,
+                                  <em> right_hand_side </em>,
+                                  <em> solution </em>)
+ FROM <em>dataTable</em>;
+</pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a01935dd8c4aef8c92e77b7f0f905fa4b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a01935dd8c4aef8c92e77b7f0f905fa4b">&#9670;&nbsp;</a></span>dense_residual_norm_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">residual_norm_result dense_residual_norm_final </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a73ebde08b8395fd7bddbe1dc37b9539f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a73ebde08b8395fd7bddbe1dc37b9539f">&#9670;&nbsp;</a></span>dense_residual_norm_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 dense_residual_norm_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad34728809ab3121705342cf91b34c6dd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad34728809ab3121705342cf91b34c6dd">&#9670;&nbsp;</a></span>dense_residual_norm_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 dense_residual_norm_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a885d6a36c07dc2c048948cb5287a3b92"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a885d6a36c07dc2c048948cb5287a3b92">&#9670;&nbsp;</a></span>linear_solver_dense() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar linear_solver_dense </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>input_string</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2272a21f30096a79cd543fe66a0aee19"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2272a21f30096a79cd543fe66a0aee19">&#9670;&nbsp;</a></span>linear_solver_dense() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar linear_solver_dense </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab7de234e67060a4fc48978e430642baa"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab7de234e67060a4fc48978e430642baa">&#9670;&nbsp;</a></span>linear_solver_dense() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void linear_solver_dense </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>left_hand_side</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>right_hand_side</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer_options</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source_table</td><td>String identifying the input table </td></tr>
+    <tr><td class="paramname">out_table</td><td>String identifying the output table to be created </td></tr>
+    <tr><td class="paramname">row_id</td><td>Column containing the row_id </td></tr>
+    <tr><td class="paramname">left_hand_side</td><td>Column containing the left hand side of the system </td></tr>
+    <tr><td class="paramname">right_hand_side</td><td>Column containing the right hand side of the system </td></tr>
+    <tr><td class="paramname">grouping_cols</td><td>Columns to group by </td></tr>
+    <tr><td class="paramname">optimizer</td><td>Optimizer to be used </td></tr>
+    <tr><td class="paramname">optimizer_options</td><td>Optimal parameters for the algorithms</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>void</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd>For function summary information. Run sql&gt; select linear_solver_dense('help'); OR sql&gt; select <a class="el" href="dense__linear__systems_8sql__in.html#a885d6a36c07dc2c048948cb5287a3b92" title="Help function, to print out the supported families. ">linear_solver_dense()</a>; OR sql&gt; select linear_solver_dense('?'); For function usage information. Run sql&gt; select linear_solver_dense('usage'); </dd></dl>
+
+</div>
+</div>
+<a id="a003b5a21cffde500fa808f1c6e9c14ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a003b5a21cffde500fa808f1c6e9c14ae">&#9670;&nbsp;</a></span>linear_solver_dense() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void linear_solver_dense </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>left_hand_side</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>right_hand_side</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_d79f036e19ca50f1361675a4687317bc.html">linear_systems</a></li><li class="navelem"><a class="el" href="dense__linear__systems_8sql__in.html">dense_linear_systems.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_045246a4284e43a18b3301f7f2fe9021.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_045246a4284e43a18b3301f7f2fe9021.html b/docs/v1.11/dir_045246a4284e43a18b3301f7f2fe9021.html
new file mode 100644
index 0000000..99c1822
--- /dev/null
+++ b/docs/v1.11/dir_045246a4284e43a18b3301f7f2fe9021.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: svec Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_045246a4284e43a18b3301f7f2fe9021.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">svec Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_745a5b6eaaef3a7f811e3c789eb52f97"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_745a5b6eaaef3a7f811e3c789eb52f97.html">src</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_045246a4284e43a18b3301f7f2fe9021.html">svec</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_08a20377491e298f2a18634c46688672.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_08a20377491e298f2a18634c46688672.html b/docs/v1.11/dir_08a20377491e298f2a18634c46688672.html
new file mode 100644
index 0000000..9202e92
--- /dev/null
+++ b/docs/v1.11/dir_08a20377491e298f2a18634c46688672.html
@@ -0,0 +1,148 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: utilities Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_08a20377491e298f2a18634c46688672.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">utilities Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:create__indicators_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="create__indicators_8sql__in.html">create_indicators.sql_in</a></td></tr>
+<tr class="memdesc:create__indicators_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for dummy coding categorical variables. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:encode__categorical_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html">encode_categorical.sql_in</a></td></tr>
+<tr class="memdesc:encode__categorical_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for encoding categorical variables to numerical values. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:path_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="path_8sql__in.html">path.sql_in</a></td></tr>
+<tr class="memdesc:path_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for pathing functions. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:pivot_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pivot_8sql__in.html">pivot.sql_in</a></td></tr>
+<tr class="memdesc:pivot_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for pivoting. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sessionize_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sessionize_8sql__in.html">sessionize.sql_in</a></td></tr>
+<tr class="memdesc:sessionize_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for sessionization functions. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:text__utilities_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="text__utilities_8sql__in.html">text_utilities.sql_in</a></td></tr>
+<tr class="memdesc:text__utilities_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for carrying out routine text operations. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:utilities_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utilities_8sql__in.html">utilities.sql_in</a></td></tr>
+<tr class="memdesc:utilities_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for carrying out routine tasks. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_08a20377491e298f2a18634c46688672.html">utilities</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_0f3d836a779dde44bc18fb3c10f3236b.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_0f3d836a779dde44bc18fb3c10f3236b.html b/docs/v1.11/dir_0f3d836a779dde44bc18fb3c10f3236b.html
new file mode 100644
index 0000000..9378a5d
--- /dev/null
+++ b/docs/v1.11/dir_0f3d836a779dde44bc18fb3c10f3236b.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: stemmer Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_0f3d836a779dde44bc18fb3c10f3236b.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">stemmer Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_8e2b1b33327b47bbc574e11f1a03404a"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_8e2b1b33327b47bbc574e11f1a03404a.html">src</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_0f3d836a779dde44bc18fb3c10f3236b.html">stemmer</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_236d722cd8d4ab3240cfd6a99711293a.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_236d722cd8d4ab3240cfd6a99711293a.html b/docs/v1.11/dir_236d722cd8d4ab3240cfd6a99711293a.html
new file mode 100644
index 0000000..e1ed9ea
--- /dev/null
+++ b/docs/v1.11/dir_236d722cd8d4ab3240cfd6a99711293a.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: pg_gp Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_236d722cd8d4ab3240cfd6a99711293a.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">pg_gp Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:array__ops_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html">array_ops.sql_in</a></td></tr>
+<tr class="memdesc:array__ops_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of array operations in SQL <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_a3ac5584feaaa1368115abd5f91b8e22.html">array_ops</a></li><li class="navelem"><a class="el" href="dir_a84a9848deb14f7db801b07ed9e6c67a.html">src</a></li><li class="navelem"><a class="el" href="dir_236d722cd8d4ab3240cfd6a99711293a.html">pg_gp</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_243a6dc3b90609ab2fa0db538dccc7e4.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_243a6dc3b90609ab2fa0db538dccc7e4.html b/docs/v1.11/dir_243a6dc3b90609ab2fa0db538dccc7e4.html
new file mode 100644
index 0000000..2de7a1b
--- /dev/null
+++ b/docs/v1.11/dir_243a6dc3b90609ab2fa0db538dccc7e4.html
@@ -0,0 +1,139 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: crf Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_243a6dc3b90609ab2fa0db538dccc7e4.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">crf Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:crf_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf_8sql__in.html">crf.sql_in</a></td></tr>
+<tr class="memdesc:crf_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for conditional random field. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:crf__data__loader_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf__data__loader_8sql__in.html">crf_data_loader.sql_in</a></td></tr>
+<tr class="memdesc:crf__data__loader_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create database tables and import POS/NER training/testing data to the database. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:crf__feature__gen_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="crf__feature__gen_8sql__in.html">crf_feature_gen.sql_in</a></td></tr>
+<tr class="memdesc:crf__feature__gen_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL function for POS/NER feature extraction. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:viterbi_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="viterbi_8sql__in.html">viterbi.sql_in</a></td></tr>
+<tr class="memdesc:viterbi_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">concatenate a set of input values into arrays to feed into viterbi c function and create a human readable view of the output <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_243a6dc3b90609ab2fa0db538dccc7e4.html">crf</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_25068098bc33cf5efdba96ef1f982a7e.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_25068098bc33cf5efdba96ef1f982a7e.html b/docs/v1.11/dir_25068098bc33cf5efdba96ef1f982a7e.html
new file mode 100644
index 0000000..5f01cfb
--- /dev/null
+++ b/docs/v1.11/dir_25068098bc33cf5efdba96ef1f982a7e.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: svec_util Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_25068098bc33cf5efdba96ef1f982a7e.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">svec_util Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_9d92da3085fea9988335208d7a790048"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_9d92da3085fea9988335208d7a790048.html">src</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_25068098bc33cf5efdba96ef1f982a7e.html">svec_util</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_311c53d9b554ece18282a914235231b3.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_311c53d9b554ece18282a914235231b3.html b/docs/v1.11/dir_311c53d9b554ece18282a914235231b3.html
new file mode 100644
index 0000000..a981296
--- /dev/null
+++ b/docs/v1.11/dir_311c53d9b554ece18282a914235231b3.html
@@ -0,0 +1,138 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: linalg Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_311c53d9b554ece18282a914235231b3.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">linalg Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:linalg_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html">linalg.sql_in</a></td></tr>
+<tr class="memdesc:linalg_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for linear algebra. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:matrix__ops_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="matrix__ops_8sql__in.html">matrix_ops.sql_in</a></td></tr>
+<tr class="memdesc:matrix__ops_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of matrix operations in SQL. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:pivotalr__arrayops_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pivotalr__arrayops_8sql__in.html">pivotalr_arrayops.sql_in</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:svd_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svd_8sql__in.html">svd.sql_in</a></td></tr>
+<tr class="memdesc:svd_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">Singular Value Decomposition. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_311c53d9b554ece18282a914235231b3.html">linalg</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[43/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/cross__validation_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/cross__validation_8sql__in.html b/docs/v1.11/cross__validation_8sql__in.html
new file mode 100644
index 0000000..01ad719
--- /dev/null
+++ b/docs/v1.11/cross__validation_8sql__in.html
@@ -0,0 +1,704 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: cross_validation.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cross__validation_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">cross_validation.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for cross validation.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a2a7791b05f51e8748ab7b6ccf328a7e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cross__validation_8sql__in.html#a2a7791b05f51e8748ab7b6ccf328a7e2">cross_validation_general</a> (varchar modelling_func, varchar[] modelling_params, varchar[] modelling_params_type, varchar param_explored, varchar[] explore_values, varchar predict_func, varchar[] predict_params, varchar[] predict_params_type, varchar metric_func, varchar[] metric_params, varchar[] metric_params_type, varchar data_tbl, varchar data_id, boolean id_is_random, varchar validation_result, varchar[] data_cols, integer n_folds)</td></tr>
+<tr class="separator:a2a7791b05f51e8748ab7b6ccf328a7e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5efbb27898e99f7685816d9d5dfd082c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cross__validation_8sql__in.html#a5efbb27898e99f7685816d9d5dfd082c">cross_validation_general</a> (varchar modelling_func, varchar[] modelling_params, varchar[] modelling_params_type, varchar param_explored, varchar[] explore_values, varchar predict_func, varchar[] predict_params, varchar[] predict_params_type, varchar metric_func, varchar[] metric_params, varchar[] metric_params_type, varchar data_tbl, varchar data_id, boolean id_is_random, varchar validation_result, varchar[] data_cols)</td></tr>
+<tr class="separator:a5efbb27898e99f7685816d9d5dfd082c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa151eb3fa9acc7f4cc33236e22ad4362"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cross__validation_8sql__in.html#aa151eb3fa9acc7f4cc33236e22ad4362">cv_linregr_train</a> (varchar tbl_source, varchar col_ind_var, varchar col_dep_var, varchar tbl_result)</td></tr>
+<tr class="memdesc:aa151eb3fa9acc7f4cc33236e22ad4362"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper for linear regression.  <a href="#aa151eb3fa9acc7f4cc33236e22ad4362">More...</a><br /></td></tr>
+<tr class="separator:aa151eb3fa9acc7f4cc33236e22ad4362"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa572f1f57c0dd106b30948928161d8cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cross__validation_8sql__in.html#aa572f1f57c0dd106b30948928161d8cc">cv_linregr_predict</a> (varchar tbl_model, varchar tbl_newdata, varchar col_ind_var, varchar col_id, varchar tbl_predict)</td></tr>
+<tr class="memdesc:aa572f1f57c0dd106b30948928161d8cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper for linear regression prediction.  <a href="#aa572f1f57c0dd106b30948928161d8cc">More...</a><br /></td></tr>
+<tr class="separator:aa572f1f57c0dd106b30948928161d8cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2cd71e756f90b0c4fa46f508a1ca261e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cross__validation_8sql__in.html#a2cd71e756f90b0c4fa46f508a1ca261e">mse_error</a> (varchar tbl_prediction, varchar tbl_actual, varchar id_actual, varchar values_actual, varchar tbl_error)</td></tr>
+<tr class="separator:a2cd71e756f90b0c4fa46f508a1ca261e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad01cd1c97ae1be0ac7cd6c42abb75bb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cross__validation_8sql__in.html#ad01cd1c97ae1be0ac7cd6c42abb75bb2">misclassification_avg</a> (varchar tbl_prediction, varchar tbl_actual, varchar id_actual, varchar values_actual, varchar tbl_error)</td></tr>
+<tr class="separator:ad01cd1c97ae1be0ac7cd6c42abb75bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7dbc115f0c4624ccbf62b2d5494388d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cross__validation_8sql__in.html#ac7dbc115f0c4624ccbf62b2d5494388d">cv_logregr_predict</a> (varchar tbl_model, varchar tbl_newdata, varchar col_ind_var, varchar col_id, varchar tbl_predict)</td></tr>
+<tr class="memdesc:ac7dbc115f0c4624ccbf62b2d5494388d"><td class="mdescLeft">&#160;</td><td class="mdescRight">A prediction function for logistic regression The result is stored in the table of tbl_predict.  <a href="#ac7dbc115f0c4624ccbf62b2d5494388d">More...</a><br /></td></tr>
+<tr class="separator:ac7dbc115f0c4624ccbf62b2d5494388d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d1571ffa794176a5dfed9d35e70fed7"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cross__validation_8sql__in.html#a2d1571ffa794176a5dfed9d35e70fed7">logregr_accuracy</a> (float8[] coef, float8[] col_ind, boolean col_dep)</td></tr>
+<tr class="memdesc:a2d1571ffa794176a5dfed9d35e70fed7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Metric function for logistic regression.  <a href="#a2d1571ffa794176a5dfed9d35e70fed7">More...</a><br /></td></tr>
+<tr class="separator:a2d1571ffa794176a5dfed9d35e70fed7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1b5c57473ff672af45191c8d53f46ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cross__validation_8sql__in.html#ac1b5c57473ff672af45191c8d53f46ed">cv_logregr_accuracy</a> (varchar tbl_predict, varchar tbl_source, varchar col_id, varchar col_dep_var, varchar tbl_accuracy)</td></tr>
+<tr class="memdesc:ac1b5c57473ff672af45191c8d53f46ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Metric function for logistic regression.  <a href="#ac1b5c57473ff672af45191c8d53f46ed">More...</a><br /></td></tr>
+<tr class="separator:ac1b5c57473ff672af45191c8d53f46ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>January 2011</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to the usage of cross validation, see the module description <a class="el" href="group__grp__validation.html">Cross Validation</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a2a7791b05f51e8748ab7b6ccf328a7e2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2a7791b05f51e8748ab7b6ccf328a7e2">&#9670;&nbsp;</a></span>cross_validation_general() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void cross_validation_general </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>modelling_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>modelling_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>modelling_params_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>param_explored</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>explore_values</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>predict_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>predict_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>predict_params_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>metric_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>metric_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>metric_params_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>data_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>data_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>id_is_random</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>validation_result</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>data_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n_folds</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5efbb27898e99f7685816d9d5dfd082c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5efbb27898e99f7685816d9d5dfd082c">&#9670;&nbsp;</a></span>cross_validation_general() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void cross_validation_general </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>modelling_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>modelling_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>modelling_params_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>param_explored</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>explore_values</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>predict_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>predict_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>predict_params_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>metric_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>metric_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>metric_params_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>data_tbl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>data_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>id_is_random</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>validation_result</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>data_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa572f1f57c0dd106b30948928161d8cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa572f1f57c0dd106b30948928161d8cc">&#9670;&nbsp;</a></span>cv_linregr_predict()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void cv_linregr_predict </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_model</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_newdata</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_predict</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa151eb3fa9acc7f4cc33236e22ad4362"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa151eb3fa9acc7f4cc33236e22ad4362">&#9670;&nbsp;</a></span>cv_linregr_train()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void cv_linregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_dep_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_result</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac1b5c57473ff672af45191c8d53f46ed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac1b5c57473ff672af45191c8d53f46ed">&#9670;&nbsp;</a></span>cv_logregr_accuracy()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void cv_logregr_accuracy </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_predict</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_dep_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_accuracy</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>It computes the percentage of correct predictions. The result is stored in the table of tbl_accuracy </p>
+
+</div>
+</div>
+<a id="ac7dbc115f0c4624ccbf62b2d5494388d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac7dbc115f0c4624ccbf62b2d5494388d">&#9670;&nbsp;</a></span>cv_logregr_predict()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void cv_logregr_predict </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_model</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_newdata</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>col_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_predict</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>This function can be used together with cross-validation </p>
+
+</div>
+</div>
+<a id="a2d1571ffa794176a5dfed9d35e70fed7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2d1571ffa794176a5dfed9d35e70fed7">&#9670;&nbsp;</a></span>logregr_accuracy()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer logregr_accuracy </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>col_ind</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>col_dep</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">coef</td><td>Logistic fitting coefficients. Note: MADlib logregr_train function, unlike elastic_net, does not produce a separate intercept term. </td></tr>
+    <tr><td class="paramname">col_ind</td><td>Independent variable, an array </td></tr>
+    <tr><td class="paramname">col_dep</td><td>Dependent variable</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>returns 1 if the prediction is the same as col_dep, otherwise 0 </p>
+
+</div>
+</div>
+<a id="ad01cd1c97ae1be0ac7cd6c42abb75bb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad01cd1c97ae1be0ac7cd6c42abb75bb2">&#9670;&nbsp;</a></span>misclassification_avg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void misclassification_avg </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_prediction</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_actual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>id_actual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>values_actual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_error</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2cd71e756f90b0c4fa46f508a1ca261e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2cd71e756f90b0c4fa46f508a1ca261e">&#9670;&nbsp;</a></span>mse_error()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void mse_error </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_prediction</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_actual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>id_actual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>values_actual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>tbl_error</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_5d9e5096d85eccd70738b30ca4156c1c.html">validation</a></li><li class="navelem"><a class="el" href="cross__validation_8sql__in.html">cross_validation.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[47/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/clustered__variance_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/clustered__variance_8sql__in.html b/docs/v1.11/clustered__variance_8sql__in.html
new file mode 100644
index 0000000..edaf9e4
--- /dev/null
+++ b/docs/v1.11/clustered__variance_8sql__in.html
@@ -0,0 +1,1941 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: clustered_variance.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('clustered__variance_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">clustered_variance.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:abaa6702a3482f65199ce64b8a14316d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#abaa6702a3482f65199ce64b8a14316d7">clustered_variance_linregr</a> (text source_table, text out_table, text depvar, text indvar, text clustervar, text grouping_col)</td></tr>
+<tr class="memdesc:abaa6702a3482f65199ce64b8a14316d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the clustered errors.  <a href="#abaa6702a3482f65199ce64b8a14316d7">More...</a><br /></td></tr>
+<tr class="separator:abaa6702a3482f65199ce64b8a14316d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb6227023444552a37f3ea52502b1c37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#adb6227023444552a37f3ea52502b1c37">clustered_variance_linregr</a> (text source_table, text out_table, text depvar, text indvar, text clustervar)</td></tr>
+<tr class="separator:adb6227023444552a37f3ea52502b1c37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0548d26efc4f0b22c41516dabcd7d32b"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a0548d26efc4f0b22c41516dabcd7d32b">clustered_variance_linregr</a> ()</td></tr>
+<tr class="separator:a0548d26efc4f0b22c41516dabcd7d32b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade1843a5cf8c7c72fb1aae07d82d5a4e"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#ade1843a5cf8c7c72fb1aae07d82d5a4e">clustered_variance_linregr</a> (text msg)</td></tr>
+<tr class="separator:ade1843a5cf8c7c72fb1aae07d82d5a4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3548ff761b9d720e4db767dcf419e66"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#ab3548ff761b9d720e4db767dcf419e66">__clustered_err_lin_transition</a> (bytea8 state, float8 y, float8[] x, float8[] coef)</td></tr>
+<tr class="separator:ab3548ff761b9d720e4db767dcf419e66"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a876867228d62f422f10c03dc93d1e9eb"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a876867228d62f422f10c03dc93d1e9eb">__clustered_err_lin_merge</a> (bytea8 state1, bytea8 state2)</td></tr>
+<tr class="separator:a876867228d62f422f10c03dc93d1e9eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad772976f85e2f1dd3927f84a7f96e9ae"><td class="memItemLeft" align="right" valign="top">__clustered_agg_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#ad772976f85e2f1dd3927f84a7f96e9ae">__clustered_err_lin_final</a> (bytea8 state)</td></tr>
+<tr class="separator:ad772976f85e2f1dd3927f84a7f96e9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad4b627f3a2aa513b8809e3fc2f5e4c5f"><td class="memItemLeft" align="right" valign="top">aggregate __clustered_agg_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#ad4b627f3a2aa513b8809e3fc2f5e4c5f">__clustered_err_lin_step</a> (float8, float8[], float8[])</td></tr>
+<tr class="separator:ad4b627f3a2aa513b8809e3fc2f5e4c5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abebc8d70763c7264857b4b14d3ddf280"><td class="memItemLeft" align="right" valign="top">__clustered_lin_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#abebc8d70763c7264857b4b14d3ddf280">__clustered_lin_compute_stats</a> (float8[] coef, float8[] meatvec, float8[] breadvec, integer mcluster, integer numrows)</td></tr>
+<tr class="separator:abebc8d70763c7264857b4b14d3ddf280"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2d33f7a6a98dfc92c6d4a017ceabbd9a"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a2d33f7a6a98dfc92c6d4a017ceabbd9a">__array_add</a> (float8[] x, float8[] y)</td></tr>
+<tr class="separator:a2d33f7a6a98dfc92c6d4a017ceabbd9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a329c662f02c985ed68b886cf2bd29f37"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a329c662f02c985ed68b886cf2bd29f37">__array_sum</a> (float8[])</td></tr>
+<tr class="separator:a329c662f02c985ed68b886cf2bd29f37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0debc923b0494f8259938d9c6f5cdbcd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a0debc923b0494f8259938d9c6f5cdbcd">clustered_variance_logregr</a> (text source_table, text out_table, text depvar, text indvar, text clustervar, text grouping_col, integer max_iter, text optimizer, float8 tolerance, boolean verbose_mode)</td></tr>
+<tr class="separator:a0debc923b0494f8259938d9c6f5cdbcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d526752e92cbe1282bf581c49f9c31c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a5d526752e92cbe1282bf581c49f9c31c">clustered_variance_logregr</a> (text source_table, text out_table, text depvar, text indvar, text clustervar)</td></tr>
+<tr class="separator:a5d526752e92cbe1282bf581c49f9c31c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab060fb03fdcab9e702024eee940ba61c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#ab060fb03fdcab9e702024eee940ba61c">clustered_variance_logregr</a> (text source_table, text out_table, text depvar, text indvar, text clustervar, text grouping_col)</td></tr>
+<tr class="separator:ab060fb03fdcab9e702024eee940ba61c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab58eebaf13ef21e59e50362fe9ad658f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#ab58eebaf13ef21e59e50362fe9ad658f">clustered_variance_logregr</a> (text source_table, text out_table, text depvar, text indvar, text clustervar, text grouping_col, integer max_iter)</td></tr>
+<tr class="separator:ab58eebaf13ef21e59e50362fe9ad658f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d8bd2b7d26981e7de10597222d99f7c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a8d8bd2b7d26981e7de10597222d99f7c">clustered_variance_logregr</a> (text source_table, text out_table, text depvar, text indvar, text clustervar, text grouping_col, integer max_iter, text optimizer)</td></tr>
+<tr class="separator:a8d8bd2b7d26981e7de10597222d99f7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5c10605246186fc87442274b66948f52"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a5c10605246186fc87442274b66948f52">clustered_variance_logregr</a> (text source_table, text out_table, text depvar, text indvar, text clustervar, text grouping_col, integer max_iter, text optimizer, float8 tolerance)</td></tr>
+<tr class="separator:a5c10605246186fc87442274b66948f52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d702174c793b0c4afc5453d553f0e29"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a3d702174c793b0c4afc5453d553f0e29">clustered_variance_logregr</a> ()</td></tr>
+<tr class="separator:a3d702174c793b0c4afc5453d553f0e29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4450b02e72471fa85f441b9abdc65ff8"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a4450b02e72471fa85f441b9abdc65ff8">clustered_variance_logregr</a> (text msg)</td></tr>
+<tr class="separator:a4450b02e72471fa85f441b9abdc65ff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adbddf55ce3fbb5c99024298566a33cf2"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#adbddf55ce3fbb5c99024298566a33cf2">__clustered_err_log_transition</a> (bytea8 state, boolean y, float8[] x, float8[] coef)</td></tr>
+<tr class="separator:adbddf55ce3fbb5c99024298566a33cf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3dcbdb7edc8575a660656a2ce680d21"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#ab3dcbdb7edc8575a660656a2ce680d21">__clustered_err_log_merge</a> (bytea8 state1, bytea8 state2)</td></tr>
+<tr class="separator:ab3dcbdb7edc8575a660656a2ce680d21"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a790988e40da04d13e5b56197d35546d8"><td class="memItemLeft" align="right" valign="top">__clustered_agg_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a790988e40da04d13e5b56197d35546d8">__clustered_err_log_final</a> (bytea8 state)</td></tr>
+<tr class="separator:a790988e40da04d13e5b56197d35546d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f17f900dfce2d0a53a9f9ab06631386"><td class="memItemLeft" align="right" valign="top">aggregate __clustered_agg_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a6f17f900dfce2d0a53a9f9ab06631386">__clustered_err_log_step</a> (boolean, float8[], float8[])</td></tr>
+<tr class="separator:a6f17f900dfce2d0a53a9f9ab06631386"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a621c23b2be30469873870797b1dab995"><td class="memItemLeft" align="right" valign="top">__clustered_log_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a621c23b2be30469873870797b1dab995">__clustered_log_compute_stats</a> (float8[] coef, float8[] meatvec, float8[] breadvec, integer mcluster, integer numrows)</td></tr>
+<tr class="separator:a621c23b2be30469873870797b1dab995"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa72cfa6f9259cceea3e36b6db45a7624"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#aa72cfa6f9259cceea3e36b6db45a7624">clustered_variance_mlogregr</a> (text source_table, text out_table, text dependent_varname, text independent_varname, text cluster_varname, integer ref_category, text grouping_cols, text optimizer_params, boolean verbose_mode)</td></tr>
+<tr class="separator:aa72cfa6f9259cceea3e36b6db45a7624"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac614f56394b00ad9286c7c83a060b079"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#ac614f56394b00ad9286c7c83a060b079">clustered_variance_mlogregr</a> (text source_table, text out_table, text dependent_varname, text independent_varname, text cluster_varname, integer ref_category, text grouping_cols, text optimizer_params)</td></tr>
+<tr class="separator:ac614f56394b00ad9286c7c83a060b079"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a201adea876fbcf7f0d18685d0ae44ffb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a201adea876fbcf7f0d18685d0ae44ffb">clustered_variance_mlogregr</a> (text source_table, text out_table, text dependent_varname, text independent_varname, text cluster_varname, integer ref_category, text grouping_cols)</td></tr>
+<tr class="separator:a201adea876fbcf7f0d18685d0ae44ffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b2f2f1cc814cecb5b62bf28615fa8fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a7b2f2f1cc814cecb5b62bf28615fa8fe">clustered_variance_mlogregr</a> (text source_table, text out_table, text dependent_varname, text independent_varname, text cluster_varname, integer ref_category)</td></tr>
+<tr class="separator:a7b2f2f1cc814cecb5b62bf28615fa8fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6438de2e98e86468ab741ee3c3b337da"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a6438de2e98e86468ab741ee3c3b337da">clustered_variance_mlogregr</a> (text source_table, text out_table, text dependent_varname, text independent_varname, text cluster_varname)</td></tr>
+<tr class="separator:a6438de2e98e86468ab741ee3c3b337da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b55f727b8beea7cf06c1561bbffb6ca"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a7b55f727b8beea7cf06c1561bbffb6ca">clustered_variance_mlogregr</a> ()</td></tr>
+<tr class="separator:a7b55f727b8beea7cf06c1561bbffb6ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a133a97d8eee41ed57ed0b16a592774e4"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a133a97d8eee41ed57ed0b16a592774e4">clustered_variance_mlogregr</a> (text msg)</td></tr>
+<tr class="separator:a133a97d8eee41ed57ed0b16a592774e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aacb9639e3031010d9d69ab57ba2a5b1f"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#aacb9639e3031010d9d69ab57ba2a5b1f">__clustered_err_mlog_transition</a> (bytea8 state, integer y, float8[] x, float8[] coef, integer num_cat, integer ref_cat)</td></tr>
+<tr class="separator:aacb9639e3031010d9d69ab57ba2a5b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a12b136a5f17b60527a0b38d0dd553c97"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a12b136a5f17b60527a0b38d0dd553c97">__clustered_err_mlog_merge</a> (bytea8 state1, bytea8 state2)</td></tr>
+<tr class="separator:a12b136a5f17b60527a0b38d0dd553c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adcf2cf1ec7b2a376be25ed3a0a466e67"><td class="memItemLeft" align="right" valign="top">__clustered_agg_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#adcf2cf1ec7b2a376be25ed3a0a466e67">__clustered_err_mlog_final</a> (bytea8 state)</td></tr>
+<tr class="separator:adcf2cf1ec7b2a376be25ed3a0a466e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2112683f96b35cee6fcaa44a2831a49"><td class="memItemLeft" align="right" valign="top">aggregate __clustered_agg_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#ad2112683f96b35cee6fcaa44a2831a49">__clustered_err_mlog_step</a> (integer, float8[], float8[], integer, integer)</td></tr>
+<tr class="separator:ad2112683f96b35cee6fcaa44a2831a49"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5497d5be990c0efb11508b23f128f154"><td class="memItemLeft" align="right" valign="top">__clustered_mlog_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a5497d5be990c0efb11508b23f128f154">__clustered_mlog_compute_stats</a> (float8[] coef, float8[] meatvec, float8[] breadvec, integer mcluster, integer numrows)</td></tr>
+<tr class="separator:a5497d5be990c0efb11508b23f128f154"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab6a6297525bcd589311d7e085b830123"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#ab6a6297525bcd589311d7e085b830123">clustered_variance_mlogregr</a> (text source_table, text out_table, text dependent_varname, text independent_varname, text cluster_varname, integer ref_category, text grouping_cols, integer max_iter, varchar optimizer, float8 tolerance, boolean verbose_mode)</td></tr>
+<tr class="separator:ab6a6297525bcd589311d7e085b830123"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa864a6c22942e33348725c6cf5a79a14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#aa864a6c22942e33348725c6cf5a79a14">clustered_variance_mlogregr</a> (text source_table, text out_table, text dependent_varname, text independent_varname, text cluster_varname, integer ref_category, text grouping_cols, integer max_iter, varchar optimizer, float8 tolerance)</td></tr>
+<tr class="separator:aa864a6c22942e33348725c6cf5a79a14"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adec204a306e05ef8506b3b03e8e37ba3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#adec204a306e05ef8506b3b03e8e37ba3">clustered_variance_mlogregr</a> (text source_table, text out_table, text dependent_varname, text independent_varname, text cluster_varname, integer ref_category, text grouping_cols, integer max_iter, varchar optimizer)</td></tr>
+<tr class="separator:adec204a306e05ef8506b3b03e8e37ba3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d90589980d2779a149a81513bab79e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html#a7d90589980d2779a149a81513bab79e9">clustered_variance_mlogregr</a> (text source_table, text out_table, text dependent_varname, text independent_varname, text cluster_varname, integer ref_category, text grouping_cols, integer max_iter)</td></tr>
+<tr class="separator:a7d90589980d2779a149a81513bab79e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a2d33f7a6a98dfc92c6d4a017ceabbd9a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2d33f7a6a98dfc92c6d4a017ceabbd9a">&#9670;&nbsp;</a></span>__array_add()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __array_add </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a329c662f02c985ed68b886cf2bd29f37"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a329c662f02c985ed68b886cf2bd29f37">&#9670;&nbsp;</a></span>__array_sum()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __array_sum </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]</td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad772976f85e2f1dd3927f84a7f96e9ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad772976f85e2f1dd3927f84a7f96e9ae">&#9670;&nbsp;</a></span>__clustered_err_lin_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__clustered_agg_result __clustered_err_lin_final </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a876867228d62f422f10c03dc93d1e9eb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a876867228d62f422f10c03dc93d1e9eb">&#9670;&nbsp;</a></span>__clustered_err_lin_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __clustered_err_lin_merge </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad4b627f3a2aa513b8809e3fc2f5e4c5f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad4b627f3a2aa513b8809e3fc2f5e4c5f">&#9670;&nbsp;</a></span>__clustered_err_lin_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate __clustered_agg_result __clustered_err_lin_step </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab3548ff761b9d720e4db767dcf419e66"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab3548ff761b9d720e4db767dcf419e66">&#9670;&nbsp;</a></span>__clustered_err_lin_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __clustered_err_lin_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a790988e40da04d13e5b56197d35546d8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a790988e40da04d13e5b56197d35546d8">&#9670;&nbsp;</a></span>__clustered_err_log_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__clustered_agg_result __clustered_err_log_final </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab3dcbdb7edc8575a660656a2ce680d21"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab3dcbdb7edc8575a660656a2ce680d21">&#9670;&nbsp;</a></span>__clustered_err_log_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __clustered_err_log_merge </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6f17f900dfce2d0a53a9f9ab06631386"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6f17f900dfce2d0a53a9f9ab06631386">&#9670;&nbsp;</a></span>__clustered_err_log_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate __clustered_agg_result __clustered_err_log_step </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="adbddf55ce3fbb5c99024298566a33cf2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adbddf55ce3fbb5c99024298566a33cf2">&#9670;&nbsp;</a></span>__clustered_err_log_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __clustered_err_log_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="adcf2cf1ec7b2a376be25ed3a0a466e67"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adcf2cf1ec7b2a376be25ed3a0a466e67">&#9670;&nbsp;</a></span>__clustered_err_mlog_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__clustered_agg_result __clustered_err_mlog_final </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a12b136a5f17b60527a0b38d0dd553c97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a12b136a5f17b60527a0b38d0dd553c97">&#9670;&nbsp;</a></span>__clustered_err_mlog_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __clustered_err_mlog_merge </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad2112683f96b35cee6fcaa44a2831a49"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad2112683f96b35cee6fcaa44a2831a49">&#9670;&nbsp;</a></span>__clustered_err_mlog_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate __clustered_agg_result __clustered_err_mlog_step </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aacb9639e3031010d9d69ab57ba2a5b1f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aacb9639e3031010d9d69ab57ba2a5b1f">&#9670;&nbsp;</a></span>__clustered_err_mlog_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __clustered_err_mlog_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num_cat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_cat</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abebc8d70763c7264857b4b14d3ddf280"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abebc8d70763c7264857b4b14d3ddf280">&#9670;&nbsp;</a></span>__clustered_lin_compute_stats()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__clustered_lin_result __clustered_lin_compute_stats </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>meatvec</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>breadvec</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>mcluster</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numrows</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a621c23b2be30469873870797b1dab995"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a621c23b2be30469873870797b1dab995">&#9670;&nbsp;</a></span>__clustered_log_compute_stats()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__clustered_log_result __clustered_log_compute_stats </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>meatvec</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>breadvec</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>mcluster</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numrows</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5497d5be990c0efb11508b23f128f154"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5497d5be990c0efb11508b23f128f154">&#9670;&nbsp;</a></span>__clustered_mlog_compute_stats()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__clustered_mlog_result __clustered_mlog_compute_stats </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>meatvec</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>breadvec</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>mcluster</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numrows</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abaa6702a3482f65199ce64b8a14316d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abaa6702a3482f65199ce64b8a14316d7">&#9670;&nbsp;</a></span>clustered_variance_linregr() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_linregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>indvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>clustervar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_col</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source_table</td><td>Data table name </td></tr>
+    <tr><td class="paramname">out_table</td><td>The result table </td></tr>
+    <tr><td class="paramname">depvar</td><td>Dependent variable expression </td></tr>
+    <tr><td class="paramname">indvar</td><td>Independent variable expression </td></tr>
+    <tr><td class="paramname">clustervar</td><td>The expressions used to clustering </td></tr>
+    <tr><td class="paramname">grouping_col</td><td>The names of grouping columns </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="adb6227023444552a37f3ea52502b1c37"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb6227023444552a37f3ea52502b1c37">&#9670;&nbsp;</a></span>clustered_variance_linregr() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_linregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>indvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>clustervar</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0548d26efc4f0b22c41516dabcd7d32b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0548d26efc4f0b22c41516dabcd7d32b">&#9670;&nbsp;</a></span>clustered_variance_linregr() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text clustered_variance_linregr </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ade1843a5cf8c7c72fb1aae07d82d5a4e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ade1843a5cf8c7c72fb1aae07d82d5a4e">&#9670;&nbsp;</a></span>clustered_variance_linregr() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text clustered_variance_linregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0debc923b0494f8259938d9c6f5cdbcd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0debc923b0494f8259938d9c6f5cdbcd">&#9670;&nbsp;</a></span>clustered_variance_logregr() <span class="overload">[1/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_logregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>indvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>clustervar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>optimizer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>tolerance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose_mode</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5d526752e92cbe1282bf581c49f9c31c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5d526752e92cbe1282bf581c49f9c31c">&#9670;&nbsp;</a></span>clustered_variance_logregr() <span class="overload">[2/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_logregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>indvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>clustervar</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab060fb03fdcab9e702024eee940ba61c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab060fb03fdcab9e702024eee940ba61c">&#9670;&nbsp;</a></span>clustered_variance_logregr() <span class="overload">[3/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_logregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>indvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>clustervar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_col</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab58eebaf13ef21e59e50362fe9ad658f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab58eebaf13ef21e59e50362fe9ad658f">&#9670;&nbsp;</a></span>clustered_variance_logregr() <span class="overload">[4/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_logregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>indvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>clustervar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8d8bd2b7d26981e7de10597222d99f7c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8d8bd2b7d26981e7de10597222d99f7c">&#9670;&nbsp;</a></span>clustered_variance_logregr() <span class="overload">[5/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_logregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>indvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>clustervar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>optimizer</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5c10605246186fc87442274b66948f52"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5c10605246186fc87442274b66948f52">&#9670;&nbsp;</a></span>clustered_variance_logregr() <span class="overload">[6/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_logregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>indvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>clustervar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>optimizer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>tolerance</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3d702174c793b0c4afc5453d553f0e29"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d702174c793b0c4afc5453d553f0e29">&#9670;&nbsp;</a></span>clustered_variance_logregr() <span class="overload">[7/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text clustered_variance_logregr </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4450b02e72471fa85f441b9abdc65ff8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4450b02e72471fa85f441b9abdc65ff8">&#9670;&nbsp;</a></span>clustered_variance_logregr() <span class="overload">[8/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text clustered_variance_logregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa72cfa6f9259cceea3e36b6db45a7624"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa72cfa6f9259cceea3e36b6db45a7624">&#9670;&nbsp;</a></span>clustered_variance_mlogregr() <span class="overload">[1/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>cluster_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>optimizer_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose_mode</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac614f56394b00ad9286c7c83a060b079"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac614f56394b00ad9286c7c83a060b079">&#9670;&nbsp;</a></span>clustered_variance_mlogregr() <span class="overload">[2/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>cluster_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>optimizer_params</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a201adea876fbcf7f0d18685d0ae44ffb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a201adea876fbcf7f0d18685d0ae44ffb">&#9670;&nbsp;</a></span>clustered_variance_mlogregr() <span class="overload">[3/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>cluster_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7b2f2f1cc814cecb5b62bf28615fa8fe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b2f2f1cc814cecb5b62bf28615fa8fe">&#9670;&nbsp;</a></span>clustered_variance_mlogregr() <span class="overload">[4/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>cluster_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6438de2e98e86468ab741ee3c3b337da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6438de2e98e86468ab741ee3c3b337da">&#9670;&nbsp;</a></span>clustered_variance_mlogregr() <span class="overload">[5/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>cluster_varname</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7b55f727b8beea7cf06c1561bbffb6ca"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7b55f727b8beea7cf06c1561bbffb6ca">&#9670;&nbsp;</a></span>clustered_variance_mlogregr() <span class="overload">[6/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text clustered_variance_mlogregr </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a133a97d8eee41ed57ed0b16a592774e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a133a97d8eee41ed57ed0b16a592774e4">&#9670;&nbsp;</a></span>clustered_variance_mlogregr() <span class="overload">[7/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text clustered_variance_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>msg</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab6a6297525bcd589311d7e085b830123"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab6a6297525bcd589311d7e085b830123">&#9670;&nbsp;</a></span>clustered_variance_mlogregr() <span class="overload">[8/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>cluster_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>tolerance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose_mode</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa864a6c22942e33348725c6cf5a79a14"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa864a6c22942e33348725c6cf5a79a14">&#9670;&nbsp;</a></span>clustered_variance_mlogregr() <span class="overload">[9/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>cluster_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>tolerance</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="adec204a306e05ef8506b3b03e8e37ba3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adec204a306e05ef8506b3b03e8e37ba3">&#9670;&nbsp;</a></span>clustered_variance_mlogregr() <span class="overload">[10/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>cluster_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7d90589980d2779a149a81513bab79e9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7d90589980d2779a149a81513bab79e9">&#9670;&nbsp;</a></span>clustered_variance_mlogregr() <span class="overload">[11/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void clustered_variance_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>cluster_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_ff78ec617a20167dfb17882205d627df.html">regress</a></li><li class="navelem"><a class="el" href="clustered__variance_8sql__in.html">clustered_variance.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[02/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/multiresponseglm_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/multiresponseglm_8sql__in.html b/docs/v1.11/multiresponseglm_8sql__in.html
new file mode 100644
index 0000000..380c9f5
--- /dev/null
+++ b/docs/v1.11/multiresponseglm_8sql__in.html
@@ -0,0 +1,234 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: multiresponseglm.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('multiresponseglm_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">multiresponseglm.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for multinomial regression.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ac08c2fc81967cc26f8475cc0495fb4ec"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multiresponseglm_8sql__in.html#ac08c2fc81967cc26f8475cc0495fb4ec">__multinom_merge_states</a> (bytea8 state1, bytea8 state2)</td></tr>
+<tr class="separator:ac08c2fc81967cc26f8475cc0495fb4ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab0f66e577e5734114060cef6bfe9a36b"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multiresponseglm_8sql__in.html#ab0f66e577e5734114060cef6bfe9a36b">__multinom_final</a> (bytea8 state)</td></tr>
+<tr class="separator:ab0f66e577e5734114060cef6bfe9a36b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afcd02b370d023e2faf028390f2b7f0c7"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multiresponseglm_8sql__in.html#afcd02b370d023e2faf028390f2b7f0c7">__multinom_logit_transition</a> (bytea8, float8, float8[], bytea8, smallint)</td></tr>
+<tr class="separator:afcd02b370d023e2faf028390f2b7f0c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>July 2014</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to multinomial regression, see the module description <a class="el" href="group__grp__multinom.html">Multinomial Regression</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="ab0f66e577e5734114060cef6bfe9a36b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab0f66e577e5734114060cef6bfe9a36b">&#9670;&nbsp;</a></span>__multinom_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __multinom_final </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afcd02b370d023e2faf028390f2b7f0c7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afcd02b370d023e2faf028390f2b7f0c7">&#9670;&nbsp;</a></span>__multinom_logit_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __multinom_logit_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac08c2fc81967cc26f8475cc0495fb4ec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac08c2fc81967cc26f8475cc0495fb4ec">&#9670;&nbsp;</a></span>__multinom_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __multinom_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_346f5a65e673d18ebb88fcd994972902.html">glm</a></li><li class="navelem"><a class="el" href="multiresponseglm_8sql__in.html">multiresponseglm.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/nav_f.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/nav_f.png b/docs/v1.11/nav_f.png
new file mode 100644
index 0000000..72a58a5
Binary files /dev/null and b/docs/v1.11/nav_f.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/nav_g.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/nav_g.png b/docs/v1.11/nav_g.png
new file mode 100644
index 0000000..2093a23
Binary files /dev/null and b/docs/v1.11/nav_g.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/nav_h.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/nav_h.png b/docs/v1.11/nav_h.png
new file mode 100644
index 0000000..33389b1
Binary files /dev/null and b/docs/v1.11/nav_h.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/navtree.css
----------------------------------------------------------------------
diff --git a/docs/v1.11/navtree.css b/docs/v1.11/navtree.css
new file mode 100644
index 0000000..0cc7e77
--- /dev/null
+++ b/docs/v1.11/navtree.css
@@ -0,0 +1,146 @@
+#nav-tree .children_ul {
+  margin:0;
+  padding:4px;
+}
+
+#nav-tree ul {
+  list-style:none outside none;
+  margin:0px;
+  padding:0px;
+}
+
+#nav-tree li {
+  white-space:nowrap;
+  margin:0px;
+  padding:0px;
+}
+
+#nav-tree .plus {
+  margin:0px;
+}
+
+#nav-tree .selected {
+  background-image: url('tab_a.png');
+  background-repeat:repeat-x;
+  color: #fff;
+  text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
+
+#nav-tree img {
+  margin:0px;
+  padding:0px;
+  border:0px;
+  vertical-align: middle;
+}
+
+#nav-tree a {
+  text-decoration:none;
+  padding:0px;
+  margin:0px;
+  outline:none;
+}
+
+#nav-tree .label {
+  margin:0px;
+  padding:0px;
+  font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+}
+
+#nav-tree .label a {
+  padding:2px;
+}
+
+#nav-tree .selected a {
+  text-decoration:none;
+  color:#fff;
+}
+
+#nav-tree .children_ul {
+  margin:0px;
+  padding:0px;
+}
+
+#nav-tree .item {
+  margin:0px;
+  padding:0px;
+}
+
+#nav-tree {
+  padding: 0px 0px;
+  background-color: #FAFAFF; 
+  font-size:14px;
+  overflow:auto;
+}
+
+#doc-content {
+  overflow:auto;
+  display:block;
+  padding:0px;
+  margin:0px;
+  -webkit-overflow-scrolling : touch; /* iOS 5+ */
+}
+
+#side-nav {
+  padding:0 6px 0 0;
+  margin: 0px;
+  display:block;
+  position: absolute;
+  left: 0px;
+  width: 250px;
+}
+
+.ui-resizable .ui-resizable-handle {
+  display:block;
+}
+
+.ui-resizable-e {
+  background-image:url("splitbar.png");
+  background-size:100%;
+  background-repeat:no-repeat;
+  background-attachment: scroll;
+  cursor:ew-resize;
+  height:100%;
+  right:0;
+  top:0;
+  width:6px;
+}
+
+.ui-resizable-handle {
+  display:none;
+  font-size:0.1px;
+  position:absolute;
+  z-index:1;
+}
+
+#nav-tree-contents {
+  margin: 6px 0px 0px 0px;
+}
+
+#nav-tree {
+  background-image:url('nav_h.png');
+  background-repeat:repeat-x;
+  background-color: #F9FAFC;
+  -webkit-overflow-scrolling : touch; /* iOS 5+ */
+}
+
+#nav-sync {
+  position:absolute;
+  top:5px;
+  right:24px;
+  z-index:0;
+}
+
+#nav-sync img {
+  opacity:0.3;
+}
+
+#nav-sync img:hover {
+  opacity:0.9;
+}
+
+@media print
+{
+  #nav-tree { display: none; }
+  div.ui-resizable-handle { display: none; position: relative; }
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/navtree.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/navtree.js b/docs/v1.11/navtree.js
new file mode 100644
index 0000000..e6d31b0
--- /dev/null
+++ b/docs/v1.11/navtree.js
@@ -0,0 +1,517 @@
+var navTreeSubIndices = new Array();
+var arrowDown = '&#9660;';
+var arrowRight = '&#9658;';
+
+function getData(varName)
+{
+  var i = varName.lastIndexOf('/');
+  var n = i>=0 ? varName.substring(i+1) : varName;
+  return eval(n.replace(/\-/g,'_'));
+}
+
+function stripPath(uri)
+{
+  return uri.substring(uri.lastIndexOf('/')+1);
+}
+
+function stripPath2(uri)
+{
+  var i = uri.lastIndexOf('/');
+  var s = uri.substring(i+1);
+  var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/);
+  return m ? uri.substring(i-6) : s;
+}
+
+function hashValue()
+{
+  return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,'');
+}
+
+function hashUrl()
+{
+  return '#'+hashValue();
+}
+
+function pathName()
+{
+  return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, '');
+}
+
+function localStorageSupported()
+{
+  try {
+    return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem;
+  }
+  catch(e) {
+    return false;
+  }
+}
+
+
+function storeLink(link)
+{
+  if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) {
+      window.localStorage.setItem('navpath',link);
+  }
+}
+
+function deleteLink()
+{
+  if (localStorageSupported()) {
+    window.localStorage.setItem('navpath','');
+  }
+}
+
+function cachedLink()
+{
+  if (localStorageSupported()) {
+    return window.localStorage.getItem('navpath');
+  } else {
+    return '';
+  }
+}
+
+function getScript(scriptName,func,show)
+{
+  var head = document.getElementsByTagName("head")[0];
+  var script = document.createElement('script');
+  script.id = scriptName;
+  script.type = 'text/javascript';
+  script.onload = func;
+  script.src = scriptName+'.js';
+  if ($.browser.msie && $.browser.version<=8) {
+    // script.onload does not work with older versions of IE
+    script.onreadystatechange = function() {
+      if (script.readyState=='complete' || script.readyState=='loaded') {
+        func(); if (show) showRoot();
+      }
+    }
+  }
+  head.appendChild(script); 
+}
+
+function createIndent(o,domNode,node,level)
+{
+  var level=-1;
+  var n = node;
+  while (n.parentNode) { level++; n=n.parentNode; }
+  if (node.childrenData) {
+    var imgNode = document.createElement("span");
+    imgNode.className = 'arrow';
+    imgNode.style.paddingLeft=(16*level).toString()+'px';
+    imgNode.innerHTML=arrowRight;
+    node.plus_img = imgNode;
+    node.expandToggle = document.createElement("a");
+    node.expandToggle.href = "javascript:void(0)";
+    node.expandToggle.onclick = function() {
+      if (node.expanded) {
+        $(node.getChildrenUL()).slideUp("fast");
+        node.plus_img.innerHTML=arrowRight;
+        node.expanded = false;
+      } else {
+        expandNode(o, node, false, false);
+      }
+    }
+    node.expandToggle.appendChild(imgNode);
+    domNode.appendChild(node.expandToggle);
+  } else {
+    var span = document.createElement("span");
+    span.className = 'arrow';
+    span.style.width   = 16*(level+1)+'px';
+    span.innerHTML = '&#160;';
+    domNode.appendChild(span);
+  }
+}
+
+var animationInProgress = false;
+
+function gotoAnchor(anchor,aname,updateLocation)
+{
+  var pos, docContent = $('#doc-content');
+  var ancParent = $(anchor.parent());
+  if (ancParent.hasClass('memItemLeft') ||
+      ancParent.hasClass('fieldname') ||
+      ancParent.hasClass('fieldtype') ||
+      ancParent.is(':header'))
+  {
+    pos = ancParent.position().top;
+  } else if (anchor.position()) {
+    pos = anchor.position().top;
+  }
+  if (pos) {
+    var dist = Math.abs(Math.min(
+               pos-docContent.offset().top,
+               docContent[0].scrollHeight-
+               docContent.height()-docContent.scrollTop()));
+    animationInProgress=true;
+    docContent.animate({
+      scrollTop: pos + docContent.scrollTop() - docContent.offset().top
+    },Math.max(50,Math.min(500,dist)),function(){
+      if (updateLocation) window.location.href=aname;
+      animationInProgress=false;
+    });
+  }
+}
+
+function newNode(o, po, text, link, childrenData, lastNode)
+{
+  var node = new Object();
+  node.children = Array();
+  node.childrenData = childrenData;
+  node.depth = po.depth + 1;
+  node.relpath = po.relpath;
+  node.isLast = lastNode;
+
+  node.li = document.createElement("li");
+  po.getChildrenUL().appendChild(node.li);
+  node.parentNode = po;
+
+  node.itemDiv = document.createElement("div");
+  node.itemDiv.className = "item";
+
+  node.labelSpan = document.createElement("span");
+  node.labelSpan.className = "label";
+
+  createIndent(o,node.itemDiv,node,0);
+  node.itemDiv.appendChild(node.labelSpan);
+  node.li.appendChild(node.itemDiv);
+
+  var a = document.createElement("a");
+  node.labelSpan.appendChild(a);
+  node.label = document.createTextNode(text);
+  node.expanded = false;
+  a.appendChild(node.label);
+  if (link) {
+    var url;
+    if (link.substring(0,1)=='^') {
+      url = link.substring(1);
+      link = url;
+    } else {
+      url = node.relpath+link;
+    }
+    a.className = stripPath(link.replace('#',':'));
+    if (link.indexOf('#')!=-1) {
+      var aname = '#'+link.split('#')[1];
+      var srcPage = stripPath(pathName());
+      var targetPage = stripPath(link.split('#')[0]);
+      a.href = srcPage!=targetPage ? url : "javascript:void(0)";
+      a.onclick = function(){
+        storeLink(link);
+        if (!$(a).parent().parent().hasClass('selected'))
+        {
+          $('.item').removeClass('selected');
+          $('.item').removeAttr('id');
+          $(a).parent().parent().addClass('selected');
+          $(a).parent().parent().attr('id','selected');
+        }
+        var anchor = $(aname);
+        gotoAnchor(anchor,aname,true);
+      };
+    } else {
+      a.href = url;
+      a.onclick = function() { storeLink(link); }
+    }
+  } else {
+    if (childrenData != null)
+    {
+      a.className = "nolink";
+      a.href = "javascript:void(0)";
+      a.onclick = node.expandToggle.onclick;
+    }
+  }
+
+  node.childrenUL = null;
+  node.getChildrenUL = function() {
+    if (!node.childrenUL) {
+      node.childrenUL = document.createElement("ul");
+      node.childrenUL.className = "children_ul";
+      node.childrenUL.style.display = "none";
+      node.li.appendChild(node.childrenUL);
+    }
+    return node.childrenUL;
+  };
+
+  return node;
+}
+
+function showRoot()
+{
+  var headerHeight = $("#top").height();
+  var footerHeight = $("#nav-path").height();
+  var windowHeight = $(window).height() - headerHeight - footerHeight;
+  (function (){ // retry until we can scroll to the selected item
+    try {
+      var navtree=$('#nav-tree');
+      navtree.scrollTo('#selected',0,{offset:-windowHeight/2});
+    } catch (err) {
+      setTimeout(arguments.callee, 0);
+    }
+  })();
+}
+
+function expandNode(o, node, imm, showRoot)
+{
+  if (node.childrenData && !node.expanded) {
+    if (typeof(node.childrenData)==='string') {
+      var varName    = node.childrenData;
+      getScript(node.relpath+varName,function(){
+        node.childrenData = getData(varName);
+        expandNode(o, node, imm, showRoot);
+      }, showRoot);
+    } else {
+      if (!node.childrenVisited) {
+        getNode(o, node);
+      } if (imm || ($.browser.msie && $.browser.version>8)) {
+        // somehow slideDown jumps to the start of tree for IE9 :-(
+        $(node.getChildrenUL()).show();
+      } else {
+        $(node.getChildrenUL()).slideDown("fast");
+      }
+      node.plus_img.innerHTML = arrowDown;
+      node.expanded = true;
+    }
+  }
+}
+
+function glowEffect(n,duration)
+{
+  n.addClass('glow').delay(duration).queue(function(next){
+    $(this).removeClass('glow');next();
+  });
+}
+
+function highlightAnchor()
+{
+  var aname = hashUrl();
+  var anchor = $(aname);
+  if (anchor.parent().attr('class')=='memItemLeft'){
+    var rows = $('.memberdecls tr[class$="'+hashValue()+'"]');
+    glowEffect(rows.children(),300); // member without details
+  } else if (anchor.parent().attr('class')=='fieldname'){
+    glowEffect(anchor.parent().parent(),1000); // enum value
+  } else if (anchor.parent().attr('class')=='fieldtype'){
+    glowEffect(anchor.parent().parent(),1000); // struct field
+  } else if (anchor.parent().is(":header")) {
+    glowEffect(anchor.parent(),1000); // section header
+  } else {
+    glowEffect(anchor.next(),1000); // normal member
+  }
+  gotoAnchor(anchor,aname,false);
+}
+
+function selectAndHighlight(hash,n)
+{
+  var a;
+  if (hash) {
+    var link=stripPath(pathName())+':'+hash.substring(1);
+    a=$('.item a[class$="'+link+'"]');
+  }
+  if (a && a.length) {
+    a.parent().parent().addClass('selected');
+    a.parent().parent().attr('id','selected');
+    highlightAnchor();
+  } else if (n) {
+    $(n.itemDiv).addClass('selected');
+    $(n.itemDiv).attr('id','selected');
+  }
+  if ($('#nav-tree-contents .item:first').hasClass('selected')) {
+    $('#nav-sync').css('top','30px');
+  } else {
+    $('#nav-sync').css('top','5px');
+  }
+  showRoot();
+}
+
+function showNode(o, node, index, hash)
+{
+  if (node && node.childrenData) {
+    if (typeof(node.childrenData)==='string') {
+      var varName    = node.childrenData;
+      getScript(node.relpath+varName,function(){
+        node.childrenData = getData(varName);
+        showNode(o,node,index,hash);
+      },true);
+    } else {
+      if (!node.childrenVisited) {
+        getNode(o, node);
+      }
+      $(node.getChildrenUL()).css({'display':'block'});
+      node.plus_img.innerHTML = arrowDown;
+      node.expanded = true;
+      var n = node.children[o.breadcrumbs[index]];
+      if (index+1<o.breadcrumbs.length) {
+        showNode(o,n,index+1,hash);
+      } else {
+        if (typeof(n.childrenData)==='string') {
+          var varName = n.childrenData;
+          getScript(n.relpath+varName,function(){
+            n.childrenData = getData(varName);
+            node.expanded=false;
+            showNode(o,node,index,hash); // retry with child node expanded
+          },true);
+        } else {
+          var rootBase = stripPath(o.toroot.replace(/\..+$/, ''));
+          if (rootBase=="index" || rootBase=="pages" || rootBase=="search") {
+            expandNode(o, n, true, true);
+          }
+          selectAndHighlight(hash,n);
+        }
+      }
+    }
+  } else {
+    selectAndHighlight(hash);
+  }
+}
+
+function removeToInsertLater(element) {
+  var parentNode = element.parentNode;
+  var nextSibling = element.nextSibling;
+  parentNode.removeChild(element);
+  return function() {
+    if (nextSibling) {
+      parentNode.insertBefore(element, nextSibling);
+    } else {
+      parentNode.appendChild(element);
+    }
+  };
+}
+
+function getNode(o, po)
+{
+  var insertFunction = removeToInsertLater(po.li);
+  po.childrenVisited = true;
+  var l = po.childrenData.length-1;
+  for (var i in po.childrenData) {
+    var nodeData = po.childrenData[i];
+    po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2],
+      i==l);
+  }
+  insertFunction();
+}
+
+function gotoNode(o,subIndex,root,hash,relpath)
+{
+  var nti = navTreeSubIndices[subIndex][root+hash];
+  o.breadcrumbs = $.extend(true, [], nti ? nti : navTreeSubIndices[subIndex][root]);
+  if (!o.breadcrumbs && root!=NAVTREE[0][1]) { // fallback: show index
+    navTo(o,NAVTREE[0][1],"",relpath);
+    $('.item').removeClass('selected');
+    $('.item').removeAttr('id');
+  }
+  if (o.breadcrumbs) {
+    o.breadcrumbs.unshift(0); // add 0 for root node
+    showNode(o, o.node, 0, hash);
+  }
+}
+
+function navTo(o,root,hash,relpath)
+{
+  var link = cachedLink();
+  if (link) {
+    var parts = link.split('#');
+    root = parts[0];
+    if (parts.length>1) hash = '#'+parts[1].replace(/[^\w\-]/g,'');
+    else hash='';
+  }
+  if (hash.match(/^#l\d+$/)) {
+    var anchor=$('a[name='+hash.substring(1)+']');
+    glowEffect(anchor.parent(),1000); // line number
+    hash=''; // strip line number anchors
+  }
+  var url=root+hash;
+  var i=-1;
+  while (NAVTREEINDEX[i+1]<=url) i++;
+  if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index
+  if (navTreeSubIndices[i]) {
+    gotoNode(o,i,root,hash,relpath)
+  } else {
+    getScript(relpath+'navtreeindex'+i,function(){
+      navTreeSubIndices[i] = eval('NAVTREEINDEX'+i);
+      if (navTreeSubIndices[i]) {
+        gotoNode(o,i,root,hash,relpath);
+      }
+    },true);
+  }
+}
+
+function showSyncOff(n,relpath)
+{
+    n.html('<img src="'+relpath+'sync_off.png" title="'+SYNCOFFMSG+'"/>');
+}
+
+function showSyncOn(n,relpath)
+{
+    n.html('<img src="'+relpath+'sync_on.png" title="'+SYNCONMSG+'"/>');
+}
+
+function toggleSyncButton(relpath)
+{
+  var navSync = $('#nav-sync');
+  if (navSync.hasClass('sync')) {
+    navSync.removeClass('sync');
+    showSyncOff(navSync,relpath);
+    storeLink(stripPath2(pathName())+hashUrl());
+  } else {
+    navSync.addClass('sync');
+    showSyncOn(navSync,relpath);
+    deleteLink();
+  }
+}
+
+function initNavTree(toroot,relpath)
+{
+  var o = new Object();
+  o.toroot = toroot;
+  o.node = new Object();
+  o.node.li = document.getElementById("nav-tree-contents");
+  o.node.childrenData = NAVTREE;
+  o.node.children = new Array();
+  o.node.childrenUL = document.createElement("ul");
+  o.node.getChildrenUL = function() { return o.node.childrenUL; };
+  o.node.li.appendChild(o.node.childrenUL);
+  o.node.depth = 0;
+  o.node.relpath = relpath;
+  o.node.expanded = false;
+  o.node.isLast = true;
+  o.node.plus_img = document.createElement("span");
+  o.node.plus_img.className = 'arrow';
+  o.node.plus_img.innerHTML = arrowRight;
+
+  if (localStorageSupported()) {
+    var navSync = $('#nav-sync');
+    if (cachedLink()) {
+      showSyncOff(navSync,relpath);
+      navSync.removeClass('sync');
+    } else {
+      showSyncOn(navSync,relpath);
+    }
+    navSync.click(function(){ toggleSyncButton(relpath); });
+  }
+
+  $(window).load(function(){
+    navTo(o,toroot,hashUrl(),relpath);
+    showRoot();
+  });
+
+  $(window).bind('hashchange', function(){
+     if (window.location.hash && window.location.hash.length>1){
+       var a;
+       if ($(location).attr('hash')){
+         var clslink=stripPath(pathName())+':'+hashValue();
+         a=$('.item a[class$="'+clslink.replace(/</g,'\\3c ')+'"]');
+       }
+       if (a==null || !$(a).parent().parent().hasClass('selected')){
+         $('.item').removeClass('selected');
+         $('.item').removeAttr('id');
+       }
+       var link=stripPath2(pathName());
+       navTo(o,link,hashUrl(),relpath);
+     } else if (!animationInProgress) {
+       $('#doc-content').scrollTop(0);
+       $('.item').removeClass('selected');
+       $('.item').removeAttr('id');
+       navTo(o,toroot,hashUrl(),relpath);
+     }
+  })
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/navtreedata.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/navtreedata.js b/docs/v1.11/navtreedata.js
new file mode 100644
index 0000000..08e1e1d
--- /dev/null
+++ b/docs/v1.11/navtreedata.js
@@ -0,0 +1,14 @@
+var NAVTREE =
+[
+  [ "MADlib", "index.html", [
+    [ "Modules", "modules.html", "modules" ]
+  ] ]
+];
+
+var NAVTREEINDEX =
+[
+"group__grp__arima.html"
+];
+
+var SYNCONMSG = 'click to disable panel synchronisation';
+var SYNCOFFMSG = 'click to enable panel synchronisation';
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/navtreeindex0.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/navtreeindex0.js b/docs/v1.11/navtreeindex0.js
new file mode 100644
index 0000000..cd997f4
--- /dev/null
+++ b/docs/v1.11/navtreeindex0.js
@@ -0,0 +1,83 @@
+var NAVTREEINDEX0 =
+{
+"group__grp__arima.html":[0,5,0],
+"group__grp__array.html":[0,0,0,0],
+"group__grp__arraysmatrix.html":[0,0,0],
+"group__grp__assoc__rules.html":[0,6,0,0],
+"group__grp__association__rules.html":[0,6,0],
+"group__grp__bayes.html":[0,8,2],
+"group__grp__cg.html":[0,8,1],
+"group__grp__clustered__errors.html":[0,4,1,0],
+"group__grp__clustering.html":[0,6,1],
+"group__grp__correlation.html":[0,3,0,0],
+"group__grp__countmin.html":[0,8,0,0],
+"group__grp__cox__prop__hazards.html":[0,4,1,1],
+"group__grp__crf.html":[0,4,0],
+"group__grp__datatrans.html":[0,0],
+"group__grp__decision__tree.html":[0,4,3,0],
+"group__grp__dense__linear__solver.html":[0,7,1,0],
+"group__grp__deprecated.html":[0,9],
+"group__grp__desc__stats.html":[0,3,0],
+"group__grp__early__stage.html":[0,8],
+"group__grp__elasticnet.html":[0,4,1,2],
+"group__grp__encode__categorical.html":[0,0,2],
+"group__grp__fmsketch.html":[0,8,0,1],
+"group__grp__glm.html":[0,4,1,3],
+"group__grp__graph.html":[0,1],
+"group__grp__indicator.html":[0,9,0],
+"group__grp__inf__stats.html":[0,3,1],
+"group__grp__kmeans.html":[0,6,1,0],
+"group__grp__knn.html":[0,8,4,0],
+"group__grp__lda.html":[0,6,2,0],
+"group__grp__linalg.html":[0,0,0,3],
+"group__grp__linear__solver.html":[0,7,1],
+"group__grp__linreg.html":[0,4,1,4],
+"group__grp__lmf.html":[0,0,0,2,0],
+"group__grp__logreg.html":[0,4,1,5],
+"group__grp__marginal.html":[0,4,1,6],
+"group__grp__matrix.html":[0,0,0,1],
+"group__grp__matrix__factorization.html":[0,0,0,2],
+"group__grp__mdl.html":[0,2],
+"group__grp__mfvsketch.html":[0,8,0,2],
+"group__grp__mlogreg.html":[0,9,1],
+"group__grp__multinom.html":[0,4,1,7],
+"group__grp__nene.html":[0,8,4],
+"group__grp__ordinal.html":[0,4,1,8],
+"group__grp__pagerank.html":[0,1,0],
+"group__grp__path.html":[0,7,2],
+"group__grp__pca.html":[0,0,1],
+"group__grp__pca__project.html":[0,0,1,1],
+"group__grp__pca__train.html":[0,0,1,0],
+"group__grp__pivot.html":[0,0,3],
+"group__grp__pmml.html":[0,7,3],
+"group__grp__pred.html":[0,2,1],
+"group__grp__prob.html":[0,3,2],
+"group__grp__random__forest.html":[0,4,3,1],
+"group__grp__regml.html":[0,4,1],
+"group__grp__robust.html":[0,4,1,9],
+"group__grp__sample.html":[0,8,3],
+"group__grp__sessionize.html":[0,7,4],
+"group__grp__sketches.html":[0,8,0],
+"group__grp__sparse__linear__solver.html":[0,7,1,1],
+"group__grp__sssp.html":[0,1,1],
+"group__grp__stats.html":[0,3],
+"group__grp__stats__tests.html":[0,3,1,0],
+"group__grp__stemmer.html":[0,0,4],
+"group__grp__summary.html":[0,3,0,1],
+"group__grp__super.html":[0,4],
+"group__grp__svd.html":[0,0,0,2,1],
+"group__grp__svec.html":[0,0,0,4],
+"group__grp__svm.html":[0,4,2],
+"group__grp__text__analysis.html":[0,7,5],
+"group__grp__text__utilities.html":[0,7,5,0],
+"group__grp__topic__modelling.html":[0,6,2],
+"group__grp__tree.html":[0,4,3],
+"group__grp__tsa.html":[0,5],
+"group__grp__unsupervised.html":[0,6],
+"group__grp__utilities.html":[0,7,0],
+"group__grp__utility__functions.html":[0,7],
+"group__grp__validation.html":[0,2,0],
+"index.html":[],
+"modules.html":[0],
+"pages.html":[]
+};

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/open.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/open.png b/docs/v1.11/open.png
new file mode 100644
index 0000000..30f75c7
Binary files /dev/null and b/docs/v1.11/open.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/ordinal_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/ordinal_8sql__in.html b/docs/v1.11/ordinal_8sql__in.html
new file mode 100644
index 0000000..398a012
--- /dev/null
+++ b/docs/v1.11/ordinal_8sql__in.html
@@ -0,0 +1,234 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: ordinal.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('ordinal_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">ordinal.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for ordinal regression.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:aea97aa914403a78b150dcaa54b08dc2b"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ordinal_8sql__in.html#aea97aa914403a78b150dcaa54b08dc2b">__ordinal_merge_states</a> (bytea8 state1, bytea8 state2)</td></tr>
+<tr class="separator:aea97aa914403a78b150dcaa54b08dc2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a43acfb9669b17dc032850322993238bd"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ordinal_8sql__in.html#a43acfb9669b17dc032850322993238bd">__ordinal_final</a> (bytea8 state)</td></tr>
+<tr class="separator:a43acfb9669b17dc032850322993238bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8430c72e6eeccf6f057432e0c09df784"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ordinal_8sql__in.html#a8430c72e6eeccf6f057432e0c09df784">__ordinal_logit_transition</a> (bytea8, float8, float8[], bytea8, smallint)</td></tr>
+<tr class="separator:a8430c72e6eeccf6f057432e0c09df784"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>July 2014</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to ordinal regression, see the module description <a class="el" href="group__grp__ordinal.html">Ordinal Regression</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a43acfb9669b17dc032850322993238bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a43acfb9669b17dc032850322993238bd">&#9670;&nbsp;</a></span>__ordinal_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __ordinal_final </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8430c72e6eeccf6f057432e0c09df784"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8430c72e6eeccf6f057432e0c09df784">&#9670;&nbsp;</a></span>__ordinal_logit_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __ordinal_logit_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aea97aa914403a78b150dcaa54b08dc2b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aea97aa914403a78b150dcaa54b08dc2b">&#9670;&nbsp;</a></span>__ordinal_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __ordinal_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_346f5a65e673d18ebb88fcd994972902.html">glm</a></li><li class="navelem"><a class="el" href="ordinal_8sql__in.html">ordinal.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/pagerank_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/pagerank_8sql__in.html b/docs/v1.11/pagerank_8sql__in.html
new file mode 100644
index 0000000..950fa9d
--- /dev/null
+++ b/docs/v1.11/pagerank_8sql__in.html
@@ -0,0 +1,469 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: pagerank.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('pagerank_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">pagerank.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ac85f61143b581cd969530cea7a5311cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pagerank_8sql__in.html#ac85f61143b581cd969530cea7a5311cc">pagerank</a> (text vertex_table, text vertex_id, text edge_table, text edge_args, text out_table, float8 damping_factor, integer max_iter, float8 threshold, varchar grouping_cols)</td></tr>
+<tr class="separator:ac85f61143b581cd969530cea7a5311cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afef4de2968cdf226c8c866ea74439569"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pagerank_8sql__in.html#afef4de2968cdf226c8c866ea74439569">pagerank</a> (text vertex_table, text vertex_id, text edge_table, text edge_args, text out_table, float8 damping_factor, integer max_iter, float8 threshold)</td></tr>
+<tr class="separator:afef4de2968cdf226c8c866ea74439569"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a89e65d85e3f29c4659257a817c1bceb1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pagerank_8sql__in.html#a89e65d85e3f29c4659257a817c1bceb1">pagerank</a> (text vertex_table, text vertex_id, text edge_table, text edge_args, text out_table, float8 damping_factor, integer max_iter)</td></tr>
+<tr class="separator:a89e65d85e3f29c4659257a817c1bceb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5b0fd743404c42dce6a9fc0e35f7645"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pagerank_8sql__in.html#ad5b0fd743404c42dce6a9fc0e35f7645">pagerank</a> (text vertex_table, text vertex_id, text edge_table, text edge_args, text out_table, float8 damping_factor)</td></tr>
+<tr class="separator:ad5b0fd743404c42dce6a9fc0e35f7645"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae888a524d7fbb9fd3e94c1ee9a4dd42"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pagerank_8sql__in.html#aae888a524d7fbb9fd3e94c1ee9a4dd42">pagerank</a> (text vertex_table, text vertex_id, text edge_table, text edge_args, text out_table)</td></tr>
+<tr class="separator:aae888a524d7fbb9fd3e94c1ee9a4dd42"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5a240ada11e9de64e4b9930a81b81cd6"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pagerank_8sql__in.html#a5a240ada11e9de64e4b9930a81b81cd6">pagerank</a> (varchar message)</td></tr>
+<tr class="separator:a5a240ada11e9de64e4b9930a81b81cd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e7d15ac323613c4e2a3275b75f85f6e"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pagerank_8sql__in.html#a2e7d15ac323613c4e2a3275b75f85f6e">pagerank</a> ()</td></tr>
+<tr class="separator:a2e7d15ac323613c4e2a3275b75f85f6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="ac85f61143b581cd969530cea7a5311cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac85f61143b581cd969530cea7a5311cc">&#9670;&nbsp;</a></span>pagerank() <span class="overload">[1/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pagerank </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vertex_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vertex_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>edge_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>edge_args</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>damping_factor</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>threshold</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afef4de2968cdf226c8c866ea74439569"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afef4de2968cdf226c8c866ea74439569">&#9670;&nbsp;</a></span>pagerank() <span class="overload">[2/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pagerank </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vertex_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vertex_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>edge_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>edge_args</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>damping_factor</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>threshold</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a89e65d85e3f29c4659257a817c1bceb1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a89e65d85e3f29c4659257a817c1bceb1">&#9670;&nbsp;</a></span>pagerank() <span class="overload">[3/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pagerank </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vertex_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vertex_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>edge_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>edge_args</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>damping_factor</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad5b0fd743404c42dce6a9fc0e35f7645"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad5b0fd743404c42dce6a9fc0e35f7645">&#9670;&nbsp;</a></span>pagerank() <span class="overload">[4/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pagerank </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vertex_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vertex_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>edge_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>edge_args</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>damping_factor</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aae888a524d7fbb9fd3e94c1ee9a4dd42"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aae888a524d7fbb9fd3e94c1ee9a4dd42">&#9670;&nbsp;</a></span>pagerank() <span class="overload">[5/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void pagerank </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vertex_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vertex_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>edge_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>edge_args</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>out_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5a240ada11e9de64e4b9930a81b81cd6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5a240ada11e9de64e4b9930a81b81cd6">&#9670;&nbsp;</a></span>pagerank() <span class="overload">[6/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar pagerank </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2e7d15ac323613c4e2a3275b75f85f6e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2e7d15ac323613c4e2a3275b75f85f6e">&#9670;&nbsp;</a></span>pagerank() <span class="overload">[7/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar pagerank </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_5591964dd9d2a0de4cacde18df51246f.html">graph</a></li><li class="navelem"><a class="el" href="pagerank_8sql__in.html">pagerank.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/path_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/path_8sql__in.html b/docs/v1.11/path_8sql__in.html
new file mode 100644
index 0000000..bef1a63
--- /dev/null
+++ b/docs/v1.11/path_8sql__in.html
@@ -0,0 +1,471 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: path.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('path_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">path.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for pathing functions.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a841bef9d28833c6ecac9c3f957558c2f"><td class="memItemLeft" align="right" valign="top">path_match_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="path_8sql__in.html#a841bef9d28833c6ecac9c3f957558c2f">path_pattern_match</a> (text symbols, text pattern, float8[] row_id, boolean overlapping_patterns)</td></tr>
+<tr class="separator:a841bef9d28833c6ecac9c3f957558c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8de69ef8c9e00f5e27d4de16ad2f157a"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="path_8sql__in.html#a8de69ef8c9e00f5e27d4de16ad2f157a">path</a> (varchar source_table, varchar output_table, varchar partition_expr, varchar order_expr, varchar symbol_expr, varchar pattern_expr, varchar agg_func, boolean persist_rows, boolean overlapping_patterns)</td></tr>
+<tr class="separator:a8de69ef8c9e00f5e27d4de16ad2f157a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb47d7f926d4800bd443d041fb42c3d0"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="path_8sql__in.html#adb47d7f926d4800bd443d041fb42c3d0">path</a> (varchar source_table, varchar output_table, varchar partition_expr, varchar order_expr, varchar symbol_expr, varchar pattern_expr, varchar agg_func, boolean persist_rows)</td></tr>
+<tr class="separator:adb47d7f926d4800bd443d041fb42c3d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b676d9c8c02a98522cc8e0fee5a899d"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="path_8sql__in.html#a2b676d9c8c02a98522cc8e0fee5a899d">path</a> (varchar source_table, varchar output_table, varchar partition_expr, varchar order_expr, varchar symbol_expr, varchar pattern_expr, varchar agg_func)</td></tr>
+<tr class="separator:a2b676d9c8c02a98522cc8e0fee5a899d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2ca139a2066f39fc7da14824574d789"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="path_8sql__in.html#ac2ca139a2066f39fc7da14824574d789">path</a> (varchar source_table, varchar output_table, varchar partition_expr, varchar order_expr, varchar symbol_expr, varchar pattern_expr)</td></tr>
+<tr class="separator:ac2ca139a2066f39fc7da14824574d789"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae6088d72cc92f9542a72136acaa372f"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="path_8sql__in.html#aae6088d72cc92f9542a72136acaa372f">path</a> (text message)</td></tr>
+<tr class="separator:aae6088d72cc92f9542a72136acaa372f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5842a2917fdea02cca12c8104bff022"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="path_8sql__in.html#af5842a2917fdea02cca12c8104bff022">path</a> ()</td></tr>
+<tr class="separator:af5842a2917fdea02cca12c8104bff022"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at</p>
+<p><a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p>
+<p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.</p>
+<dl class="section date"><dt>Date</dt><dd>Sep 2015 </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a8de69ef8c9e00f5e27d4de16ad2f157a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8de69ef8c9e00f5e27d4de16ad2f157a">&#9670;&nbsp;</a></span>path() <span class="overload">[1/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text path </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>partition_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>order_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>symbol_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>pattern_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>agg_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>persist_rows</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>overlapping_patterns</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="adb47d7f926d4800bd443d041fb42c3d0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb47d7f926d4800bd443d041fb42c3d0">&#9670;&nbsp;</a></span>path() <span class="overload">[2/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text path </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>partition_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>order_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>symbol_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>pattern_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>agg_func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>persist_rows</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2b676d9c8c02a98522cc8e0fee5a899d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2b676d9c8c02a98522cc8e0fee5a899d">&#9670;&nbsp;</a></span>path() <span class="overload">[3/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text path </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>partition_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>order_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>symbol_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>pattern_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>agg_func</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac2ca139a2066f39fc7da14824574d789"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac2ca139a2066f39fc7da14824574d789">&#9670;&nbsp;</a></span>path() <span class="overload">[4/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text path </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>partition_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>order_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>symbol_expr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>pattern_expr</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aae6088d72cc92f9542a72136acaa372f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aae6088d72cc92f9542a72136acaa372f">&#9670;&nbsp;</a></span>path() <span class="overload">[5/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text path </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af5842a2917fdea02cca12c8104bff022"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af5842a2917fdea02cca12c8104bff022">&#9670;&nbsp;</a></span>path() <span class="overload">[6/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text path </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a841bef9d28833c6ecac9c3f957558c2f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a841bef9d28833c6ecac9c3f957558c2f">&#9670;&nbsp;</a></span>path_pattern_match()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">path_match_result path_pattern_match </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>symbols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pattern</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>overlapping_patterns</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_08a20377491e298f2a18634c46688672.html">utilities</a></li><li class="navelem"><a class="el" href="path_8sql__in.html">path.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[10/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/kmeans_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/kmeans_8sql__in.html b/docs/v1.11/kmeans_8sql__in.html
new file mode 100644
index 0000000..7cad9f7
--- /dev/null
+++ b/docs/v1.11/kmeans_8sql__in.html
@@ -0,0 +1,287 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: kmeans.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('kmeans_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">kmeans.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Set of functions for k-means clustering.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:abcbeb5878d5a31f600764fbb1fbe5578"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="kmeans_8sql__in.html#abcbeb5878d5a31f600764fbb1fbe5578">internal_execute_using_kmeans_args</a> (varchar sql, float8[][], regproc, integer, float8, varchar)</td></tr>
+<tr class="separator:abcbeb5878d5a31f600764fbb1fbe5578"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a1b8fc3dd6da4d4491927888d70e7b9"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="kmeans_8sql__in.html#a4a1b8fc3dd6da4d4491927888d70e7b9">internal_compute_kmeans</a> (varchar rel_args, varchar rel_state, varchar rel_source, varchar expr_point, varchar agg_centroid)</td></tr>
+<tr class="separator:a4a1b8fc3dd6da4d4491927888d70e7b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e25194423cccea7a1fc58e68d5a05a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="kmeans_8sql__in.html#a6e25194423cccea7a1fc58e68d5a05a8">__kmeans_validate_src</a> (varchar rel_source)</td></tr>
+<tr class="separator:a6e25194423cccea7a1fc58e68d5a05a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a02b4325792510fbdc539f8e76076e451"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="kmeans_8sql__in.html#a02b4325792510fbdc539f8e76076e451">__kmeans_validate_expr</a> (varchar rel_source, varchar expr_point)</td></tr>
+<tr class="separator:a02b4325792510fbdc539f8e76076e451"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section see"><dt>See also</dt><dd>For a brief introduction to k-means clustering, see the module description <a class="el" href="group__grp__kmeans.html">k-Means Clustering</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a02b4325792510fbdc539f8e76076e451"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a02b4325792510fbdc539f8e76076e451">&#9670;&nbsp;</a></span>__kmeans_validate_expr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">boolean __kmeans_validate_expr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>expr_point</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6e25194423cccea7a1fc58e68d5a05a8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e25194423cccea7a1fc58e68d5a05a8">&#9670;&nbsp;</a></span>__kmeans_validate_src()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void __kmeans_validate_src </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_source</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4a1b8fc3dd6da4d4491927888d70e7b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a1b8fc3dd6da4d4491927888d70e7b9">&#9670;&nbsp;</a></span>internal_compute_kmeans()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer internal_compute_kmeans </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_args</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>rel_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>expr_point</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>agg_centroid</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abcbeb5878d5a31f600764fbb1fbe5578"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abcbeb5878d5a31f600764fbb1fbe5578">&#9670;&nbsp;</a></span>internal_execute_using_kmeans_args()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void internal_execute_using_kmeans_args </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>sql</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[][], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">regproc&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_81ad8ebe36740ee548289daebe004715.html">kmeans</a></li><li class="navelem"><a class="el" href="kmeans_8sql__in.html">kmeans.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/knn_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/knn_8sql__in.html b/docs/v1.11/knn_8sql__in.html
new file mode 100644
index 0000000..3e7ce9e
--- /dev/null
+++ b/docs/v1.11/knn_8sql__in.html
@@ -0,0 +1,387 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: knn.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('knn_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">knn.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Set of functions for k-nearest neighbors.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a286b12622558f9c665567a0a111e84ce"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="knn_8sql__in.html#a286b12622558f9c665567a0a111e84ce">__knn_validate_src</a> (varchar point_source, varchar point_column_name, varchar label_column_name, varchar test_source, varchar test_column_name, varchar id_column_name, varchar output_table, varchar operation, integer k)</td></tr>
+<tr class="separator:a286b12622558f9c665567a0a111e84ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a187234740532b0968e44659d0923f007"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="knn_8sql__in.html#a187234740532b0968e44659d0923f007">knn</a> (varchar arg1)</td></tr>
+<tr class="separator:a187234740532b0968e44659d0923f007"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac30de243f673d5ae4cee506d274b0cc1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="knn_8sql__in.html#ac30de243f673d5ae4cee506d274b0cc1">knn</a> ()</td></tr>
+<tr class="separator:ac30de243f673d5ae4cee506d274b0cc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a7dee656c4b3179586cbb136d48a70a"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="knn_8sql__in.html#a6a7dee656c4b3179586cbb136d48a70a">knn</a> (varchar point_source, varchar point_column_name, varchar label_column_name, varchar test_source, varchar test_column_name, varchar id_column_name, varchar output_table, varchar operation, integer k)</td></tr>
+<tr class="separator:a6a7dee656c4b3179586cbb136d48a70a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f9caa3062fd1fe8a51e2a3c1eb6b749"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="knn_8sql__in.html#a3f9caa3062fd1fe8a51e2a3c1eb6b749">knn</a> (varchar point_source, varchar point_column_name, varchar label_column_name, varchar test_source, varchar test_column_name, varchar id_column_name, varchar output_table, varchar operation)</td></tr>
+<tr class="separator:a3f9caa3062fd1fe8a51e2a3c1eb6b749"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at</p>
+<p><a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p>
+<p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.</p>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to k-nearest neighbors algorithm for regression and classification, see the module description <a class="el" href="group__grp__knn.html">k-Nearest Neighbors</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a286b12622558f9c665567a0a111e84ce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a286b12622558f9c665567a0a111e84ce">&#9670;&nbsp;</a></span>__knn_validate_src()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer __knn_validate_src </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>point_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>point_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>label_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>test_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>test_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>id_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>operation</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a187234740532b0968e44659d0923f007"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a187234740532b0968e44659d0923f007">&#9670;&nbsp;</a></span>knn() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void knn </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>arg1</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac30de243f673d5ae4cee506d274b0cc1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac30de243f673d5ae4cee506d274b0cc1">&#9670;&nbsp;</a></span>knn() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void knn </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6a7dee656c4b3179586cbb136d48a70a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a7dee656c4b3179586cbb136d48a70a">&#9670;&nbsp;</a></span>knn() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar knn </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>point_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>point_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>label_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>test_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>test_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>id_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>operation</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3f9caa3062fd1fe8a51e2a3c1eb6b749"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3f9caa3062fd1fe8a51e2a3c1eb6b749">&#9670;&nbsp;</a></span>knn() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar knn </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>point_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>point_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>label_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>test_source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>test_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>id_column_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>operation</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_88709bbec5405cf908e9c046a270c403.html">knn</a></li><li class="navelem"><a class="el" href="knn_8sql__in.html">knn.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[24/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__lda.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__lda.html b/docs/v1.11/group__grp__lda.html
new file mode 100644
index 0000000..9b2c245
--- /dev/null
+++ b/docs/v1.11/group__grp__lda.html
@@ -0,0 +1,462 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Latent Dirichlet Allocation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__lda.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Latent Dirichlet Allocation<div class="ingroups"><a class="el" href="group__grp__unsupervised.html">Unsupervised Learning</a> &raquo; <a class="el" href="group__grp__topic__modelling.html">Topic Modelling</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#vocabulary">Vocabulary Format</a> </li>
+<li>
+<a href="#train">Training Function</a> </li>
+<li>
+<a href="#predict">Prediction Function</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#notes">Notes</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+<li>
+<a href="#related">Related Topics</a></li>
+<li>
+</li>
+</ul>
+</div><p>Latent Dirichlet Allocation (LDA) is an interesting generative probabilistic model for natural texts and has received a lot of attention in recent years. The model is quite versatile, having found uses in problems like automated topic discovery, collaborative filtering, and document classification.</p>
+<p>The LDA model posits that each document is associated with a mixture of various topics (e.g. a document is related to Topic 1 with probability 0.7, and Topic 2 with probability 0.3), and that each word in the document is attributable to one of the document's topics. There is a (symmetric) Dirichlet prior with parameter <img class="formulaInl" alt="$ \alpha $" src="form_143.png"/> on each document's topic mixture. In addition, there is another (symmetric) Dirichlet prior with parameter <img class="formulaInl" alt="$ \beta $" src="form_144.png"/> on the distribution of words for each topic.</p>
+<p>The following generative process then defines a distribution over a corpus of documents.</p>
+<ul>
+<li>Sample for each topic <img class="formulaInl" alt="$ i $" src="form_33.png"/>, a per-topic word distribution <img class="formulaInl" alt="$ \phi_i $" src="form_145.png"/> from the Dirichlet( <img class="formulaInl" alt="$\beta$" src="form_136.png"/>) prior.</li>
+<li>For each document:<ul>
+<li>Sample a document length N from a suitable distribution, say, Poisson.</li>
+<li>Sample a topic mixture <img class="formulaInl" alt="$ \theta $" src="form_146.png"/> for the document from the Dirichlet( <img class="formulaInl" alt="$\alpha$" src="form_147.png"/>) distribution.</li>
+<li>For each of the N words:<ul>
+<li>Sample a topic <img class="formulaInl" alt="$ z_n $" src="form_148.png"/> from the multinomial topic distribution <img class="formulaInl" alt="$ \theta $" src="form_146.png"/>.</li>
+<li>Sample a word <img class="formulaInl" alt="$ w_n $" src="form_149.png"/> from the multinomial word distribution <img class="formulaInl" alt="$ \phi_{z_n} $" src="form_150.png"/> associated with topic <img class="formulaInl" alt="$ z_n $" src="form_148.png"/>.</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<p>In practice, only the words in each document are observable. The topic mixture of each document and the topic for each word in each document are latent unobservable variables that need to be inferred from the observables, and this is the problem people refer to when they talk about the inference problem for LDA. Exact inference is intractable, but several approximate inference algorithms for LDA have been developed. The simple and effective Gibbs sampling algorithm described in Griffiths and Steyvers [2] appears to be the current algorithm of choice.</p>
+<p>This implementation provides a parallel and scalable in-database solution for LDA based on Gibbs sampling. Different with the implementations based on MPI or Hadoop Map/Reduce, this implementation builds upon the shared-nothing MPP databases and enables high-performance in-database analytics.</p>
+<p><a class="anchor" id="vocabulary"></a></p><dl class="section user"><dt>Vocabulary Format</dt><dd></dd></dl>
+<p>The vocabulary, or dictionary, indexes all the words found in the corpus and has the following format: </p><pre>{TABLE|VIEW} <em>vocab_table</em> (
+    <em>wordid</em> INTEGER,
+    <em>word</em> TEXT
+)</pre><p> where <code>wordid</code> refers the word ID (the index of a word in the vocabulary) and <code>word</code> is the actual word.</p>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li><p class="startli">The training (i.e. topic inference) can be done with the following function: </p><pre>
+        SELECT <a class="el" href="lda_8sql__in.html#aeb7593251a4dedb695494f65dc2d1f80">lda_train</a>(
+            <em>'data_table'</em>,
+            <em>'model_table'</em>,
+            <em>'output_data_table'</em>,
+            <em>voc_size</em>,
+            <em>topic_num</em>,
+            <em>iter_num</em>,
+            <em>alpha</em>,
+            <em>beta</em>)
+    </pre><p class="startli">This function stores the resulting model in <code><em>model_table</em></code>. The table has only 1 row and is in the following form: </p><pre>{TABLE} <em>model_table</em> (
+        <em>voc_size</em> INTEGER,
+        <em>topic_num</em> INTEGER,
+        <em>alpha</em> FLOAT,
+        <em>beta</em> FLOAT,
+        <em>model</em> BIGINT[])
+    </pre><p class="startli">This function also stores the topic counts and the topic assignments in each document in <code><em>output_data_table</em></code>. The table is in the following form: </p><pre>{TABLE} <em>output_data_table</em> (
+        <em>docid</em> INTEGER,
+        <em>wordcount</em> INTEGER,
+        <em>words</em> INTEGER[],
+        <em>counts</em> INTEGER[],
+        <em>topic_count</em> INTEGER[],
+        <em>topic_assignment</em> INTEGER[])
+    </pre></li>
+<li><p class="startli">The prediction (i.e. labelling of test documents using a learned LDA model) can be done with the following function: </p><pre>
+        SELECT <a class="el" href="lda_8sql__in.html#aaa89e30c8fd0ba41b6feee01ee195330">lda_predict</a>(
+            <em>'data_table'</em>,
+            <em>'model_table'</em>,
+            <em>'output_table'</em>);
+    </pre><p class="startli">This function stores the prediction results in <em>output_table</em>. Each row in the table stores the topic distribution and the topic assignments for a docuemnt in the dataset. The table is in the following form: </p><pre>{TABLE} <em>output_table</em> (
+        <em>docid</em> INTEGER,
+        <em>wordcount</em> INTEGER,
+        <em>words</em> INTEGER,
+        <em>counts</em> INTEGER,
+        <em>topic_count</em> INTEGER[],
+        <em>topic_assignment</em> INTEGER[])
+    </pre></li>
+<li>This module also provides a function for computing the perplexity: <pre>
+        SELECT <a class="el" href="lda_8sql__in.html#a25c3ef12d9808d8a38c5fd2630f3b5a9">lda_get_perplexity</a>(
+            <em>'model_table'</em>,
+            <em>'output_data_table'</em>);
+    </pre></li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Implementation Notes</dt><dd>The input format requires the user to tokenize each document into an array of words. This process involves tokenizing and filtering documents - a process out-of-scope for this module. Internally, the input data will be validated and then converted to the following format for efficiency: <pre>{TABLE} <em>__internal_data_table__</em> (
+    <em>docid</em> INTEGER,
+    <em>wordcount</em> INTEGER,
+    <em>words</em> INTEGER[],
+    <em>counts</em> INTEGER[])
+</pre> where <code>docid</code> is the document ID, <code>wordcount</code> is the number of words in the document, <code>words</code> is the list of unique words in the document, and <code>counts</code> is a list of the number of occurrences of each unique word in the document.</dd></dl>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd>The LDA training function has the following syntax. <pre class="syntax">
+lda_train( data_table,
+           model_table,
+           output_data_table,
+           voc_size,
+           topic_num,
+           iter_num,
+           alpha,
+           beta
+         )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>data_table </dt>
+<dd><p class="startdd">TEXT. The name of the table storing the training dataset. Each row is in the form <code>&lt;docid, wordid, count&gt;</code> where <code>docid</code>, <code>wordid</code>, and <code>count</code> are non-negative integers.</p>
+<p>The <code>docid</code> column refers to the document ID, the <code>wordid</code> column is the word ID (the index of a word in the vocabulary), and <code>count</code> is the number of occurrences of the word in the document.</p>
+<p>Please note that column names for <code>docid</code>, <code>wordid</code>, and <code>count</code> are currently fixed, so you must use these exact names in the data_table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>model_table </dt>
+<dd>TEXT. The name of the table storing the learned models. This table has one row and the following columns. <table class="output">
+<tr>
+<th>voc_size </th><td>INTEGER. Size of the vocabulary. Note that the <code>wordid</code> should be continous integers starting from 0 to <code>voc_size</code> &minus; <code>1</code>. A data validation routine is called to validate the dataset.  </td></tr>
+<tr>
+<th>topic_num </th><td>INTEGER. Number of topics.  </td></tr>
+<tr>
+<th>alpha </th><td>DOUBLE PRECISION. Dirichlet parameter for the per-doc topic multinomial (e.g. 50/topic_num).  </td></tr>
+<tr>
+<th>beta </th><td>DOUBLE PRECISION. Dirichlet parameter for the per-topic word multinomial (e.g. 0.01).  </td></tr>
+<tr>
+<th>model </th><td>BIGINT[].  </td></tr>
+</table>
+</dd>
+<dt>output_data_table </dt>
+<dd>TEXT. The name of the table to store the output data. It has the following columns: <table class="output">
+<tr>
+<th>docid </th><td>INTEGER.  </td></tr>
+<tr>
+<th>wordcount </th><td>INTEGER.  </td></tr>
+<tr>
+<th>words </th><td>INTEGER[].  </td></tr>
+<tr>
+<th>counts </th><td>INTEGER[].  </td></tr>
+<tr>
+<th>topic_count </th><td>INTEGER[].  </td></tr>
+<tr>
+<th>topic_assignment </th><td>INTEGER[].  </td></tr>
+</table>
+</dd>
+<dt>voc_size </dt>
+<dd>INTEGER. Size of the vocabulary. Note that the <code>wordid</code> should be continous integers starting from 0 to <code>voc_size</code> &minus; <code>1</code>. A data validation routine is called to validate the dataset. </dd>
+<dt>topic_num </dt>
+<dd>INTEGER. Number of topics. </dd>
+<dt>iter_num </dt>
+<dd>INTEGER. Number of iterations (e.g. 60). </dd>
+<dt>alpha </dt>
+<dd>DOUBLE PRECISION. Dirichlet parameter for the per-doc topic multinomial (e.g. 50/topic_num). </dd>
+<dt>beta </dt>
+<dd>DOUBLE PRECISION. Dirichlet parameter for the per-topic word multinomial (e.g. 0.01). </dd>
+</dl>
+</dd></dl>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd></dd></dl>
+<p>Prediction&mdash;labelling test documents using a learned LDA model&mdash;is accomplished with the following function: </p><pre class="syntax">
+lda_predict( data_table,
+             model_table,
+             output_table
+           );
+</pre><p>This function stores the prediction results in <code><em>output_table</em></code>. Each row in the table stores the topic distribution and the topic assignments for a document in the dataset. The table has the following columns: </p><table class="output">
+<tr>
+<th>docid </th><td>INTEGER.  </td></tr>
+<tr>
+<th>wordcount </th><td>INTEGER.  </td></tr>
+<tr>
+<th>words </th><td>INTEGER[]. List of word IDs in this document.  </td></tr>
+<tr>
+<th>counts </th><td>INTEGER[]. List of word counts in this document.  </td></tr>
+<tr>
+<th>topic_count </th><td>INTEGER[]. Of length topic_num, list of topic counts in this document.  </td></tr>
+<tr>
+<th>topic_assignment </th><td>INTEGER[]. Of length wordcount, list of topic index for each word.  </td></tr>
+</table>
+<p><a class="anchor" id="perplexity"></a></p><dl class="section user"><dt>Perplexity Function</dt><dd>This module provides a function for computing the perplexity. <pre class="syntax">
+lda_get_perplexity( model_table,
+                    output_data_table
+                  );
+</pre></dd></dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Prepare a training dataset for LDA. The examples below are small strings extracted from various Wikipedia documents . <pre class="example">
+DROP TABLE IF EXISTS documents;
+CREATE TABLE documents(docid INT4, contents TEXT);
+INSERT INTO documents VALUES
+(0, 'Statistical topic models are a class of Bayesian latent variable models, originally developed for analyzing the semantic content of large document corpora.'),
+(1, 'By the late 1960s, the balance between pitching and hitting had swung in favor of the pitchers. In 1968 Carl Yastrzemski won the American League batting title with an average of just .301, the lowest in history.'),
+(2, 'Machine learning is closely related to and often overlaps with computational statistics; a discipline that also specializes in prediction-making. It has strong ties to mathematical optimization, which deliver methods, theory and application domains to the field.'),
+(3, 'California''s diverse geography ranges from the Sierra Nevada in the east to the Pacific Coast in the west, from the Redwood–Douglas fir forests of the northwest, to the Mojave Desert areas in the southeast. The center of the state is dominated by the Central Valley, a major agricultural area. ');
+</pre></li>
+<li>Build a word count table by extracting the words and building a histogram for each document using the <code>term_frequency</code> function (<a class="el" href="group__grp__text__utilities.html">Term Frequency</a>). <pre class="example">
+-- Convert a string to a list of words
+ALTER TABLE documents ADD COLUMN words TEXT[];
+UPDATE documents SET words = regexp_split_to_array(lower(contents), E'[\\s+\\.\\,]');
+
+-- Create the term frequency table
+DROP TABLE IF EXISTS my_training, my_training_vocabulary;
+SELECT madlib.term_frequency('documents', 'docid', 'words', 'my_training', TRUE);
+SELECT * FROM my_training order by docid limit 20;
+</pre> <pre class="result">
+ docid | wordid | count
+-------+--------+-------
+     0 |     57 |     1
+     0 |     86 |     1
+     0 |      4 |     1
+     0 |     55 |     1
+     0 |     69 |     2
+     0 |     81 |     1
+     0 |     30 |     1
+     0 |     33 |     1
+     0 |     36 |     1
+     0 |     43 |     1
+     0 |     25 |     1
+     0 |     65 |     2
+     0 |     72 |     1
+     0 |      9 |     1
+     0 |      0 |     2
+     0 |     29 |     1
+     0 |     18 |     1
+     0 |     12 |     1
+     0 |     96 |     1
+     0 |     91 |     1
+(20 rows)
+</pre> <pre class="example">
+SELECT * FROM my_training_vocabulary order by wordid limit 20;
+</pre> <pre class="result">
+ wordid |     word
+--------+--------------
+      0 |
+      1 | 1960s
+      2 | 1968
+      3 | 301
+      4 | a
+      5 | agricultural
+      6 | also
+      7 | american
+      8 | an
+      9 | analyzing
+     10 | and
+     11 | application
+     12 | are
+     13 | area
+     14 | areas
+     15 | average
+     16 | balance
+     17 | batting
+     18 | bayesian
+     19 | between
+(20 rows)
+</pre></li>
+<li>Create an LDA model using the <code><a class="el" href="lda_8sql__in.html#aeb7593251a4dedb695494f65dc2d1f80" title="This UDF provides an entry for the lda training process. ">lda_train()</a></code> function. <pre class="example">
+DROP TABLE IF EXISTS my_model, my_outdata;
+SELECT madlib.lda_train( 'my_training',
+                         'my_model',
+                         'my_outdata',
+                         104,
+                         5,
+                         10,
+                         5,
+                         0.01
+                       );
+</pre> Reminder that column names for <code>docid</code>, <code>wordid</code>, and <code>count</code> are currently fixed, so you must use these exact names in the input table. After a successful run of the <a class="el" href="lda_8sql__in.html#aeb7593251a4dedb695494f65dc2d1f80" title="This UDF provides an entry for the lda training process. ">lda_train()</a> function two tables are generated, one for storing the learned model and the other for storing the output data table.</li>
+<li>To get the detailed information about the learned model, run these commands: <pre class="example">
+-- The topic description by top-k words
+DROP TABLE IF EXISTS my_topic_desc;
+SELECT madlib.lda_get_topic_desc( 'my_model',
+                                  'my_training_vocabulary',
+                                  'my_topic_desc',
+                                  15);
+select * from my_topic_desc order by topicid, prob DESC;
+</pre> <pre class="result">
+ topicid | wordid |        prob        |       word
+---------+--------+--------------------+-------------------
+       1 |     69 |  0.181900726392252 | of
+       1 |     52 | 0.0608353510895884 | is
+       1 |     65 | 0.0608353510895884 | models
+       1 |     30 | 0.0305690072639225 | corpora
+       1 |      1 | 0.0305690072639225 | 1960s
+       1 |     57 | 0.0305690072639225 | latent
+       1 |     35 | 0.0305690072639225 | diverse
+       1 |     81 | 0.0305690072639225 | semantic
+       1 |     19 | 0.0305690072639225 | between
+       1 |     75 | 0.0305690072639225 | pitchers
+       1 |     43 | 0.0305690072639225 | for
+       1 |      6 | 0.0305690072639225 | also
+       1 |     40 | 0.0305690072639225 | favor
+       1 |     47 | 0.0305690072639225 | had
+       1 |     28 | 0.0305690072639225 | computational
+       ....
+</pre>  <pre class="example">
+-- The per-word topic counts (sorted by topic id)
+DROP TABLE IF EXISTS my_word_topic_count;
+SELECT madlib.lda_get_word_topic_count( 'my_model',
+                                        'my_word_topic_count');
+SELECT * FROM my_word_topic_count ORDER BY wordid;
+</pre>  <pre class="result">
+ wordid | topic_count
+--------+--------------
+      0 | {0,17,0,0,0}
+      1 | {1,0,0,0,0}
+      2 | {0,0,0,0,1}
+      3 | {0,0,0,0,1}
+      4 | {0,0,0,0,3}
+      5 | {0,1,0,0,0}
+      6 | {1,0,0,0,0}
+      7 | {1,0,0,0,0}
+      8 | {0,0,0,1,0}
+      9 | {1,0,0,0,0}
+     10 | {0,0,0,0,3}
+     11 | {0,0,1,0,0}
+     ....
+</pre></li>
+<li>To get the topic counts and the topic assignments for each doucment, run the following commands: <pre class="example">
+-- The per-document topic assignments and counts:
+SELECT docid, topic_assignment, topic_count FROM my_outdata;
+</pre> <pre class="result">
+ docid |                                                topic_assignment                                                 |  topic_count
+-------+-----------------------------------------------------------------------------------------------------------------+----------------
+     1 | {1,1,1,1,1,1,2,4,1,4,4,4,1,0,2,1,0,2,2,3,4,2,1,1,4,2,4,3,0,0,2,4,4,3,3,3,3,3,0,1,0,4}                           | {6,12,7,7,10}
+     3 | {1,1,1,1,1,1,4,0,2,3,1,2,0,0,0,1,2,2,1,3,3,2,2,1,2,2,2,0,3,0,4,1,0,0,1,4,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3} | {8,12,10,21,4}
+     0 | {1,1,4,2,1,4,4,4,1,3,1,0,0,0,0,0,0,0,0,1,1,3,0,1}                                                               | {9,8,1,2,4}
+     2 | {1,1,1,1,4,1,4,4,2,0,2,4,1,1,4,1,2,0,1,3,1,2,4,3,2,4,4,3,1,2,0,3,3,1,4,3,3,3,2,1}                               | {3,13,7,8,9}
+(4 rows)
+</pre></li>
+<li>To use a learned LDA model for prediction (that is, to label new documents), use the following command: <pre class="example">
+SELECT madlib.lda_predict( 'my_testing',
+                           'my_model',
+                           'my_pred'
+                         );
+</pre> The test table (<em>my_testing</em>) is expected to be in the same form as the training table (<em>my_training</em>) and can be created with the same process. After a successful run of the <a class="el" href="lda_8sql__in.html#af1fde06c39dd12bb9e5544997f815323" title="This UDF provides an entry for the lda predicton process. ">lda_predict()</a> function, the prediction results are generated and stored in <em>my_pred</em>. This table has the same schema as the <em>my_outdata</em> table generated by the <a class="el" href="lda_8sql__in.html#aeb7593251a4dedb695494f65dc2d1f80" title="This UDF provides an entry for the lda training process. ">lda_train()</a> function.</li>
+<li>Use the following command to compute the perplexity of the result. <pre class="example">
+SELECT madlib.lda_get_perplexity( 'my_model',
+                                  'my_pred'
+                                );
+</pre></li>
+</ol>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] D.M. Blei, A.Y. Ng, M.I. Jordan, <em>Latent Dirichlet Allocation</em>, Journal of Machine Learning Research, vol. 3, pp. 993-1022, 2003.</p>
+<p>[2] T. Griffiths and M. Steyvers, <em>Finding scientific topics</em>, PNAS, vol. 101, pp. 5228-5235, 2004.</p>
+<p>[3] Y. Wang, H. Bai, M. Stanton, W-Y. Chen, and E.Y. Chang, <em>lda: Parallel Dirichlet Allocation for Large-scale Applications</em>, AAIM, 2009.</p>
+<p>[4] <a href="http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation">http://en.wikipedia.org/wiki/Latent_Dirichlet_allocation</a></p>
+<p>[5] J. Chang, Collapsed Gibbs sampling methods for topic models, R manual, 2010.</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File <a class="el" href="lda_8sql__in.html" title="SQL functions for Latent Dirichlet Allocation. ">lda.sql_in</a> documenting the SQL functions. </dd></dl>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__linalg.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__linalg.html b/docs/v1.11/group__grp__linalg.html
new file mode 100644
index 0000000..b249f7b
--- /dev/null
+++ b/docs/v1.11/group__grp__linalg.html
@@ -0,0 +1,301 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Norms and Distance functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__linalg.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Norms and Distance functions<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a> &raquo; <a class="el" href="group__grp__arraysmatrix.html">Arrays and Matrices</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#functions">Linear Algebra Utility Functions</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Functions</a> </li>
+</ul>
+</div><p>The linalg module consists of useful utility functions for basic linear algebra operations. Several of these functions can be used while implementing new algorithms. These functions operate on vectors (1-D FLOAT8 array) and matrices (2-D FLOAT8 array). Note that other array types may need to be casted into FLOAT8[] before calling the functions.</p>
+<p>Refer to the <a class="el" href="linalg_8sql__in.html" title="SQL functions for linear algebra. ">linalg.sql_in</a> file for documentation on each of the utility functions.</p>
+<p><a class="anchor" id="functions"></a></p><dl class="section user"><dt>Linear Algebra Utility Functions</dt><dd><table class="output">
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#a300300fe4b8576ba0b97b95d8dea3057" title="1-norm of a vector ">norm1()</a> </th><td><p class="starttd">1-norm of a vector, <img class="formulaInl" alt="$\|\vec{a}\|_1$" src="form_151.png"/>.</p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#a50fdfe30cc0edc6888a909dbb4b4c239" title="2-norm of a vector ">norm2()</a> </th><td><p class="starttd">2-norm of a vector, <img class="formulaInl" alt="$\|\vec{a}\|_2$" src="form_152.png"/>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#aad193850e79c4b9d811ca9bc53e13476" title="1-norm of the difference between two vectors ">dist_norm1()</a> </th><td><p class="starttd">1-norm of the difference between two vectors, <img class="formulaInl" alt="$\|\vec{a} - \vec{b}\|_1$" src="form_153.png"/>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#aa58e51526edea6ea98db30b6f250adb4" title="2-norm of the difference between two vectors ">dist_norm2()</a> </th><td><p class="starttd">2-norm of the difference between two vectors, <img class="formulaInl" alt="$\|\vec{a} - \vec{b}\|_2$" src="form_154.png"/>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#ad9cc156ae57bf7c0a2fe90798259105a" title="p-norm of the difference between two vectors ">dist_pnorm()</a> </th><td><p class="starttd">Generic p-norm of the difference between two vectors, <img class="formulaInl" alt="$\|\vec{a} - \vec{b}\|_p, p &gt; 0$" src="form_155.png"/>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#a31fa9f2f5b45507c09f136464fdad1db" title="Infinity-norm of the difference between two vectors. ">dist_inf_norm()</a> </th><td><p class="starttd">Infinity-norm of the difference between two vectors, <img class="formulaInl" alt="$\|\vec{a} - \vec{b}\|_\infty$" src="form_156.png"/>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#a00a08e69f27524f2096032214e15b668" title="Squared 2-norm of the difference between two vectors. ">squared_dist_norm2()</a> </th><td><p class="starttd">Squared 2-norm of the difference between two vectors, <img class="formulaInl" alt="$\|\vec{a} - \vec{b}\|_2^2$" src="form_157.png"/>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#a1782f2ba00d9f9fab20894a576079f87" title="cosine similarity score between two vectors ">cosine_similarity()</a> </th><td><p class="starttd">Cosine score between two vectors, <img class="formulaInl" alt="$\frac{\vec{a} \cdot \vec{b}}{\|\vec{a}\|_2 \|\vec{b}\|_2}$" src="form_158.png"/>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#a8c7b9281a72ff22caf06161701b27e84" title="Angle between two vectors. ">dist_angle()</a> </th><td><p class="starttd">Angle between two vectors in an Euclidean space, <img class="formulaInl" alt="$\cos^{-1}(\frac{\vec{a} \cdot \vec{b}}{\|\vec{a}\|_2 \|\vec{b}\|_2})$" src="form_159.png"/>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#afa13b4c6122b99422d666dedea136c18" title="Tanimoto distance between two vectors. ">dist_tanimoto()</a> </th><td><p class="starttd">Tanimoto distance between two vectors. [1] </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#ac1397ac9f4a35b3b67c3be05b5e1a828" title="Jaccard distance between two vectors (treated as sets) ">dist_jaccard()</a> </th><td><p class="starttd">Jaccard distance between two varchar vectors treated as sets. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#af6b905fcac7746ef0ed0c36df4a1e070" title="Get an indexed row of the given matrix (2-D array) ">get_row()</a> </th><td><p class="starttd">Return the indexed row of a matrix (2-D array). </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#a20f34c9e661191e5225cca7bc23252c5" title="Get an indexed col of the given matrix (2-D array) ">get_col()</a> </th><td><p class="starttd">Return the indexed col of a matrix (2-D array). </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#a1aa37f73fb1cd8d7d106aa518dd8c0b4" title="Compute the average of vectors. ">avg()</a> </th><td><p class="starttd">Compute the average of vectors. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#a0b04663ca206f03e66aed5ea2b4cc461" title="Compute the normalized average of vectors. ">normalized_avg()</a> </th><td><p class="starttd">Compute the normalized average of vectors (unit vector in an Euclidean space). </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="linalg_8sql__in.html#a9c439706f35d6cac89f151d553a5f111" title="Combine vectors to a matrix. ">matrix_agg()</a> </th><td><p class="starttd">Combine vectors to a matrix. </p>
+<p class="endtd"></p>
+</td></tr>
+</table>
+</dd></dl>
+<p><a class="anchor" id="examples"></a></p>
+<p><b>Vector Norms and Distances</b></p>
+<ol type="1">
+<li>Create a database table with two vector columns and add some data. <pre class="example">
+CREATE TABLE two_vectors(
+    id  integer,
+    a   float8[],
+    b   float8[]);
+</pre> <pre class="example">
+INSERT INTO two_vectors VALUES
+(1, '{3,4}', '{4,5}'),
+(2, '{1,1,0,-4,5,3,4,106,14}', '{1,1,0,6,-3,1,2,92,2}');
+</pre></li>
+<li>Invoke norm functions. <pre class="example">
+SELECT
+    id,
+    madlib.norm1(a),
+    madlib.norm2(a)
+FROM two_vectors;
+</pre> Result: <pre class="result">
+ id | norm1 |      norm2
+----+-------+------------------
+  1 |     7 |                5
+  2 |   138 | 107.238052947636
+(2 rows)
+</pre></li>
+<li>Invoke distance functions. <pre class="example">
+SELECT
+    id,
+    madlib.dist_norm1(a, b),
+    madlib.dist_norm2(a, b),
+    madlib.dist_pnorm(a, b, 5) AS norm5,
+    madlib.dist_inf_norm(a, b),
+    madlib.squared_dist_norm2(a, b) AS sq_dist_norm2,
+    madlib.cosine_similarity(a, b),
+    madlib.dist_angle(a, b),
+    madlib.dist_tanimoto(a, b),
+    madlib.dist_jaccard(a::text[], b::text[])
+FROM two_vectors;
+</pre> Result: <pre class="result">
+ id | dist_norm1 |    dist_norm2    |      norm5       | dist_inf_norm | sq_dist_norm2 | cosine_similarity |     dist_angle     |   dist_tanimoto    |   dist_jaccard
+----+------------+------------------+------------------+---------------+---------------+-------------------+--------------------+--------------------+-------------------
+  1 |          2 |  1.4142135623731 | 1.14869835499704 |             1 |             2 | 0.999512076087079 | 0.0312398334302684 | 0.0588235294117647 | 0.666666666666667
+  2 |         48 | 22.6274169979695 |  15.585086360695 |            14 |           512 | 0.985403348449008 |   0.17106899659286 | 0.0498733684005455 | 0.833333333333333
+(2 rows)
+</pre></li>
+</ol>
+<p><b>Matrix Functions</b></p>
+<ol type="1">
+<li>Create a database table with a matrix column. <pre class="example">
+CREATE TABLE matrix(
+    id  integer,
+    m   float8[]);
+</pre> <pre class="example">
+INSERT INTO matrix VALUES
+(1, '{{4,5},{3,5},{9,0}}');
+</pre></li>
+<li>Invoke matrix functions. <pre class="example">
+SELECT
+    madlib.get_row(m, 1) AS row_1,
+    madlib.get_row(m, 2) AS row_2,
+    madlib.get_row(m, 3) AS row_3,
+    madlib.get_col(m, 1) AS col_1,
+    madlib.get_col(m, 2) AS col_2
+FROM matrix;
+</pre> Result: <pre class="result">
+ row_1 | row_2 | row_3 |  col_1  |  col_2
+-------+-------+-------+---------+---------
+ {4,5} | {3,5} | {9,0} | {4,3,9} | {5,5,0}
+(1 row)
+</pre></li>
+</ol>
+<p><b>Aggregate Functions</b></p>
+<ol type="1">
+<li>Create a database table with a vector column. <pre class="example">
+CREATE TABLE vector(
+    id  integer,
+    v   float8[]);
+</pre> <pre class="example">
+INSERT INTO vector VALUES
+(1, '{4,3}'),
+(2, '{8,6}'),
+(3, '{12,9}');
+</pre></li>
+<li>Invoke aggregate functions. <pre class="example">
+SELECT
+    madlib.avg(v),
+    madlib.normalized_avg(v),
+    madlib.matrix_agg(v)
+FROM vector;
+</pre> Result: <pre class="result">
+  avg  | normalized_avg |      matrix_agg
+-------+----------------+----------------------
+ {8,6} | {0.8,0.6}      | {{4,3},{8,6},{12,9}}
+(1 row)
+</pre></li>
+</ol>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] <a href="http://en.wikipedia.org/wiki/Jaccard_index#Tanimoto_similarity_and_distance">http://en.wikipedia.org/wiki/Jaccard_index#Tanimoto_similarity_and_distance</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File <a class="el" href="linalg_8sql__in.html" title="SQL functions for linear algebra. ">linalg.sql_in</a> documenting the SQL functions. </dd></dl>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__linear__solver.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__linear__solver.html b/docs/v1.11/group__grp__linear__solver.html
new file mode 100644
index 0000000..91c4acd
--- /dev/null
+++ b/docs/v1.11/group__grp__linear__solver.html
@@ -0,0 +1,136 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Linear Solvers</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__linear__solver.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Linear Solvers<div class="ingroups"><a class="el" href="group__grp__utility__functions.html">Utility Functions</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods that implement solutions for systems of consistent linear equations. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__dense__linear__solver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__dense__linear__solver.html">Dense Linear Systems</a></td></tr>
+<tr class="memdesc:group__grp__dense__linear__solver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements solution methods for large dense linear systems. Currently, restricted to problems that fit in memory. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__sparse__linear__solver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__sparse__linear__solver.html">Sparse Linear Systems</a></td></tr>
+<tr class="memdesc:group__grp__sparse__linear__solver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements solution methods for linear systems with sparse matrix input. Currently, restricted to problems that fit in memory. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__linear__solver.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__linear__solver.js b/docs/v1.11/group__grp__linear__solver.js
new file mode 100644
index 0000000..01508a7
--- /dev/null
+++ b/docs/v1.11/group__grp__linear__solver.js
@@ -0,0 +1,5 @@
+var group__grp__linear__solver =
+[
+    [ "Dense Linear Systems", "group__grp__dense__linear__solver.html", null ],
+    [ "Sparse Linear Systems", "group__grp__sparse__linear__solver.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__linreg.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__linreg.html b/docs/v1.11/group__grp__linreg.html
new file mode 100644
index 0000000..a53228b
--- /dev/null
+++ b/docs/v1.11/group__grp__linreg.html
@@ -0,0 +1,381 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Linear Regression</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__linreg.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Linear Regression<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__regml.html">Regression Models</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#predict">Prediction Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#background">Technical Background</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Linear regression models a linear relationship of a scalar dependent variable <img class="formulaInl" alt="$ y $" src="form_324.png"/> to one or more explanatory independent variables <img class="formulaInl" alt="$ x $" src="form_179.png"/> to build a model of coefficients.</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd></dd></dl>
+<p>The linear regression training function has the following syntax. </p><pre class="syntax">
+linregr_train( source_table,
+               out_table,
+               dependent_varname,
+               independent_varname,
+               grouping_cols,
+               heteroskedasticity_option
+             )
+</pre><p><b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the training data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>out_table </dt>
+<dd><p class="startdd">TEXT. Name of the generated table containing the output model.</p>
+<p>The output table contains the following columns. </p><table class="output">
+<tr>
+<th>&lt;...&gt; </th><td>Any grouping columns provided during training. Present only if the grouping option is used.  </td></tr>
+<tr>
+<th>coef </th><td>FLOAT8[]. Vector of the coefficients of the regression.  </td></tr>
+<tr>
+<th>r2 </th><td>FLOAT8. R-squared coefficient of determination of the model.  </td></tr>
+<tr>
+<th>std_err </th><td>FLOAT8[]. Vector of the standard error of the coefficients.  </td></tr>
+<tr>
+<th>t_stats </th><td>FLOAT8[]. Vector of the t-statistics of the coefficients.  </td></tr>
+<tr>
+<th>p_values </th><td>FLOAT8[]. Vector of the p-values of the coefficients.  </td></tr>
+<tr>
+<th>condition_no </th><td>FLOAT8 array. The condition number of the <img class="formulaInl" alt="$X^{*}X$" src="form_325.png"/> matrix. A high condition number is usually an indication that there may be some numeric instability in the result yielding a less reliable model. A high condition number often results when there is a significant amount of colinearity in the underlying design matrix, in which case other regression techniques, such as elastic net regression, may be more appropriate.  </td></tr>
+<tr>
+<th>bp_stats </th><td>FLOAT8. The Breush-Pagan statistic of heteroskedacity. Present only if the heteroskedacity argument was set to True when the model was trained.  </td></tr>
+<tr>
+<th>bp_p_value </th><td>FLOAT8. The Breush-Pagan calculated p-value. Present only if the heteroskedacity parameter was set to True when the model was trained.  </td></tr>
+<tr>
+<th>num_rows_processed </th><td>INTEGER. The number of rows that are actually used in each group.  </td></tr>
+<tr>
+<th>num_missing_rows_skipped </th><td>INTEGER. The number of rows that have NULL values in the dependent and independent variables, and were skipped in the computation for each group. </td></tr>
+</table>
+<p class="enddd">A summary table named &lt;out_table&gt;_summary is created together with the output table. It has the following columns: </p><table class="output">
+<tr>
+<th>source_table </th><td>The data source table name </td></tr>
+<tr>
+<th>out_table </th><td>The output table name </td></tr>
+<tr>
+<th>dependent_varname </th><td>The dependent variable </td></tr>
+<tr>
+<th>independent_varname </th><td>The independent variables </td></tr>
+<tr>
+<th>num_rows_processed </th><td>The total number of rows that were used in the computation. </td></tr>
+<tr>
+<th>num_missing_rows_skipped </th><td>The total number of rows that were skipped because of NULL values in them. </td></tr>
+</table>
+</dd>
+<dt></dt>
+<dd><dl class="section note"><dt>Note</dt><dd>For p-values, we just return the computation result directly. Other statistical packages, like 'R', produce the same result, but on printing the result to screen, another format function is used and any p-value that is smaller than the machine epsilon (the smallest positive floating-point number 'x' such that '1 + x != 1') will be printed on screen as "&lt; xxx" (xxx is the value of the machine epsilon). Although the result may look different, they are in fact the same. </dd></dl>
+</dd>
+<dt>dependent_varname </dt>
+<dd><p class="startdd">TEXT. Expression to evaluate for the dependent variable.</p>
+<p class="enddd"></p>
+</dd>
+<dt>independent_varname </dt>
+<dd><p class="startdd">TEXT. Expression list to evaluate for the independent variables. An intercept variable is not assumed. It is common to provide an explicit intercept term by including a single constant <code>1</code> term in the independent variable list.</p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_cols (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL <code>GROUP BY</code> clause. When this value is null, no grouping is used and a single result model is generated.</p>
+<p class="enddd"></p>
+</dd>
+<dt>heteroskedasticity_option (optional) </dt>
+<dd>BOOLEAN, default: FALSE. When TRUE, the heteroskedasticity of the model is also calculated and returned with the results. </dd>
+</dl>
+<p><a class="anchor" id="warning"></a></p><dl class="section warning"><dt>Warning</dt><dd>The aggregate 'linregr' has been deprecated in favor of the function 'linregr_train'. If the aggregate 'linregr' is used to output the results of linear regression to a table, it is recommended to follow the general pattern shown below (replace text within '&lt;...&gt;' with the appropriate variable names). <pre class="syntax">
+CREATE TABLE &lt;output table&gt; AS
+SELECT (r).*
+FROM (
+    SELECT linregr(&lt;dependent variable&gt;, &lt;independent variable&gt;) as r
+    FROM &lt;source table&gt;
+    ) q;
+</pre></dd></dl>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd><pre class="syntax">
+linregr_predict(coef, col_ind)
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>coef </dt>
+<dd><p class="startdd">FLOAT8[]. Vector of the coefficients of regression.</p>
+<p class="enddd"></p>
+</dd>
+<dt>col_ind </dt>
+<dd><p class="startdd">FLOAT8[]. An array containing the independent variable column names. </p>
+<p class="enddd"><a class="anchor" id="examples"></a></p>
+</dd>
+</dl>
+</dd></dl>
+<dl class="section user"><dt>Examples</dt><dd><ol type="1">
+<li>Create an input data set. <pre class="example">
+CREATE TABLE houses (id INT, tax INT, bedroom INT, bath FLOAT, price INT,
+            size INT, lot INT);
+COPY houses FROM STDIN WITH DELIMITER '|';
+  1 |  590 |       2 |    1 |  50000 |  770 | 22100
+  2 | 1050 |       3 |    2 |  85000 | 1410 | 12000
+  3 |   20 |       3 |    1 |  22500 | 1060 |  3500
+  4 |  870 |       2 |    2 |  90000 | 1300 | 17500
+  5 | 1320 |       3 |    2 | 133000 | 1500 | 30000
+  6 | 1350 |       2 |    1 |  90500 |  820 | 25700
+  7 | 2790 |       3 |  2.5 | 260000 | 2130 | 25000
+  8 |  680 |       2 |    1 | 142500 | 1170 | 22000
+  9 | 1840 |       3 |    2 | 160000 | 1500 | 19000
+ 10 | 3680 |       4 |    2 | 240000 | 2790 | 20000
+ 11 | 1660 |       3 |    1 |  87000 | 1030 | 17500
+ 12 | 1620 |       3 |    2 | 118600 | 1250 | 20000
+ 13 | 3100 |       3 |    2 | 140000 | 1760 | 38000
+ 14 | 2070 |       2 |    3 | 148000 | 1550 | 14000
+ 15 |  650 |       3 |  1.5 |  65000 | 1450 | 12000
+\.
+</pre></li>
+<li>Train a regression model. First, we generate a single regression for all data. <pre class="example">
+SELECT madlib.linregr_train( 'houses',
+                             'houses_linregr',
+                             'price',
+                             'ARRAY[1, tax, bath, size]'
+                           );
+</pre> (Note that in this example we are dynamically creating the array of independent variables from column names. If you have large numbers of independent variables beyond the PostgreSQL limit of maximum columns per table, you would pre-build the arrays and store them in a single column.)</li>
+<li>Next we generate three output models, one for each value of "bedroom". <pre class="example">
+SELECT madlib.linregr_train( 'houses',
+                             'houses_linregr_bedroom',
+                             'price',
+                             'ARRAY[1, tax, bath, size]',
+                             'bedroom'
+                           );
+</pre></li>
+<li>Examine the resulting models. <pre class="example">
+-- Set extended display on for easier reading of output
+\x ON
+SELECT * FROM houses_linregr;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]+---------------------------------------------------------------------------
+coef         | {-12849.4168959872,28.9613922651765,10181.6290712648,50.516894915354}
+r2           | 0.768577580597443
+std_err      | {33453.0344331391,15.8992104963997,19437.7710925923,32.928023174087}
+t_stats      | {-0.38410317968819,1.82156166004184,0.523806408809133,1.53416118083605}
+p_values     | {0.708223134615422,0.0958005827189772,0.610804093526536,0.153235085548186}
+condition_no | 9002.50457085737
+</pre></li>
+<li>View the results grouped by bedroom. <pre class="example">
+SELECT * FROM houses_linregr_bedroom;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]+--------------------------------------------------------------------------
+bedroom      | 2
+coef         | {-84242.0345406597,55.4430144648696,-78966.9753675319,225.611910021192}
+r2           | 0.968809546465313
+std_err      | {35018.9991665742,19.5731125320686,23036.8071292552,49.0448678148784}
+t_stats      | {-2.40560942761235,2.83261103077151,-3.42786111480046,4.60011251070697}
+p_values     | {0.250804617665239,0.21605133377602,0.180704400437373,0.136272031474122}
+condition_no | 10086.1048721726
+-[ RECORD 2 ]+--------------------------------------------------------------------------
+bedroom      | 4
+coef         | {0.0112536020318378,41.4132554771633,0.0225072040636757,31.3975496688276}
+r2           | 1
+std_err      | {0,0,0,0}
+t_stats      | {Infinity,Infinity,Infinity,Infinity}
+p_values     |
+condition_no | Infinity
+-[ RECORD 3 ]+--------------------------------------------------------------------------
+bedroom      | 3
+coef         | {-88155.8292501601,27.1966436294429,41404.0293363612,62.637521075324}
+r2           | 0.841699901311252
+std_err      | {57867.9999702625,17.8272309154689,43643.1321511114,70.8506824863954}
+t_stats      | {-1.52339512849005,1.52556747362508,0.948695185143966,0.884077878676067}
+p_values     | {0.188161432894871,0.187636685729869,0.386340032374927,0.417132778705789}
+condition_no | 11722.6225642147
+</pre> Alternatively you can unnest the results for easier reading of output. <pre class="example">
+\x OFF
+SELECT unnest(ARRAY['intercept','tax','bath','size']) as attribute,
+       unnest(coef) as coefficient,
+       unnest(std_err) as standard_error,
+       unnest(t_stats) as t_stat,
+       unnest(p_values) as pvalue
+FROM houses_linregr;
+</pre></li>
+<li>Use the prediction function to evaluate residuals. <pre class="example">
+SELECT houses.*,
+       madlib.linregr_predict( ARRAY[1,tax,bath,size],
+                               m.coef
+                             ) as predict,
+        price -
+          madlib.linregr_predict( ARRAY[1,tax,bath,size],
+                                  m.coef
+                                ) as residual
+FROM houses, houses_linregr m;
+</pre></li>
+</ol>
+</dd></dl>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Note</dt><dd>All table names can be optionally schema qualified (current_schemas() would be searched if a schema name is not provided) and all table and column names should follow case-sensitivity and quoting rules per the database. (For instance, 'mytable' and 'MyTable' both resolve to the same entity, i.e. 'mytable'. If mixed-case or multi-byte characters are desired for entity names then the string should be double-quoted; in this case the input would be '"MyTable"').</dd></dl>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>Ordinary least-squares (OLS) linear regression refers to a stochastic model in which the conditional mean of the dependent variable (usually denoted <img class="formulaInl" alt="$ Y $" src="form_4.png"/>) is an affine function of the vector of independent variables (usually denoted <img class="formulaInl" alt="$ \boldsymbol x $" src="form_59.png"/>). That is, </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ E[Y \mid \boldsymbol x] = \boldsymbol c^T \boldsymbol x \]" src="form_326.png"/>
+</p>
+<p> for some unknown vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/>. The assumption is that the residuals are i.i.d. distributed Gaussians. That is, the (conditional) probability density of <img class="formulaInl" alt="$ Y $" src="form_4.png"/> is given by </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ f(y \mid \boldsymbol x) = \frac{1}{\sqrt{2 \pi \sigma^2}} \cdot \exp\left(-\frac{1}{2 \sigma^2} \cdot (y - \boldsymbol x^T \boldsymbol c)^2 \right) \,. \]" src="form_327.png"/>
+</p>
+<p> OLS linear regression finds the vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/> that maximizes the likelihood of the observations.</p>
+<p>Let</p><ul>
+<li><img class="formulaInl" alt="$ \boldsymbol y \in \mathbf R^n $" src="form_328.png"/> denote the vector of observed dependent variables, with <img class="formulaInl" alt="$ n $" src="form_11.png"/> rows, containing the observed values of the dependent variable,</li>
+<li><img class="formulaInl" alt="$ X \in \mathbf R^{n \times k} $" src="form_99.png"/> denote the design matrix with <img class="formulaInl" alt="$ k $" src="form_98.png"/> columns and <img class="formulaInl" alt="$ n $" src="form_11.png"/> rows, containing all observed vectors of independent variables. <img class="formulaInl" alt="$ \boldsymbol x_i $" src="form_100.png"/> as rows,</li>
+<li><img class="formulaInl" alt="$ X^T $" src="form_329.png"/> denote the transpose of <img class="formulaInl" alt="$ X $" src="form_3.png"/>,</li>
+<li><img class="formulaInl" alt="$ X^+ $" src="form_330.png"/> denote the pseudo-inverse of <img class="formulaInl" alt="$ X $" src="form_3.png"/>.</li>
+</ul>
+<p>Maximizing the likelihood is equivalent to maximizing the log-likelihood <img class="formulaInl" alt="$ \sum_{i=1}^n \log f(y_i \mid \boldsymbol x_i) $" src="form_331.png"/>, which simplifies to minimizing the <b>residual sum of squares</b> <img class="formulaInl" alt="$ RSS $" src="form_332.png"/> (also called sum of squared residuals or sum of squared errors of prediction), </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ RSS = \sum_{i=1}^n ( y_i - \boldsymbol c^T \boldsymbol x_i )^2 = (\boldsymbol y - X \boldsymbol c)^T (\boldsymbol y - X \boldsymbol c) \,. \]" src="form_333.png"/>
+</p>
+<p> The first-order conditions yield that the <img class="formulaInl" alt="$ RSS $" src="form_332.png"/> is minimized at </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \boldsymbol c = (X^T X)^+ X^T \boldsymbol y \,. \]" src="form_334.png"/>
+</p>
+<p>Computing the <b>total sum of squares</b> <img class="formulaInl" alt="$ TSS $" src="form_335.png"/>, the <b>explained sum of squares</b> <img class="formulaInl" alt="$ ESS $" src="form_336.png"/> (also called the regression sum of squares), and the <b>coefficient of determination</b> <img class="formulaInl" alt="$ R^2 $" src="form_337.png"/> is done according to the following formulas: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\begin{align*} ESS &amp; = \boldsymbol y^T X \boldsymbol c - \frac{ \| y \|_1^2 }{n} \\ TSS &amp; = \sum_{i=1}^n y_i^2 - \frac{ \| y \|_1^2 }{n} \\ R^2 &amp; = \frac{ESS}{TSS} \end{align*}" src="form_338.png"/>
+</p>
+<p> Note: The last equality follows from the definition <img class="formulaInl" alt="$ R^2 = 1 - \frac{RSS}{TSS} $" src="form_339.png"/> and the fact that for linear regression <img class="formulaInl" alt="$ TSS = RSS + ESS $" src="form_340.png"/>. A proof of the latter can be found, e.g., at: <a href="http://en.wikipedia.org/wiki/Sum_of_squares">http://en.wikipedia.org/wiki/Sum_of_squares</a></p>
+<p>We estimate the variance <img class="formulaInl" alt="$ Var[Y - \boldsymbol c^T \boldsymbol x \mid \boldsymbol x] $" src="form_341.png"/> as </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \sigma^2 = \frac{RSS}{n - k} \]" src="form_342.png"/>
+</p>
+<p> and compute the t-statistic for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> as </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ t_i = \frac{c_i}{\sqrt{\sigma^2 \cdot \left( (X^T X)^{-1} \right)_{ii} }} \,. \]" src="form_343.png"/>
+</p>
+<p>The <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> gives the probability of seeing a value at least as extreme as the one observed, provided that the null hypothesis ( <img class="formulaInl" alt="$ c_i = 0 $" src="form_112.png"/>) is true. Letting <img class="formulaInl" alt="$ F_\nu $" src="form_344.png"/> denote the cumulative density function of student-t with <img class="formulaInl" alt="$ \nu $" src="form_275.png"/> degrees of freedom, the <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> is therefore </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ p_i = \Pr(|T| \geq |t_i|) = 2 \cdot (1 - F_{n - k}( |t_i| )) \]" src="form_345.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ T $" src="form_305.png"/> is a student-t distributed random variable with mean 0.</p>
+<p>The condition number [2] <img class="formulaInl" alt="$ \kappa(X) = \|X\|_2\cdot\|X^{-1}\|_2$" src="form_346.png"/> is computed as the product of two spectral norms [3]. The spectral norm of a matrix <img class="formulaInl" alt="$X$" src="form_347.png"/> is the largest singular value of <img class="formulaInl" alt="$X$" src="form_347.png"/> i.e. the square root of the largest eigenvalue of the positive-semidefinite matrix <img class="formulaInl" alt="$X^{*}X$" src="form_325.png"/>:</p>
+<p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \|X\|_2 = \sqrt{\lambda_{\max}\left(X^{*}X\right)}\ , \]" src="form_348.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$X^{*}$" src="form_349.png"/> is the conjugate transpose of <img class="formulaInl" alt="$X$" src="form_347.png"/>. The condition number of a linear regression problem is a worst-case measure of how sensitive the result is to small perturbations of the input. A large condition number (say, more than 1000) indicates the presence of significant multicollinearity.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] Cosma Shalizi: Statistics 36-350: Data Mining, Lecture Notes, 21 October 2009, <a href="http://www.stat.cmu.edu/~cshalizi/350/lectures/17/lecture-17.pdf">http://www.stat.cmu.edu/~cshalizi/350/lectures/17/lecture-17.pdf</a></p>
+<p>[2] Wikipedia: Condition Number, <a href="http://en.wikipedia.org/wiki/Condition_number">http://en.wikipedia.org/wiki/Condition_number</a>.</p>
+<p>[3] Wikipedia: Spectral Norm, <a href="http://en.wikipedia.org/wiki/Spectral_norm#Spectral_norm">http://en.wikipedia.org/wiki/Spectral_norm#Spectral_norm</a></p>
+<p>[4] Wikipedia: Breusch–Pagan test, <a href="http://en.wikipedia.org/wiki/Breusch%E2%80%93Pagan_test">http://en.wikipedia.org/wiki/Breusch%E2%80%93Pagan_test</a></p>
+<p>[5] Wikipedia: Heteroscedasticity-consistent standard errors, <a href="http://en.wikipedia.org/wiki/Heteroscedasticity-consistent_standard_errors">http://en.wikipedia.org/wiki/Heteroscedasticity-consistent_standard_errors</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p><a class="el" href="group__grp__robust.html">Robust Variance</a></p>
+<p><a class="el" href="group__grp__clustered__errors.html">Clustered Variance</a></p>
+<p><a class="el" href="group__grp__validation.html">Cross Validation</a></p>
+<p>File <a class="el" href="linear_8sql__in.html" title="SQL functions for linear regression. ">linear.sql_in</a>, source file for the SQL functions</p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[35/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/encode__categorical_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/encode__categorical_8sql__in.html b/docs/v1.11/encode__categorical_8sql__in.html
new file mode 100644
index 0000000..17af858
--- /dev/null
+++ b/docs/v1.11/encode__categorical_8sql__in.html
@@ -0,0 +1,736 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: encode_categorical.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('encode__categorical_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">encode_categorical.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for encoding categorical variables to numerical values.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ab508855c762d04c77e993e30d655995e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html#ab508855c762d04c77e993e30d655995e">encode_categorical_variables</a> (varchar source_table, varchar output_table, varchar categorical_cols, varchar categorical_cols_to_exclude, varchar row_id, varchar top, varchar value_to_drop, boolean encode_null, varchar output_type, boolean output_dictionary, varchar distributed_by)</td></tr>
+<tr class="memdesc:ab508855c762d04c77e993e30d655995e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encode categorical columns using either one-hot encoding or dummy coding.  <a href="#ab508855c762d04c77e993e30d655995e">More...</a><br /></td></tr>
+<tr class="separator:ab508855c762d04c77e993e30d655995e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6685fbb11c4f68a25c232a6035c752c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html#a6685fbb11c4f68a25c232a6035c752c4">encode_categorical_variables</a> (varchar source_table, varchar output_table, varchar categorical_cols, varchar categorical_cols_to_exclude, varchar row_id, varchar top, varchar value_to_drop, boolean encode_null, varchar output_type, boolean output_dictionary)</td></tr>
+<tr class="separator:a6685fbb11c4f68a25c232a6035c752c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ea1ae2dc53c77b047cd1dc186739bc7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html#a5ea1ae2dc53c77b047cd1dc186739bc7">encode_categorical_variables</a> (varchar source_table, varchar output_table, varchar categorical_cols, varchar categorical_cols_to_exclude, varchar row_id, varchar top, varchar value_to_drop, boolean encode_null, varchar output_type)</td></tr>
+<tr class="separator:a5ea1ae2dc53c77b047cd1dc186739bc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63e256d5d0aefbcf29d74669276bdf20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html#a63e256d5d0aefbcf29d74669276bdf20">encode_categorical_variables</a> (varchar source_table, varchar output_table, varchar categorical_cols, varchar categorical_cols_to_exclude, varchar row_id, varchar top, varchar value_to_drop, boolean encode_null)</td></tr>
+<tr class="separator:a63e256d5d0aefbcf29d74669276bdf20"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab26bb9de11a426fd1cff17dce24ba98d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html#ab26bb9de11a426fd1cff17dce24ba98d">encode_categorical_variables</a> (varchar source_table, varchar output_table, varchar categorical_cols, varchar categorical_cols_to_exclude, varchar row_id, varchar top, varchar value_to_drop)</td></tr>
+<tr class="separator:ab26bb9de11a426fd1cff17dce24ba98d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a5f5774f0b6aad31427a47064565c82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html#a4a5f5774f0b6aad31427a47064565c82">encode_categorical_variables</a> (varchar source_table, varchar output_table, varchar categorical_cols, varchar categorical_cols_to_exclude, varchar row_id, varchar top)</td></tr>
+<tr class="separator:a4a5f5774f0b6aad31427a47064565c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31753df1ea819930436ab2d10b996599"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html#a31753df1ea819930436ab2d10b996599">encode_categorical_variables</a> (varchar source_table, varchar output_table, varchar categorical_cols, varchar categorical_cols_to_exclude, varchar row_id)</td></tr>
+<tr class="separator:a31753df1ea819930436ab2d10b996599"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f60121c4552a526513561281bf371f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html#a1f60121c4552a526513561281bf371f3">encode_categorical_variables</a> (varchar source_table, varchar output_table, varchar categorical_cols, varchar categorical_cols_to_exclude)</td></tr>
+<tr class="separator:a1f60121c4552a526513561281bf371f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a92afff73eb09fa0b7db489bd009235"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html#a6a92afff73eb09fa0b7db489bd009235">encode_categorical_variables</a> (varchar source_table, varchar output_table, varchar categorical_cols)</td></tr>
+<tr class="separator:a6a92afff73eb09fa0b7db489bd009235"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab5c44316240bb072316870e43ff2d715"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html#ab5c44316240bb072316870e43ff2d715">encode_categorical_variables</a> (varchar message)</td></tr>
+<tr class="separator:ab5c44316240bb072316870e43ff2d715"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8fea222d67f69c73255dbdee2746bed5"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="encode__categorical_8sql__in.html#a8fea222d67f69c73255dbdee2746bed5">encode_categorical_variables</a> ()</td></tr>
+<tr class="separator:a8fea222d67f69c73255dbdee2746bed5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at</p>
+<p><a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p>
+<p>Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.</p>
+<dl class="section date"><dt>Date</dt><dd>Dec 2016</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>Encodes categorical variables to numerical values </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="ab508855c762d04c77e993e30d655995e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab508855c762d04c77e993e30d655995e">&#9670;&nbsp;</a></span>encode_categorical_variables() <span class="overload">[1/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void encode_categorical_variables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols_to_exclude</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>top</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>value_to_drop</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>encode_null</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>output_dictionary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>distributed_by</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source_table</td><td>Name of table containing categorical variable </td></tr>
+    <tr><td class="paramname">output_table</td><td>Name of table to output dummy variables </td></tr>
+    <tr><td class="paramname">categorical_cols</td><td>Comma-separated list of column names to dummy code (can be '*') </td></tr>
+    <tr><td class="paramname">categorical_cols_to_exclude</td><td>Comma-separated list of column names to exclude (if categorical_cols = '*') </td></tr>
+    <tr><td class="paramname">row_id</td><td>Columns from source table to index output table </td></tr>
+    <tr><td class="paramname">top</td><td>Parameter to include only top values of a categorical variable </td></tr>
+    <tr><td class="paramname">value_to_drop</td><td>Parameter to set reference column in dummy coding </td></tr>
+    <tr><td class="paramname">encode_null</td><td>Boolean to determine the behavior for rows with NULL value </td></tr>
+    <tr><td class="paramname">output_type</td><td>Parameter to set output data type: 'column', 'array' or 'svec' </td></tr>
+    <tr><td class="paramname">output_dictionary</td><td>Boolean to simplify column naming and with a separate mapping table to actual values </td></tr>
+    <tr><td class="paramname">distributed_by</td><td>Comma-separated list of column names to use for distribution of output</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Void </dd></dl>
+
+</div>
+</div>
+<a id="a6685fbb11c4f68a25c232a6035c752c4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6685fbb11c4f68a25c232a6035c752c4">&#9670;&nbsp;</a></span>encode_categorical_variables() <span class="overload">[2/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void encode_categorical_variables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols_to_exclude</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>top</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>value_to_drop</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>encode_null</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>output_dictionary</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5ea1ae2dc53c77b047cd1dc186739bc7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ea1ae2dc53c77b047cd1dc186739bc7">&#9670;&nbsp;</a></span>encode_categorical_variables() <span class="overload">[3/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void encode_categorical_variables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols_to_exclude</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>top</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>value_to_drop</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>encode_null</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a63e256d5d0aefbcf29d74669276bdf20"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63e256d5d0aefbcf29d74669276bdf20">&#9670;&nbsp;</a></span>encode_categorical_variables() <span class="overload">[4/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void encode_categorical_variables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols_to_exclude</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>top</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>value_to_drop</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>encode_null</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab26bb9de11a426fd1cff17dce24ba98d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab26bb9de11a426fd1cff17dce24ba98d">&#9670;&nbsp;</a></span>encode_categorical_variables() <span class="overload">[5/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void encode_categorical_variables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols_to_exclude</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>top</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>value_to_drop</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4a5f5774f0b6aad31427a47064565c82"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a5f5774f0b6aad31427a47064565c82">&#9670;&nbsp;</a></span>encode_categorical_variables() <span class="overload">[6/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void encode_categorical_variables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols_to_exclude</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>top</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a31753df1ea819930436ab2d10b996599"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a31753df1ea819930436ab2d10b996599">&#9670;&nbsp;</a></span>encode_categorical_variables() <span class="overload">[7/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void encode_categorical_variables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols_to_exclude</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>row_id</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1f60121c4552a526513561281bf371f3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f60121c4552a526513561281bf371f3">&#9670;&nbsp;</a></span>encode_categorical_variables() <span class="overload">[8/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void encode_categorical_variables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols_to_exclude</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6a92afff73eb09fa0b7db489bd009235"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a92afff73eb09fa0b7db489bd009235">&#9670;&nbsp;</a></span>encode_categorical_variables() <span class="overload">[9/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void encode_categorical_variables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>categorical_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab5c44316240bb072316870e43ff2d715"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab5c44316240bb072316870e43ff2d715">&#9670;&nbsp;</a></span>encode_categorical_variables() <span class="overload">[10/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar encode_categorical_variables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8fea222d67f69c73255dbdee2746bed5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8fea222d67f69c73255dbdee2746bed5">&#9670;&nbsp;</a></span>encode_categorical_variables() <span class="overload">[11/11]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar encode_categorical_variables </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_08a20377491e298f2a18634c46688672.html">utilities</a></li><li class="navelem"><a class="el" href="encode__categorical_8sql__in.html">encode_categorical.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/folderclosed.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/folderclosed.png b/docs/v1.11/folderclosed.png
new file mode 100644
index 0000000..bb8ab35
Binary files /dev/null and b/docs/v1.11/folderclosed.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/folderopen.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/folderopen.png b/docs/v1.11/folderopen.png
new file mode 100644
index 0000000..d6c7f67
Binary files /dev/null and b/docs/v1.11/folderopen.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_0.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_0.png b/docs/v1.11/form_0.png
new file mode 100644
index 0000000..f8a92f5
Binary files /dev/null and b/docs/v1.11/form_0.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_1.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_1.png b/docs/v1.11/form_1.png
new file mode 100644
index 0000000..867c615
Binary files /dev/null and b/docs/v1.11/form_1.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_10.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_10.png b/docs/v1.11/form_10.png
new file mode 100644
index 0000000..958d2ca
Binary files /dev/null and b/docs/v1.11/form_10.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_100.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_100.png b/docs/v1.11/form_100.png
new file mode 100644
index 0000000..e4cf6da
Binary files /dev/null and b/docs/v1.11/form_100.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_101.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_101.png b/docs/v1.11/form_101.png
new file mode 100644
index 0000000..346fb86
Binary files /dev/null and b/docs/v1.11/form_101.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_102.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_102.png b/docs/v1.11/form_102.png
new file mode 100644
index 0000000..6ff74f5
Binary files /dev/null and b/docs/v1.11/form_102.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_103.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_103.png b/docs/v1.11/form_103.png
new file mode 100644
index 0000000..9dc0fbb
Binary files /dev/null and b/docs/v1.11/form_103.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_104.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_104.png b/docs/v1.11/form_104.png
new file mode 100644
index 0000000..35cc0ea
Binary files /dev/null and b/docs/v1.11/form_104.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_105.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_105.png b/docs/v1.11/form_105.png
new file mode 100644
index 0000000..ce97eda
Binary files /dev/null and b/docs/v1.11/form_105.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_106.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_106.png b/docs/v1.11/form_106.png
new file mode 100644
index 0000000..0a82cfc
Binary files /dev/null and b/docs/v1.11/form_106.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_107.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_107.png b/docs/v1.11/form_107.png
new file mode 100644
index 0000000..f98baf6
Binary files /dev/null and b/docs/v1.11/form_107.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_108.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_108.png b/docs/v1.11/form_108.png
new file mode 100644
index 0000000..ec3d628
Binary files /dev/null and b/docs/v1.11/form_108.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_109.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_109.png b/docs/v1.11/form_109.png
new file mode 100644
index 0000000..2eb6be8
Binary files /dev/null and b/docs/v1.11/form_109.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_11.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_11.png b/docs/v1.11/form_11.png
new file mode 100644
index 0000000..bcb2cf1
Binary files /dev/null and b/docs/v1.11/form_11.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_110.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_110.png b/docs/v1.11/form_110.png
new file mode 100644
index 0000000..481408d
Binary files /dev/null and b/docs/v1.11/form_110.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_111.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_111.png b/docs/v1.11/form_111.png
new file mode 100644
index 0000000..41091db
Binary files /dev/null and b/docs/v1.11/form_111.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_112.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_112.png b/docs/v1.11/form_112.png
new file mode 100644
index 0000000..7fcaa79
Binary files /dev/null and b/docs/v1.11/form_112.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_113.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_113.png b/docs/v1.11/form_113.png
new file mode 100644
index 0000000..20fd507
Binary files /dev/null and b/docs/v1.11/form_113.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_114.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_114.png b/docs/v1.11/form_114.png
new file mode 100644
index 0000000..5199eea
Binary files /dev/null and b/docs/v1.11/form_114.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_115.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_115.png b/docs/v1.11/form_115.png
new file mode 100644
index 0000000..04a2d7c
Binary files /dev/null and b/docs/v1.11/form_115.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_116.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_116.png b/docs/v1.11/form_116.png
new file mode 100644
index 0000000..8a2a4a5
Binary files /dev/null and b/docs/v1.11/form_116.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_117.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_117.png b/docs/v1.11/form_117.png
new file mode 100644
index 0000000..2c5074e
Binary files /dev/null and b/docs/v1.11/form_117.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_118.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_118.png b/docs/v1.11/form_118.png
new file mode 100644
index 0000000..d7019c9
Binary files /dev/null and b/docs/v1.11/form_118.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_119.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_119.png b/docs/v1.11/form_119.png
new file mode 100644
index 0000000..adf1935
Binary files /dev/null and b/docs/v1.11/form_119.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_12.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_12.png b/docs/v1.11/form_12.png
new file mode 100644
index 0000000..251b156
Binary files /dev/null and b/docs/v1.11/form_12.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_120.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_120.png b/docs/v1.11/form_120.png
new file mode 100644
index 0000000..6092ea9
Binary files /dev/null and b/docs/v1.11/form_120.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_121.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_121.png b/docs/v1.11/form_121.png
new file mode 100644
index 0000000..df8f8f0
Binary files /dev/null and b/docs/v1.11/form_121.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_122.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_122.png b/docs/v1.11/form_122.png
new file mode 100644
index 0000000..7de1990
Binary files /dev/null and b/docs/v1.11/form_122.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_123.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_123.png b/docs/v1.11/form_123.png
new file mode 100644
index 0000000..e99a235
Binary files /dev/null and b/docs/v1.11/form_123.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_124.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_124.png b/docs/v1.11/form_124.png
new file mode 100644
index 0000000..2f47bbb
Binary files /dev/null and b/docs/v1.11/form_124.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_125.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_125.png b/docs/v1.11/form_125.png
new file mode 100644
index 0000000..3ca867b
Binary files /dev/null and b/docs/v1.11/form_125.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_126.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_126.png b/docs/v1.11/form_126.png
new file mode 100644
index 0000000..68682e1
Binary files /dev/null and b/docs/v1.11/form_126.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_127.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_127.png b/docs/v1.11/form_127.png
new file mode 100644
index 0000000..7e465fe
Binary files /dev/null and b/docs/v1.11/form_127.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_128.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_128.png b/docs/v1.11/form_128.png
new file mode 100644
index 0000000..4af188f
Binary files /dev/null and b/docs/v1.11/form_128.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_129.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_129.png b/docs/v1.11/form_129.png
new file mode 100644
index 0000000..3ecfb78
Binary files /dev/null and b/docs/v1.11/form_129.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_13.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_13.png b/docs/v1.11/form_13.png
new file mode 100644
index 0000000..ee2e5b3
Binary files /dev/null and b/docs/v1.11/form_13.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_130.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_130.png b/docs/v1.11/form_130.png
new file mode 100644
index 0000000..e99a235
Binary files /dev/null and b/docs/v1.11/form_130.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_131.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_131.png b/docs/v1.11/form_131.png
new file mode 100644
index 0000000..70fa974
Binary files /dev/null and b/docs/v1.11/form_131.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_132.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_132.png b/docs/v1.11/form_132.png
new file mode 100644
index 0000000..9e3e933
Binary files /dev/null and b/docs/v1.11/form_132.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_133.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_133.png b/docs/v1.11/form_133.png
new file mode 100644
index 0000000..566db70
Binary files /dev/null and b/docs/v1.11/form_133.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_134.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_134.png b/docs/v1.11/form_134.png
new file mode 100644
index 0000000..6d1e83d
Binary files /dev/null and b/docs/v1.11/form_134.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_135.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_135.png b/docs/v1.11/form_135.png
new file mode 100644
index 0000000..45122b9
Binary files /dev/null and b/docs/v1.11/form_135.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_136.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_136.png b/docs/v1.11/form_136.png
new file mode 100644
index 0000000..86d142b
Binary files /dev/null and b/docs/v1.11/form_136.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_137.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_137.png b/docs/v1.11/form_137.png
new file mode 100644
index 0000000..7f63621
Binary files /dev/null and b/docs/v1.11/form_137.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_138.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_138.png b/docs/v1.11/form_138.png
new file mode 100644
index 0000000..d8819d8
Binary files /dev/null and b/docs/v1.11/form_138.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_139.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_139.png b/docs/v1.11/form_139.png
new file mode 100644
index 0000000..591d7f6
Binary files /dev/null and b/docs/v1.11/form_139.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_14.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_14.png b/docs/v1.11/form_14.png
new file mode 100644
index 0000000..b82dc56
Binary files /dev/null and b/docs/v1.11/form_14.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_140.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_140.png b/docs/v1.11/form_140.png
new file mode 100644
index 0000000..239cdbf
Binary files /dev/null and b/docs/v1.11/form_140.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_141.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_141.png b/docs/v1.11/form_141.png
new file mode 100644
index 0000000..c3e33f6
Binary files /dev/null and b/docs/v1.11/form_141.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_142.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_142.png b/docs/v1.11/form_142.png
new file mode 100644
index 0000000..f53bdfa
Binary files /dev/null and b/docs/v1.11/form_142.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_143.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_143.png b/docs/v1.11/form_143.png
new file mode 100644
index 0000000..7fde8a3
Binary files /dev/null and b/docs/v1.11/form_143.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_144.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_144.png b/docs/v1.11/form_144.png
new file mode 100644
index 0000000..86d142b
Binary files /dev/null and b/docs/v1.11/form_144.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_145.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_145.png b/docs/v1.11/form_145.png
new file mode 100644
index 0000000..045831f
Binary files /dev/null and b/docs/v1.11/form_145.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_146.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_146.png b/docs/v1.11/form_146.png
new file mode 100644
index 0000000..9bc2ee7
Binary files /dev/null and b/docs/v1.11/form_146.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_147.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_147.png b/docs/v1.11/form_147.png
new file mode 100644
index 0000000..7fde8a3
Binary files /dev/null and b/docs/v1.11/form_147.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_148.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_148.png b/docs/v1.11/form_148.png
new file mode 100644
index 0000000..66a14c6
Binary files /dev/null and b/docs/v1.11/form_148.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_149.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_149.png b/docs/v1.11/form_149.png
new file mode 100644
index 0000000..1154ff4
Binary files /dev/null and b/docs/v1.11/form_149.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_15.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_15.png b/docs/v1.11/form_15.png
new file mode 100644
index 0000000..08c3058
Binary files /dev/null and b/docs/v1.11/form_15.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_150.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_150.png b/docs/v1.11/form_150.png
new file mode 100644
index 0000000..935b043
Binary files /dev/null and b/docs/v1.11/form_150.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_151.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_151.png b/docs/v1.11/form_151.png
new file mode 100644
index 0000000..ff2f306
Binary files /dev/null and b/docs/v1.11/form_151.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_152.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_152.png b/docs/v1.11/form_152.png
new file mode 100644
index 0000000..e2f4113
Binary files /dev/null and b/docs/v1.11/form_152.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_153.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_153.png b/docs/v1.11/form_153.png
new file mode 100644
index 0000000..960e1e7
Binary files /dev/null and b/docs/v1.11/form_153.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_154.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_154.png b/docs/v1.11/form_154.png
new file mode 100644
index 0000000..39844fa
Binary files /dev/null and b/docs/v1.11/form_154.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_155.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_155.png b/docs/v1.11/form_155.png
new file mode 100644
index 0000000..11ac799
Binary files /dev/null and b/docs/v1.11/form_155.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_156.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_156.png b/docs/v1.11/form_156.png
new file mode 100644
index 0000000..d67834c
Binary files /dev/null and b/docs/v1.11/form_156.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_157.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_157.png b/docs/v1.11/form_157.png
new file mode 100644
index 0000000..8ab7e91
Binary files /dev/null and b/docs/v1.11/form_157.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_158.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_158.png b/docs/v1.11/form_158.png
new file mode 100644
index 0000000..b51d003
Binary files /dev/null and b/docs/v1.11/form_158.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_159.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_159.png b/docs/v1.11/form_159.png
new file mode 100644
index 0000000..dd9c393
Binary files /dev/null and b/docs/v1.11/form_159.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_16.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_16.png b/docs/v1.11/form_16.png
new file mode 100644
index 0000000..0e3f0d8
Binary files /dev/null and b/docs/v1.11/form_16.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_160.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_160.png b/docs/v1.11/form_160.png
new file mode 100644
index 0000000..6784686
Binary files /dev/null and b/docs/v1.11/form_160.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_161.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_161.png b/docs/v1.11/form_161.png
new file mode 100644
index 0000000..f594595
Binary files /dev/null and b/docs/v1.11/form_161.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_162.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_162.png b/docs/v1.11/form_162.png
new file mode 100644
index 0000000..17aceb5
Binary files /dev/null and b/docs/v1.11/form_162.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_163.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_163.png b/docs/v1.11/form_163.png
new file mode 100644
index 0000000..0d54846
Binary files /dev/null and b/docs/v1.11/form_163.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_164.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_164.png b/docs/v1.11/form_164.png
new file mode 100644
index 0000000..4bd7c33
Binary files /dev/null and b/docs/v1.11/form_164.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_165.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_165.png b/docs/v1.11/form_165.png
new file mode 100644
index 0000000..8824f1d
Binary files /dev/null and b/docs/v1.11/form_165.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_166.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_166.png b/docs/v1.11/form_166.png
new file mode 100644
index 0000000..5f3f971
Binary files /dev/null and b/docs/v1.11/form_166.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_167.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_167.png b/docs/v1.11/form_167.png
new file mode 100644
index 0000000..61f2329
Binary files /dev/null and b/docs/v1.11/form_167.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_168.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_168.png b/docs/v1.11/form_168.png
new file mode 100644
index 0000000..9503b7d
Binary files /dev/null and b/docs/v1.11/form_168.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_169.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_169.png b/docs/v1.11/form_169.png
new file mode 100644
index 0000000..baf7b43
Binary files /dev/null and b/docs/v1.11/form_169.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_17.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_17.png b/docs/v1.11/form_17.png
new file mode 100644
index 0000000..a073d2c
Binary files /dev/null and b/docs/v1.11/form_17.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_170.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_170.png b/docs/v1.11/form_170.png
new file mode 100644
index 0000000..42eb561
Binary files /dev/null and b/docs/v1.11/form_170.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_171.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_171.png b/docs/v1.11/form_171.png
new file mode 100644
index 0000000..ccb642e
Binary files /dev/null and b/docs/v1.11/form_171.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_172.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_172.png b/docs/v1.11/form_172.png
new file mode 100644
index 0000000..f0b6ada
Binary files /dev/null and b/docs/v1.11/form_172.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_173.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_173.png b/docs/v1.11/form_173.png
new file mode 100644
index 0000000..209611a
Binary files /dev/null and b/docs/v1.11/form_173.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_174.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_174.png b/docs/v1.11/form_174.png
new file mode 100644
index 0000000..bc585a4
Binary files /dev/null and b/docs/v1.11/form_174.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_175.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_175.png b/docs/v1.11/form_175.png
new file mode 100644
index 0000000..c5496c5
Binary files /dev/null and b/docs/v1.11/form_175.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_176.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_176.png b/docs/v1.11/form_176.png
new file mode 100644
index 0000000..a6519d9
Binary files /dev/null and b/docs/v1.11/form_176.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_177.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_177.png b/docs/v1.11/form_177.png
new file mode 100644
index 0000000..476d005
Binary files /dev/null and b/docs/v1.11/form_177.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_178.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_178.png b/docs/v1.11/form_178.png
new file mode 100644
index 0000000..7e1dc03
Binary files /dev/null and b/docs/v1.11/form_178.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_179.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_179.png b/docs/v1.11/form_179.png
new file mode 100644
index 0000000..8a976d4
Binary files /dev/null and b/docs/v1.11/form_179.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_18.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_18.png b/docs/v1.11/form_18.png
new file mode 100644
index 0000000..14e97c5
Binary files /dev/null and b/docs/v1.11/form_18.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_180.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_180.png b/docs/v1.11/form_180.png
new file mode 100644
index 0000000..30d9cb4
Binary files /dev/null and b/docs/v1.11/form_180.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_181.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_181.png b/docs/v1.11/form_181.png
new file mode 100644
index 0000000..c6de851
Binary files /dev/null and b/docs/v1.11/form_181.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_182.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_182.png b/docs/v1.11/form_182.png
new file mode 100644
index 0000000..3ac10f0
Binary files /dev/null and b/docs/v1.11/form_182.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_183.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_183.png b/docs/v1.11/form_183.png
new file mode 100644
index 0000000..424fee6
Binary files /dev/null and b/docs/v1.11/form_183.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_184.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_184.png b/docs/v1.11/form_184.png
new file mode 100644
index 0000000..1b58bae
Binary files /dev/null and b/docs/v1.11/form_184.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_185.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_185.png b/docs/v1.11/form_185.png
new file mode 100644
index 0000000..3067314
Binary files /dev/null and b/docs/v1.11/form_185.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_186.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_186.png b/docs/v1.11/form_186.png
new file mode 100644
index 0000000..61c24e8
Binary files /dev/null and b/docs/v1.11/form_186.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_187.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_187.png b/docs/v1.11/form_187.png
new file mode 100644
index 0000000..8088cb6
Binary files /dev/null and b/docs/v1.11/form_187.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_188.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_188.png b/docs/v1.11/form_188.png
new file mode 100644
index 0000000..76da637
Binary files /dev/null and b/docs/v1.11/form_188.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_189.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_189.png b/docs/v1.11/form_189.png
new file mode 100644
index 0000000..44680bf
Binary files /dev/null and b/docs/v1.11/form_189.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_19.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_19.png b/docs/v1.11/form_19.png
new file mode 100644
index 0000000..e17263d
Binary files /dev/null and b/docs/v1.11/form_19.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_190.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_190.png b/docs/v1.11/form_190.png
new file mode 100644
index 0000000..de88493
Binary files /dev/null and b/docs/v1.11/form_190.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_191.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_191.png b/docs/v1.11/form_191.png
new file mode 100644
index 0000000..84211ff
Binary files /dev/null and b/docs/v1.11/form_191.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_192.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_192.png b/docs/v1.11/form_192.png
new file mode 100644
index 0000000..3d8cb37
Binary files /dev/null and b/docs/v1.11/form_192.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_193.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_193.png b/docs/v1.11/form_193.png
new file mode 100644
index 0000000..adce91b
Binary files /dev/null and b/docs/v1.11/form_193.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_194.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_194.png b/docs/v1.11/form_194.png
new file mode 100644
index 0000000..a04a8cb
Binary files /dev/null and b/docs/v1.11/form_194.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_195.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_195.png b/docs/v1.11/form_195.png
new file mode 100644
index 0000000..279658c
Binary files /dev/null and b/docs/v1.11/form_195.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_196.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_196.png b/docs/v1.11/form_196.png
new file mode 100644
index 0000000..6817986
Binary files /dev/null and b/docs/v1.11/form_196.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_197.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_197.png b/docs/v1.11/form_197.png
new file mode 100644
index 0000000..abc6b7f
Binary files /dev/null and b/docs/v1.11/form_197.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_198.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_198.png b/docs/v1.11/form_198.png
new file mode 100644
index 0000000..be5ce6a
Binary files /dev/null and b/docs/v1.11/form_198.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_199.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_199.png b/docs/v1.11/form_199.png
new file mode 100644
index 0000000..39580ae
Binary files /dev/null and b/docs/v1.11/form_199.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_2.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_2.png b/docs/v1.11/form_2.png
new file mode 100644
index 0000000..45e191d
Binary files /dev/null and b/docs/v1.11/form_2.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_20.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_20.png b/docs/v1.11/form_20.png
new file mode 100644
index 0000000..b4f0cea
Binary files /dev/null and b/docs/v1.11/form_20.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_200.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_200.png b/docs/v1.11/form_200.png
new file mode 100644
index 0000000..5c0f8cd
Binary files /dev/null and b/docs/v1.11/form_200.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_201.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_201.png b/docs/v1.11/form_201.png
new file mode 100644
index 0000000..51ebf74
Binary files /dev/null and b/docs/v1.11/form_201.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_202.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_202.png b/docs/v1.11/form_202.png
new file mode 100644
index 0000000..d7cb7ea
Binary files /dev/null and b/docs/v1.11/form_202.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_203.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_203.png b/docs/v1.11/form_203.png
new file mode 100644
index 0000000..5f1c84b
Binary files /dev/null and b/docs/v1.11/form_203.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_204.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_204.png b/docs/v1.11/form_204.png
new file mode 100644
index 0000000..2338f59
Binary files /dev/null and b/docs/v1.11/form_204.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_205.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_205.png b/docs/v1.11/form_205.png
new file mode 100644
index 0000000..6513e69
Binary files /dev/null and b/docs/v1.11/form_205.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_206.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_206.png b/docs/v1.11/form_206.png
new file mode 100644
index 0000000..cdb7835
Binary files /dev/null and b/docs/v1.11/form_206.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_207.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_207.png b/docs/v1.11/form_207.png
new file mode 100644
index 0000000..08c3058
Binary files /dev/null and b/docs/v1.11/form_207.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_208.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_208.png b/docs/v1.11/form_208.png
new file mode 100644
index 0000000..82fe61e
Binary files /dev/null and b/docs/v1.11/form_208.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_209.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_209.png b/docs/v1.11/form_209.png
new file mode 100644
index 0000000..0d8b939
Binary files /dev/null and b/docs/v1.11/form_209.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_21.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_21.png b/docs/v1.11/form_21.png
new file mode 100644
index 0000000..d90ca3b
Binary files /dev/null and b/docs/v1.11/form_21.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_210.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_210.png b/docs/v1.11/form_210.png
new file mode 100644
index 0000000..8928783
Binary files /dev/null and b/docs/v1.11/form_210.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_211.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_211.png b/docs/v1.11/form_211.png
new file mode 100644
index 0000000..fd41076
Binary files /dev/null and b/docs/v1.11/form_211.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_212.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_212.png b/docs/v1.11/form_212.png
new file mode 100644
index 0000000..20c4af4
Binary files /dev/null and b/docs/v1.11/form_212.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_213.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_213.png b/docs/v1.11/form_213.png
new file mode 100644
index 0000000..80cbae3
Binary files /dev/null and b/docs/v1.11/form_213.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_214.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_214.png b/docs/v1.11/form_214.png
new file mode 100644
index 0000000..a7a8af1
Binary files /dev/null and b/docs/v1.11/form_214.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_215.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_215.png b/docs/v1.11/form_215.png
new file mode 100644
index 0000000..973691d
Binary files /dev/null and b/docs/v1.11/form_215.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_216.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_216.png b/docs/v1.11/form_216.png
new file mode 100644
index 0000000..a80a168
Binary files /dev/null and b/docs/v1.11/form_216.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_217.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_217.png b/docs/v1.11/form_217.png
new file mode 100644
index 0000000..91de680
Binary files /dev/null and b/docs/v1.11/form_217.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_218.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_218.png b/docs/v1.11/form_218.png
new file mode 100644
index 0000000..47ac5e9
Binary files /dev/null and b/docs/v1.11/form_218.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_219.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_219.png b/docs/v1.11/form_219.png
new file mode 100644
index 0000000..e4e298b
Binary files /dev/null and b/docs/v1.11/form_219.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_22.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_22.png b/docs/v1.11/form_22.png
new file mode 100644
index 0000000..ecf9c0e
Binary files /dev/null and b/docs/v1.11/form_22.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_220.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_220.png b/docs/v1.11/form_220.png
new file mode 100644
index 0000000..e2f88a0
Binary files /dev/null and b/docs/v1.11/form_220.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_221.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_221.png b/docs/v1.11/form_221.png
new file mode 100644
index 0000000..5c91c90
Binary files /dev/null and b/docs/v1.11/form_221.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_222.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_222.png b/docs/v1.11/form_222.png
new file mode 100644
index 0000000..9b845fd
Binary files /dev/null and b/docs/v1.11/form_222.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_223.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_223.png b/docs/v1.11/form_223.png
new file mode 100644
index 0000000..5c91c90
Binary files /dev/null and b/docs/v1.11/form_223.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_224.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_224.png b/docs/v1.11/form_224.png
new file mode 100644
index 0000000..f87c2f3
Binary files /dev/null and b/docs/v1.11/form_224.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_225.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_225.png b/docs/v1.11/form_225.png
new file mode 100644
index 0000000..030f121
Binary files /dev/null and b/docs/v1.11/form_225.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_226.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_226.png b/docs/v1.11/form_226.png
new file mode 100644
index 0000000..16ecdfd
Binary files /dev/null and b/docs/v1.11/form_226.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_227.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_227.png b/docs/v1.11/form_227.png
new file mode 100644
index 0000000..23bd19d
Binary files /dev/null and b/docs/v1.11/form_227.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_228.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_228.png b/docs/v1.11/form_228.png
new file mode 100644
index 0000000..2cdc584
Binary files /dev/null and b/docs/v1.11/form_228.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_229.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_229.png b/docs/v1.11/form_229.png
new file mode 100644
index 0000000..daf332e
Binary files /dev/null and b/docs/v1.11/form_229.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_23.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_23.png b/docs/v1.11/form_23.png
new file mode 100644
index 0000000..bc04a88
Binary files /dev/null and b/docs/v1.11/form_23.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_230.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_230.png b/docs/v1.11/form_230.png
new file mode 100644
index 0000000..fd0d6be
Binary files /dev/null and b/docs/v1.11/form_230.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_231.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_231.png b/docs/v1.11/form_231.png
new file mode 100644
index 0000000..44ec35f
Binary files /dev/null and b/docs/v1.11/form_231.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_232.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_232.png b/docs/v1.11/form_232.png
new file mode 100644
index 0000000..024ff3f
Binary files /dev/null and b/docs/v1.11/form_232.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_233.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_233.png b/docs/v1.11/form_233.png
new file mode 100644
index 0000000..8861cc9
Binary files /dev/null and b/docs/v1.11/form_233.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_234.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_234.png b/docs/v1.11/form_234.png
new file mode 100644
index 0000000..9b845fd
Binary files /dev/null and b/docs/v1.11/form_234.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_235.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_235.png b/docs/v1.11/form_235.png
new file mode 100644
index 0000000..adae470
Binary files /dev/null and b/docs/v1.11/form_235.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_236.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_236.png b/docs/v1.11/form_236.png
new file mode 100644
index 0000000..86591f0
Binary files /dev/null and b/docs/v1.11/form_236.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_237.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_237.png b/docs/v1.11/form_237.png
new file mode 100644
index 0000000..437eba3
Binary files /dev/null and b/docs/v1.11/form_237.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_238.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_238.png b/docs/v1.11/form_238.png
new file mode 100644
index 0000000..1cc9601
Binary files /dev/null and b/docs/v1.11/form_238.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_239.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_239.png b/docs/v1.11/form_239.png
new file mode 100644
index 0000000..177a2b1
Binary files /dev/null and b/docs/v1.11/form_239.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_24.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_24.png b/docs/v1.11/form_24.png
new file mode 100644
index 0000000..6fd92e1
Binary files /dev/null and b/docs/v1.11/form_24.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_240.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_240.png b/docs/v1.11/form_240.png
new file mode 100644
index 0000000..361b4f6
Binary files /dev/null and b/docs/v1.11/form_240.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_241.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_241.png b/docs/v1.11/form_241.png
new file mode 100644
index 0000000..2a3f16e
Binary files /dev/null and b/docs/v1.11/form_241.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_242.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_242.png b/docs/v1.11/form_242.png
new file mode 100644
index 0000000..22593e4
Binary files /dev/null and b/docs/v1.11/form_242.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_243.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_243.png b/docs/v1.11/form_243.png
new file mode 100644
index 0000000..49fef35
Binary files /dev/null and b/docs/v1.11/form_243.png differ



[14/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__svm.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__svm.html b/docs/v1.11/group__grp__svm.html
new file mode 100644
index 0000000..1a9221d
--- /dev/null
+++ b/docs/v1.11/group__grp__svm.html
@@ -0,0 +1,645 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Support Vector Machines</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__svm.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Support Vector Machines<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b><ul>
+<li class="level1">
+<a href="#svm_classification">Classification Function</a> </li>
+<li class="level1">
+<a href="#svm_regression">Regression Function</a> </li>
+<li class="level1">
+<a href="#novelty_detection">Novelty Detection</a> </li>
+<li class="level1">
+<a href="#kernel_params">Kernel Parameters</a> </li>
+<li class="level1">
+<a href="#parameters">Other Parameters</a> </li>
+<li class="level1">
+<a href="#predict">Prediction Functions</a> </li>
+<li class="level1">
+<a href="#example">Examples</a> </li>
+<li class="level1">
+<a href="#background">Technical Background</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Support Vector Machines (SVMs) are models for regression and classification tasks. SVM models have two particularly desirable features: robustness in the presence of noisy data and applicability to a variety of data configurations. At its core, a <em>linear</em> SVM model is a hyperplane separating two distinct classes of data (in the case of classification problems), in such a way that the distance between the hyperplane and the nearest training data point (called the <em>margin</em>) is maximized. Vectors that lie on this margin are called support vectors. With the support vectors fixed, perturbations of vectors beyond the margin will not affect the model; this contributes to the model’s robustness. By substituting a kernel function for the usual inner product, one can approximate a large variety of decision boundaries in addition to linear hyperplanes. <a class="anchor" id="svm_classification"></a></p><dl class="section user"><dt>Classification Training Function</dt><d
 d>The SVM classification training function has the following format: <pre class="syntax">
+svm_classification(
+    source_table,
+    model_table,
+    dependent_varname,
+    independent_varname,
+    kernel_func,
+    kernel_params,
+    grouping_col,
+    params,
+    verbose
+    )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the training data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>model_table </dt>
+<dd><p class="startdd">TEXT. Name of the output table containing the model. Details of the output tables are provided below. </p>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_varname </dt>
+<dd><p class="startdd">TEXT. Name of the dependent variable column. For classification, this column can contain values of any type, but must assume exactly two distinct values. Otherwise, an error will be thrown. </p>
+<p class="enddd"></p>
+</dd>
+<dt>independent_varname </dt>
+<dd><p class="startdd">TEXT. Expression list to evaluate for the independent variables. An intercept variable should not be included as part of this expression. See 'fit_intercept' in the kernel params for info on intercepts. Please note that expression should be able to be cast to DOUBLE PRECISION[].</p>
+<p class="enddd"></p>
+</dd>
+<dt>kernel_func (optional) </dt>
+<dd><p class="startdd">TEXT, default: 'linear'. Type of kernel. Currently three kernel types are supported: 'linear', 'gaussian', and 'polynomial'. The text can be any subset of the three strings; for e.g., kernel_func='ga' will create a Gaussian kernel. </p>
+<p class="enddd"></p>
+</dd>
+<dt>kernel_params (optional) </dt>
+<dd><p class="startdd">TEXT, defaults: NULL. Parameters for non-linear kernel in a comma-separated string of key-value pairs. The actual parameters differ depending on the value of <em>kernel_func</em>. See the description below for details. </p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_col (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. An expression list used to group the input dataset into discrete groups, which results in running one model per group. Similar to the SQL "GROUP BY" clause. When this value is NULL, no grouping is used and a single model is generated. Please note that cross validation is not supported if grouping is used.</p>
+<p class="enddd"></p>
+</dd>
+<dt>params (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. Parameters for optimization and regularization in a comma-separated string of key-value pairs. If a list of values is provided, then cross-validation will be performed to select the <em>best</em> value from the list. See the description below for details. </p>
+<p class="enddd"></p>
+</dd>
+<dt>verbose (optional) </dt>
+<dd>BOOLEAN default: FALSE. Verbose output of the results of training. </dd>
+</dl>
+</dd></dl>
+<p><b>Output tables</b> <br />
+ The model table produced by SVM contains the following columns: </p><table class="output">
+<tr>
+<th>coef </th><td>FLOAT8. Vector of coefficients.  </td></tr>
+<tr>
+<th>grouping_key </th><td>TEXT Identifies the group to which the datum belongs.  </td></tr>
+<tr>
+<th>num_rows_processed </th><td>BIGINT. Numbers of rows processed.  </td></tr>
+<tr>
+<th>num_rows_skipped </th><td>BIGINT. Numbers of rows skipped due to missing values or failures.  </td></tr>
+<tr>
+<th>num_iterations </th><td>INTEGER. Number of iterations completed by stochastic gradient descent algorithm. The algorithm either converged in this number of iterations or hit the maximum number specified in the optimization parameters.   </td></tr>
+<tr>
+<th>loss </th><td>FLOAT8. Value of the objective function of SVM. See Technical Background section below for more details.  </td></tr>
+<tr>
+<th>norm_of_gradient </th><td>FLOAT8. Value of the L2-norm of the (sub)-gradient of the objective function.  </td></tr>
+<tr>
+<th>__dep_var_mapping </th><td>TEXT[]. Vector of dependent variable labels. The first entry corresponds to -1 and the second to +1. For internal use only.  </td></tr>
+</table>
+<p>An auxiliary table named &lt;model_table&gt;_random is created if the kernel is not linear. It contains data needed to embed test data into a random feature space (see references [2,3]). This data is used internally by svm_predict and not meaningful on its own to the user, so you can ignore it.</p>
+<p>A summary table named &lt;model_table&gt;_summary is also created, which has the following columns: </p><table class="output">
+<tr>
+<th>method </th><td>'svm'  </td></tr>
+<tr>
+<th>version_number </th><td>Version of MADlib which was used to generate the model.  </td></tr>
+<tr>
+<th>source_table </th><td>The data source table name.  </td></tr>
+<tr>
+<th>model_table </th><td>The model table name.  </td></tr>
+<tr>
+<th>dependent_varname </th><td>The dependent variable.  </td></tr>
+<tr>
+<th>independent_varname </th><td>The independent variables.  </td></tr>
+<tr>
+<th>kernel_func </th><td>The kernel function.  </td></tr>
+<tr>
+<th>kernel_parameters </th><td>The kernel parameters, as well as random feature map data.  </td></tr>
+<tr>
+<th>grouping_col </th><td>Columns on which to group.  </td></tr>
+<tr>
+<th>optim_params </th><td>A string containing the optimization parameters.  </td></tr>
+<tr>
+<th>reg_params </th><td>A string containing the regularization parameters.  </td></tr>
+<tr>
+<th>num_all_groups </th><td>Number of groups in SVM training.  </td></tr>
+<tr>
+<th>num_failed_groups </th><td>Number of failed groups in SVM training.  </td></tr>
+<tr>
+<th>total_rows_processed </th><td>Total numbers of rows processed in all groups.  </td></tr>
+<tr>
+<th>total_rows_skipped </th><td>Total numbers of rows skipped in all groups due to missing values or failures.  </td></tr>
+</table>
+<p><a class="anchor" id="svm_regression"></a></p><dl class="section user"><dt>Regression Training Function</dt><dd>The SVM regression training function has the following format: <pre class="syntax">
+svm_regression(source_table,
+    model_table,
+    dependent_varname,
+    independent_varname,
+    kernel_func,
+    kernel_params,
+    grouping_col,
+    params,
+    verbose
+    )
+</pre></dd></dl>
+<p><b>Arguments</b> </p>
+<p>Specifications for regression are largely the same as for classification. In the model table, there is no dependent variable mapping. The following arguments have specifications which differ from svm_classification: </p><dl class="arglist">
+<dt>dependent_varname </dt>
+<dd>TEXT. Name of the dependent variable column. For regression, this column can contain only values or expressions that can be cast to DOUBLE PRECISION. Otherwise, an error will be thrown.  </dd>
+<dt>params (optional) </dt>
+<dd>TEXT, default: NULL. The parameters <em>epsilon</em> and <em>eps_table</em> are only meaningful for regression. See description below for more details.  </dd>
+</dl>
+<p><a class="anchor" id="novelty_detection"></a></p><dl class="section user"><dt>Novelty Detection Training Function</dt><dd>The novelty detection function is a one-class SVM classifier, and has the following format: <pre class="syntax">
+svm_one_class(
+    source_table,
+    model_table,
+    independent_varname,
+    kernel_func,
+    kernel_params,
+    grouping_col,
+    params,
+    verbose
+    )
+</pre> <b>Arguments</b> </dd></dl>
+<p>Specifications for novelty detection are largely the same as for classification, except the dependent variable name is not specified. The model table is the same as that for classification.</p>
+<p><a class="anchor" id="kernel_params"></a></p><dl class="section user"><dt>Kernel Parameters</dt><dd>Kernel parameters are supplied in a string containing a comma-delimited list of name-value pairs. All of these named parameters are optional, and their order does not matter. You must use the format "&lt;param_name&gt; = &lt;value&gt;" to specify the value of a parameter, otherwise the parameter is ignored.</dd></dl>
+<dl class="arglist">
+<dt><em>Parameters common to all kernels</em></dt>
+<dd></dd>
+<dt>fit_intercept </dt>
+<dd>Default: True. The parameter <em>fit_intercept</em> is an indicator to add an intercept to the <em>independent_varname</em> array expression. The intercept is added to the end of the feature list - thus the last element of the coefficient list is the intercept.  </dd>
+<dt>n_components </dt>
+<dd>Default: 2*num_features. The dimensionality of the transformed feature space. A larger value lowers the variance of the estimate of the kernel but requires more memory and takes longer to train. </dd>
+<dt>random_state </dt>
+<dd>Default: 1. Seed used by a random number generator.  </dd>
+</dl>
+<dl class="arglist">
+<dt><em>Parameters for 'gaussian' kernel</em></dt>
+<dd></dd>
+<dt>gamma </dt>
+<dd>Default: 1/num_features. The parameter <img class="formulaInl" alt="$\gamma$" src="form_523.png"/> in the Radius Basis Function kernel, i.e., <img class="formulaInl" alt="$\exp(-\gamma||x-y||^2)$" src="form_524.png"/>. Choosing a proper value for <em>gamma</em> is critical to the performance of kernel machine; e.g., while a large <em>gamma</em> tends to cause overfitting, a small <em>gamma</em> will make the model too constrained to capture the complexity of the data.  </dd>
+</dl>
+<dl class="arglist">
+<dt><em>Parameters for 'polynomial' kernel</em></dt>
+<dd></dd>
+<dt>coef0 </dt>
+<dd>Default: 1.0. The independent term <img class="formulaInl" alt="$q$" src="form_525.png"/> in <img class="formulaInl" alt="$ (\langle x,y\rangle + q)^r $" src="form_526.png"/>. Must be larger than or equal to 0. When it is 0, the polynomial kernel is in homogeneous form.  </dd>
+<dt>degree </dt>
+<dd>Default: 3. The parameter <img class="formulaInl" alt="$r$" src="form_527.png"/> in <img class="formulaInl" alt="$ (\langle x,y\rangle + q)^r $" src="form_526.png"/>.  </dd>
+</dl>
+<p><a class="anchor" id="parameters"></a></p><dl class="section user"><dt>Other Parameters</dt><dd>Parameters in this section are supplied in the <em>params</em> argument as a string containing a comma-delimited list of name-value pairs. All of these named parameters are optional, and their order does not matter. You must use the format "&lt;param_name&gt; = &lt;value&gt;" to specify the value of a parameter, otherwise the parameter is ignored.</dd></dl>
+<p>Hyperparameter optimization can be carried out using the built-in cross validation mechanism, which is activated by assigning a value greater than 1 to the parameter <em>n_folds</em> in <em>params</em>. Please note that cross validation is not supported if grouping is used.</p>
+<p>The values of a parameter to cross validate should be provided in a list. For example, if one wanted to regularize with the L1 norm and use a lambda value from the set {0.3, 0.4, 0.5}, one might input 'lambda={0.3, 0.4, 0.5}, norm=L1, n_folds=10' in <em>params</em>. Note that the use of '{}' and '[]' are both valid here. </p><dl class="section note"><dt>Note</dt><dd>Note that not all of the parameters below can be cross-validated. For parameters where cross validation is allowed, their default values are presented in list format; e.g., [0.01].</dd></dl>
+<pre class="syntax">
+  'init_stepsize = &lt;value&gt;,
+   decay_factor = &lt;value&gt;,
+   max_iter = &lt;value&gt;,
+   tolerance = &lt;value&gt;,
+   lambda = &lt;value&gt;,
+   norm = &lt;value&gt;,
+   epsilon = &lt;value&gt;,
+   eps_table = &lt;value&gt;,
+   validation_result = &lt;value&gt;,
+   n_folds = &lt;value&gt;,
+   class_weight = &lt;value&gt;'
+</pre><p> <b>Parameters</b> </p><dl class="arglist">
+<dt>init_stepsize </dt>
+<dd><p class="startdd">Default: [0.01]. Also known as the initial learning rate. A small value is usually desirable to ensure convergence, while a large value provides more room for progress during training. Since the best value depends on the condition number of the data, in practice one often searches in an exponential grid using built-in cross validation; e.g., "init_stepsize = [1, 0.1, 0.001]". To reduce training time, it is common to run cross validation on a subsampled dataset, since this usually provides a good estimate of the condition number of the whole dataset. Then the resulting <em>init_stepsize</em> can be run on the whole dataset.</p>
+<p></p>
+<p class="enddd"></p>
+</dd>
+<dt>decay_factor </dt>
+<dd><p class="startdd">Default: [0.9]. Control the learning rate schedule: 0 means constant rate; &lt;-1 means inverse scaling, i.e., stepsize = init_stepsize / iteration; &gt; 0 means &lt;exponential decay, i.e., stepsize = init_stepsize * decay_factor^iteration. </p>
+<p class="enddd"></p>
+</dd>
+<dt>max_iter </dt>
+<dd><p class="startdd">Default: [100]. The maximum number of iterations allowed. </p>
+<p class="enddd"></p>
+</dd>
+<dt>tolerance </dt>
+<dd><p class="startdd">Default: 1e-10. The criterion to end iterations. The training stops whenever &lt;the difference between the training models of two consecutive iterations is &lt;smaller than <em>tolerance</em> or the iteration number is larger than <em>max_iter</em>. </p>
+<p class="enddd"></p>
+</dd>
+<dt>lambda </dt>
+<dd><p class="startdd">Default: [0.01]. Regularization parameter. Must be non-negative. </p>
+<p class="enddd"></p>
+</dd>
+<dt>norm </dt>
+<dd><p class="startdd">Default: 'L2'. Name of the regularization, either 'L2' or 'L1'. </p>
+<p class="enddd"></p>
+</dd>
+<dt>epsilon </dt>
+<dd><p class="startdd">Default: [0.01]. Determines the <img class="formulaInl" alt="$\epsilon$" src="form_528.png"/> for <img class="formulaInl" alt="$\epsilon$" src="form_528.png"/>-regression. Ignored during classification. When training the model, differences of less than <img class="formulaInl" alt="$\epsilon$" src="form_528.png"/> between estimated labels and actual labels are ignored. A larger <img class="formulaInl" alt="$\epsilon$" src="form_528.png"/> will yield a model with fewer support vectors, but will not generalize as well to future data. Generally, it has been suggested that epsilon should increase with noisier data, and decrease with the number of samples. See [5]. </p>
+<p class="enddd"></p>
+</dd>
+<dt>eps_table </dt>
+<dd><p class="startdd">Default: NULL. Name of the input table that contains values of epsilon for different groups. Ignored when <em>grouping_col</em> is NULL. Define this input table if you want different epsilon values for different groups. The table consists of a column named <em>epsilon</em> which specifies the epsilon values, and one or more columns for <em>grouping_col</em>. Extra groups are ignored, and groups not present in this table will use the epsilon value specified in parameter <em>epsilon</em>. </p>
+<p class="enddd"></p>
+</dd>
+<dt>validation_result </dt>
+<dd><p class="startdd">Default: NULL. Name of the table to store the cross validation results including the values of parameters and their averaged error values. For now, simple metric like 0-1 loss is used for classification and mean square error is used for regression. The table is only created if the name is not NULL. </p>
+<p class="enddd"></p>
+</dd>
+<dt>n_folds </dt>
+<dd><p class="startdd">Default: 0. Number of folds (k). Must be at least 2 to activate cross validation. If a value of k &gt; 2 is specified, each fold is then used as a validation set once, while the other k - 1 folds form the training set. </p>
+<p class="enddd"></p>
+</dd>
+<dt>class_weight </dt>
+<dd><p class="startdd">Default: 1 for classification, 'balanced' for one-class novelty detection, n/a for regression.</p>
+<p>Set the weight for the positive and negative classes. If not given, all classes are set to have weight one. If class_weight = balanced, values of y are automatically adjusted as inversely proportional to class frequencies in the input data i.e. the weights are set as n_samples / (n_classes * bincount(y)).</p>
+<p>Alternatively, class_weight can be a mapping, giving the weight for each class. Eg. For dependent variable values 'a' and 'b', the class_weight can be {a: 2, b: 3}. This would lead to each 'a' tuple's y value multiplied by 2 and each 'b' y value will be multiplied by 3.</p>
+<p class="enddd">For regression, the class weights are always one.  </p>
+</dd>
+</dl>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd>The prediction function is used to estimate the conditional mean given a new predictor. The same syntax is used for classification, regression and novelty detection: <pre class="syntax">
+svm_predict(model_table,
+            new_data_table,
+            id_col_name,
+            output_table)
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>model_table </dt>
+<dd><p class="startdd">TEXT. Model table produced by the training function.</p>
+<p class="enddd"></p>
+</dd>
+<dt>new_data_table </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the prediction data. This table is expected to contain the same features that were used during training. The table should also contain id_col_name used for identifying each row.</p>
+<p class="enddd"></p>
+</dd>
+<dt>id_col_name </dt>
+<dd><p class="startdd">TEXT. The name of the id column in the input table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd>TEXT. Name of the table where output predictions are written. If this table name is already in use, then an error is returned. Table contains: <table class="output">
+<tr>
+<th>id </th><td>Gives the 'id' for each prediction, corresponding to each row from the new_data_table.  </td></tr>
+<tr>
+<th>prediction </th><td>Provides the prediction for each row in new_data_table. For regression this would be the same as decision_function. For classification, this will be one of the dependent variable values.  </td></tr>
+<tr>
+<th>decision_function </th><td>Provides the distance between each point and the separating hyperplane.  </td></tr>
+</table>
+</dd>
+</dl>
+<p><a class="anchor" id="example"></a></p><dl class="section user"><dt>Examples</dt><dd><ol type="1">
+<li>Create an input data set. <pre class="example">
+DROP TABLE IF EXISTS houses;
+CREATE TABLE houses (id INT, tax INT, bedroom INT, bath FLOAT, price INT,
+            size INT, lot INT);
+COPY houses FROM STDIN WITH DELIMITER '|';
+  1 |  590 |       2 |    1 |  50000 |  770 | 22100
+  2 | 1050 |       3 |    2 |  85000 | 1410 | 12000
+  3 |   20 |       3 |    1 |  22500 | 1060 |  3500
+  4 |  870 |       2 |    2 |  90000 | 1300 | 17500
+  5 | 1320 |       3 |    2 | 133000 | 1500 | 30000
+  6 | 1350 |       2 |    1 |  90500 |  820 | 25700
+  7 | 2790 |       3 |  2.5 | 260000 | 2130 | 25000
+  8 |  680 |       2 |    1 | 142500 | 1170 | 22000
+  9 | 1840 |       3 |    2 | 160000 | 1500 | 19000
+ 10 | 3680 |       4 |    2 | 240000 | 2790 | 20000
+ 11 | 1660 |       3 |    1 |  87000 | 1030 | 17500
+ 12 | 1620 |       3 |    2 | 118600 | 1250 | 20000
+ 13 | 3100 |       3 |    2 | 140000 | 1760 | 38000
+ 14 | 2070 |       2 |    3 | 148000 | 1550 | 14000
+ 15 |  650 |       3 |  1.5 |  65000 | 1450 | 12000
+\.
+</pre></li>
+<li>Train a classification model. First, use a linear model. <pre class="example">
+DROP TABLE IF EXISTS houses_svm, houses_svm_summary;
+SELECT madlib.svm_classification('houses',
+                                 'houses_svm',
+                                 'price &lt; 100000',
+                                 'ARRAY[1, tax, bath, size]'
+                           );
+</pre></li>
+<li>View the result for the linear classification model. <pre class="example">
+-- Set extended display on for easier reading of output
+\x ON
+SELECT * FROM houses_svm;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]------+---------------------------------------------------------------
+coef               | {0.152192069515,-0.29631947495,0.0968619000065,0.362682248051}
+loss               | 601.279740124
+norm_of_gradient   | 1300.96615851627
+num_iterations     | 100
+num_rows_processed | 15
+num_rows_skipped   | 0
+dep_var_mapping    | {f,t}
+</pre></li>
+<li>Next generate a nonlinear model using a Gaussian kernel. This time we specify the initial step size and maximum number of iterations to run. As part of the kernel parameter, we choose 10 as the dimension of the space where we train SVM. A larger number will lead to a more powerful model but run the risk of overfitting. As a result, the model will be a 10 dimensional vector, instead of 4 as in the case of linear model, which we will verify when we examine the models. <pre class="example">
+DROP TABLE IF EXISTS houses_svm_gaussian, houses_svm_gaussian_summary, houses_svm_gaussian_random;
+SELECT madlib.svm_classification( 'houses',
+                                  'houses_svm_gaussian',
+                                  'price &lt; 100000',
+                                  'ARRAY[1, tax, bath, size]',
+                                  'gaussian',
+                                  'n_components=10',
+                                  '',
+                                  'init_stepsize=1, max_iter=200'
+                           );
+</pre></li>
+<li>View the results from kernel SVM for classification. <pre class="example">
+-- Set extended display on for easier reading of output
+\x ON
+SELECT * FROM houses_svm_gaussian;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]------+--------------------------------------------------------------------------------------------------------------------------------------------------
+coef               | {0.183800813574,-0.78724997813,1.54121854068,1.24432527042,4.01230959334,1.07061097224,-4.92576349408,0.437699542875,0.3128600981,-1.63880635658}
+loss               | 0.998735180388
+norm_of_gradient   | 0.729823950583579
+num_iterations     | 196
+num_rows_processed | 15
+num_rows_skipped   | 0
+dep_var_mapping    | {f,t}
+</pre></li>
+<li>The regression models have a similar format (model output not shown). First, for a linear model: <pre class="example">
+DROP TABLE IF EXISTS houses_svm_regression, houses_svm_regression_summary;
+SELECT madlib.svm_regression('houses',
+                             'houses_svm_regression',
+                             'price',
+                             'ARRAY[1, tax, bath, size]'
+                           );
+</pre> For a non-linear regression model using a Gaussian kernel: <pre class="example">
+DROP TABLE IF EXISTS houses_svm_gaussian_regression, houses_svm_gaussian_regression_summary, houses_svm_gaussian_regression_random;
+SELECT madlib.svm_regression( 'houses',
+                              'houses_svm_gaussian_regression',
+                              'price',
+                              'ARRAY[1, tax, bath, size]',
+                              'gaussian',
+                              'n_components=10',
+                              '',
+                              'init_stepsize=1, max_iter=200'
+                           );
+</pre></li>
+<li>Now train a non-linear one-class SVM for novelty detection, using a Gaussian kernel. Note that the dependent variable is not a parameter for one-class: <pre class="example">
+DROP TABLE IF EXISTS houses_one_class_gaussian, houses_one_class_gaussian_summary, houses_one_class_gaussian_random;
+select madlib.svm_one_class('houses',
+                            'houses_one_class_gaussian',
+                            'ARRAY[1,tax,bedroom,bath,size,lot,price]',
+                            'gaussian',
+                            'gamma=0.5,n_components=55, random_state=3',
+                            NULL,
+                            'max_iter=100, init_stepsize=10,lambda=10, tolerance=0'
+                            );
+</pre></li>
+<li>View the result for the Gaussian novelty detection model. <pre class="example">
+-- Set extended display on for easier reading of output
+\x ON
+SELECT * FROM houses_one_class_gaussian;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+coef               | {redacted for brevity}
+loss               | 15.1053343738
+norm_of_gradient   | 13.9133653663837
+num_iterations     | 100
+num_rows_processed | 16
+num_rows_skipped   | -1
+dep_var_mapping    | {-1,1}
+</pre></li>
+<li>Now let's look at the prediction functions. We want to predict if house price is less than $100,000. In the following examples we will use the training data set for prediction as well, which is not usual but serves to show the syntax. The predicted results are in the <em>prediction</em> column and the actual data is in the <em>target</em> column. For the linear model: <pre class="example">
+DROP TABLE IF EXISTS houses_pred;
+SELECT madlib.svm_predict('houses_svm', 'houses', 'id', 'houses_pred');
+SELECT *, price &lt; 100000 AS target FROM houses JOIN houses_pred USING (id) ORDER BY id;
+</pre> Result: <pre class="result">
+ id | tax  | bedroom | bath | price  | size |  lot  | prediction | decision_function  | target 
+----+------+---------+------+--------+------+-------+------------+--------------------+--------
+  1 |  590 |       2 |    1 |  50000 |  770 | 22100 | t          |   104.685894748292 | t
+  2 | 1050 |       3 |    2 |  85000 | 1410 | 12000 | t          |   200.592436923938 | t
+  3 |   20 |       3 |    1 |  22500 | 1060 |  3500 | t          |   378.765847404582 | t
+  4 |  870 |       2 |    2 |  90000 | 1300 | 17500 | t          |   214.034895129328 | t
+  5 | 1320 |       3 |    2 | 133000 | 1500 | 30000 | t          |   153.227581012028 | f
+  6 | 1350 |       2 |    1 |  90500 |  820 | 25700 | f          |  -102.382793811158 | t
+  7 | 2790 |       3 |  2.5 | 260000 | 2130 | 25000 | f          |  -53.8237999423388 | f
+  8 |  680 |       2 |    1 | 142500 | 1170 | 22000 | t          |   223.090041223192 | f
+  9 | 1840 |       3 |    2 | 160000 | 1500 | 19000 | f          | -0.858545961972027 | f
+ 10 | 3680 |       4 |    2 | 240000 | 2790 | 20000 | f          |   -78.226279884182 | f
+ 11 | 1660 |       3 |    1 |  87000 | 1030 | 17500 | f          |  -118.078558954948 | t
+ 12 | 1620 |       3 |    2 | 118600 | 1250 | 20000 | f          |  -26.3388234857219 | f
+ 13 | 3100 |       3 |    2 | 140000 | 1760 | 38000 | f          |  -279.923699905712 | f
+ 14 | 2070 |       2 |    3 | 148000 | 1550 | 14000 | f          |  -50.7810508979155 | f
+ 15 |  650 |       3 |  1.5 |  65000 | 1450 | 12000 | t          |   333.579085875975 | t
+</pre> Prediction using the Gaussian model: <pre class="example">
+DROP TABLE IF EXISTS houses_pred_gaussian;
+SELECT madlib.svm_predict('houses_svm_gaussian', 'houses', 'id', 'houses_pred_gaussian');
+SELECT *, price &lt; 100000 AS target FROM houses JOIN houses_pred_gaussian USING (id) ORDER BY id;
+</pre> This produces a more accurate result than the linear case for this small data set: <pre class="result">
+ id | tax  | bedroom | bath | price  | size |  lot  | prediction | decision_function | target 
+----+------+---------+------+--------+------+-------+------------+-------------------+--------
+  1 |  590 |       2 |    1 |  50000 |  770 | 22100 | t          |  1.00338548176312 | t
+  2 | 1050 |       3 |    2 |  85000 | 1410 | 12000 | t          |  1.00000000098154 | t
+  3 |   20 |       3 |    1 |  22500 | 1060 |  3500 | t          | 0.246566699635389 | t
+  4 |  870 |       2 |    2 |  90000 | 1300 | 17500 | t          |   1.0000000003367 | t
+  5 | 1320 |       3 |    2 | 133000 | 1500 | 30000 | f          | -1.98940593324397 | f
+  6 | 1350 |       2 |    1 |  90500 |  820 | 25700 | t          |  3.74336995109761 | t
+  7 | 2790 |       3 |  2.5 | 260000 | 2130 | 25000 | f          | -1.01574407296086 | f
+  8 |  680 |       2 |    1 | 142500 | 1170 | 22000 | f          |  -1.0000000002071 | f
+  9 | 1840 |       3 |    2 | 160000 | 1500 | 19000 | f          | -3.88267069310101 | f
+ 10 | 3680 |       4 |    2 | 240000 | 2790 | 20000 | f          | -3.44507576539002 | f
+ 11 | 1660 |       3 |    1 |  87000 | 1030 | 17500 | t          |   2.3409866081761 | t
+ 12 | 1620 |       3 |    2 | 118600 | 1250 | 20000 | f          | -3.51563221173085 | f
+ 13 | 3100 |       3 |    2 | 140000 | 1760 | 38000 | f          | -1.00000000011163 | f
+ 14 | 2070 |       2 |    3 | 148000 | 1550 | 14000 | f          | -1.87710363254055 | f
+ 15 |  650 |       3 |  1.5 |  65000 | 1450 | 12000 | t          |  1.34334834982263 | t
+</pre></li>
+<li>Prediction using the linear regression model: <pre class="example">
+DROP TABLE IF EXISTS houses_regr;
+SELECT madlib.svm_predict('houses_svm_regression', 'houses', 'id', 'houses_regr');
+SELECT * FROM houses JOIN houses_regr USING (id) ORDER BY id;
+</pre> Result for the linear regression model: <pre class="result">
+  id | tax  | bedroom | bath | price  | size |  lot  |    prediction    | decision_function 
+----+------+---------+------+--------+------+-------+------------------+-------------------
+  1 |  590 |       2 |    1 |  50000 |  770 | 22100 | 55288.6992755623 |  55288.6992755623
+  2 | 1050 |       3 |    2 |  85000 | 1410 | 12000 | 99978.8137019119 |  99978.8137019119
+  3 |   20 |       3 |    1 |  22500 | 1060 |  3500 | 43157.5130381023 |  43157.5130381023
+  4 |  870 |       2 |    2 |  90000 | 1300 | 17500 | 88098.9557296729 |  88098.9557296729
+  5 | 1320 |       3 |    2 | 133000 | 1500 | 30000 | 114803.884262468 |  114803.884262468
+  6 | 1350 |       2 |    1 |  90500 |  820 | 25700 | 88899.5186193813 |  88899.5186193813
+  7 | 2790 |       3 |  2.5 | 260000 | 2130 | 25000 | 201108.397013076 |  201108.397013076
+  8 |  680 |       2 |    1 | 142500 | 1170 | 22000 | 75004.3236915733 |  75004.3236915733
+  9 | 1840 |       3 |    2 | 160000 | 1500 | 19000 | 136434.749667136 |  136434.749667136
+ 10 | 3680 |       4 |    2 | 240000 | 2790 | 20000 | 264483.856987395 |  264483.856987395
+ 11 | 1660 |       3 |    1 |  87000 | 1030 | 17500 | 110180.048139857 |  110180.048139857
+ 12 | 1620 |       3 |    2 | 118600 | 1250 | 20000 | 117300.841695563 |  117300.841695563
+ 13 | 3100 |       3 |    2 | 140000 | 1760 | 38000 | 199229.683967752 |  199229.683967752
+ 14 | 2070 |       2 |    3 | 148000 | 1550 | 14000 | 147998.930271016 |  147998.930271016
+ 15 |  650 |       3 |  1.5 |  65000 | 1450 | 12000 | 84936.7661235861 |  84936.7661235861
+</pre> For the non-linear Gaussian regression model (output not shown): <pre class="example">
+DROP TABLE IF EXISTS houses_gaussian_regr;
+SELECT madlib.svm_predict('houses_svm_gaussian_regression', 'houses', 'id', 'houses_gaussian_regr');
+SELECT * FROM houses JOIN houses_gaussian_regr USING (id) ORDER BY id;
+</pre></li>
+<li>For the novelty detection using one-class, let's create a test data set using the last 3 values from the training set plus an outlier at the end (10x price): <pre class="example">
+DROP TABLE IF EXISTS houses_one_class_test;
+CREATE TABLE houses_one_class_test (id INT, tax INT, bedroom INT, bath FLOAT, price INT,
+            size INT, lot INT);
+COPY houses_one_class_test FROM STDIN WITH DELIMITER '|';
+ 1 | 3100 |       3 |    2 | 140000 | 1760 | 38000
+ 2 | 2070 |       2 |    3 | 148000 | 1550 | 14000
+ 3 |  650 |       3 |  1.5 |  65000 | 1450 | 12000
+ 4 |  650 |       3 |  1.5 |  650000 | 1450 | 12000
+\.
+</pre> Now run prediction on the Gaussian one-class novelty detection model: <pre class="example">
+DROP TABLE IF EXISTS houses_once_class_pred;
+SELECT madlib.svm_predict('houses_one_class_gaussian', 'houses_one_class_test', 'id', 'houses_one_class_pred');
+SELECT * FROM houses_one_class_test JOIN houses_one_class_pred USING (id) ORDER BY id;
+</pre> Result showing the last row predicted to be novel: <pre class="result">
+ id | tax  | bedroom | bath | price  | size |  lot  | prediction |  decision_function  
+----+------+---------+------+--------+------+-------+------------+---------------------
+  1 | 3100 |       3 |    2 | 140000 | 1760 | 38000 |          1 |   0.111497008121437
+  2 | 2070 |       2 |    3 | 148000 | 1550 | 14000 |          1 |  0.0996021345169148
+  3 |  650 |       3 |  1.5 |  65000 | 1450 | 12000 |          1 |  0.0435064008756942
+  4 |  650 |       3 |  1.5 | 650000 | 1450 | 12000 |         -1 | -0.0168967845338403
+</pre></li>
+<li>Create a model for an unbalanced class-size dataset, then use the 'balanced' parameter to classify: <pre class="example">
+DROP TABLE IF EXISTS houses_svm_gaussian, houses_svm_gaussian_summary, houses_svm_gaussian_random;
+SELECT madlib.svm_classification( 'houses',
+                                  'houses_svm_gaussian',
+                                  'price &lt; 150000',
+                                  'ARRAY[1, tax, bath, size]',
+                                  'gaussian',
+                                  'n_components=10',
+                                  '',
+                                  'init_stepsize=1, max_iter=200, class_weight=balanced'
+                           );
+SELECT * FROM houses_svm_gaussian;
+</pre> <pre class="result">
+-[ RECORD 1 ]------+----------------------------------------------------------------------------------------------------------------------------------------------------
+coef               | {-0.621843913637,2.4166374426,-1.54726833725,-1.74512599505,1.16231799548,-0.54019307285,-4.14373293694,-0.623069170717,3.59669949057,-1.005501237}
+loss               | 1.87657250199
+norm_of_gradient   | 1.41148000266816
+num_iterations     | 174
+num_rows_processed | 15
+num_rows_skipped   | 0
+dep_var_mapping    | {f,t}
+</pre> Note that the results you get for all examples may vary with the platform you are using.</li>
+</ol>
+</dd></dl>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>To solve linear SVM, the following objective function is minimized: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \underset{w,b}{\text{Minimize }} \lambda||w||^2 + \frac{1}{n}\sum_{i=1}^n \ell(y_i,f_{w,b}(x_i)) \]" src="form_529.png"/>
+</p>
+<p>where <img class="formulaInl" alt="$(x_1,y_1),\ldots,(x_n,y_n)$" src="form_530.png"/> are labeled training data and <img class="formulaInl" alt="$\ell(y,f(x))$" src="form_531.png"/> is a loss function. When performing classification, <img class="formulaInl" alt="$\ell(y,f(x)) = \max(0,1-yf(x))$" src="form_532.png"/> is the <em>hinge loss</em>. For regression, the loss function <img class="formulaInl" alt="$\ell(y,f(x)) = \max(0,|y-f(x)|-\epsilon)$" src="form_533.png"/> is used.</p>
+<p>If <img class="formulaInl" alt="$ f_{w,b}(x) = \langle w, x\rangle + b$" src="form_534.png"/> is linear, then the objective function is convex and incremental gradient descent (IGD, or SGD) can be applied to find a global minimum. See Feng, et al. [1] for more details.</p>
+<p>To learn with Gaussian or polynomial kernels, the training data is first mapped via a <em>random feature map</em> in such a way that the usual inner product in the feature space approximates the kernel function in the input space. The linear SVM training function is then run on the resulting data. See the papers [2,3] for more information on random feature maps.</p>
+<p>Also, see the book [4] by Scholkopf and Smola for more details on SVMs in general.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p><a class="anchor" id="svm-lit-1"></a>[1] Xixuan Feng, Arun Kumar, Ben Recht, and Christopher Re: Towards a Unified Architecture for in-RDBMS analytics, in SIGMOD Conference, 2012 <a href="http://www.eecs.berkeley.edu/~brecht/papers/12.FengEtAl.SIGMOD.pdf">http://www.eecs.berkeley.edu/~brecht/papers/12.FengEtAl.SIGMOD.pdf</a></p>
+<p><a class="anchor" id="svm-lit-2"></a>[2] Purushottam Kar and Harish Karnick: Random Feature Maps for Dot Product Kernels, Proceedings of the 15th International Conference on Artificial Intelligence and Statistics, 2012, <a href="http://machinelearning.wustl.edu/mlpapers/paper_files/AISTATS2012_KarK12.pdf">http://machinelearning.wustl.edu/mlpapers/paper_files/AISTATS2012_KarK12.pdf</a></p>
+<p><a class="anchor" id="svm-lit-3"></a>[3] Ali Rahmini and Ben Recht: Random Features for Large-Scale Kernel Machines, Neural Information Processing Systems 2007, <a href="http://www.eecs.berkeley.edu/~brecht/papers/07.rah.rec.nips.pdf">http://www.eecs.berkeley.edu/~brecht/papers/07.rah.rec.nips.pdf</a></p>
+<p><a class="anchor" id="svm-lit-4"></a>[4] Bernhard Scholkopf and Alexander Smola: Learning with Kernels, The MIT Press, Cambridge, MA, 2002.</p>
+<p><a class="anchor" id="svm-lit-5"></a>[5] Vladimir Cherkassky and Yunqian Ma: Practical Selection of SVM Parameters and Noise Estimation for SVM Regression, Neural Networks, 2004 <a href="http://www.ece.umn.edu/users/cherkass/N2002-SI-SVM-13-whole.pdf">http://www.ece.umn.edu/users/cherkass/N2002-SI-SVM-13-whole.pdf</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="svm_8sql__in.html" title="SQL functions for SVM (Poisson) ">svm.sql_in</a> documenting the training function</p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__text__analysis.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__text__analysis.html b/docs/v1.11/group__grp__text__analysis.html
new file mode 100644
index 0000000..7bf1c65
--- /dev/null
+++ b/docs/v1.11/group__grp__text__analysis.html
@@ -0,0 +1,133 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Text Analysis</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__text__analysis.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Text Analysis<div class="ingroups"><a class="el" href="group__grp__utility__functions.html">Utility Functions</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods to find patterns in textual data. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__text__utilities"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__text__utilities.html">Term Frequency</a></td></tr>
+<tr class="memdesc:group__grp__text__utilities"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a collection of user-defined functions for performing common tasks related to text. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__text__analysis.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__text__analysis.js b/docs/v1.11/group__grp__text__analysis.js
new file mode 100644
index 0000000..2f09010
--- /dev/null
+++ b/docs/v1.11/group__grp__text__analysis.js
@@ -0,0 +1,4 @@
+var group__grp__text__analysis =
+[
+    [ "Term Frequency", "group__grp__text__utilities.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__text__utilities.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__text__utilities.html b/docs/v1.11/group__grp__text__utilities.html
new file mode 100644
index 0000000..884bf80
--- /dev/null
+++ b/docs/v1.11/group__grp__text__utilities.html
@@ -0,0 +1,309 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Term Frequency</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__text__utilities.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Term Frequency<div class="ingroups"><a class="el" href="group__grp__utility__functions.html">Utility Functions</a> &raquo; <a class="el" href="group__grp__text__analysis.html">Text Analysis</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#term_frequency">Term Frequency</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#rel;ated">Related Topics</a> </li>
+</ul>
+</div><p><a class="anchor" id="term_frequency"></a></p><dl class="section user"><dt>Term frequency</dt><dd>Term frequency <code>tf(t,d)</code> is to the raw frequency of a word/term in a document, i.e. the number of times that word/term <code>t</code> occurs in document <code>d</code>. For this function, 'word' and 'term' are used interchangeably. <b>Note:</b> the term frequency is not normalized by the document length. <pre class="syntax">
+    term_frequency(input_table,
+                   doc_id_col,
+                   word_col,
+                   output_table,
+                   compute_vocab)
+</pre></dd></dl>
+<p><b>Arguments:</b> </p><dl class="arglist">
+<dt>input_table </dt>
+<dd><p class="startdd">TEXT. The name of the table storing the documents. Each row is in the form &lt;doc_id, word_vector&gt; where <code>doc_id</code> is an id, unique to each document, and <code>word_vector</code> is a text array containing the words in the document. The <code>word_vector</code> should contain multiple entries of a word if the document contains multiple occurrence of that word. </p>
+<p class="enddd"></p>
+</dd>
+<dt>id_col </dt>
+<dd><p class="startdd">TEXT. The name of the column containing the document id. </p>
+<p class="enddd"></p>
+</dd>
+<dt>word_col </dt>
+<dd><p class="startdd">TEXT. The name of the column containing the vector of words/terms in the document. This column should of type that can be cast to TEXT[].</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. The name of the table to store the term frequency output. The output table contains the following columns:</p><ul>
+<li><code>id_col:</code> This the document id column (same as the one provided as input).</li>
+<li><code>word:</code> A word/term present in a document. This is either the original word present in <code>word_col</code> or an id representing the word (depending on the value of compute_vocab below).</li>
+<li><code>count:</code> The number of times this word is found in the document. </li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>compute_vocab </dt>
+<dd>BOOLEAN. (Optional, Default=FALSE) Flag to indicate if a vocabulary is to be created. If TRUE, an additional output table is created containing the vocabulary of all words, with an id assigned to each word. The table is called <em>output_table</em>_vocabulary (suffix added to the <em>output_table</em> name) and contains the following columns:<ul>
+<li><code>wordid:</code> An id assignment for each word</li>
+<li><code>word:</code> The word/term  </li>
+</ul>
+</dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Prepare datasets with some example documents <pre class="example">
+DROP TABLE IF EXISTS documents;
+CREATE TABLE documents(docid INTEGER, doc_contents TEXT);
+INSERT INTO documents VALUES
+(1, 'I like to eat broccoli and banana. I ate a banana and spinach smoothie for breakfast.'),
+(2, 'Chinchillas and kittens are cute.'),
+(3, 'My sister adopted two kittens yesterday'),
+(4, 'Look at this cute hamster munching on a piece of broccoli');
+</pre></li>
+<li>Add a new column containing the words (lower-cased) in a text array <pre class="example">
+ALTER TABLE documents ADD COLUMN words TEXT[];
+UPDATE documents SET words = regexp_split_to_array(lower(doc_contents), E'[\\s+\\.]');
+</pre></li>
+<li>Compute the frequency of each word in each document <pre class="example">
+DROP TABLE IF EXISTS documents_tf;
+SELECT madlib.term_frequency('documents', 'docid', 'words', 'documents_tf');
+SELECT * FROM documents_tf order by docid;
+</pre> <pre class="result">
+ docid |    word    | count
+-------+------------+-------
+     1 | ate        |     1
+     1 | like       |     1
+     1 | breakfast  |     1
+     1 | to         |     1
+     1 | broccoli   |     1
+     1 | spinach    |     1
+     1 | i          |     2
+     1 | and        |     2
+     1 | a          |     1
+     1 |            |     2
+     1 | smoothie   |     1
+     1 | eat        |     1
+     1 | banana     |     2
+     1 | for        |     1
+     2 | cute       |     1
+     2 | are        |     1
+     2 | kitten     |     1
+     2 | and        |     1
+     2 | chinchilla |     1
+     3 | kitten     |     1
+     3 | my         |     1
+     3 | a          |     1
+     3 | sister     |     1
+     3 | adopted    |     1
+     3 | yesterday  |     1
+     4 | at         |     1
+     4 | of         |     1
+     4 | piece      |     1
+     4 | this       |     1
+     4 | a          |     1
+     4 | broccoli   |     1
+     4 | hamster    |     1
+     4 | munching   |     1
+     4 | cute       |     1
+     4 | look       |     1
+(35 rows)
+</pre></li>
+<li>We also can create a vocabulary of the words and store a wordid in the output table instead of the actual word. <pre class="example">
+DROP TABLE IF EXISTS documents_tf;
+DROP TABLE IF EXISTS documents_tf_vocabulary;
+SELECT madlib.term_frequency('documents', 'docid', 'words', 'documents_tf', TRUE);
+-- Output with wordid instead of the actual words
+SELECT * FROM documents_tf order by docid;
+</pre>  <pre class="result">
+ docid | wordid | count
+-------+--------+-------
+     1 |      0 |     2
+     1 |      1 |     1
+     1 |      3 |     2
+     1 |      6 |     1
+     1 |      7 |     2
+     1 |      8 |     1
+     1 |      9 |     1
+     1 |     12 |     1
+     1 |     13 |     1
+     1 |     15 |     2
+     1 |     17 |     1
+     1 |     24 |     1
+     1 |     25 |     1
+     1 |     27 |     1
+     2 |     16 |     1
+     2 |      3 |     1
+     2 |      4 |     1
+     2 |     10 |     1
+     2 |     11 |     1
+     3 |      1 |     1
+     3 |     16 |     1
+     3 |     28 |     1
+     3 |     23 |     1
+     3 |      2 |     1
+     3 |     20 |     1
+     4 |      9 |     1
+     4 |     11 |     1
+     4 |     22 |     1
+     4 |     14 |     1
+     4 |     26 |     1
+     4 |      1 |     1
+     4 |      5 |     1
+     4 |     18 |     1
+     4 |     19 |     1
+     4 |     21 |     1
+(35 rows)
+</pre>  <pre class="example">
+-- Vocabulary
+SELECT * FROM documents_tf_vocabulary order by wordid;
+</pre> <pre class="result">
+ wordid |    word
+--------+------------
+      0 |
+      1 | a
+      2 | adopted
+      3 | and
+      4 | are
+      5 | at
+      6 | ate
+      7 | banana
+      8 | breakfast
+      9 | broccoli
+     10 | chinchilla
+     11 | cute
+     12 | eat
+     13 | for
+     14 | hamster
+     15 | i
+     16 | kitten
+     17 | like
+     18 | look
+     19 | munching
+     20 | my
+     21 | of
+     22 | piece
+     23 | sister
+     24 | smoothie
+     25 | spinach
+     26 | this
+     27 | to
+     28 | yesterday
+(29 rows)
+</pre></li>
+</ol>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="text__utilities_8sql__in.html" title="SQL functions for carrying out routine text operations. ">text_utilities.sql_in</a> documenting the SQL functions. File <a class="el" href="utilities_8sql__in.html" title="SQL functions for carrying out routine tasks. ">utilities.sql_in</a> documenting the utility functions for DB administration. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__topic__modelling.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__topic__modelling.html b/docs/v1.11/group__grp__topic__modelling.html
new file mode 100644
index 0000000..ddc3b51
--- /dev/null
+++ b/docs/v1.11/group__grp__topic__modelling.html
@@ -0,0 +1,133 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Topic Modelling</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__topic__modelling.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Topic Modelling<div class="ingroups"><a class="el" href="group__grp__unsupervised.html">Unsupervised Learning</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods to uncover abstract topics in a document corpus </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__lda"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__lda.html">Latent Dirichlet Allocation</a></td></tr>
+<tr class="memdesc:group__grp__lda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a Latent Dirichlet Allocation predictive model for a collection of documents. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__topic__modelling.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__topic__modelling.js b/docs/v1.11/group__grp__topic__modelling.js
new file mode 100644
index 0000000..249097b
--- /dev/null
+++ b/docs/v1.11/group__grp__topic__modelling.js
@@ -0,0 +1,4 @@
+var group__grp__topic__modelling =
+[
+    [ "Latent Dirichlet Allocation", "group__grp__lda.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__tree.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__tree.html b/docs/v1.11/group__grp__tree.html
new file mode 100644
index 0000000..03d991f
--- /dev/null
+++ b/docs/v1.11/group__grp__tree.html
@@ -0,0 +1,136 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Tree Methods</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__tree.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Tree Methods<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of recursive partitioning (tree) methods. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__decision__tree"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__decision__tree.html">Decision Tree</a></td></tr>
+<tr class="memdesc:group__grp__decision__tree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decision Trees. Decision trees use a tree-based model to predict the value of a target variable based on several input variables. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__random__forest"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__random__forest.html">Random Forest</a></td></tr>
+<tr class="memdesc:group__grp__random__forest"><td class="mdescLeft">&#160;</td><td class="mdescRight">Random forests are an ensemble learning method for classification and regression that construct a multitude of decision trees at training time, then produce the class that is the mode of the classes of the individual trees. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__tree.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__tree.js b/docs/v1.11/group__grp__tree.js
new file mode 100644
index 0000000..7e73e8c
--- /dev/null
+++ b/docs/v1.11/group__grp__tree.js
@@ -0,0 +1,5 @@
+var group__grp__tree =
+[
+    [ "Decision Tree", "group__grp__decision__tree.html", null ],
+    [ "Random Forest", "group__grp__random__forest.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__tsa.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__tsa.html b/docs/v1.11/group__grp__tsa.html
new file mode 100644
index 0000000..51f3eea
--- /dev/null
+++ b/docs/v1.11/group__grp__tsa.html
@@ -0,0 +1,133 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Time Series Analysis</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__tsa.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Time Series Analysis</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods to analyze time series data. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__arima"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__arima.html">ARIMA</a></td></tr>
+<tr class="memdesc:group__grp__arima"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a model with autoregressive, moving average, and integrated components for a time series dataset. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__tsa.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__tsa.js b/docs/v1.11/group__grp__tsa.js
new file mode 100644
index 0000000..4895672
--- /dev/null
+++ b/docs/v1.11/group__grp__tsa.js
@@ -0,0 +1,4 @@
+var group__grp__tsa =
+[
+    [ "ARIMA", "group__grp__arima.html", null ]
+];
\ No newline at end of file


[27/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__dense__linear__solver.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__dense__linear__solver.html b/docs/v1.11/group__grp__dense__linear__solver.html
new file mode 100644
index 0000000..43d36d6
--- /dev/null
+++ b/docs/v1.11/group__grp__dense__linear__solver.html
@@ -0,0 +1,256 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Dense Linear Systems</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__dense__linear__solver.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Dense Linear Systems<div class="ingroups"><a class="el" href="group__grp__utility__functions.html">Utility Functions</a> &raquo; <a class="el" href="group__grp__linear__solver.html">Linear Solvers</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#dls_usage">Solution Function</a> </li>
+<li class="level1">
+<a href="#dls_opt_params">Optimizer Parameters</a> </li>
+<li class="level1">
+<a href="#dls_examples">Examples</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>The linear systems module implements solution methods for systems of consistent linear equations. Systems of linear equations take the form: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ Ax = b \]" src="form_213.png"/>
+</p>
+<p>where <img class="formulaInl" alt="$x \in \mathbb{R}^{n}$" src="form_214.png"/>, <img class="formulaInl" alt="$A \in \mathbb{R}^{m \times n} $" src="form_215.png"/> and <img class="formulaInl" alt="$b \in \mathbb{R}^{m}$" src="form_216.png"/>. We assume that there are no rows of <img class="formulaInl" alt="$A$" src="form_42.png"/> where all elements are zero. The algorithms implemented in this module can handle large dense linear systems. Currently, the algorithms implemented in this module solve the linear system by a direct decomposition. Hence, these methods are known as <em>direct method</em>.</p>
+<p><a class="anchor" id="dls_usage"></a></p><dl class="section user"><dt>Solution Function</dt><dd><pre class="syntax">
+linear_solver_dense( tbl_source,
+                     tbl_result,
+                     row_id,
+                     LHS,
+                     RHS,
+                     grouping_col,
+                     optimizer,
+                     optimizer_params
+                   )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>tbl_source </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the training data. The input data is expected to be of the following form: </p><pre>{TABLE|VIEW} <em>sourceName</em> (
+    ...
+    <em>row_id</em>          FLOAT8,
+    <em>left_hand_side</em>  FLOAT8[],
+    <em>right_hand_side</em> FLOAT8,
+    ...
+)</pre><p>Each row represents a single equation. The <em>right_hand_side</em> column refers to the right hand side of the equations while the <em>left_hand_side</em> column refers to the multipliers on the variables on the left hand side of the same equations.</p>
+<p class="enddd"></p>
+</dd>
+<dt>tbl_result </dt>
+<dd><p class="startdd">TEXT. The name of the table where the output is saved. The output is stored in the table named by the <em>tbl_result</em> argument. It contains the following columns: </p><table class="output">
+<tr>
+<th>solution </th><td>FLOAT8[]. The solution variables in the same order as that provided as input in the 'left_hand_side' column name of the <em>source_table</em>  </td></tr>
+<tr>
+<th>residual_norm </th><td>FLOAT8. The scaled residual norm, defined as <img class="formulaInl" alt="$ \frac{|Ax - b|}{|b|} $" src="form_217.png"/>. This value is an indication of the accuracy of the solution.  </td></tr>
+<tr>
+<th>iters </th><td>INTEGER. Number of iterations required by the algorithm (only applicable for iterative algorithms). The output is NULL for 'direct' methods.   </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>row_id </dt>
+<dd><p class="startdd">TEXT. The name of the column storing the 'row id' of the equations.</p>
+<p>For a system with N equations, the row_id's must be a continuous range of integers from <img class="formulaInl" alt="$ 0 \ldots n-1 $" src="form_218.png"/>. </p>
+<p class="enddd"></p>
+</dd>
+<dt>LHS </dt>
+<dd><p class="startdd">TEXT. The name of the column storing the 'left hand side' of the equations, stored as an array.</p>
+<p class="enddd"></p>
+</dd>
+<dt>RHS </dt>
+<dd><p class="startdd">TEXT. The name of the column storing the 'right hand side' of the equations.</p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_cols (optional)  </dt>
+<dd>TEXT, default: NULL. Group by column names. <em>Not currently implemented. Any non-NULL value is ignored.</em> </dd>
+<dt>optimizer (optional)  </dt>
+<dd><p class="startdd">TEXT, default: 'direct'. The type of optimizer.</p>
+<p class="enddd"></p>
+</dd>
+<dt>optimizer_params (optional)  </dt>
+<dd>TEXT, default: NULL. Optimizer specific parameters. </dd>
+</dl>
+</dd></dl>
+<p><a class="anchor" id="dls_opt_params"></a></p><dl class="section user"><dt>Optimizer Parameters</dt><dd></dd></dl>
+<p>For each optimizer, there are specific parameters that can be tuned for better performance.</p>
+<dl class="arglist">
+<dt>algorithm (default: householderqr) </dt>
+<dd><p class="startdd">There are several algorithms that can be classified as 'direct' methods of solving linear systems. MADlib dense linear system solvers provide various algorithmic options for users.</p>
+<p>The following table provides a guideline on the choice of algorithm based on conditions on the A matrix, speed of the algorithms and numerical stability. </p><pre class="fragment"> Algorithm            | Conditions on A  | Speed | Accuracy
+ ----------------------------------------------------------
+ householderqr        | None             |  ++   |  +
+ partialpivlu         | Invertable       |  ++   |  +
+ fullpivlu            | None             |  -    |  +++
+ colpivhouseholderqr  | None             |  +    |  ++
+ fullpivhouseholderqr | None             |  -    |  +++
+ llt                  | Pos. Definite    |  +++  |  +
+ ldlt                 | Pos. or Neg Def  |  +++  |  ++
+</pre><p>For speed '++' is faster than '+', which is faster than '-'. For accuracy '+++' is better than '++'.</p>
+<p class="enddd">More details about the individual algorithms can be found in the <a href="http://eigen.tuxfamily.org/dox-devel/group__TutorialLinearAlgebra.html">Eigen documentation</a>. Eigen is an open source library for linear algebra.  </p>
+</dd>
+</dl>
+<p><a class="anchor" id="dls_examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>View online help for the linear systems solver function. <pre class="example">
+SELECT madlib.linear_solver_dense();
+</pre></li>
+<li>Create the sample data set. <pre class="example">
+CREATE TABLE linear_systems_test_data( id INTEGER NOT NULL,
+                                       lhs DOUBLE PRECISION[],
+                                       rhs DOUBLE PRECISION
+                                     );
+INSERT INTO linear_systems_test_data(id, lhs, rhs)
+       VALUES
+        (0, ARRAY[1,0,0], 20),
+        (1, ARRAY[0,1,0], 15),
+        (2, ARRAY[0,0,1], 20);
+</pre></li>
+<li>Solve the linear systems with default parameters. <pre class="example">
+SELECT madlib.linear_solver_dense( 'linear_systems_test_data',
+                                   'output_table',
+                                   'id',
+                                   'lhs',
+                                   'rhs'
+                                 );
+</pre></li>
+<li>Obtain the output from the output table. <pre class="example">
+\x on
+SELECT * FROM output_table;
+</pre> Result: <pre class="result">
+--------------------+-------------------------------------
+solution            | {20,15,20}
+residual_norm       | 0
+iters               | NULL
+</pre></li>
+<li>Choose an algorithm different than the default. <pre class="example">
+DROP TABLE IF EXISTS result_table;
+SELECT madlib.linear_solver_dense( 'linear_systems_test_data',
+                                   'result_table',
+                                   'id',
+                                   'lhs',
+                                   'rhs',
+                                   NULL,
+                                   'direct',
+                                   'algorithm=llt'
+                                 );
+</pre></li>
+</ol>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File <a class="el" href="dense__linear__systems_8sql__in.html" title="SQL functions for linear systems. ">dense_linear_systems.sql_in</a> documenting the SQL functions</dd></dl>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__deprecated.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__deprecated.html b/docs/v1.11/group__grp__deprecated.html
new file mode 100644
index 0000000..1bfbdfc
--- /dev/null
+++ b/docs/v1.11/group__grp__deprecated.html
@@ -0,0 +1,135 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Deprecated Modules</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__deprecated.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Deprecated Modules</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__indicator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__indicator.html">Create Indicator Variables</a></td></tr>
+<tr class="memdesc:group__grp__indicator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides utility functions helpful for data preparation before modeling. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__mlogreg"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__mlogreg.html">Multinomial Logistic Regression</a></td></tr>
+<tr class="memdesc:group__grp__mlogreg"><td class="mdescLeft">&#160;</td><td class="mdescRight">Also called as softmax regression, models the relationship between one or more independent variables and a categorical dependent variable. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__deprecated.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__deprecated.js b/docs/v1.11/group__grp__deprecated.js
new file mode 100644
index 0000000..05ef03b
--- /dev/null
+++ b/docs/v1.11/group__grp__deprecated.js
@@ -0,0 +1,5 @@
+var group__grp__deprecated =
+[
+    [ "Create Indicator Variables", "group__grp__indicator.html", null ],
+    [ "Multinomial Logistic Regression", "group__grp__mlogreg.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__desc__stats.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__desc__stats.html b/docs/v1.11/group__grp__desc__stats.html
new file mode 100644
index 0000000..49b723a
--- /dev/null
+++ b/docs/v1.11/group__grp__desc__stats.html
@@ -0,0 +1,136 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Descriptive Statistics</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__desc__stats.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Descriptive Statistics<div class="ingroups"><a class="el" href="group__grp__stats.html">Statistics</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods to compute descriptive statistics of the dataset </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__correlation"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__correlation.html">Pearson's Correlation</a></td></tr>
+<tr class="memdesc:group__grp__correlation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a cross-correlation matrix for all pairs of numeric columns in a table. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__summary"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__summary.html">Summary</a></td></tr>
+<tr class="memdesc:group__grp__summary"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates general descriptive statistics for any data table. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__desc__stats.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__desc__stats.js b/docs/v1.11/group__grp__desc__stats.js
new file mode 100644
index 0000000..9521871
--- /dev/null
+++ b/docs/v1.11/group__grp__desc__stats.js
@@ -0,0 +1,5 @@
+var group__grp__desc__stats =
+[
+    [ "Pearson's Correlation", "group__grp__correlation.html", null ],
+    [ "Summary", "group__grp__summary.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__early__stage.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__early__stage.html b/docs/v1.11/group__grp__early__stage.html
new file mode 100644
index 0000000..e2b4a0a
--- /dev/null
+++ b/docs/v1.11/group__grp__early__stage.html
@@ -0,0 +1,143 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Early Stage Development</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__early__stage.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Early Stage Development</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__sketches"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__sketches.html">Cardinality Estimators</a></td></tr>
+<tr class="memdesc:group__grp__sketches"><td class="mdescLeft">&#160;</td><td class="mdescRight">A collection of methods to estimate the number of unique values contained in the data. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__cg"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__cg.html">Conjugate Gradient</a></td></tr>
+<tr class="memdesc:group__grp__cg"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the solution to the function <img class="formulaInl" alt="$ \boldsymbol Ax = \boldsymbol b $" src="form_41.png"/>, where <img class="formulaInl" alt="$A$" src="form_42.png"/> is a symmetric, positive-definite matrix and <img class="formulaInl" alt="$x$" src="form_43.png"/> and <img class="formulaInl" alt="$ \boldsymbol b $" src="form_44.png"/> are vectors. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__bayes"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__bayes.html">Naive Bayes Classification</a></td></tr>
+<tr class="memdesc:group__grp__bayes"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a classification model from a dataset where each attribute independently contributes to the probability that a data point belongs to a category. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__sample"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__sample.html">Random Sampling</a></td></tr>
+<tr class="memdesc:group__grp__sample"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides utility functions for sampling operations. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__nene"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__nene.html">Nearest Neighbors</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__early__stage.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__early__stage.js b/docs/v1.11/group__grp__early__stage.js
new file mode 100644
index 0000000..dc8ab7b
--- /dev/null
+++ b/docs/v1.11/group__grp__early__stage.js
@@ -0,0 +1,8 @@
+var group__grp__early__stage =
+[
+    [ "Cardinality Estimators", "group__grp__sketches.html", "group__grp__sketches" ],
+    [ "Conjugate Gradient", "group__grp__cg.html", null ],
+    [ "Naive Bayes Classification", "group__grp__bayes.html", null ],
+    [ "Random Sampling", "group__grp__sample.html", null ],
+    [ "Nearest Neighbors", "group__grp__nene.html", "group__grp__nene" ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__elasticnet.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__elasticnet.html b/docs/v1.11/group__grp__elasticnet.html
new file mode 100644
index 0000000..d6569e3
--- /dev/null
+++ b/docs/v1.11/group__grp__elasticnet.html
@@ -0,0 +1,749 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Elastic Net Regularization</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__elasticnet.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Elastic Net Regularization<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__regml.html">Regression Models</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b><ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#optimizer">Optimizer Parameters</a> </li>
+<li class="level1">
+<a href="#predict">Prediction Functions</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#background">Technical Background</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>This module implements elastic net regularization [1] for linear and logistic regression. Regularization is a technique often used to prevent overfitting.</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd>The training function has the following syntax: <pre class="syntax">
+elastic_net_train( tbl_source,
+                   tbl_result,
+                   col_dep_var,
+                   col_ind_var,
+                   regress_family,
+                   alpha,
+                   lambda_value,
+                   standardize,
+                   grouping_col,
+                   optimizer,
+                   optimizer_params,
+                   excluded,
+                   max_iter,
+                   tolerance
+                 )
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>tbl_source </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the training data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>tbl_result </dt>
+<dd><p class="startdd">TEXT. Name of the output table containing output model. The output table produced by the <a class="el" href="elastic__net_8sql__in.html#a735038a5090c112505c740a90a203e83" title="Interface for elastic net. ">elastic_net_train()</a> function has the following columns: </p><table class="output">
+<tr>
+<th>regress_family </th><td>The regression type: 'gaussian' or 'binomial'.  </td></tr>
+<tr>
+<th>features </th><td>Array of features (independent variables) passed to the algorithm.  </td></tr>
+<tr>
+<th>features_selected </th><td>Array of features selected by the algorithm.  </td></tr>
+<tr>
+<th>coef_nonzero </th><td>Coefficients of the selected features.  </td></tr>
+<tr>
+<th>coef_all </th><td>Coefficients of all features, both selected and unselected.  </td></tr>
+<tr>
+<th>intercept </th><td>Intercept for the model.  </td></tr>
+<tr>
+<th>log_likelihood </th><td>Log of the likelihood value produced by the algorithm.  </td></tr>
+<tr>
+<th>standardize </th><td>BOOLEAN. If data has been normalized, will be set to TRUE.  </td></tr>
+<tr>
+<th>iteration_run </th><td>The number of iterations executed.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>col_dep_var </dt>
+<dd><p class="startdd">TEXT. An expression for the dependent variable.</p>
+<dl class="section note"><dt>Note</dt><dd>Both <em>col_dep_var</em> and <em>col_ind_var</em> can be valid PostgreSQL expressions. For example, <code>col_dep_var = 'log(y+1)'</code>, and <code>col_ind_var = 'array[exp(x[1]), x[2], 1/(1+x[3])]'</code>. In the binomial case, you can use a Boolean expression, for example, <code>col_dep_var = 'y &lt; 0'</code>.</dd></dl>
+</dd>
+<dt>col_ind_var </dt>
+<dd><p class="startdd">TEXT. An expression for the independent variables. Use <code>'*'</code> to specify all columns of <em>tbl_source</em> except those listed in the <em>excluded</em> string described below. If <em>col_dep_var</em> is a column name, it is automatically excluded from the independent variables. However, if <em>col_dep_var</em> is a valid PostgreSQL expression, any column names used within the expression are only excluded if they are explicitly listed in the <em>excluded</em> argument. Therefore, it is a good idea to add all column names involved in the dependent variable expression to the <em>excluded</em> string.</p>
+<p class="enddd"></p>
+</dd>
+<dt>regress_family </dt>
+<dd><p class="startdd">TEXT. For regression type, specify either 'gaussian' ('linear') or 'binomial' ('logistic').</p>
+<p class="enddd"></p>
+</dd>
+<dt>alpha </dt>
+<dd><p class="startdd">FLOAT8. Elastic net control parameter with a value in the range [0, 1]. A value of 1 means L1 regularization, and a value of 0 means L2 regularization.</p>
+<p class="enddd"></p>
+</dd>
+<dt>lambda_value </dt>
+<dd><p class="startdd">FLOAT8. Regularization parameter (must be positive).</p>
+<p class="enddd"></p>
+</dd>
+<dt>standardize (optional) </dt>
+<dd><p class="startdd">BOOLEAN, default: TRUE. Whether to normalize the data or not. Setting to TRUE usually yields better results and faster convergence.</p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_col (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. A single column or a list of comma-separated columns that divides the input data into discrete groups, resulting in one regression per group. When this value is NULL, no grouping is used and a single model is generated for all data.</p>
+<dl class="section note"><dt>Note</dt><dd>Expressions are not currently supported for 'grouping_col'.</dd></dl>
+</dd>
+<dt>optimizer (optional) </dt>
+<dd><p class="startdd">TEXT, default: 'fista'. Name of optimizer, either 'fista' or 'igd'. FISTA [2] is an algorithm with a fast global rate of convergence for solving linear inverse problems. Incremental gradient descent (IGD) is a stochastic approach to minimizing an objective function [4].</p>
+<p class="enddd"></p>
+</dd>
+<dt>optimizer_params (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. Optimizer parameters, delimited with commas. These parameters differ depending on the value of <em>optimizer</em> parameter. See the descriptions below for details.</p>
+<p class="enddd"></p>
+</dd>
+<dt>excluded (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. If the <em>col_ind_var</em> input is '*' then <em>excluded</em> can be provided as a comma-delimited list of column names that are to be excluded from the features. For example, <code>'col1, col2'</code>. If the <em>col_ind_var</em> is an array, <em>excluded</em> must be a list of the integer array positions to exclude, for example <code>'1,2'</code>. If this argument is NULL or an empty string, no columns are excluded.</p>
+<p class="enddd"></p>
+</dd>
+<dt>max_iter (optional) </dt>
+<dd><p class="startdd">INTEGER, default: 1000. The maximum number of iterations allowed.</p>
+<p class="enddd"></p>
+</dd>
+<dt>tolerance </dt>
+<dd>FLOAT8, default: 1e-6. This is the criterion to stop iterating. Both the 'fista' and 'igd' optimizers compute the difference between the log likelihood of two consecutive iterations, and when the difference is smaller than <em>tolerance</em> or the iteration number is larger than <em>max_iter</em>, the computation stops. </dd>
+</dl>
+<p><a class="anchor" id="optimizer"></a></p><dl class="section user"><dt>Other Parameters</dt><dd></dd></dl>
+<p>For <em>optimizer_params</em>, there are several parameters that can be supplied in a string containing a comma-delimited list of name-value pairs . All of these named parameters are optional and use the format "&lt;param_name&gt; = &lt;value&gt;".</p>
+<p>The parameters described below are organized by category: warmup, cross validation and optimization.</p>
+<p><em><b>Warmup parameters</b></em> </p><pre class="syntax">
+  $$
+    warmup = &lt;value&gt;,
+    warmup_lambdas = &lt;value&gt;,
+    warmup_lambda_no = &lt;value&gt;,
+    warmup_tolerance = &lt;value&gt;
+  $$
+</pre><dl class="arglist">
+<dt>warmup </dt>
+<dd><p class="startdd">Default: FALSE. If <em>warmup</em> is TRUE, a series of strictly descending lambda values are used, which end with the lambda value that the user wants to calculate. A larger lambda gives a sparser solution, and the sparse solution is then used as the initial guess for the next lambda's solution, which can speed up the computation for the next lambda. For larger data sets, this can sometimes accelerate the whole computation and may in fact be faster than computation with only a single lambda value.</p>
+<p class="enddd"></p>
+</dd>
+<dt>warmup_lambdas </dt>
+<dd><p class="startdd">Default: NULL. Set of lambda values to use when <em>warmup</em> is TRUE. The default is NULL, which means that lambda values will be automatically generated.</p>
+<p class="enddd"></p>
+</dd>
+<dt>warmup_lambda_no </dt>
+<dd><p class="startdd">Default: 15. Number of lambda values used in <em>warm-up</em>. If <em>warmup_lambdas</em> is not NULL, this value is overridden by the number of provided lambda values.</p>
+<p class="enddd"></p>
+</dd>
+<dt>warmup_tolerance </dt>
+<dd>The value of tolerance used during warmup. The default value is the same as the <em>tolerance</em> argument described above. </dd>
+</dl>
+<p><em><b>Cross validation parameters</b></em> </p><dl class="section note"><dt>Note</dt><dd>Please note that for performance reasons, warmup is disabled whenever cross validation is used. Also, cross validation is not supported if grouping is used.</dd></dl>
+<pre class="syntax">
+  $$
+    n_folds = &lt;value&gt;,
+    validation_result = &lt;value&gt;,
+    lambda_value = &lt;value&gt;,
+    n_lambdas = &lt;value&gt;,
+    alpha = &lt;value&gt;
+  $$
+</pre><p>Hyperparameter optimization can be carried out using the built-in cross validation mechanism, which is activated by assigning a value greater than 1 to the parameter <em>n_folds</em>. Misclassification error is used for classification and mean squared error is used for regression.</p>
+<p>The values of a parameter to cross validate should be provided in a list. For example, to regularize with the L1 norm and use a lambda value from the set {0.3, 0.4, 0.5}, include 'lambda_value={0.3, 0.4, 0.5}'. Note that the use of '{}' and '[]' are both valid here.</p>
+<dl class="arglist">
+<dt>n_folds </dt>
+<dd><p class="startdd">Default: 0. Number of folds (k). Must be at least 2 to activate cross validation. If a value of k &gt; 2 is specified, each fold is then used as a validation set once, while the other k - 1 folds form the training set. </p>
+<p class="enddd"></p>
+</dd>
+<dt>validation_result </dt>
+<dd><p class="startdd">Default: NULL. Name of the table to store the cross validation results, including the values of parameters and their averaged error values. The table is only created if the name is not NULL. </p>
+<p class="enddd"></p>
+</dd>
+<dt>lambda_value </dt>
+<dd><p class="startdd">Default: NULL. Set of regularization values to be used for cross validation. The default is NULL, which means that lambda values will be automatically generated.</p>
+<p class="enddd"></p>
+</dd>
+<dt>n_lambdas </dt>
+<dd><p class="startdd">Default: 15. Number of lambdas to cross validate over. If a list of lambda values is not provided in the <em>lambda_value</em> set above, this parameter can be used to autogenerate the set of lambdas. If the <em>lambda_value</em> set is not NULL, this value is overridden by the number of provided lambda values. </p>
+<dl class="section note"><dt>Note</dt><dd>If you want to cross validate over alpha only and not lambda, then set <em>lambda_value</em> to NULL and <em>n_lambdas</em> to 0. In this case, cross validation will be done on the set of <em>alpha</em> values specified in the next parameter. The lambda value used will be the one specified in the main function call at the top of this page.</dd></dl>
+</dd>
+<dt>alpha </dt>
+<dd>Elastic net control parameter. This is a list of values to apply cross validation on. (Note that alpha values are not autogenerated.) If not specified, the alpha value used will be the one specified in the main function call at the top of this page.  </dd>
+</dl>
+<p><em><b>Optimizer parameters</b></em></p>
+<p><b>FISTA</b> Parameters </p><pre class="syntax">
+  $$
+    max_stepsize = &lt;value&gt;,
+    eta = &lt;value&gt;,
+    use_active_set = &lt;value&gt;,
+    activeset_tolerance = &lt;value&gt;,
+    random_stepsize = &lt;value&gt;
+  $$
+</pre><dl class="arglist">
+<dt>max_stepsize </dt>
+<dd><p class="startdd">Default: 4.0. Initial backtracking step size. At each iteration, the algorithm first tries <em>stepsize = max_stepsize</em>, and if it does not work out, it then tries a smaller step size, <em>stepsize = stepsize/eta</em>, where <em>eta</em> must be larger than 1. At first glance, this seems to perform repeated iterations for even one step, but using a larger step size actually greatly increases the computation speed and minimizes the total number of iterations. A careful choice of <em>max_stepsize</em> can decrease the computation time by more than 10 times.</p>
+<p class="enddd"></p>
+</dd>
+<dt>eta </dt>
+<dd><p class="startdd">Default: 2.0 If stepsize does not work, <em>stepsize/<em>eta</em> is</em> tried. Must be greater than 1. </p>
+<p class="enddd"></p>
+</dd>
+<dt>use_active_set </dt>
+<dd><p class="startdd">Default: FALSE. If <em>use_active_set</em> is TRUE, an active-set method is used to speed up the computation. Considerable speedup is obtained by organizing the iterations around the active set of features&mdash;those with nonzero coefficients. After a complete cycle through all the variables, we iterate only on the active set until convergence. If another complete cycle does not change the active set, we are done. Otherwise, the process is repeated.</p>
+<p class="enddd"></p>
+</dd>
+<dt>activeset_tolerance </dt>
+<dd><p class="startdd">The value of tolerance used during active set calculation. The default value is the same as the <em>tolerance</em> argument described above. </p>
+<p class="enddd"></p>
+</dd>
+<dt>random_stepsize </dt>
+<dd>Default: FALSE. Whether to add some randomness to the step size. Sometimes, this can speed up the calculation. </dd>
+</dl>
+<p><b>IGD</b> parameters </p><pre class="syntax">
+  $$
+      stepsize = &lt;value&gt;,
+      step_decay = &lt;value&gt;,
+      threshold = &lt;value&gt;,
+      parallel = &lt;value&gt;
+  $$
+</pre> <dl class="arglist">
+<dt>stepsize </dt>
+<dd><p class="startdd">The default is 0.01.</p>
+<p class="enddd"></p>
+</dd>
+<dt>step_decay </dt>
+<dd><p class="startdd">The actual stepsize used for current step is (previous stepsize) / exp(step_decay). The default value is 0, which means that a constant stepsize is used in IGD.</p>
+<p class="enddd"></p>
+</dd>
+<dt>threshold </dt>
+<dd><p class="startdd">Default: 1e-10. When a coefficient is really small, set this coefficient to be 0.</p>
+<p>Due to the stochastic nature of SGD, we can only obtain very small values for the fitting coefficients. Therefore, <em>threshold</em> is needed at the end of the computation to screen out tiny values and hard-set them to zeros. This is accomplished as follows: (1) multiply each coefficient with the standard deviation of the corresponding feature; (2) compute the average of absolute values of re-scaled coefficients; (3) divide each rescaled coefficient with the average, and if the resulting absolute value is smaller than <em>threshold</em>, set the original coefficient to zero.</p>
+<p class="enddd"></p>
+</dd>
+<dt>parallel </dt>
+<dd><p class="startdd">Whether to run the computation on multiple segments. The default is TRUE.</p>
+<p class="enddd">SGD is a sequential algorithm in nature. When running in a distributed manner, each segment of the data runs its own SGD model and then the models are averaged to get a model for each iteration. This averaging might slow down the convergence speed, but it affords the ability to process large datasets on a cluster of machines. This algorithm, therefore, provides the <em>parallel</em> option to allow you to choose whether to do parallel computation.  </p>
+</dd>
+</dl>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd></dd></dl>
+<h4>Per-Tuple Prediction</h4>
+<p>The prediction function returns a double value for the Gaussian family and a Boolean value for the Binomial family.</p>
+<p>The predict function has the following syntax (<a class="el" href="elastic__net_8sql__in.html#a96db4ff4ba3ea363fafbf6c036c19fae" title="Prediction for linear models use learned coefficients for a given example. ">elastic_net_gaussian_predict()</a> and <a class="el" href="elastic__net_8sql__in.html#aa78cde79f1f2caa7c5b38f933001d793" title="Prediction for logistic models use learned coefficients for a given example. ">elastic_net_binomial_predict()</a>): </p><pre class="syntax">
+elastic_net_&lt;family&gt;_predict(
+                     coefficients,
+                     intercept,
+                     ind_var
+                   )
+</pre><p><b>Arguments</b> </p><dl class="arglist">
+<dt>coefficients </dt>
+<dd>DOUBLE PRECISION[]. Fitting coefficients, usually <em>coef_all</em> or <em>coef_nonzero</em>. </dd>
+<dt>intercept </dt>
+<dd>DOUBLE PRECISION. Intercept for the model. </dd>
+<dt>ind_var </dt>
+<dd>DOUBLE PRECISION[]. Independent variables that correspond to coefficients. Use <em>features</em> column in <em>tbl_result</em> for <em>coef_all</em>, and <em>features_selected</em> for <em>coef_nonzero</em>. See the <a href="#additional_example">examples for this case below</a>. <dl class="section note"><dt>Note</dt><dd>Unexpected results or errors may be returned in the case that this argument <em>ind_var</em> is not specified properly. </dd></dl>
+</dd>
+</dl>
+<p>For the binomial family, there is a function (<a class="el" href="elastic__net_8sql__in.html#a308718fd5234bc1007b971a639aadf71" title="Compute the probability of belonging to the True class for a given observation. ">elastic_net_binomial_prob()</a>) that outputs the probability of the instance being TRUE: </p><pre class="syntax">
+elastic_net_binomial_prob(
+                     coefficients,
+                     intercept,
+                     ind_var
+                   )
+</pre><h4>Per-Table Prediction</h4>
+<p>Alternatively, you can use another prediction function that stores the prediction result in a table (<a class="el" href="elastic__net_8sql__in.html#a3578608204ac9b2d3442ff42977f632b" title="Prediction and put the result in a table can be used together with General-CV. ">elastic_net_predict()</a>). This is useful if you want to use elastic net together with the general cross validation function. </p><pre class="syntax">
+elastic_net_predict( tbl_model,
+                     tbl_new_sourcedata,
+                     col_id,
+                     tbl_predict
+                   )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>tbl_model </dt>
+<dd>TEXT. Name of the table containing the output from the training function. </dd>
+<dt>tbl_new_sourcedata </dt>
+<dd>TEXT. Name of the table containing the new source data. </dd>
+<dt>col_id </dt>
+<dd>TEXT. Unique ID associated with each row. </dd>
+<dt>tbl_predict </dt>
+<dd>TEXT. Name of table to store the prediction result.  </dd>
+</dl>
+<p>You do not need to specify whether the model is "linear" or "logistic" because this information is already included in the <em>tbl_model</em> table.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Display online help for the <a class="el" href="elastic__net_8sql__in.html#a735038a5090c112505c740a90a203e83" title="Interface for elastic net. ">elastic_net_train()</a> function: <pre class="example">
+SELECT madlib.elastic_net_train();
+</pre></li>
+<li>Create an input data set of house prices and features: <pre class="example">
+DROP TABLE IF EXISTS houses;
+CREATE TABLE houses ( id INT,
+                      tax INT,
+                      bedroom INT,
+                      bath FLOAT,
+                      price INT,
+                      size INT,
+                      lot INT,
+                      zipcode INT);
+INSERT INTO houses (id, tax, bedroom, bath, price, size, lot, zipcode) VALUES
+(1  ,  590 ,       2 ,    1 ,  50000 ,  770 , 22100  , 94301),
+(2  , 1050 ,       3 ,    2 ,  85000 , 1410 , 12000  , 94301),
+(3  ,   20 ,       3 ,    1 ,  22500 , 1060 ,  3500  , 94301),
+(4  ,  870 ,       2 ,    2 ,  90000 , 1300 , 17500  , 94301),
+(5  , 1320 ,       3 ,    2 , 133000 , 1500 , 30000  , 94301),
+(6  , 1350 ,       2 ,    1 ,  90500 ,  820 , 25700  , 94301),
+(7  , 2790 ,       3 ,  2.5 , 260000 , 2130 , 25000  , 94301),
+(8  ,  680 ,       2 ,    1 , 142500 , 1170 , 22000  , 94301),
+(9  , 1840 ,       3 ,    2 , 160000 , 1500 , 19000  , 94301),
+(10 , 3680 ,       4 ,    2 , 240000 , 2790 , 20000  , 94301),
+(11 , 1660 ,       3 ,    1 ,  87000 , 1030 , 17500  , 94301),
+(12 , 1620 ,       3 ,    2 , 118600 , 1250 , 20000  , 94301),
+(13 , 3100 ,       3 ,    2 , 140000 , 1760 , 38000  , 94301),
+(14 , 2070 ,       2 ,    3 , 148000 , 1550 , 14000  , 94301),
+(15 ,  650 ,       3 ,  1.5 ,  65000 , 1450 , 12000  , 94301),
+(16 ,  770 ,       2 ,    2 ,  91000 , 1300 , 17500  , 76010),
+(17 , 1220 ,       3 ,    2 , 132300 , 1500 , 30000  , 76010),
+(18 , 1150 ,       2 ,    1 ,  91100 ,  820 , 25700  , 76010),
+(19 , 2690 ,       3 ,  2.5 , 260011 , 2130 , 25000  , 76010),
+(20 ,  780 ,       2 ,    1 , 141800 , 1170 , 22000  , 76010),
+(21 , 1910 ,       3 ,    2 , 160900 , 1500 , 19000  , 76010),
+(22 , 3600 ,       4 ,    2 , 239000 , 2790 , 20000  , 76010),
+(23 , 1600 ,       3 ,    1 ,  81010 , 1030 , 17500  , 76010),
+(24 , 1590 ,       3 ,    2 , 117910 , 1250 , 20000  , 76010),
+(25 , 3200 ,       3 ,    2 , 141100 , 1760 , 38000  , 76010),
+(26 , 2270 ,       2 ,    3 , 148011 , 1550 , 14000  , 76010),
+(27 ,  750 ,       3 ,  1.5 ,  66000 , 1450 , 12000  , 76010);
+</pre></li>
+<li>Train the model: <pre class="example">
+DROP TABLE IF EXISTS houses_en, houses_en_summary;
+SELECT madlib.elastic_net_train( 'houses',                  -- Source table
+                                 'houses_en',               -- Result table
+                                 'price',                   -- Dependent variable
+                                 'array[tax, bath, size]',  -- Independent variable
+                                 'gaussian',                -- Regression family
+                                 0.5,                       -- Alpha value
+                                 0.1,                       -- Lambda value
+                                 TRUE,                      -- Standardize
+                                 NULL,                      -- Grouping column(s)
+                                 'fista',                   -- Optimizer
+                                 '',                        -- Optimizer parameters
+                                 NULL,                      -- Excluded columns
+                                 10000,                     -- Maximum iterations
+                                 1e-6                       -- Tolerance value
+                               );
+</pre></li>
+<li>View the resulting model: <pre class="example">
+-- Turn on expanded display to make it easier to read results.
+\x on
+SELECT * FROM houses_en;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]-----+-------------------------------------------
+family            | gaussian
+features          | {tax,bath,size}
+features_selected | {tax,bath,size}
+coef_nonzero      | {22.785201806,10707.9664343,54.7959774173}
+coef_all          | {22.785201806,10707.9664343,54.7959774173}
+intercept         | -7798.71393905
+log_likelihood    | -512248641.971
+standardize       | t
+iteration_run     | 10000
+</pre></li>
+<li>Use the prediction function to evaluate residuals: <pre class="example">
+\x off
+SELECT id, price, predict, price - predict AS residual
+FROM (
+    SELECT
+        houses.*,
+        madlib.elastic_net_gaussian_predict(
+            m.coef_all,             -- Coefficients
+            m.intercept,            -- Intercept
+            ARRAY[tax,bath,size]    -- Features (corresponding to coefficients)
+            ) AS predict
+    FROM houses, houses_en m) s
+ORDER BY id;
+</pre> Result: <pre class="result">
+ id | price  |     predict      |     residual      
+----+--------+------------------+-------------------
+  1 |  50000 |  58545.391894031 |   -8545.391894031
+  2 |  85000 | 114804.077663003 |  -29804.077663003
+  3 |  22500 |  61448.835664388 |  -38948.835664388
+  4 |  90000 |  104675.17768007 |   -14675.17768007
+  5 | 133000 |  125887.70644358 |     7112.29355642
+  6 |  90500 |  78601.843595366 |   11898.156404634
+  7 | 260000 | 199257.358231079 |   60742.641768921
+  8 | 142500 |  82514.559377081 |   59985.440622919
+  9 | 160000 |  137735.93215082 |    22264.06784918
+ 10 | 240000 | 250347.627648647 |  -10347.627648647
+ 11 |  87000 |  97172.428263539 |  -10172.428263539
+ 12 | 118600 | 119024.150628605 | -424.150628604999
+ 13 | 140000 | 180692.127913358 |  -40692.127913358
+ 14 | 148000 | 156424.249824545 |   -8424.249824545
+ 15 |  65000 | 102527.938104575 |  -37527.938104575
+ 16 |  91000 |  102396.67273637 |   -11396.67273637
+ 17 | 132300 |  123609.20149988 |     8690.79850012
+ 18 |  91100 |  74044.833707966 |   17055.166292034
+ 19 | 260011 | 196978.853287379 |   63032.146712621
+ 20 | 141800 |  84793.064320781 |   57006.935679219
+ 21 | 160900 |  139330.88561141 |    21569.11438859
+ 22 | 239000 | 248524.823693687 | -9524.82369368701
+ 23 |  81010 |  95805.325297319 |  -14795.325297319
+ 24 | 117910 | 118340.599145495 | -430.599145494998
+ 25 | 141100 | 182970.632857058 |  -41870.632857058
+ 26 | 148011 | 160981.259711945 |  -12970.259711945
+ 27 |  66000 | 104806.443048275 |  -38806.443048275
+</pre></li>
+</ol>
+<h4>Example with Grouping</h4>
+<ol type="1">
+<li>Reuse the houses table above and train the model by grouping on zip code: <pre class="example">
+DROP TABLE IF EXISTS houses_en1, houses_en1_summary;
+SELECT madlib.elastic_net_train( 'houses',                  -- Source table
+                                 'houses_en1',               -- Result table
+                                 'price',                   -- Dependent variable
+                                 'array[tax, bath, size]',  -- Independent variable
+                                 'gaussian',                -- Regression family
+                                 0.5,                       -- Alpha value
+                                 0.1,                       -- Lambda value
+                                 TRUE,                      -- Standardize
+                                 'zipcode',                 -- Grouping column(s)
+                                 'fista',                   -- Optimizer
+                                 '',                        -- Optimizer parameters
+                                 NULL,                      -- Excluded columns
+                                 10000,                     -- Maximum iterations
+                                 1e-6                       -- Tolerance value
+                               );
+</pre></li>
+<li>View the resulting model with a separate model for each group: <pre class="example">
+-- Turn on expanded display to make it easier to read results.
+\x on
+SELECT * FROM houses_en1;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]-----+--------------------------------------------
+zipcode           | 94301
+family            | gaussian
+features          | {tax,bath,size}
+features_selected | {tax,bath,size}
+coef_nonzero      | {27.0542096962,12351.5244083,47.5833289771}
+coef_all          | {27.0542096962,12351.5244083,47.5833289771}
+intercept         | -7191.19791597
+log_likelihood    | -519199964.967
+standardize       | t
+iteration_run     | 10000
+-[ RECORD 2 ]-----+--------------------------------------------
+zipcode           | 76010
+family            | gaussian
+features          | {tax,bath,size}
+features_selected | {tax,bath,size}
+coef_nonzero      | {15.6325953499,10166.6608469,57.8689916035}
+coef_all          | {15.6325953499,10166.6608469,57.8689916035}
+intercept         | 513.912201627
+log_likelihood    | -538806528.45
+standardize       | t
+iteration_run     | 10000
+</pre></li>
+<li>Use the prediction function to evaluate residuals: <pre class="example">
+\x off
+SELECT madlib.elastic_net_predict(
+                'houses_en1',             -- Model table
+                'houses',                 -- New source data table
+                'id',                     -- Unique ID associated with each row
+                'houses_en1_prediction'   -- Table to store prediction result
+              );
+SELECT  houses.id,
+        houses.price,
+        houses_en1_prediction.prediction,
+        houses.price - houses_en1_prediction.prediction AS residual
+FROM houses_en1_prediction, houses
+WHERE houses.id = houses_en1_prediction.id ORDER BY id;
+</pre></li>
+</ol>
+<p><a class="anchor" id="additional_example"></a></p><h4>Example where coef_nonzero is different from coef_all</h4>
+<ol type="1">
+<li>Reuse the <a href="#examples">houses</a> table above and train the model with alpha=1 (L1) and a large lambda value (30000). <pre class="example">
+DROP TABLE IF EXISTS houses_en2, houses_en2_summary;
+SELECT madlib.elastic_net_train( 'houses',                  -- Source table
+                                 'houses_en2',              -- Result table
+                                 'price',                   -- Dependent variable
+                                 'array[tax, bath, size]',  -- Independent variable
+                                 'gaussian',                -- Regression family
+                                 1,                         -- Alpha value
+                                 30000,                     -- Lambda value
+                                 TRUE,                      -- Standardize
+                                 NULL,                      -- Grouping column(s)
+                                 'fista',                   -- Optimizer
+                                 '',                        -- Optimizer parameters
+                                 NULL,                      -- Excluded columns
+                                 10000,                     -- Maximum iterations
+                                 1e-6                       -- Tolerance value
+                               );
+</pre></li>
+<li>View the resulting model and see coef_nonzero is different from coef_all: <pre class="example">
+-- Turn on expanded display to make it easier to read results.
+\x on
+SELECT * FROM houses_en2;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]-----+--------------------------------
+family            | gaussian
+features          | {tax,bath,size}
+features_selected | {tax,size}
+coef_nonzero      | {6.94744249834,29.7137297658}
+coef_all          | {6.94744249834,0,29.7137297658}
+intercept         | 74445.7039382
+log_likelihood    | -1635348585.07
+standardize       | t
+iteration_run     | 151
+</pre></li>
+<li>We can still use the prediction function with <em>coef_all</em> to evaluate residuals: <pre class="example">
+\x off
+SELECT id, price, predict, price - predict AS residual
+FROM (
+    SELECT
+        houses.*,
+        madlib.elastic_net_gaussian_predict(
+            m.coef_all,                   -- All coefficients
+            m.intercept,                  -- Intercept
+            ARRAY[tax,bath,size]          -- All features
+            ) AS predict
+    FROM houses, houses_en2 m) s
+ORDER BY id;
+</pre></li>
+<li>We can speed up the prediction function with <em>coef_nonzero</em> to evaluate residuals. This requires the user to examine the <em>feature_selected</em> column in the result table to construct the correct set of independent variables to provide to the prediction function: <pre class="example">
+\x off
+SELECT id, price, predict, price - predict AS residual
+FROM (
+    SELECT
+        houses.*,
+        madlib.elastic_net_gaussian_predict(
+            m.coef_nonzero,               -- Non-zero coefficients
+            m.intercept,                  -- Intercept
+            ARRAY[tax,size]               -- Features corresponding to non-zero coefficients
+            ) AS predict
+    FROM houses, houses_en2 m) s
+ORDER BY id;
+</pre> The two queries above will result in same residuals: <pre class="result">
+ id | price  |     predict      |     residual
+----+--------+------------------+-------------------
+  1 |  50000 | 101424.266931887 | -51424.2669318866
+  2 |  85000 | 123636.877531235 |  -38636.877531235
+  3 |  22500 | 106081.206339915 | -83581.2063399148
+  4 |  90000 | 119117.827607296 | -29117.8276072958
+  5 | 133000 | 128186.922684709 |   4813.0773152912
+  6 |  90500 | 108190.009718915 |  -17690.009718915
+  7 | 260000 | 157119.312909723 |  102880.687090277
+  8 | 142500 | 113935.028663057 |  28564.9713369428
+  9 | 160000 | 131799.592783846 |  28200.4072161544
+ 10 | 240000 | 182913.598378673 |  57086.4016213268
+ 11 |  87000 | 116583.600144218 | -29583.6001442184
+ 12 | 118600 | 122842.722992761 |  -4242.7229927608
+ 13 | 140000 | 148278.940070862 | -8278.94007086201
+ 14 | 148000 | 134883.191046754 |  13116.8089532462
+ 15 |  65000 | 122046.449722531 |  -57046.449722531
+ 16 |  91000 | 118423.083357462 | -27423.0833574618
+ 17 | 132300 | 127492.178434875 |   4807.8215651252
+ 18 |  91100 | 106800.521219247 |  -15700.521219247
+ 19 | 260011 | 156424.568659889 |  103586.431340111
+ 20 | 141800 | 114629.772912891 |  27170.2270871088
+ 21 | 160900 | 132285.913758729 |  28614.0862412706
+ 22 | 239000 | 182357.802978806 |   56642.197021194
+ 23 |  81010 | 116166.753594318 |  -35156.753594318
+ 24 | 117910 | 122634.299717811 | -4724.29971781059
+ 25 | 141100 | 148973.684320696 | -7873.68432069599
+ 26 | 148011 | 136272.679546422 |  11738.3204535782
+ 27 |  66000 | 122741.193972365 |  -56741.193972365
+(27 rows)
+</pre></li>
+</ol>
+<h4>Example with Cross Validation</h4>
+<ol type="1">
+<li>Reuse the houses table above. Here we use 3-fold cross validation with 3 automatically generated lambda values and 3 specified alpha values. (This can take some time to run since elastic net is effectively being called 27 times for these combinations, then a 28th time for the whole dataset.) <pre class="example">
+DROP TABLE IF EXISTS houses_en3, houses_en3_summary, houses_en3_cv;
+SELECT madlib.elastic_net_train( 'houses',                  -- Source table
+                                 'houses_en3',               -- Result table
+                                 'price',                   -- Dependent variable
+                                 'array[tax, bath, size]',  -- Independent variable
+                                 'gaussian',                -- Regression family
+                                 0.5,                       -- Alpha value
+                                 0.1,                       -- Lambda value
+                                 TRUE,                      -- Standardize
+                                 NULL,                      -- Grouping column(s)
+                                 'fista',                   -- Optimizer
+                                 $$ n_folds = 3,            -- Cross validation parameters
+                                    validation_result=houses_en3_cv,
+                                    n_lambdas = 3, 
+                                    alpha = {0, 0.1, 1}
+                                 $$,                       
+                                 NULL,                      -- Excluded columns
+                                 10000,                     -- Maximum iterations
+                                 1e-6                       -- Tolerance value
+                               );
+SELECT * FROM houses_en3;
+</pre> <pre class="result">
+-[ RECORD 1 ]-----+--------------------------------------------
+family            | gaussian
+features          | {tax,bath,size}
+features_selected | {tax,bath,size}
+coef_nonzero      | {22.4584783679,11657.0825871,52.1622899664}
+coef_all          | {22.4584783679,11657.0825871,52.1622899664}
+intercept         | -5067.27288499
+log_likelihood    | -543193170.15
+standardize       | t
+iteration_run     | 392
+</pre></li>
+<li>Details of the cross validation: <pre class="example">
+SELECT * FROM houses_en3_cv ORDER BY lambda_value DESC, alpha ASC;
+</pre> <pre class="result">
+alpha | lambda_value |        mean         |     std
+------+--------------+---------------------+--------------------
+    0 |       100000 | -1.41777698585e+110 | 1.80536123195e+110
+  0.1 |       100000 | -1.19953054719e+107 | 1.72846143163e+107
+    1 |       100000 |      -4175743937.91 |      2485189261.38
+    0 |          100 |      -4054694238.18 |      2424765457.66
+  0.1 |          100 |      -4041768667.28 |      2418294966.72 
+    1 |          100 |      -1458791218.11 |      483327430.802
+    0 |          0.1 |      -1442293698.38 |      426795110.876
+  0.1 |          0.1 |       -1442705511.6 |       429680202.16
+|   1 |          0.1 |      -1459206061.39 |       485107796.02
+(9 rows)
+</pre></li>
+</ol>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Note</dt><dd>It is <b>strongly</b> <b>recommended</b> that you run <code><a class="el" href="elastic__net_8sql__in.html#a735038a5090c112505c740a90a203e83" title="Interface for elastic net. ">elastic_net_train()</a></code> on a subset of the data with a limited <em>max_iter</em> before applying it to the full data set with a large <em>max_iter</em>. In the pre-run, you can adjust the parameters to get the best performance and then apply the best set of parameters to the whole data set.</dd></dl>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>Elastic net regularization seeks to find a weight vector that, for any given training example set, minimizes: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[\min_{w \in R^N} L(w) + \lambda \left(\frac{(1-\alpha)}{2} \|w\|_2^2 + \alpha \|w\|_1 \right)\]" src="form_82.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$L$" src="form_83.png"/> is the metric function that the user wants to minimize. Here <img class="formulaInl" alt="$ \alpha \in [0,1] $" src="form_84.png"/> and <img class="formulaInl" alt="$ lambda \geq 0 $" src="form_85.png"/>. If <img class="formulaInl" alt="$alpha = 0$" src="form_86.png"/>, we have the ridge regularization (known also as Tikhonov regularization), and if <img class="formulaInl" alt="$\alpha = 1$" src="form_87.png"/>, we have the LASSO regularization.</p>
+<p>For the Gaussian response family (or linear model), we have </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[L(\vec{w}) = \frac{1}{2}\left[\frac{1}{M} \sum_{m=1}^M (w^{t} x_m + w_{0} - y_m)^2 \right] \]" src="form_88.png"/>
+</p>
+<p>For the Binomial response family (or logistic model), we have </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ L(\vec{w}) = \sum_{m=1}^M\left[y_m \log\left(1 + e^{-(w_0 + \vec{w}\cdot\vec{x}_m)}\right) + (1-y_m) \log\left(1 + e^{w_0 + \vec{w}\cdot\vec{x}_m}\right)\right]\ , \]" src="form_89.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$y_m \in {0,1}$" src="form_90.png"/>.</p>
+<p>To get better convergence, one can rescale the value of each element of x </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ x' \leftarrow \frac{x - \bar{x}}{\sigma_x} \]" src="form_91.png"/>
+</p>
+<p> and for Gaussian case we also let </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[y' \leftarrow y - \bar{y} \]" src="form_92.png"/>
+</p>
+<p> and then minimize with the regularization terms. At the end of the calculation, the orginal scales will be restored and an intercept term will be obtained at the same time as a by-product.</p>
+<p>Note that fitting after scaling is not equivalent to directly fitting.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] Elastic net regularization, <a href="http://en.wikipedia.org/wiki/Elastic_net_regularization">http://en.wikipedia.org/wiki/Elastic_net_regularization</a></p>
+<p>[2] Beck, A. and M. Teboulle (2009), A fast iterative shrinkage-thresholding algorithm for linear inverse problems. SIAM J. on Imaging Sciences 2(1), 183-202.</p>
+<p>[3] Shai Shalev-Shwartz and Ambuj Tewari, Stochastic Methods for L1 Regularized Loss Minimization. Proceedings of the 26th International Conference on Machine Learning, Montreal, Canada, 2009.</p>
+<p>[4] Stochastic gradient descent, <a href="https://en.wikipedia.org/wiki/Stochastic_gradient_descent">https://en.wikipedia.org/wiki/Stochastic_gradient_descent</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="elastic__net_8sql__in.html" title="SQL functions for elastic net regularization. ">elastic_net.sql_in</a> documenting the SQL functions. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[33/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_484.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_484.png b/docs/v1.11/form_484.png
new file mode 100644
index 0000000..1d44787
Binary files /dev/null and b/docs/v1.11/form_484.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_485.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_485.png b/docs/v1.11/form_485.png
new file mode 100644
index 0000000..44a547b
Binary files /dev/null and b/docs/v1.11/form_485.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_486.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_486.png b/docs/v1.11/form_486.png
new file mode 100644
index 0000000..76988b3
Binary files /dev/null and b/docs/v1.11/form_486.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_487.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_487.png b/docs/v1.11/form_487.png
new file mode 100644
index 0000000..2b436d1
Binary files /dev/null and b/docs/v1.11/form_487.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_488.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_488.png b/docs/v1.11/form_488.png
new file mode 100644
index 0000000..71dccb2
Binary files /dev/null and b/docs/v1.11/form_488.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_489.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_489.png b/docs/v1.11/form_489.png
new file mode 100644
index 0000000..b0df3c8
Binary files /dev/null and b/docs/v1.11/form_489.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_49.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_49.png b/docs/v1.11/form_49.png
new file mode 100644
index 0000000..da6ff60
Binary files /dev/null and b/docs/v1.11/form_49.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_490.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_490.png b/docs/v1.11/form_490.png
new file mode 100644
index 0000000..bd55774
Binary files /dev/null and b/docs/v1.11/form_490.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_491.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_491.png b/docs/v1.11/form_491.png
new file mode 100644
index 0000000..6e0073d
Binary files /dev/null and b/docs/v1.11/form_491.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_492.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_492.png b/docs/v1.11/form_492.png
new file mode 100644
index 0000000..d411f51
Binary files /dev/null and b/docs/v1.11/form_492.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_493.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_493.png b/docs/v1.11/form_493.png
new file mode 100644
index 0000000..63e3286
Binary files /dev/null and b/docs/v1.11/form_493.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_494.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_494.png b/docs/v1.11/form_494.png
new file mode 100644
index 0000000..eb342c6
Binary files /dev/null and b/docs/v1.11/form_494.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_495.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_495.png b/docs/v1.11/form_495.png
new file mode 100644
index 0000000..d397d7d
Binary files /dev/null and b/docs/v1.11/form_495.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_496.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_496.png b/docs/v1.11/form_496.png
new file mode 100644
index 0000000..8a699b7
Binary files /dev/null and b/docs/v1.11/form_496.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_497.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_497.png b/docs/v1.11/form_497.png
new file mode 100644
index 0000000..f0c946a
Binary files /dev/null and b/docs/v1.11/form_497.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_498.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_498.png b/docs/v1.11/form_498.png
new file mode 100644
index 0000000..77f639a
Binary files /dev/null and b/docs/v1.11/form_498.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_499.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_499.png b/docs/v1.11/form_499.png
new file mode 100644
index 0000000..0c86826
Binary files /dev/null and b/docs/v1.11/form_499.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_5.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_5.png b/docs/v1.11/form_5.png
new file mode 100644
index 0000000..6f343c9
Binary files /dev/null and b/docs/v1.11/form_5.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_50.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_50.png b/docs/v1.11/form_50.png
new file mode 100644
index 0000000..06bc6d2
Binary files /dev/null and b/docs/v1.11/form_50.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_500.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_500.png b/docs/v1.11/form_500.png
new file mode 100644
index 0000000..fd948a7
Binary files /dev/null and b/docs/v1.11/form_500.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_501.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_501.png b/docs/v1.11/form_501.png
new file mode 100644
index 0000000..af643a3
Binary files /dev/null and b/docs/v1.11/form_501.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_502.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_502.png b/docs/v1.11/form_502.png
new file mode 100644
index 0000000..d197752
Binary files /dev/null and b/docs/v1.11/form_502.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_503.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_503.png b/docs/v1.11/form_503.png
new file mode 100644
index 0000000..b4ceb67
Binary files /dev/null and b/docs/v1.11/form_503.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_504.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_504.png b/docs/v1.11/form_504.png
new file mode 100644
index 0000000..0aab5c2
Binary files /dev/null and b/docs/v1.11/form_504.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_505.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_505.png b/docs/v1.11/form_505.png
new file mode 100644
index 0000000..cceae59
Binary files /dev/null and b/docs/v1.11/form_505.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_506.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_506.png b/docs/v1.11/form_506.png
new file mode 100644
index 0000000..590bdca
Binary files /dev/null and b/docs/v1.11/form_506.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_507.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_507.png b/docs/v1.11/form_507.png
new file mode 100644
index 0000000..dd7aece
Binary files /dev/null and b/docs/v1.11/form_507.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_508.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_508.png b/docs/v1.11/form_508.png
new file mode 100644
index 0000000..ac330b5
Binary files /dev/null and b/docs/v1.11/form_508.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_509.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_509.png b/docs/v1.11/form_509.png
new file mode 100644
index 0000000..f3a5d7b
Binary files /dev/null and b/docs/v1.11/form_509.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_51.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_51.png b/docs/v1.11/form_51.png
new file mode 100644
index 0000000..3f72bfe
Binary files /dev/null and b/docs/v1.11/form_51.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_510.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_510.png b/docs/v1.11/form_510.png
new file mode 100644
index 0000000..d886598
Binary files /dev/null and b/docs/v1.11/form_510.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_511.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_511.png b/docs/v1.11/form_511.png
new file mode 100644
index 0000000..04ee3c7
Binary files /dev/null and b/docs/v1.11/form_511.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_512.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_512.png b/docs/v1.11/form_512.png
new file mode 100644
index 0000000..078ecfc
Binary files /dev/null and b/docs/v1.11/form_512.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_513.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_513.png b/docs/v1.11/form_513.png
new file mode 100644
index 0000000..96d8b94
Binary files /dev/null and b/docs/v1.11/form_513.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_514.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_514.png b/docs/v1.11/form_514.png
new file mode 100644
index 0000000..d1a483f
Binary files /dev/null and b/docs/v1.11/form_514.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_515.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_515.png b/docs/v1.11/form_515.png
new file mode 100644
index 0000000..26cbb9b
Binary files /dev/null and b/docs/v1.11/form_515.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_516.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_516.png b/docs/v1.11/form_516.png
new file mode 100644
index 0000000..d7b2e50
Binary files /dev/null and b/docs/v1.11/form_516.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_517.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_517.png b/docs/v1.11/form_517.png
new file mode 100644
index 0000000..1eddb90
Binary files /dev/null and b/docs/v1.11/form_517.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_518.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_518.png b/docs/v1.11/form_518.png
new file mode 100644
index 0000000..6fcde93
Binary files /dev/null and b/docs/v1.11/form_518.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_519.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_519.png b/docs/v1.11/form_519.png
new file mode 100644
index 0000000..59cf626
Binary files /dev/null and b/docs/v1.11/form_519.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_52.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_52.png b/docs/v1.11/form_52.png
new file mode 100644
index 0000000..31aef38
Binary files /dev/null and b/docs/v1.11/form_52.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_520.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_520.png b/docs/v1.11/form_520.png
new file mode 100644
index 0000000..9ea9d2f
Binary files /dev/null and b/docs/v1.11/form_520.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_521.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_521.png b/docs/v1.11/form_521.png
new file mode 100644
index 0000000..7bf3c91
Binary files /dev/null and b/docs/v1.11/form_521.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_522.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_522.png b/docs/v1.11/form_522.png
new file mode 100644
index 0000000..928cb2d
Binary files /dev/null and b/docs/v1.11/form_522.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_523.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_523.png b/docs/v1.11/form_523.png
new file mode 100644
index 0000000..2acde9e
Binary files /dev/null and b/docs/v1.11/form_523.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_524.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_524.png b/docs/v1.11/form_524.png
new file mode 100644
index 0000000..e4d3f89
Binary files /dev/null and b/docs/v1.11/form_524.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_525.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_525.png b/docs/v1.11/form_525.png
new file mode 100644
index 0000000..0cca137
Binary files /dev/null and b/docs/v1.11/form_525.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_526.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_526.png b/docs/v1.11/form_526.png
new file mode 100644
index 0000000..bf7deef
Binary files /dev/null and b/docs/v1.11/form_526.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_527.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_527.png b/docs/v1.11/form_527.png
new file mode 100644
index 0000000..437eba3
Binary files /dev/null and b/docs/v1.11/form_527.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_528.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_528.png b/docs/v1.11/form_528.png
new file mode 100644
index 0000000..23dbafc
Binary files /dev/null and b/docs/v1.11/form_528.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_529.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_529.png b/docs/v1.11/form_529.png
new file mode 100644
index 0000000..088e2e4
Binary files /dev/null and b/docs/v1.11/form_529.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_53.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_53.png b/docs/v1.11/form_53.png
new file mode 100644
index 0000000..88200ff
Binary files /dev/null and b/docs/v1.11/form_53.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_530.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_530.png b/docs/v1.11/form_530.png
new file mode 100644
index 0000000..1139878
Binary files /dev/null and b/docs/v1.11/form_530.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_531.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_531.png b/docs/v1.11/form_531.png
new file mode 100644
index 0000000..c8b458a
Binary files /dev/null and b/docs/v1.11/form_531.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_532.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_532.png b/docs/v1.11/form_532.png
new file mode 100644
index 0000000..d40cc7a
Binary files /dev/null and b/docs/v1.11/form_532.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_533.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_533.png b/docs/v1.11/form_533.png
new file mode 100644
index 0000000..b6df7ae
Binary files /dev/null and b/docs/v1.11/form_533.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_534.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_534.png b/docs/v1.11/form_534.png
new file mode 100644
index 0000000..fb78639
Binary files /dev/null and b/docs/v1.11/form_534.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_535.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_535.png b/docs/v1.11/form_535.png
new file mode 100644
index 0000000..187f5b7
Binary files /dev/null and b/docs/v1.11/form_535.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_536.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_536.png b/docs/v1.11/form_536.png
new file mode 100644
index 0000000..58e90a8
Binary files /dev/null and b/docs/v1.11/form_536.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_537.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_537.png b/docs/v1.11/form_537.png
new file mode 100644
index 0000000..155a7fe
Binary files /dev/null and b/docs/v1.11/form_537.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_538.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_538.png b/docs/v1.11/form_538.png
new file mode 100644
index 0000000..e1cf7ae
Binary files /dev/null and b/docs/v1.11/form_538.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_539.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_539.png b/docs/v1.11/form_539.png
new file mode 100644
index 0000000..0cca137
Binary files /dev/null and b/docs/v1.11/form_539.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_54.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_54.png b/docs/v1.11/form_54.png
new file mode 100644
index 0000000..7b00b25
Binary files /dev/null and b/docs/v1.11/form_54.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_540.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_540.png b/docs/v1.11/form_540.png
new file mode 100644
index 0000000..00c049c
Binary files /dev/null and b/docs/v1.11/form_540.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_541.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_541.png b/docs/v1.11/form_541.png
new file mode 100644
index 0000000..63a1416
Binary files /dev/null and b/docs/v1.11/form_541.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_542.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_542.png b/docs/v1.11/form_542.png
new file mode 100644
index 0000000..ce5814c
Binary files /dev/null and b/docs/v1.11/form_542.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_543.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_543.png b/docs/v1.11/form_543.png
new file mode 100644
index 0000000..8c62624
Binary files /dev/null and b/docs/v1.11/form_543.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_544.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_544.png b/docs/v1.11/form_544.png
new file mode 100644
index 0000000..14faf94
Binary files /dev/null and b/docs/v1.11/form_544.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_545.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_545.png b/docs/v1.11/form_545.png
new file mode 100644
index 0000000..c7fe790
Binary files /dev/null and b/docs/v1.11/form_545.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_546.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_546.png b/docs/v1.11/form_546.png
new file mode 100644
index 0000000..5094f09
Binary files /dev/null and b/docs/v1.11/form_546.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_547.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_547.png b/docs/v1.11/form_547.png
new file mode 100644
index 0000000..8f9df20
Binary files /dev/null and b/docs/v1.11/form_547.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_548.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_548.png b/docs/v1.11/form_548.png
new file mode 100644
index 0000000..77c0a3c
Binary files /dev/null and b/docs/v1.11/form_548.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_55.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_55.png b/docs/v1.11/form_55.png
new file mode 100644
index 0000000..f5791d3
Binary files /dev/null and b/docs/v1.11/form_55.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_56.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_56.png b/docs/v1.11/form_56.png
new file mode 100644
index 0000000..ead3225
Binary files /dev/null and b/docs/v1.11/form_56.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_57.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_57.png b/docs/v1.11/form_57.png
new file mode 100644
index 0000000..e3cc9a2
Binary files /dev/null and b/docs/v1.11/form_57.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_58.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_58.png b/docs/v1.11/form_58.png
new file mode 100644
index 0000000..061e5a7
Binary files /dev/null and b/docs/v1.11/form_58.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_59.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_59.png b/docs/v1.11/form_59.png
new file mode 100644
index 0000000..888b367
Binary files /dev/null and b/docs/v1.11/form_59.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_6.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_6.png b/docs/v1.11/form_6.png
new file mode 100644
index 0000000..328268d
Binary files /dev/null and b/docs/v1.11/form_6.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_60.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_60.png b/docs/v1.11/form_60.png
new file mode 100644
index 0000000..0cd9783
Binary files /dev/null and b/docs/v1.11/form_60.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_61.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_61.png b/docs/v1.11/form_61.png
new file mode 100644
index 0000000..c899dc4
Binary files /dev/null and b/docs/v1.11/form_61.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_62.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_62.png b/docs/v1.11/form_62.png
new file mode 100644
index 0000000..2016cf3
Binary files /dev/null and b/docs/v1.11/form_62.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_63.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_63.png b/docs/v1.11/form_63.png
new file mode 100644
index 0000000..45122b9
Binary files /dev/null and b/docs/v1.11/form_63.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_64.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_64.png b/docs/v1.11/form_64.png
new file mode 100644
index 0000000..5ed4e86
Binary files /dev/null and b/docs/v1.11/form_64.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_65.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_65.png b/docs/v1.11/form_65.png
new file mode 100644
index 0000000..1e6d88a
Binary files /dev/null and b/docs/v1.11/form_65.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_66.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_66.png b/docs/v1.11/form_66.png
new file mode 100644
index 0000000..975234d
Binary files /dev/null and b/docs/v1.11/form_66.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_67.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_67.png b/docs/v1.11/form_67.png
new file mode 100644
index 0000000..8e37f59
Binary files /dev/null and b/docs/v1.11/form_67.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_68.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_68.png b/docs/v1.11/form_68.png
new file mode 100644
index 0000000..69ba5d8
Binary files /dev/null and b/docs/v1.11/form_68.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_69.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_69.png b/docs/v1.11/form_69.png
new file mode 100644
index 0000000..d898c62
Binary files /dev/null and b/docs/v1.11/form_69.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_7.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_7.png b/docs/v1.11/form_7.png
new file mode 100644
index 0000000..67fe4fd
Binary files /dev/null and b/docs/v1.11/form_7.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_70.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_70.png b/docs/v1.11/form_70.png
new file mode 100644
index 0000000..abc516f
Binary files /dev/null and b/docs/v1.11/form_70.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_71.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_71.png b/docs/v1.11/form_71.png
new file mode 100644
index 0000000..f33bf29
Binary files /dev/null and b/docs/v1.11/form_71.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_72.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_72.png b/docs/v1.11/form_72.png
new file mode 100644
index 0000000..b216d15
Binary files /dev/null and b/docs/v1.11/form_72.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_73.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_73.png b/docs/v1.11/form_73.png
new file mode 100644
index 0000000..41ba925
Binary files /dev/null and b/docs/v1.11/form_73.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_74.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_74.png b/docs/v1.11/form_74.png
new file mode 100644
index 0000000..43d13b8
Binary files /dev/null and b/docs/v1.11/form_74.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_75.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_75.png b/docs/v1.11/form_75.png
new file mode 100644
index 0000000..41768bc
Binary files /dev/null and b/docs/v1.11/form_75.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_76.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_76.png b/docs/v1.11/form_76.png
new file mode 100644
index 0000000..5aaa0bf
Binary files /dev/null and b/docs/v1.11/form_76.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_77.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_77.png b/docs/v1.11/form_77.png
new file mode 100644
index 0000000..14c9e61
Binary files /dev/null and b/docs/v1.11/form_77.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_78.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_78.png b/docs/v1.11/form_78.png
new file mode 100644
index 0000000..be59c83
Binary files /dev/null and b/docs/v1.11/form_78.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_79.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_79.png b/docs/v1.11/form_79.png
new file mode 100644
index 0000000..a359db7
Binary files /dev/null and b/docs/v1.11/form_79.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_8.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_8.png b/docs/v1.11/form_8.png
new file mode 100644
index 0000000..d5eb6ae
Binary files /dev/null and b/docs/v1.11/form_8.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_80.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_80.png b/docs/v1.11/form_80.png
new file mode 100644
index 0000000..945326e
Binary files /dev/null and b/docs/v1.11/form_80.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_81.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_81.png b/docs/v1.11/form_81.png
new file mode 100644
index 0000000..93c8614
Binary files /dev/null and b/docs/v1.11/form_81.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_82.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_82.png b/docs/v1.11/form_82.png
new file mode 100644
index 0000000..52684fc
Binary files /dev/null and b/docs/v1.11/form_82.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_83.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_83.png b/docs/v1.11/form_83.png
new file mode 100644
index 0000000..d20170b
Binary files /dev/null and b/docs/v1.11/form_83.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_84.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_84.png b/docs/v1.11/form_84.png
new file mode 100644
index 0000000..951ccba
Binary files /dev/null and b/docs/v1.11/form_84.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_85.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_85.png b/docs/v1.11/form_85.png
new file mode 100644
index 0000000..8690a82
Binary files /dev/null and b/docs/v1.11/form_85.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_86.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_86.png b/docs/v1.11/form_86.png
new file mode 100644
index 0000000..ee023ff
Binary files /dev/null and b/docs/v1.11/form_86.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_87.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_87.png b/docs/v1.11/form_87.png
new file mode 100644
index 0000000..c4c95a0
Binary files /dev/null and b/docs/v1.11/form_87.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_88.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_88.png b/docs/v1.11/form_88.png
new file mode 100644
index 0000000..7df9694
Binary files /dev/null and b/docs/v1.11/form_88.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_89.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_89.png b/docs/v1.11/form_89.png
new file mode 100644
index 0000000..d0c877c
Binary files /dev/null and b/docs/v1.11/form_89.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_9.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_9.png b/docs/v1.11/form_9.png
new file mode 100644
index 0000000..39e1dd0
Binary files /dev/null and b/docs/v1.11/form_9.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_90.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_90.png b/docs/v1.11/form_90.png
new file mode 100644
index 0000000..fce69f4
Binary files /dev/null and b/docs/v1.11/form_90.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_91.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_91.png b/docs/v1.11/form_91.png
new file mode 100644
index 0000000..7a087a5
Binary files /dev/null and b/docs/v1.11/form_91.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_92.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_92.png b/docs/v1.11/form_92.png
new file mode 100644
index 0000000..2e6f376
Binary files /dev/null and b/docs/v1.11/form_92.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_93.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_93.png b/docs/v1.11/form_93.png
new file mode 100644
index 0000000..ed86eb0
Binary files /dev/null and b/docs/v1.11/form_93.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_94.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_94.png b/docs/v1.11/form_94.png
new file mode 100644
index 0000000..700fff4
Binary files /dev/null and b/docs/v1.11/form_94.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_95.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_95.png b/docs/v1.11/form_95.png
new file mode 100644
index 0000000..4ae46e7
Binary files /dev/null and b/docs/v1.11/form_95.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_96.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_96.png b/docs/v1.11/form_96.png
new file mode 100644
index 0000000..bc8d919
Binary files /dev/null and b/docs/v1.11/form_96.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_97.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_97.png b/docs/v1.11/form_97.png
new file mode 100644
index 0000000..9edae1f
Binary files /dev/null and b/docs/v1.11/form_97.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_98.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_98.png b/docs/v1.11/form_98.png
new file mode 100644
index 0000000..0299f37
Binary files /dev/null and b/docs/v1.11/form_98.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/form_99.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/form_99.png b/docs/v1.11/form_99.png
new file mode 100644
index 0000000..6dc2e6f
Binary files /dev/null and b/docs/v1.11/form_99.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/formula.repository
----------------------------------------------------------------------
diff --git a/docs/v1.11/formula.repository b/docs/v1.11/formula.repository
new file mode 100644
index 0000000..24995ac
--- /dev/null
+++ b/docs/v1.11/formula.repository
@@ -0,0 +1,549 @@
+\form#0:\[ S (X) = \frac{Total X}{Total transactions} \]
+\form#1:\[ S (X \Rightarrow Y) = \frac{Total(X \cup Y)}{Total transactions} \]
+\form#2:$ X,Y $
+\form#3:$ X $
+\form#4:$ Y $
+\form#5:$ P(Y|X) $
+\form#6:\[ C (X \Rightarrow Y) = \frac{s(X \cap Y )}{s(X)} \]
+\form#7:\[ L (X \Rightarrow Y) = \frac{s(X \cap Y )}{s(X) \cdot s(Y)} \]
+\form#8:$ \neg Y $
+\form#9:$ X \Rightarrow Y $
+\form#10:\[ Conv (X \Rightarrow Y) = \frac{1 - S(Y)}{1 - C(X \Rightarrow Y)} \]
+\form#11:$ n $
+\form#12:$ n - 1 $
+\form#13:$ n \ge 2 $
+\form#14:$ A $
+\form#15:$ B $
+\form#16:$ B \Rightarrow (A - B) $
+\form#17:$ min(support) = .25 $
+\form#18:$ min(confidence) = .5 $
+\form#19:$ a_1, \dots, a_n $
+\form#20:$ c $
+\form#21:\[ P(C=c_i \mid A) \approx P(C=c_j \mid A) \]
+\form#22:$ P(A_i = a \mid C=c) $
+\form#23:\[ P(A_i=a \mid C=c) = \frac{1}{\sqrt{2\pi\sigma^{2}_c}}exp\left(-\frac{(a-\mu_c)^{2}}{2\sigma^{2}_c}\right) \]
+\form#24:$\mu_c$
+\form#25:$\sigma^{2}_c$
+\form#26:$c$
+\form#27:\[ \Pr(C = c \mid A_1 = a_1, \dots, A_n = a_n) = \frac{\Pr(C = c) \cdot \Pr(A_1 = a_1, \dots, A_n = a_n \mid C = c)} {\Pr(A_1 = a_1, \dots, A_n = a_n)} \,, \]
+\form#28:\[ \Pr(A_1 = a_1, \dots, A_n = a_n \mid C = c) = \prod_{i=1}^n \Pr(A_i = a_i \mid C = c) \,. \]
+\form#29:\[ \text{classify}(a_1, ..., a_n) = \arg\max_c \left\{ \Pr(C = c) \cdot \prod_{i=1}^n \Pr(A_i = a_i \mid C = c) \right\} \]
+\form#30:$ P(A_i = a \mid C = c) $
+\form#31:\[ P(A_i = a \mid C = c) = \frac{\#(c,i,a)}{\#c} \]
+\form#32:$ \#(c,i,a) $
+\form#33:$ i $
+\form#34:$ a $
+\form#35:$ \#c $
+\form#36:\[ P(A_i = a \mid C = c) = \frac{\#(c,i,a) + s}{\#c + s \cdot \#i} \]
+\form#37:$ \#i $
+\form#38:$ s \geq 0 $
+\form#39:$ s = 1 $
+\form#40:$ s = 0 $
+\form#41:$ \boldsymbol Ax = \boldsymbol b $
+\form#42:$A$
+\form#43:$x$
+\form#44:$ \boldsymbol b $
+\form#45:\[ \boldsymbol Ax = \boldsymbol b \]
+\form#46:$ \boldsymbol A $
+\form#47:\[ \|\boldsymbol A - \boldsymbol UV^{T} \|_2 \]
+\form#48:$rank(\boldsymbol UV^{T}) \leq r$
+\form#49:$\|\cdot\|_2$
+\form#50:$m \times n$
+\form#51:$U$
+\form#52:$m \times r$
+\form#53:$V$
+\form#54:$n \times r$
+\form#55:$1 \leq r \ll \min(m, n)$
+\form#56:$ \Pr( \text{best label sequence} \mid \text{sequence}) $
+\form#57:\[ p_\lambda(\boldsymbol y | \boldsymbol x) = \frac{\exp{\sum_{m=1}^M \lambda_m F_m(\boldsymbol x, \boldsymbol y)}}{Z_\lambda(\boldsymbol x)} \,. \]
+\form#58:$ F_m(\boldsymbol x, \boldsymbol y) = \sum_{i=1}^n f_m(y_i,y_{i-1},x_i) $
+\form#59:$ \boldsymbol x $
+\form#60:$ f_m(y_i,y_{i-1},x_i) $
+\form#61:$ y_i $
+\form#62:$ y_{i-1} $
+\form#63:$ x_i $
+\form#64:$ \lambda_m $
+\form#65:$ Z_\lambda(\boldsymbol x) $
+\form#66:\[ Z_\lambda(\boldsymbol x) = \sum_{\boldsymbol y'} \exp{\sum_{m=1}^M \lambda_m F_m(\boldsymbol x, \boldsymbol y')} \]
+\form#67:$ T=\{(x_k,y_k)\}_{k=1}^N $
+\form#68:\[ \ell_{\lambda}=\sum_k \log p_\lambda(y_k|x_k) =\sum_k[\sum_{m=1}^M \lambda_m F_m(x_k,y_k) - \log Z_\lambda(x_k)] \]
+\form#69:\[ \nabla \ell_{\lambda}=\sum_k[F(x_k,y_k)-E_{p_\lambda(Y|x_k)}[F(x_k,Y)]] \]
+\form#70:$E_{p_\lambda(Y|x)}[F(x,Y)]$
+\form#71:\[ E_{p_\lambda(Y|x)}[F(x,Y)] = \sum_y p_\lambda(y|x)F(x,y) = \sum_i\frac{\alpha_{i-1}(f_i*M_i)\beta_i^T}{Z_\lambda(x)} \]
+\form#72:\[ Z_\lambda(x) = \alpha_n.1^T \]
+\form#73:$\alpha_i$
+\form#74:$ \beta_i$
+\form#75:\[ \alpha_i = \begin{cases} \alpha_{i-1}M_i, & 0<i<=n\\ 1, & i=0 \end{cases}\\ \]
+\form#76:\[ \beta_i^T = \begin{cases} M_{i+1}\beta_{i+1}^T, & 1<=i<n\\ 1, & i=n \end{cases} \]
+\form#77:\[ \ell_{\lambda}^\prime=\sum_k[\sum_{m=1}^M \lambda_m F_m(x_k,y_k) - \log Z_\lambda(x_k)] - \frac{\lVert \lambda \rVert^2}{2\sigma ^2} \]
+\form#78:\[ \nabla \ell_{\lambda}^\prime=\sum_k[F(x_k,y_k) - E_{p_\lambda(Y|x_k)}[F(x_k,Y)]] - \frac{\lambda}{\sigma ^2} \]
+\form#79:$ \boldsymbol c $
+\form#80:$ l(\boldsymbol c) $
+\form#81:$ n^2 $
+\form#82:\[\min_{w \in R^N} L(w) + \lambda \left(\frac{(1-\alpha)}{2} \|w\|_2^2 + \alpha \|w\|_1 \right)\]
+\form#83:$L$
+\form#84:$ \alpha \in [0,1] $
+\form#85:$ lambda \geq 0 $
+\form#86:$alpha = 0$
+\form#87:$\alpha = 1$
+\form#88:\[L(\vec{w}) = \frac{1}{2}\left[\frac{1}{M} \sum_{m=1}^M (w^{t} x_m + w_{0} - y_m)^2 \right] \]
+\form#89:\[ L(\vec{w}) = \sum_{m=1}^M\left[y_m \log\left(1 + e^{-(w_0 + \vec{w}\cdot\vec{x}_m)}\right) + (1-y_m) \log\left(1 + e^{w_0 + \vec{w}\cdot\vec{x}_m}\right)\right]\ , \]
+\form#90:$y_m \in {0,1}$
+\form#91:\[ x' \leftarrow \frac{x - \bar{x}}{\sigma_x} \]
+\form#92:\[y' \leftarrow y - \bar{y} \]
+\form#93:$ l(\boldsymbol \beta) $
+\form#94:$ Y \in \{ 0,1,2 \ldots k \} $
+\form#95:\[ E[Y \mid \boldsymbol x] = \sigma(\boldsymbol c^T \boldsymbol x) \]
+\form#96:$ \sigma(x) = \frac{1}{1 + \exp(-x)} $
+\form#97:$ \boldsymbol y \in \{ 0,1 \}^{n \times k} $
+\form#98:$ k $
+\form#99:$ X \in \mathbf R^{n \times k} $
+\form#100:$ \boldsymbol x_i $
+\form#101:\[ P[Y = y_i | \boldsymbol x_i] = \sigma((-1)^{y_i} \cdot \boldsymbol c^T \boldsymbol x_i) \,. \]
+\form#102:$ \prod_{i=1}^n \Pr(Y = y_i \mid \boldsymbol x_i) $
+\form#103:$ \sum_{i=1}^n \log \Pr(Y = y_i \mid \boldsymbol x_i) $
+\form#104:\[ l(\boldsymbol c) = -\sum_{i=1}^n \log(1 + \exp((-1)^{y_i} \cdot \boldsymbol c^T \boldsymbol x_i)) \,. \]
+\form#105:$ H = -X^T A X $
+\form#106:$ A = \text{diag}(a_1, \dots, a_n) $
+\form#107:$ a_i = \sigma(\boldsymbol c^T \boldsymbol x) \cdot \sigma(-\boldsymbol c^T \boldsymbol x) \,. $
+\form#108:$ H $
+\form#109:\[ \mathit{se}(c_i) = \left( (X^T A X)^{-1} \right)_{ii} \,. \]
+\form#110:\[ z_i = \frac{c_i}{\mathit{se}(c_i)} \,. \]
+\form#111:$ p $
+\form#112:$ c_i = 0 $
+\form#113:$ F $
+\form#114:\[ p_i = \Pr(|Z| \geq |z_i|) = 2 \cdot (1 - F( |z_i| )) \]
+\form#115:$ Z $
+\form#116:$ \exp(c_i) $
+\form#117:$ \kappa(X^T A X) $
+\form#118:$ K $
+\form#119:$ (1, ..., K) $
+\form#120:$ J $
+\form#121:$ (0, ..., J-1) $
+\form#122:$ {m_{k,j}} $
+\form#123:$ j $
+\form#124:$ {m_{k_1, j_0}, m_{k_1, j_1} \ldots m_{k_1, j_{J-1}}, m_{k_2, j_0}, m_{k_2, j_1}, \ldots m_{k_2, j_{J-1}} \ldots m_{k_K, j_{J-1}}} $
+\form#125:$ Y_i $
+\form#126:$ j = 1,.. , J$
+\form#127:$\pi$
+\form#128:$\pi_{ij}$
+\form#129:$i$
+\form#130:$j$
+\form#131:\[ \gamma_{ij} = \Pr(Y_i \le j)= \pi_{i1} +...+ \pi_{ij} . \]
+\form#132:$ \mbox{logit}(\pi) = \log[\pi/(1-\pi)] $
+\form#133:\[ \mbox{logit}(\gamma_{ij})=\mbox{logit}(\Pr(Y_i \le j))=\log \frac{\Pr(Y_i \le j)}{1-\Pr(Y_i\le j)}, j=1,...,J−1 \]
+\form#134:\[ \mbox{logit}(\gamma_{ij}) = \theta_j - x^T_i \beta \]
+\form#135:$x_i$
+\form#136:$\beta$
+\form#137:$\{\theta_j\}$
+\form#138:$x^T_i\beta$
+\form#139:$ x_1, \dots, x_n \in \mathbb R^d $
+\form#140:$ c_1, \dots, c_k \in \mathbb R^d $
+\form#141:\[ (c_1, \dots, c_k) \mapsto \sum_{i=1}^n \min_{j=1}^k \operatorname{dist}(x_i, c_j) \]
+\form#142:$ \operatorname{dist} $
+\form#143:$ \alpha $
+\form#144:$ \beta $
+\form#145:$ \phi_i $
+\form#146:$ \theta $
+\form#147:$\alpha$
+\form#148:$ z_n $
+\form#149:$ w_n $
+\form#150:$ \phi_{z_n} $
+\form#151:$\|\vec{a}\|_1$
+\form#152:$\|\vec{a}\|_2$
+\form#153:$\|\vec{a} - \vec{b}\|_1$
+\form#154:$\|\vec{a} - \vec{b}\|_2$
+\form#155:$\|\vec{a} - \vec{b}\|_p, p > 0$
+\form#156:$\|\vec{a} - \vec{b}\|_\infty$
+\form#157:$\|\vec{a} - \vec{b}\|_2^2$
+\form#158:$\frac{\vec{a} \cdot \vec{b}}{\|\vec{a}\|_2 \|\vec{b}\|_2}$
+\form#159:$\cos^{-1}(\frac{\vec{a} \cdot \vec{b}}{\|\vec{a}\|_2 \|\vec{b}\|_2})$
+\form#160:$ \vec x = (x_1, \dots, x_n) $
+\form#161:$ \| x \|_1 = \sum_{i=1}^n |x_i| $
+\form#162:$ \| x \|_2 = \sqrt{\sum_{i=1}^n x_i^2} $
+\form#163:$ \vec y = (y_1, \dots, y_n) $
+\form#164:$ \| x - y \|_\infty = \max_{i=1}^n \|x_i - y_i\| $
+\form#165:$ p > 0 $
+\form#166:$ \| x - y \|_p = (\sum_{i=1}^n \|x_i - y_i\|^p)^{\frac{1}{p}} $
+\form#167:$ \| x - y \|_1 = \sum_{i=1}^n |x_i - y_i| $
+\form#168:$ \| x - y \|_2 = \sqrt{\sum_{i=1}^n (x_i - y_i)^2} $
+\form#169:$ \frac{\langle \vec x, \vec y \rangle} {\| \vec x \| \cdot \| \vec y \|} $
+\form#170:$ \| x - y \|_2^2 = \sum_{i=1}^n (x_i - y_i)^2 $
+\form#171:$ \arccos\left(\frac{\langle \vec x, \vec y \rangle} {\| \vec x \| \cdot \| \vec y \|}\right) $
+\form#172:$ 1 - \frac{\langle \vec x, \vec y \rangle} {\| \vec x \|^2 \cdot \| \vec y \|^2 - \langle \vec x, \vec y \rangle} $
+\form#173:$ \vec x = (x_1, \dots, x_m) $
+\form#174:$ 1 - \frac{|x \cap y|}{|x \cup y|} $
+\form#175:$ M $
+\form#176:$ \vec x $
+\form#177:$ M = (\vec{m_0} \dots \vec{m_{l-1}}) \in \mathbb{R}^{k \times l} $
+\form#178:$ \vec x \in \mathbb R^k $
+\form#179:$ x $
+\form#180:$ \arg\min_{i=0,\dots,l-1} \operatorname{dist}(\vec{m_i}, \vec x) $
+\form#181:$ \min_{i=0,\dots,l-1} \operatorname{dist}(\vec{m_i}, \vec x) $
+\form#182:$ \operatorname{dist}(\vec{m_j}, \vec x) $
+\form#183:$ j = $
+\form#184:$ x_1, \dots, x_n $
+\form#185:$ \frac 1n \sum_{i=1}^n x_i $
+\form#186:$ \widetilde{x} := \frac 1n \sum_{i=1}^n \frac{x_i}{\| x_i \|} $
+\form#187:$ \frac{\widetilde{x}}{\| \widetilde{x} \|} $
+\form#188:$ \vec x_1, \dots, \vec x_n \in \mathbb R^m $
+\form#189:$ ( \vec x_1 \dots \vec x_n ) \in \mathbb R^{m \times n}$
+\form#190:$ PA = LDL* $
+\form#191:$ A = QR $
+\form#192:$ PAQ = LU $
+\form#193:$mxn$
+\form#194:$m \ge n$
+\form#195:\[ A = U \Sigma V^T, \]
+\form#196:$\Sigma$
+\form#197:$n \times n$
+\form#198:$ \sqrt{mean((X - USV^T)_{ij}^2)} $
+\form#199:$ \sqrt{mean(X_{ij}^2)} $
+\form#200:$\sigma_i, u_i, v_i$
+\form#201:$A^TA$
+\form#202:$AA^T$
+\form#203:\[ H(A) = \begin{bmatrix} 0 & A\\ A^* & 0 \end{bmatrix} \]
+\form#204:\[ A = P B Q^T, \]
+\form#205:$P$
+\form#206:$Q$
+\form#207:$B$
+\form#208:$B*B$
+\form#209:$A*A$
+\form#210:\[ B = X\Sigma Y^T, \]
+\form#211:$U = PX$
+\form#212:$V = QY$
+\form#213:\[ Ax = b \]
+\form#214:$x \in \mathbb{R}^{n}$
+\form#215:$A \in \mathbb{R}^{m \times n} $
+\form#216:$b \in \mathbb{R}^{m}$
+\form#217:$ \frac{|Ax - b|}{|b|} $
+\form#218:$ 0 \ldots n-1 $
+\form#219:$b$
+\form#220:$ N $
+\form#221:$ \boldsymbol X $
+\form#222:$ \hat{x} $
+\form#223:$ \boldsymbol{X}$
+\form#224:$ \hat{\boldsymbol X} $
+\form#225:\[ \hat{\boldsymbol X} = {\boldsymbol X} - \vec{e} \hat{x}^T \]
+\form#226:$ \vec{e} $
+\form#227:\[ \hat{\boldsymbol X} = {\boldsymbol U}{\boldsymbol \Sigma}{\boldsymbol V}^T \]
+\form#228:$ {\boldsymbol \Sigma} $
+\form#229:$ {\boldsymbol \Sigma}/(\sqrt{(N-1)} $
+\form#230:$ {\boldsymbol V} $
+\form#231:$ \boldsymbol P $
+\form#232:$ {\boldsymbol X}' $
+\form#233:\begin{align*} {\boldsymbol {\hat{X}}} & = {\boldsymbol X} - \vec{e} \hat{x}^T \\ {\boldsymbol X}' & = {\boldsymbol {\hat {X}}} {\boldsymbol P}. \end{align*}
+\form#234:$\hat{x} $
+\form#235:$ \boldsymbol R $
+\form#236:\[ {\boldsymbol R} = {\boldsymbol {\hat{X}}} - {\boldsymbol X}' {\boldsymbol P}^T. \]
+\form#237:$ r $
+\form#238:\[ r = \|{\boldsymbol R}\|_F \]
+\form#239:$ \|\cdot\|_F $
+\form#240:$ r' $
+\form#241:\[ r' = \frac{ \|{\boldsymbol R}\|_F }{\|{\boldsymbol X}\|_F } \]
+\form#242:$ p \in [0,1] $
+\form#243:$ F(x) = p $
+\form#244:$ \sup \{ x \in D \mid F(x) \leq p \} $
+\form#245:$ p < 0.5 $
+\form#246:$ \inf \{ x \in D \mid F(x) \geq p \} $
+\form#247:$ p \geq 0.5 $
+\form#248:$ D $
+\form#249:$ \mathbb R $
+\form#250:$ \mathbb N_0 $
+\form#251:$ x \in \mathbb N_0 $
+\form#252:$ F(x) < p < F(x + 1) $
+\form#253:$ x + 1 $
+\form#254:$ p < F(0) $
+\form#255:$p$
+\form#256:$ 1 - p $
+\form#257:$ > x $
+\form#258:$ \leq x $
+\form#259:$ \Pr[X \leq x] $
+\form#260:$ \mathit{sp} $
+\form#261:$ \mathit{sp} \in [0,1] $
+\form#262:$ f(x) $
+\form#263:$ f $
+\form#264:$ p \leq 1 - \mathit{sp} $
+\form#265:$ \alpha > 0 $
+\form#266:$ \beta > 0 $
+\form#267:$ p = \Pr[X \leq x] $
+\form#268:$ n \in \mathbb N_0 $
+\form#269:$ p \geq \Pr[X \leq x] $
+\form#270:$ p \leq \Pr[X \leq x] $
+\form#271:$ x_0 $
+\form#272:$ \gamma > 0 $
+\form#273:$ \gamma $
+\form#274:$ \nu > 0 $
+\form#275:$ \nu $
+\form#276:$ \mu > 0 $
+\form#277:$ \lambda > 0 $
+\form#278:$ \lambda $
+\form#279:$ \nu_1 > 0 $
+\form#280:$ \nu_1 $
+\form#281:$ \nu_2 $
+\form#282:$ k > 0 $
+\form#283:$ \theta > 0 $
+\form#284:$ r \in \{ 0, 1, \dots, N \} $
+\form#285:$ n \in \{ 0, 1, \dots, N \} $
+\form#286:$ N \in \mathbb N $
+\form#287:$ r, n, N $
+\form#288:$ \mu $
+\form#289:$ b > 0 $
+\form#290:$ 2 b^2 $
+\form#291:$ s > 0 $
+\form#292:$ s $
+\form#293:$ m $
+\form#294:$ r > 0 $
+\form#295:$ x + r $
+\form#296:$ \mathit{sp} \in (0,1] $
+\form#297:$ r, \mathit{sp} $
+\form#298:$ \delta \geq 0 $
+\form#299:$ shape_1 $
+\form#300:$ shape_2 $
+\form#301:$ \delta $
+\form#302:$ \lambda \geq 0 $
+\form#303:$ \nu_1, \nu_2, \lambda $
+\form#304:$ \sigma > 0 $
+\form#305:$ T $
+\form#306:$ \sigma^2 $
+\form#307:$ \sigma $
+\form#308:$ c \geq a $
+\form#309:$ b \geq c $
+\form#310:$ b > a $
+\form#311:$ a, b, c $
+\form#312:$ b $
+\form#313:$ [a, b] $
+\form#314:$m$
+\form#315:\[ S(\vec{c}) = B(\vec{c}) M(\vec{c}) B(\vec{c}) \]
+\form#316:\begin{eqnarray} B(\vec{c}) & = & \left(-\sum_{i=1}^{n} H(y_i, \vec{x}_i, \vec{c})\right)^{-1}\\ & = & \left(-\sum_{i=1}^{n}\frac{\partial^2 l(y_i, \vec{x}_i, \vec{c})}{\partial c_\alpha \partial c_\beta}\right)^{-1} \end{eqnarray}
+\form#317:$H$
+\form#318:\[ L(\vec{c}) = \sum_{i=1}^n l(y_i, \vec{x}_i, \vec{c})\ . \]
+\form#319:\[ M(\vec{c}) = \bf{A}^T\bf{A} \]
+\form#320:$\bf{A}$
+\form#321:\[ A_m = \sum_{i\in G_m}\frac{\partial l(y_i,\vec{x}_i,\vec{c})}{\partial \vec{c}} \]
+\form#322:$G_m$
+\form#323:$ {m_{k_1, j_0}, m_{k_1, j_1} \ldots m_{k_1, j_{J-1}}, m_{k_2, j_0}, m_{k_2, j_1} \ldots m_{k_K, j_{J-1}}} $
+\form#324:$ y $
+\form#325:$X^{*}X$
+\form#326:\[ E[Y \mid \boldsymbol x] = \boldsymbol c^T \boldsymbol x \]
+\form#327:\[ f(y \mid \boldsymbol x) = \frac{1}{\sqrt{2 \pi \sigma^2}} \cdot \exp\left(-\frac{1}{2 \sigma^2} \cdot (y - \boldsymbol x^T \boldsymbol c)^2 \right) \,. \]
+\form#328:$ \boldsymbol y \in \mathbf R^n $
+\form#329:$ X^T $
+\form#330:$ X^+ $
+\form#331:$ \sum_{i=1}^n \log f(y_i \mid \boldsymbol x_i) $
+\form#332:$ RSS $
+\form#333:\[ RSS = \sum_{i=1}^n ( y_i - \boldsymbol c^T \boldsymbol x_i )^2 = (\boldsymbol y - X \boldsymbol c)^T (\boldsymbol y - X \boldsymbol c) \,. \]
+\form#334:\[ \boldsymbol c = (X^T X)^+ X^T \boldsymbol y \,. \]
+\form#335:$ TSS $
+\form#336:$ ESS $
+\form#337:$ R^2 $
+\form#338:\begin{align*} ESS & = \boldsymbol y^T X \boldsymbol c - \frac{ \| y \|_1^2 }{n} \\ TSS & = \sum_{i=1}^n y_i^2 - \frac{ \| y \|_1^2 }{n} \\ R^2 & = \frac{ESS}{TSS} \end{align*}
+\form#339:$ R^2 = 1 - \frac{RSS}{TSS} $
+\form#340:$ TSS = RSS + ESS $
+\form#341:$ Var[Y - \boldsymbol c^T \boldsymbol x \mid \boldsymbol x] $
+\form#342:\[ \sigma^2 = \frac{RSS}{n - k} \]
+\form#343:\[ t_i = \frac{c_i}{\sqrt{\sigma^2 \cdot \left( (X^T X)^{-1} \right)_{ii} }} \,. \]
+\form#344:$ F_\nu $
+\form#345:\[ p_i = \Pr(|T| \geq |t_i|) = 2 \cdot (1 - F_{n - k}( |t_i| )) \]
+\form#346:$ \kappa(X) = \|X\|_2\cdot\|X^{-1}\|_2$
+\form#347:$X$
+\form#348:\[ \|X\|_2 = \sqrt{\lambda_{\max}\left(X^{*}X\right)}\ , \]
+\form#349:$X^{*}$
+\form#350:$ \mathit{se}(c_1), \dots, \mathit{se}(c_k) $
+\form#351:$ \boldsymbol t $
+\form#352:$ \boldsymbol p $
+\form#353:$ X^T X $
+\form#354:$ Y \in \{ 0,1 \} $
+\form#355:$ \boldsymbol y \in \{ 0,1 \}^n $
+\form#356:\[ P[Y = y_i | \boldsymbol x_i] = \sigma((-1)^{(1 - y_i)} \cdot \boldsymbol c^T \boldsymbol x_i) \,. \]
+\form#357:\[ l(\boldsymbol c) = -\sum_{i=1}^n \log(1 + \exp((-1)^{(1 - y_i)} \cdot \boldsymbol c^T \boldsymbol x_i)) \,. \]
+\form#358:$ \boldsymbol z $
+\form#359:$ \mathit{odds}(c_1), \dots, \mathit{odds}(c_k) $
+\form#360:$ X^T A X $
+\form#361:$ \frac{1}{1 + \exp(-x)} $
+\form#362:$ \exp(x) $
+\form#363:$ 2^{-1074} $
+\form#364:$ (1 + (1 - 2^{52})) * 2^{1023}) $
+\form#365:$ 1 + \exp(x) $
+\form#366:$ 2^{-52} $
+\form#367:$X_k$
+\form#368:$y \in \{0, 1\} $
+\form#369:\[ y = G(X' \beta), \]
+\form#370:$ G $
+\form#371:\[ P = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \dots \beta_j x_j)}} = \frac{1}{1 + e^{-z}} \implies \frac{\partial P}{\partial X_k} = \beta_k \cdot \frac{1}{1 + e^{-z}} \cdot \frac{e^{-z}}{1 + e^{-z}} \\ = \beta_k \cdot P \cdot (1-P) \]
+\form#372:\[ \frac{\partial y}{\partial x_k} = \beta_k \frac{\sum_{i=1}^n P(y_i = 1)(1-P(y_i = 1))}{n}, \\ \text{where}, P(y_i=1) = g(X^{(i)}\beta) \]
+\form#373:\[ S( \boldsymbol c) = B( \boldsymbol c) M( \boldsymbol c) B( \boldsymbol c) \]
+\form#374:$ B( \boldsymbol c)$
+\form#375:$ M( \boldsymbol c)$
+\form#376:$ B( \boldsymbol c) $
+\form#377:\[ B( \boldsymbol c) = n\left(\sum_i^n -H(y_i, x_i, \boldsymbol c) \right)^{-1} \]
+\form#378:\[ M_{H} =\frac{1}{n} \sum_i^n \psi(y_i,x_i, \boldsymbol c)^T \psi(y_i,x_i, \boldsymbol c). \]
+\form#379:$ M( \boldsymbol c) $
+\form#380:$M $
+\form#381:$ (ij) $
+\form#382:$ \boldsymbol n $
+\form#383:$ \boldsymbol m $
+\form#384:$ \boldsymbol n \times m $
+\form#385:$ \boldsymbol \beta $
+\form#386:$ \boldsymbol t \in \mathbf R^{m} $
+\form#387:$ X \in \mathbf R^{m} $
+\form#388:$ R(t_i) $
+\form#389:$ t_i $
+\form#390:\[ P[T_k = t_i | \boldsymbol R(t_i)] = \frac{e^{\beta^T x_k} }{ \sum_{j \in R(t_i)} e^{\beta^T x_j}}. \,. \]
+\form#391:\[ \mathcal L = \prod_{i = 1}^n \left( \frac{e^{\beta^T x_i}}{ \sum_{j \in R(t_i)} e^{\beta^T x_j}} \right). \]
+\form#392:\[ L = \sum_{i = 1}^n \left[ \beta^T x_i - \log\left(\sum_{j \in R(t_i)} e^{\beta^T x_j }\right) \right]. \]
+\form#393:\[ \mathit{se}(c_i) = \left( (H)^{-1} \right)_{ii} \,. \]
+\form#394:$ \kappa(H) $
+\form#395:$(10^8 / m)$
+\form#396:$l(\boldsymbol \beta)$
+\form#397:$ H_0 $
+\form#398:$ H_1 $
+\form#399:$ \Gamma $
+\form#400:$ \gamma_0 \in \Gamma_0 $
+\form#401:$ \Gamma_0 \subsetneq \Gamma $
+\form#402:$ \Gamma_0 $
+\form#403:$ X_1, \dots, X_n \sim N(\mu, \sigma^2) $
+\form#404:$ H_0 : \mu \leq 0 $
+\form#405:$ H_0 : \mu = 0 $
+\form#406:$ \bar x $
+\form#407:$ s^2 $
+\form#408:\[ t = \frac{\sqrt n \cdot \bar x}{s} \]
+\form#409:$ (n - 1) $
+\form#410:$ \Pr[\bar X \geq \bar x \mid \mu = 0] $
+\form#411:$ \Pr[\bar X \geq \bar x \mid \mu \leq 0] $
+\form#412:$ \Pr[ |\bar X| \geq |\bar x| \mid \mu = 0] $
+\form#413:$ \mu_0 $
+\form#414:$ y_1, \dots, y_m $
+\form#415:$ X_1, \dots, X_n \sim N(\mu_X, \sigma^2) $
+\form#416:$ Y_1, \dots, Y_m \sim N(\mu_Y, \sigma^2) $
+\form#417:$ \mu_X, \mu_Y, $
+\form#418:$ H_0 : \mu_X \leq \mu_Y $
+\form#419:$ H_0 : \mu_X = \mu_Y $
+\form#420:$ \bar x, \bar y $
+\form#421:$ s_X^2, s_Y^2 $
+\form#422:\[ t = \frac{\bar x - \bar y}{s_p \sqrt{1/n + 1/m}} \]
+\form#423:\[ s_p^2 = \frac{\sum_{i=1}^n (x_i - \bar x)^2 + \sum_{i=1}^m (y_i - \bar y)^2} {n + m - 2} \]
+\form#424:$ (n + m - 2) $
+\form#425:$ \Pr[\bar X - \bar Y \geq \bar x - \bar y \mid \mu_X = \mu_Y] $
+\form#426:$ \Pr[\bar X - \bar Y \geq \bar x - \bar y \mid \mu_X \leq \mu_Y] $
+\form#427:$ \Pr[ |\bar X - \bar Y| \geq |\bar x - \bar y| \mid \mu_X = \mu_Y] $
+\form#428:$ X_1, \dots, X_n \sim N(\mu_X, \sigma_X^2) $
+\form#429:$ Y_1, \dots, Y_m \sim N(\mu_Y, \sigma_Y^2) $
+\form#430:$ \mu_X, \mu_Y, \sigma_X^2, $
+\form#431:$ \sigma_Y^2 $
+\form#432:\[ t = \frac{\bar x - \bar y}{\sqrt{s_X^2/n + s_Y^2/m}} \]
+\form#433:\[ \frac{(s_X^2 / n + s_Y^2 / m)^2}{(s_X^2 / n)^2/(n-1) + (s_Y^2 / m)^2/(m-1)} \]
+\form#434:$ x_1, \dots, x_m $
+\form#435:$ y_1, \dots, y_n $
+\form#436:$ X_1, \dots, X_m \sim N(\mu_X, \sigma^2) $
+\form#437:$ Y_1, \dots, Y_n \sim N(\mu_Y, \sigma^2) $
+\form#438:$ H_0 : \sigma_X < \sigma_Y $
+\form#439:$ H_0 : \sigma_X = \sigma_Y $
+\form#440:\[ f = \frac{s_Y^2}{s_X^2} \]
+\form#441:$ (m - 1) $
+\form#442:$ \Pr[F \geq f \mid \sigma_X = \sigma_Y] $
+\form#443:$ \Pr[F \geq f \mid \sigma_X \leq \sigma_Y] $
+\form#444:$ 2 \cdot \min \{ p, 1 - p \} $
+\form#445:$ p = \Pr[ F \geq f \mid \sigma_X = \sigma_Y] $
+\form#446:$ n_1, \dots, n_k $
+\form#447:$ N = (N_1, \dots, N_k) $
+\form#448:$ p = (p_1, \dots, p_k) $
+\form#449:$ H_0 : p = p^0 $
+\form#450:$ n_i $
+\form#451:$ p^0_i $
+\form#452:$ p^0 = (\frac 1k, \dots, \frac 1k) $
+\form#453:$ (k - 1) $
+\form#454:$ n = \sum_{i=1}^n n_i $
+\form#455:\[ \chi^2 = \sum_{i=1}^k \frac{(n_i - np_i)^2}{np_i} \]
+\form#456:$ \Pr[X^2 \geq \chi^2 \mid p = p^0] $
+\form#457:$ \phi = \sqrt{\frac{\chi^2}{n}} $
+\form#458:$ \sqrt{\frac{\chi^2}{n + \chi^2}} $
+\form#459:$ X_1, \dots, X_m $
+\form#460:$ Y_1, \dots, Y_n $
+\form#461:$ F_X, F_Y $
+\form#462:$ H_0 : F_X = F_Y $
+\form#463:\[ d = \max_{t \in \mathbb R} |F_x(t) - F_y(t)| \]
+\form#464:$ F_x(t) := \frac 1m |\{ i \mid x_i \leq t \}| $
+\form#465:$ F_y $
+\form#466:$ k = (r + 0.12 + \frac{0.11}{r}) \cdot d $
+\form#467:$ r = \sqrt{\frac{m n}{m+n}}. $
+\form#468:$ d $
+\form#469:$ \Pr[D \geq d \mid F_X = F_Y] $
+\form#470:$ H_0 : \forall i,j: \Pr[X_i > Y_j] + \frac{\Pr[X_i = Y_j]}{2} = \frac 12 $
+\form#471:\[ z = \frac{u - \bar x}{\sqrt{\frac{mn(m+n+1)}{12}}} \]
+\form#472:$ u $
+\form#473:$ u = \min \{ u_x, u_y \} $
+\form#474:\[ u_x = mn + \binom{m+1}{2} - \sum_{i=1}^m r_{x,i} \]
+\form#475:\[ r_{x,i} = \{ j \mid x_j < x_i \} + \{ j \mid y_j < x_i \} + \frac{\{ j \mid x_j = x_i \} + \{ j \mid y_j = x_i \} + 1}{2} \]
+\form#476:$ m+n $
+\form#477:$ \Pr[Z \geq z \mid H_0] $
+\form#478:$ \Pr[|Z| \geq |z| \mid H_0] $
+\form#479:$ X_1, \dots, X_n $
+\form#480:$ \epsilon_i $
+\form#481:$ v_i $
+\form#482:$ v_{i-1} $
+\form#483:$ v_i - \epsilon_i \leq \max_{j=1, \dots, i-1} v_j + \epsilon_j $
+\form#484:$ w^+ = \sum_{i \mid x_i > 0} r_i $
+\form#485:$ w^- = \sum_{i \mid x_i < 0} r_i $
+\form#486:\[ r_i = \{ j \mid |x_j| < |x_i| \} + \frac{\{ j \mid |x_j| = |x_i| \} + 1}{2}. \]
+\form#487:$ w = \min \{ w^+, w^- \} $
+\form#488:$ w^+ $
+\form#489:$ w^- $
+\form#490:\[ z = \frac{w^+ - \frac{n(n+1)}{4}} {\sqrt{\frac{n(n+1)(2n+1)}{24} - \sum_{i=1}^n \frac{t_i^2 - 1}{48}}} \]
+\form#491:$ |x_i| $
+\form#492:$ \Pr[Z \geq z \mid \mu \leq 0] $
+\form#493:$ \Pr[ |Z| \geq |z| \mid \mu = 0] $
+\form#494:$ x_{1,1}, \dots, x_{1, n_1}, x_{2,1}, \dots, x_{2,n_2}, \dots, x_{k,n_k} $
+\form#495:$ X_{i,j} \sim N(\mu_i, \sigma^2) $
+\form#496:$ \mu_1, \dots, \mu_k $
+\form#497:$ H_0 : \mu_1 = \dots = \mu_k $
+\form#498:$ x_{i,j} $
+\form#499:$ n := \sum_{i=1}^k n_i $
+\form#500:$ \overline{x_i} $
+\form#501:$ s_i^2 $
+\form#502:$ \mathit{SS}_b = \sum_{i=1}^k n_i (\overline{x_i} - \bar x)^2. $
+\form#503:$ \mathit{SS}_w = \sum_{i=1}^k (n_i - 1) s_i^2. $
+\form#504:$ (k-1) $
+\form#505:$ (n-k) $
+\form#506:$ s_b^2 := \frac{\mathit{SS}_b}{k-1} $
+\form#507:$ s_w^2 := \frac{\mathit{SS}_w}{n-k} $
+\form#508:\[ f = \frac{s_b^2}{s_w^2}. \]
+\form#509:$ \Pr[ F \geq f \mid H_0] $
+\form#510:$\textit{tp}$
+\form#511:$\textit{tn}$
+\form#512:$\textit{fp}$
+\form#513:$\textit{fn}$
+\form#514:$\textit{tpr}=\textit{tp}/(\textit{tp}+\textit{fn})$
+\form#515:$\textit{tnr}=\textit{tn}/(\textit{fp}+\textit{tn})$
+\form#516:$\textit{ppv}=\textit{tp}/(\textit{tp}+\textit{fp})$
+\form#517:$\textit{npv}=\textit{tn}/(\textit{tn}+\textit{fn})$
+\form#518:$\textit{fpr}=\textit{fp}/(\textit{fp}+\textit{tn})$
+\form#519:$\textit{fdr}=1-\textit{ppv}$
+\form#520:$\textit{fnr}=\textit{fn}/(\textit{fn}+\textit{tp})$
+\form#521:$\textit{acc}=(\textit{tp}+\textit{tn})/(\textit{tp}+\textit{tn}+\textit{fp} +\textit{fn})$
+\form#522:$\textit{f1}=2*\textit{tp}/(2*\textit{tp}+\textit{fp}+\textit{fn})$
+\form#523:$\gamma$
+\form#524:$\exp(-\gamma||x-y||^2)$
+\form#525:$q$
+\form#526:$ (\langle x,y\rangle + q)^r $
+\form#527:$r$
+\form#528:$\epsilon$
+\form#529:\[ \underset{w,b}{\text{Minimize }} \lambda||w||^2 + \frac{1}{n}\sum_{i=1}^n \ell(y_i,f_{w,b}(x_i)) \]
+\form#530:$(x_1,y_1),\ldots,(x_n,y_n)$
+\form#531:$\ell(y,f(x))$
+\form#532:$\ell(y,f(x)) = \max(0,1-yf(x))$
+\form#533:$\ell(y,f(x)) = \max(0,|y-f(x)|-\epsilon)$
+\form#534:$ f_{w,b}(x) = \langle w, x\rangle + b$
+\form#535:\[ (1 - \phi(B)) Y_t = (1 + \theta(B)) Z_t, \]
+\form#536:$ t $
+\form#537:$ 1 $
+\form#538:$ X_t $
+\form#539:$ q $
+\form#540:$ \phi(B) $
+\form#541:$ \theta(B) $
+\form#542:$ Y_{t} $
+\form#543:$ Y_{t} = (1-B)^{d}(X_{t} - \mu) $
+\form#544:$ d>0 $
+\form#545:$ Z_t $
+\form#546:\[ \phi(B) Y_t= \phi_1 Y_{t-1} + \dots + \phi_{p} Y_{t-p} \]
+\form#547:\[ \theta(B) Z_t = \theta_{1} Z_{t-1} + \dots + \theta_{q} Z_{t-q}. \]
+\form#548:$\tau, \epsilon_1, \epsilon_2, \epsilon_3,$


[38/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_9d92da3085fea9988335208d7a790048.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_9d92da3085fea9988335208d7a790048.html b/docs/v1.11/dir_9d92da3085fea9988335208d7a790048.html
new file mode 100644
index 0000000..d0ef43b
--- /dev/null
+++ b/docs/v1.11/dir_9d92da3085fea9988335208d7a790048.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: src Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_9d92da3085fea9988335208d7a790048.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">src Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_e2aaed6e1ab0079c9b997d45b783e833"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_e2aaed6e1ab0079c9b997d45b783e833.html">pg_gp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_25068098bc33cf5efdba96ef1f982a7e.html">svec_util</a></li><li class="navelem"><a class="el" href="dir_9d92da3085fea9988335208d7a790048.html">src</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_a032ee23f15d1a44cef6aabd495d0b57.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_a032ee23f15d1a44cef6aabd495d0b57.html b/docs/v1.11/dir_a032ee23f15d1a44cef6aabd495d0b57.html
new file mode 100644
index 0000000..d9258e3
--- /dev/null
+++ b/docs/v1.11/dir_a032ee23f15d1a44cef6aabd495d0b57.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: bayes Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_a032ee23f15d1a44cef6aabd495d0b57.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">bayes Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:bayes_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html">bayes.sql_in</a></td></tr>
+<tr class="memdesc:bayes_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for naive Bayes. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_a032ee23f15d1a44cef6aabd495d0b57.html">bayes</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_a3ac5584feaaa1368115abd5f91b8e22.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_a3ac5584feaaa1368115abd5f91b8e22.html b/docs/v1.11/dir_a3ac5584feaaa1368115abd5f91b8e22.html
new file mode 100644
index 0000000..4fc56ba
--- /dev/null
+++ b/docs/v1.11/dir_a3ac5584feaaa1368115abd5f91b8e22.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: array_ops Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_a3ac5584feaaa1368115abd5f91b8e22.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">array_ops Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_a84a9848deb14f7db801b07ed9e6c67a"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_a84a9848deb14f7db801b07ed9e6c67a.html">src</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_a3ac5584feaaa1368115abd5f91b8e22.html">array_ops</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_a84a9848deb14f7db801b07ed9e6c67a.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_a84a9848deb14f7db801b07ed9e6c67a.html b/docs/v1.11/dir_a84a9848deb14f7db801b07ed9e6c67a.html
new file mode 100644
index 0000000..b4f9d6d
--- /dev/null
+++ b/docs/v1.11/dir_a84a9848deb14f7db801b07ed9e6c67a.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: src Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_a84a9848deb14f7db801b07ed9e6c67a.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">src Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_236d722cd8d4ab3240cfd6a99711293a"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_236d722cd8d4ab3240cfd6a99711293a.html">pg_gp</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_a3ac5584feaaa1368115abd5f91b8e22.html">array_ops</a></li><li class="navelem"><a class="el" href="dir_a84a9848deb14f7db801b07ed9e6c67a.html">src</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_b6a04cbbf19cfc3536564b9928d4f3dc.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_b6a04cbbf19cfc3536564b9928d4f3dc.html b/docs/v1.11/dir_b6a04cbbf19cfc3536564b9928d4f3dc.html
new file mode 100644
index 0000000..15ff425
--- /dev/null
+++ b/docs/v1.11/dir_b6a04cbbf19cfc3536564b9928d4f3dc.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: src Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_b6a04cbbf19cfc3536564b9928d4f3dc.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">src Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_71a41f8b7207fbbc465a4e4d95589314"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_b7ca6e41845bddf70a4061187a1f214f.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_b7ca6e41845bddf70a4061187a1f214f.html b/docs/v1.11/dir_b7ca6e41845bddf70a4061187a1f214f.html
new file mode 100644
index 0000000..990a3c0
--- /dev/null
+++ b/docs/v1.11/dir_b7ca6e41845bddf70a4061187a1f214f.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: sample Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_b7ca6e41845bddf70a4061187a1f214f.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">sample Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:sample_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sample_8sql__in.html">sample.sql_in</a></td></tr>
+<tr class="memdesc:sample_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for random sampling. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_b7ca6e41845bddf70a4061187a1f214f.html">sample</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_b998f480c2a1ce193973609b6fed532a.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_b998f480c2a1ce193973609b6fed532a.html b/docs/v1.11/dir_b998f480c2a1ce193973609b6fed532a.html
new file mode 100644
index 0000000..4fc5872
--- /dev/null
+++ b/docs/v1.11/dir_b998f480c2a1ce193973609b6fed532a.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: prob Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_b998f480c2a1ce193973609b6fed532a.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">prob Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:prob_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="prob_8sql__in.html">prob.sql_in</a></td></tr>
+<tr class="memdesc:prob_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for evaluating probability functions. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_b998f480c2a1ce193973609b6fed532a.html">prob</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_bae1ff22d939d9eb42c7df1d0670bc94.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_bae1ff22d939d9eb42c7df1d0670bc94.html b/docs/v1.11/dir_bae1ff22d939d9eb42c7df1d0670bc94.html
new file mode 100644
index 0000000..45d6b3e
--- /dev/null
+++ b/docs/v1.11/dir_bae1ff22d939d9eb42c7df1d0670bc94.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: postgres Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_bae1ff22d939d9eb42c7df1d0670bc94.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">postgres Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_4ce76aedc0a361354a0cdf298ef8a21b"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_c312182b450ff3f70c9f0767949573f6.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_c312182b450ff3f70c9f0767949573f6.html b/docs/v1.11/dir_c312182b450ff3f70c9f0767949573f6.html
new file mode 100644
index 0000000..d42b292
--- /dev/null
+++ b/docs/v1.11/dir_c312182b450ff3f70c9f0767949573f6.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: svm Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_c312182b450ff3f70c9f0767949573f6.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">svm Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:svm_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svm_8sql__in.html">svm.sql_in</a></td></tr>
+<tr class="memdesc:svm_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for SVM (Poisson) <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_c312182b450ff3f70c9f0767949573f6.html">svm</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_cb710ad19fe91decef89dbd466e543db.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_cb710ad19fe91decef89dbd466e543db.html b/docs/v1.11/dir_cb710ad19fe91decef89dbd466e543db.html
new file mode 100644
index 0000000..f6af590
--- /dev/null
+++ b/docs/v1.11/dir_cb710ad19fe91decef89dbd466e543db.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: pg_gp Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_cb710ad19fe91decef89dbd466e543db.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">pg_gp Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:sketch_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sketch_8sql__in.html">sketch.sql_in</a></td></tr>
+<tr class="memdesc:sketch_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for sketch-based approximations of descriptive statistics. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_9805c440171e66ba1bda146b355dfe51.html">sketch</a></li><li class="navelem"><a class="el" href="dir_7826d1d18040ad5cc29c8c0a0584577d.html">src</a></li><li class="navelem"><a class="el" href="dir_cb710ad19fe91decef89dbd466e543db.html">pg_gp</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_ce146fe66af6ab0fb08bd3845fb9f804.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_ce146fe66af6ab0fb08bd3845fb9f804.html b/docs/v1.11/dir_ce146fe66af6ab0fb08bd3845fb9f804.html
new file mode 100644
index 0000000..75746e6
--- /dev/null
+++ b/docs/v1.11/dir_ce146fe66af6ab0fb08bd3845fb9f804.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: elastic_net Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_ce146fe66af6ab0fb08bd3845fb9f804.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">elastic_net Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:elastic__net_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="elastic__net_8sql__in.html">elastic_net.sql_in</a></td></tr>
+<tr class="memdesc:elastic__net_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for elastic net regularization. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_ce146fe66af6ab0fb08bd3845fb9f804.html">elastic_net</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_d0ff1bc8be395d65672549993d82a3c0.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_d0ff1bc8be395d65672549993d82a3c0.html b/docs/v1.11/dir_d0ff1bc8be395d65672549993d82a3c0.html
new file mode 100644
index 0000000..fbf1a0d
--- /dev/null
+++ b/docs/v1.11/dir_d0ff1bc8be395d65672549993d82a3c0.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: pg_gp Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_d0ff1bc8be395d65672549993d82a3c0.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">pg_gp Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:porter__stemmer_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="porter__stemmer_8sql__in.html">porter_stemmer.sql_in</a></td></tr>
+<tr class="memdesc:porter__stemmer_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">implementation of porter stemmer operations in SQL <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_0f3d836a779dde44bc18fb3c10f3236b.html">stemmer</a></li><li class="navelem"><a class="el" href="dir_8e2b1b33327b47bbc574e11f1a03404a.html">src</a></li><li class="navelem"><a class="el" href="dir_d0ff1bc8be395d65672549993d82a3c0.html">pg_gp</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_d79f036e19ca50f1361675a4687317bc.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_d79f036e19ca50f1361675a4687317bc.html b/docs/v1.11/dir_d79f036e19ca50f1361675a4687317bc.html
new file mode 100644
index 0000000..555e3e3
--- /dev/null
+++ b/docs/v1.11/dir_d79f036e19ca50f1361675a4687317bc.html
@@ -0,0 +1,133 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: linear_systems Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_d79f036e19ca50f1361675a4687317bc.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">linear_systems Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:dense__linear__systems_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dense__linear__systems_8sql__in.html">dense_linear_systems.sql_in</a></td></tr>
+<tr class="memdesc:dense__linear__systems_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for linear systems. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sparse__linear__systems_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sparse__linear__systems_8sql__in.html">sparse_linear_systems.sql_in</a></td></tr>
+<tr class="memdesc:sparse__linear__systems_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for linear systems. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_d79f036e19ca50f1361675a4687317bc.html">linear_systems</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>



[18/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__pred.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__pred.html b/docs/v1.11/group__grp__pred.html
new file mode 100644
index 0000000..ac5aaa4
--- /dev/null
+++ b/docs/v1.11/group__grp__pred.html
@@ -0,0 +1,359 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Prediction Metrics</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__pred.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Prediction Metrics<div class="ingroups"><a class="el" href="group__grp__mdl.html">Model Evaluation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#list">List of Prediction Metric Functions</a> </li>
+<li>
+<a href="#specs">Function Specific Details</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>This module provides a set of metrics to evaluate the quality of predictions of a model. A typical function will take a set of "prediction" and "observation" values and use them to calculate the desired metric, unless noted otherwise. Grouping is supported for all functions (except confusion matrix).</p>
+<p><a class="anchor" id="list"></a></p><dl class="section user"><dt>Prediction Metrics Functions</dt><dd><table class="output">
+<tr>
+<th>mean_abs_error(table_in, table_out, prediction_col, observed_col, grouping_cols)</th><td>Mean absolute error  </td></tr>
+<tr>
+<th>mean_abs_perc_error(table_in, table_out, prediction_col, observed_col, grouping_cols)</th><td>Mean absolute percentage error  </td></tr>
+<tr>
+<th>mean_perc_error(table_in, table_out, prediction_col, observed_col, grouping_cols)</th><td>Mean percentage error  </td></tr>
+<tr>
+<th>mean_squared_error(table_in, table_out, prediction_col, observed_col, grouping_cols)</th><td>Mean squared error </td></tr>
+<tr>
+<th>r2_score(table_in, table_out, prediction_col, observed_col, grouping_cols)</th><td>R-squared  </td></tr>
+<tr>
+<th>adjusted_r2_score(table_in, table_out, prediction_col, observed_col, num_predictors, training_size, grouping_cols)</th><td>Adjusted R-squared  </td></tr>
+<tr>
+<th>binary_classifier(table_in, table_out, prediction_col, observed_col, grouping_cols)</th><td>Collection of prediction metrics related to binary classification </td></tr>
+<tr>
+<th>area_under_roc(table_in, table_out, prediction_col, observed_col, grouping_cols)</th><td>Area under the ROC curve (in binary classification)  </td></tr>
+<tr>
+<th>confusion_matrix(table_in, table_out, prediction_col, observed_col, grouping_cols)</th><td>Confusion matrix for a multi-class classifier  </td></tr>
+</table>
+</dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>table_in </dt>
+<dd>TEXT. Name of the input table. </dd>
+<dt>table_out </dt>
+<dd>TEXT. Name of the output table. For consistency, a table is created for all metric outputs even when grouping is not used, which may mean there is only a single value in the output table in some cases.  </dd>
+<dt>prediction_col </dt>
+<dd>TEXT. Name of the column of predicted values from input table. </dd>
+<dt>observed_col </dt>
+<dd>TEXT. Name of the column of observed values from input table. </dd>
+<dt>num_predictors (for adjusted R-squared score only) </dt>
+<dd>INTEGER. The number of parameters in the predicting model, not counting the constant term. </dd>
+<dt>training_size (for adjusted R-squared score only) </dt>
+<dd>INTEGER. The number of rows used for training, excluding any NULL rows. </dd>
+<dt>grouping_cols (optional) </dt>
+<dd>TEXT, default: NULL. Name of the column of grouping values from input table. </dd>
+</dl>
+<p><a class="anchor" id="specs"></a></p><dl class="section user"><dt>Function Specific Details</dt><dd></dd></dl>
+<p><b>R-squared Score</b></p>
+<p>This function returns the coefficient of determination (R2) between the predicted and observed values. An R2 of 1 indicates that the regression line perfectly fits the data, while an R2 of 0 indicates that the line does not fit the data at all. Negative values of R2 may occur when fitting non-linear functions to data. Please refer to reference <a href="#r2">[1]</a> for more details.</p>
+<p><b>Adjusted R-squared Score</b></p>
+<p>This function returns the adjusted R2 score in addition to the R-squared score described above. Adjusted R2 score is used to counter the problem of the R2 automatically increasing when extra explanatory variables are added to the model. It takes two additional parameters describing the degrees of freedom of the model (num_predictors) and the size of the training set over which it was developed (training_size):</p>
+<ul>
+<li>num_predictors: Indicates the number of parameters the model has other than the constant term. For example, if it is set to '3' the model may take the following form as an example: 7 + 5x + 39y + 0.91z.</li>
+<li>training_size: Indicates the number of rows in the training set (excluding any NULL rows).</li>
+</ul>
+<p>Neither of these arguments can be deduced from the predicted values and the test data alone which is why they are explicit inputs. Please refer to reference <a href="#r2">[1]</a> for more details.</p>
+<p><a class="anchor" id="bc"></a><b>Binary Classification</b></p>
+<p>This function returns an output table with a number of metrics commonly used in binary classification.</p>
+<p>The definitions of the various metrics are as follows:</p>
+<ul>
+<li><img class="formulaInl" alt="$\textit{tp}$" src="form_510.png"/> is the count of correctly-classified positives.</li>
+<li><img class="formulaInl" alt="$\textit{tn}$" src="form_511.png"/> is the count of correctly-classified negatives.</li>
+<li><img class="formulaInl" alt="$\textit{fp}$" src="form_512.png"/> is the count of misclassified negatives.</li>
+<li><img class="formulaInl" alt="$\textit{fn}$" src="form_513.png"/> is the count of misclassified positives.</li>
+<li><img class="formulaInl" alt="$\textit{tpr}=\textit{tp}/(\textit{tp}+\textit{fn})$" src="form_514.png"/>.</li>
+<li><img class="formulaInl" alt="$\textit{tnr}=\textit{tn}/(\textit{fp}+\textit{tn})$" src="form_515.png"/>.</li>
+<li><img class="formulaInl" alt="$\textit{ppv}=\textit{tp}/(\textit{tp}+\textit{fp})$" src="form_516.png"/>.</li>
+<li><img class="formulaInl" alt="$\textit{npv}=\textit{tn}/(\textit{tn}+\textit{fn})$" src="form_517.png"/>.</li>
+<li><img class="formulaInl" alt="$\textit{fpr}=\textit{fp}/(\textit{fp}+\textit{tn})$" src="form_518.png"/>.</li>
+<li><img class="formulaInl" alt="$\textit{fdr}=1-\textit{ppv}$" src="form_519.png"/>.</li>
+<li><img class="formulaInl" alt="$\textit{fnr}=\textit{fn}/(\textit{fn}+\textit{tp})$" src="form_520.png"/>.</li>
+<li><img class="formulaInl" alt="$\textit{acc}=(\textit{tp}+\textit{tn})/(\textit{tp}+\textit{tn}+\textit{fp} +\textit{fn})$" src="form_521.png"/>.</li>
+<li><img class="formulaInl" alt="$\textit{f1}=2*\textit{tp}/(2*\textit{tp}+\textit{fp}+\textit{fn})$" src="form_522.png"/>.</li>
+</ul>
+<p><b>Area Under ROC Curve</b></p>
+<p>This function returns the area under the Receiver Operating Characteristic curve for binary classification (the AUC). The ROC curve is the curve relating the classifier's TPR and FPR metrics. (See <a href="#bc">Binary Classification</a> above for a definition of these metrics). Please refer to reference <a href="#aoc">[2]</a> for more details. Note that the binary classification function can be used to obtain the data (TPR and FPR values) required for drawing the ROC curve.</p>
+<dl class="section note"><dt>Note</dt><dd>For 'binary_classifier' and 'area_under_roc' functions:<ul>
+<li>The 'observed_col' column is assumed to be a numeric column with two values: 0 and 1, or a Boolean column. For the purposes of the metric calculation, 0 is considered to be negative and 1 to be positive.</li>
+<li>The 'pred_col' column is expected to contain numeric values corresponding to likelihood/probability. A larger value corresponds to greater certainty that the observed value will be '1', and a lower value corresponds to a greater certainty that it will be '0'.</li>
+</ul>
+</dd></dl>
+<p><b>Confusion Matrix</b></p>
+<p>This function returns the confusion matrix of a multi-class classification. Each column of the matrix represents the instances in a predicted class while each row represents the instances in an actual class. This allows more detailed analysis than mere proportion of correct guesses (accuracy). Please refer to the reference <a href="#cm">[3]</a> for more details. Please note that grouping is not supported for the confusion matrix.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Create the sample data: <pre class="example">
+DROP TABLE IF EXISTS test_set;
+CREATE TABLE test_set(
+                  pred FLOAT8,
+                  obs FLOAT8
+                );
+INSERT INTO test_set VALUES
+  (37.5,53.1), (12.3,34.2), (74.2,65.4), (91.1,82.1);
+</pre></li>
+<li>Run the Mean Absolute Error function: <pre class="example">
+DROP TABLE IF EXISTS table_out;
+SELECT madlib.mean_abs_error( 'test_set', 'table_out', 'pred', 'obs');
+SELECT * FROM table_out;
+</pre> Result <pre class="result">
+ mean_abs_error
+&#160;----------------
+         13.825
+</pre></li>
+<li>Run the Mean Absolute Percentage Error function: <pre class="example">
+DROP TABLE IF EXISTS table_out;
+SELECT madlib.mean_abs_perc_error( 'test_set', 'table_out', 'pred', 'obs');
+SELECT * FROM table_out;
+</pre> Result <pre class="result">
+ mean_abs_perc_error
+&#160;---------------------
+   0.294578793636013
+</pre></li>
+<li>Run the Mean Percentage Error function: <pre class="example">
+DROP TABLE IF EXISTS table_out;
+SELECT madlib.mean_perc_error( 'test_set', 'table_out', 'pred', 'obs');
+SELECT * FROM table_out;
+</pre> Result <pre class="result">
+ mean_perc_error
+&#160;-------------------
+   -0.17248930032771
+</pre></li>
+<li>Run the Mean Squared Error function: <pre class="example">
+DROP TABLE IF EXISTS table_out;
+SELECT madlib.mean_squared_error( 'test_set', 'table_out', 'pred', 'obs');
+SELECT * FROM table_out;
+</pre> Result <pre class="result">
+ mean_squared_error
+&#160;--------------------
+   220.3525
+</pre></li>
+<li>Run the R2 Score function: <pre class="example">
+DROP TABLE IF EXISTS table_out;
+SELECT madlib.r2_score( 'test_set', 'table_out', 'pred', 'obs');
+SELECT * FROM table_out;
+</pre> Result <pre class="result">
+ r2_score
+&#160;------------------------
+   0.27992908844337695865
+</pre></li>
+<li>Run the Adjusted R2 Score function: <pre class="example">
+DROP TABLE IF EXISTS table_out;
+SELECT madlib.adjusted_r2_score( 'test_set', 'table_out', 'pred', 'obs', 3, 100);
+SELECT * FROM table_out;
+</pre> Result <pre class="result">
+       r2_score      | adjusted_r2_score 
+&#160;--------------------+------------------
+   0.279929088443375 | 0.257426872457231
+</pre></li>
+<li>Create the sample data for binary classifier metrics: <pre class="example">
+DROP TABLE IF EXISTS test_set;
+CREATE TABLE test_set AS
+    SELECT ((a*8)::integer)/8.0 pred,
+        ((a*0.5+random()*0.5)&gt;0.5) obs
+    FROM (select random() as a from generate_series(1,100)) x;
+</pre></li>
+<li>Run the Binary Classifier metrics function: <pre class="example">
+DROP TABLE IF EXISTS table_out;
+SELECT madlib.binary_classifier( 'test_set', 'table_out', 'pred', 'obs');
+</pre></li>
+<li>View the True Positive Rate and the False Positive Rate: <pre class="example">
+SELECT threshold, tpr, fpr FROM table_out ORDER BY threshold;
+</pre> Result (your results for this and other functions below will look different due to the presence of the random function in sample data generator): <pre class="result">
+       threshold        |          tpr           |          fpr
+------------------------+------------------------+------------------------
+ 0.00000000000000000000 | 1.00000000000000000000 | 1.00000000000000000000
+ 0.12500000000000000000 | 1.00000000000000000000 | 0.94915254237288135593
+ 0.25000000000000000000 | 0.92682926829268292683 | 0.64406779661016949153
+ 0.37500000000000000000 | 0.80487804878048780488 | 0.47457627118644067797
+ 0.50000000000000000000 | 0.70731707317073170732 | 0.35593220338983050847
+ 0.62500000000000000000 | 0.63414634146341463415 | 0.25423728813559322034
+ 0.75000000000000000000 | 0.48780487804878048780 | 0.06779661016949152542
+ 0.87500000000000000000 | 0.29268292682926829268 | 0.03389830508474576271
+ 1.00000000000000000000 | 0.12195121951219512195 | 0.00000000000000000000
+</pre></li>
+<li>View all metrics at a given threshold value: <pre class="example">
+-- Set extended display on for easier reading of output
+\x on
+SELECT * FROM table_out WHERE threshold=0.5;
+</pre> Result <pre class="result">
+-[ RECORD 1 ]---------------------
+threshold | 0.50000000000000000000
+tp        | 29
+fp        | 21
+fn        | 12
+tn        | 38
+tpr       | 0.70731707317073170732
+tnr       | 0.64406779661016949153
+ppv       | 0.58000000000000000000
+npv       | 0.76000000000000000000
+fpr       | 0.35593220338983050847
+fdr       | 0.42000000000000000000
+fnr       | 0.29268292682926829268
+acc       | 0.67000000000000000000
+f1        | 0.63736263736263736264
+</pre></li>
+<li>Run the Area Under ROC curve function: <pre class="example">
+DROP TABLE IF EXISTS table_out;
+SELECT madlib.area_under_roc( 'test_set', 'table_out', 'pred', 'obs');
+SELECT * FROM table_out;
+</pre> Result <pre class="result">
+ area_under_roc
+&#160;---------------------------------------------
+0.77428689541132699462698842496899545266640
+</pre></li>
+<li>Create the sample data for confusion matrix. <pre class="example">
+DROP TABLE IF EXISTS test_set;
+CREATE TABLE test_set AS
+    SELECT (x+y)%5+1 AS pred,
+        (x*y)%5 AS obs
+    FROM generate_series(1,5) x,
+        generate_series(1,5) y;
+</pre></li>
+<li>Run the confusion matrix function: <pre class="example">
+DROP TABLE IF EXISTS table_out;
+SELECT madlib.confusion_matrix( 'test_set', 'table_out', 'pred', 'obs');
+SELECT * FROM table_out ORDER BY class;
+</pre> Result <pre class="result">
+ class | confusion_arr
+-------+---------------
+     0 | {0,1,2,2,2,2}
+     1 | {0,2,0,1,1,0}
+     2 | {0,0,0,2,2,0}
+     3 | {0,0,2,0,0,2}
+     4 | {0,2,1,0,0,1}
+     5 | {0,0,0,0,0,0}
+</pre></li>
+</ol>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p><a class="anchor" id="r2"></a> [1] <a href="https://en.wikipedia.org/wiki/Coefficient_of_determination">https://en.wikipedia.org/wiki/Coefficient_of_determination</a></p>
+<p><a class="anchor" id="aoc"></a> [2] <a href="https://en.wikipedia.org/wiki/Receiver_operating_characteristic">https://en.wikipedia.org/wiki/Receiver_operating_characteristic</a></p>
+<p><a class="anchor" id="cm"></a> [3] <a href="https://en.wikipedia.org/wiki/Confusion_matrix">https://en.wikipedia.org/wiki/Confusion_matrix</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="pred__metrics_8sql__in.html" title="A collection of summary statistics to gauge model accuracy based on predicted values vs...">pred_metrics.sql_in</a> for list of functions and usage. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__prob.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__prob.html b/docs/v1.11/group__grp__prob.html
new file mode 100644
index 0000000..6d065d1
--- /dev/null
+++ b/docs/v1.11/group__grp__prob.html
@@ -0,0 +1,158 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Probability Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__prob.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Probability Functions<div class="ingroups"><a class="el" href="group__grp__stats.html">Statistics</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#syntax">Function Syntax</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>The Probability Functions module provides cumulative distribution, density/mass, and quantile functions for a wide range of probability distributions.</p>
+<p>Unless otherwise documented, all of these functions are wrappers around functionality provided by the boost C++ library [1, “<a href="http://www.boost.org/doc/libs/1_49_0/libs/math/doc/sf_and_dist/html/math_toolkit/dist.html">Statistical Distributions and Functions</a>”].</p>
+<p>For convenience, all cumulative distribution and density/mass functions (CDFs and PDF/PMFs in short) are defined over the range of all floating-point numbers including infinity. Inputs that are <code>NULL</code> or <code>NaN</code> (not a number) will always produce a <code>NULL</code> or <code>NaN</code> result, respectively. Inputs that are plus or minus infinity will return the respective limits.</p>
+<p>A quantile function for a probability distrution with CDF <img class="formulaInl" alt="$ F $" src="form_113.png"/> takes a probability argument <img class="formulaInl" alt="$ p \in [0,1] $" src="form_242.png"/> and returns the value <img class="formulaInl" alt="$ x $" src="form_179.png"/> so that <img class="formulaInl" alt="$ F(x) = p $" src="form_243.png"/>, provided such an <img class="formulaInl" alt="$ x $" src="form_179.png"/> exists and it is unique. If it does not, the result will be <img class="formulaInl" alt="$ \sup \{ x \in D \mid F(x) \leq p \} $" src="form_244.png"/> (interpreted as 0 if the supremum is over an empty set) if <img class="formulaInl" alt="$ p &lt; 0.5 $" src="form_245.png"/>, and <img class="formulaInl" alt="$ \inf \{ x \in D \mid F(x) \geq p \} $" src="form_246.png"/> if <img class="formulaInl" alt="$ p \geq 0.5 $" src="form_247.png"/>. Here <img class="formulaInl" alt="$ D $" src="form_248.png"/> denotes the domain of the distribution, which is the 
 set of reals <img class="formulaInl" alt="$ \mathbb R $" src="form_249.png"/> for continuous and the set of nonnegative integers <img class="formulaInl" alt="$ \mathbb N_0 $" src="form_250.png"/> for discrete distributions.</p>
+<p>Intuitively, the formulas in the previous paragraph deal with the following special cases. The 0-quantile will always be the “left end” of the support, and the 1-quantile will be the “right end” of the support of the distribution. For discrete distributions, most values of <img class="formulaInl" alt="$ p \in [0,1] $" src="form_242.png"/> do not admit an <img class="formulaInl" alt="$ x $" src="form_179.png"/> with <img class="formulaInl" alt="$ F(x) = p $" src="form_243.png"/>. Instead, there is an <img class="formulaInl" alt="$ x \in \mathbb N_0 $" src="form_251.png"/> so that <img class="formulaInl" alt="$ F(x) &lt; p &lt; F(x + 1) $" src="form_252.png"/>. The above formulas mean that the value returned as <img class="formulaInl" alt="$ p $" src="form_111.png"/>-quantile is <img class="formulaInl" alt="$ x $" src="form_179.png"/> if <img class="formulaInl" alt="$ p &lt; 0.5 $" src="form_245.png"/>, and it is <img class="formulaInl" alt="$ x + 1 $" src="form_253.png"/> 
 if <img class="formulaInl" alt="$ p \geq 0.5 $" src="form_247.png"/>. (As a special case, in order to ensure that quantiles are always within the support, the <img class="formulaInl" alt="$ p $" src="form_111.png"/>-quantile will be 0 if <img class="formulaInl" alt="$ p &lt; F(0) $" src="form_254.png"/>).</p>
+<p>The rationale for choosing this behavior is that <img class="formulaInl" alt="$p$" src="form_255.png"/>-quantiles for <img class="formulaInl" alt="$ p &lt; 0.5 $" src="form_245.png"/> are typically requested when interested in the value <img class="formulaInl" alt="$ x $" src="form_179.png"/> such that with confidence level <b>at least</b> <img class="formulaInl" alt="$ 1 - p $" src="form_256.png"/> a random variable will be <img class="formulaInl" alt="$ &gt; x $" src="form_257.png"/> (or equivalently, with probability <b>at most</b> <img class="formulaInl" alt="$ p $" src="form_111.png"/>, it will be <img class="formulaInl" alt="$ \leq x $" src="form_258.png"/>). Likewise, <img class="formulaInl" alt="$p$" src="form_255.png"/>-quantiles for <img class="formulaInl" alt="$ p \geq 0.5 $" src="form_247.png"/> are typically requested when interested in the value <img class="formulaInl" alt="$ x $" src="form_179.png"/> such that with confidence level <b>at least</b> <img class="formu
 laInl" alt="$ p $" src="form_111.png"/> a random variable will be <img class="formulaInl" alt="$ \leq x $" src="form_258.png"/>. See also [1, “<a href="http://www.boost.org/doc/libs/1_46_1/libs/math/doc/sf_and_dist/html/math_toolkit/policy/pol_tutorial/understand_dis_quant.html">Understanding Quantiles of Discrete Distributions</a>”].</p>
+<p><a class="anchor" id="syntax"></a></p><dl class="section user"><dt>Function Syntax</dt><dd></dd></dl>
+<p>Cumulative distribution functions:</p>
+<pre class="syntax"><em>distribution</em>_cdf(<em>random variate</em>[, <em>parameter1</em> [, <em>parameter2</em> [, <em>parameter3</em>] ] ])</pre><p>Probability density/mass functions: </p><pre class="syntax"><em>distribution</em>_{pdf|pmf}(<em>random variate</em>[, <em>parameter1</em> [, <em>parameter2</em> [, <em>parameter3</em>] ] ])</pre><p>Quantile functions: </p><pre class="syntax"><em>distribution</em>_quantile(<em>probability</em>[, <em>parameter1</em> [, <em>parameter2</em> [, <em>parameter3</em>] ] ])</pre><p>For concrete function signatures, see <a class="el" href="prob_8sql__in.html">prob.sql_in</a>.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<pre class="example">
+SELECT madlib.normal_cdf(0);
+</pre><p> Result: </p><pre class="result">
+ normal_cdf
+&#160;-----------
+        0.5
+</pre> <pre class="example">
+SELECT madlib.normal_quantile(0.5, 0, 1);
+</pre><p> Result: </p><pre class="result">
+ normal_quantile
+&#160;----------------
+               0
+(1 row)
+</pre><p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] John Maddock, Paul A. Bristow, Hubert Holin, Xiaogang Zhang, Bruno Lalande, Johan Råde, Gautam Sewani and Thijs van den Berg: <em>Boost Math Toolkit</em>, Version 1.49, available at: <a href="http://www.boost.org/doc/libs/1_49_0/libs/math/doc/sf_and_dist/html/index.html">http://www.boost.org/doc/libs/1_49_0/libs/math/doc/sf_and_dist/html/index.html</a></p>
+<dl class="section user"><dt>Related Topics</dt><dd><a class="anchor" id="related"></a>File <a class="el" href="prob_8sql__in.html" title="SQL functions for evaluating probability functions. ">prob.sql_in</a> documenting the SQL functions. </dd></dl>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__random__forest.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__random__forest.html b/docs/v1.11/group__grp__random__forest.html
new file mode 100644
index 0000000..4ce89b2
--- /dev/null
+++ b/docs/v1.11/group__grp__random__forest.html
@@ -0,0 +1,754 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Random Forest</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__random__forest.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Random Forest<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__tree.html">Tree Methods</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b><ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#predict">Prediction Function</a> </li>
+<li class="level1">
+<a href="#get_tree">Display Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Random forests build an ensemble of classifiers, each of which is a tree model constructed using bootstrapped samples from the input data. The results of these models are then combined to yield a single prediction, which, at the expense of some loss in interpretation, have been found to be highly accurate.</p>
+<p>Please also refer to the decision tree user documentation for information relevant to the implementation of random forests in MADlib.</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd>Random Forest training function has the following format: <pre class="syntax">
+forest_train(training_table_name,
+             output_table_name,
+             id_col_name,
+             dependent_variable,
+             list_of_features,
+             list_of_features_to_exclude,
+             grouping_cols,
+             num_trees,
+             num_random_features,
+             importance,
+             num_permutations,
+             max_tree_depth,
+             min_split,
+             min_bucket,
+             num_splits,
+             surrogate_params,
+             verbose,
+             sample_ratio
+             )
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>training_table_name </dt>
+<dd><p class="startdd">text. Name of the table containing the training data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table_name </dt>
+<dd><p class="startdd">text. Name of the generated table containing the model.</p>
+<p>The model table produced by the training function contains the following columns:</p>
+<table class="output">
+<tr>
+<th>gid </th><td>integer. group id that uniquely identifies a set of grouping column values.  </td></tr>
+<tr>
+<th>sample_id </th><td>integer. The id of the bootstrap sample that this tree is a part of.  </td></tr>
+<tr>
+<th>tree </th><td>bytea8. Trained tree model stored in binary format.  </td></tr>
+</table>
+<p>A summary table named <em>&lt;model_table&gt;_summary</em> is also created at the same time, which contains the following columns: </p><table class="output">
+<tr>
+<th>method </th><td><p class="starttd">'forest_train' </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>is_classification </th><td><p class="starttd">boolean. True if it is a classification model. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>source_table </th><td><p class="starttd">text. Data source table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>model_table </th><td><p class="starttd">text. Model table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>id_col_name </th><td><p class="starttd">text. The ID column name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>dependent_varname </th><td><p class="starttd">text. Dependent variable. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>independent_varname </th><td><p class="starttd">text. Independent variables </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>cat_features </th><td><p class="starttd">text. Categorical feature names. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>con_features </th><td><p class="starttd">text. Continuous feature names. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>grouping_col </th><td><p class="starttd">int. Names of grouping columns. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_trees </th><td><p class="starttd">int. Number of trees grown by the model. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_random_features </th><td><p class="starttd">int. Number of features randomly selected for each split. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>max_tree_depth </th><td><p class="starttd">int. Maximum depth of any tree in the random forest model_table. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>min_split </th><td><p class="starttd">int. Minimum number of observations in a node for it to be split. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>min_bucket </th><td><p class="starttd">int. Minimum number of observations in any terminal node. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_splits </th><td><p class="starttd">int. Number of buckets for continuous variables. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>verbose </th><td><p class="starttd">boolean. Whether or not to display debug info. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>importance </th><td><p class="starttd">boolean. Whether or not to calculate variable importance. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_permutations </th><td><p class="starttd">int. Number of times feature values are permuted while calculating variable importance. The default value is 1. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_all_groups </th><td><p class="starttd">int. Number of groups during forest training. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_failed_groups </th><td><p class="starttd">int. Number of failed groups during forest training. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>total_rows_processed </th><td><p class="starttd">bigint. Total numbers of rows processed in all groups. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>total_rows_skipped </th><td><p class="starttd">bigint. Total numbers of rows skipped in all groups due to missing values or failures. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>dependent_var_levels </th><td><p class="starttd">itext. For classification, the distinct levels of the dependent variable. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>dependent_var_type </th><td>text. The type of dependent variable.  </td></tr>
+</table>
+<p>A group table named <em> &lt;model_table&gt;_group</em> is created, which has the following columns: </p><table class="output">
+<tr>
+<th>gid </th><td><p class="starttd">integer. Group id that uniquely identifies a set of grouping column values. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>&lt;...&gt; </th><td><p class="starttd">Same type as in the training data table. Grouping columns, if provided in input. This could be multiple columns depending on the <code>grouping_cols</code> input. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>success </th><td><p class="starttd">boolean. Indicator of the success of the group. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>cat_levels_in_text </th><td><p class="starttd">text[]. Ordered levels of categorical variables. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>cat_n_levels </th><td><p class="starttd">integer[]. Number of levels for each categorical variable. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>oob_error </th><td><p class="starttd">double precision. Out-of-bag error for the random forest model. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>cat_var_importance </th><td><p class="starttd">double precision[]. Variable importance for categorical features. The order corresponds to the order of the variables as found in cat_features in <em> &lt;model_table&gt;_summary</em>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>con_var_importance </th><td><p class="starttd">double precision[]. Variable importance for continuous features. The order corresponds to the order of the variables as found in con_features in <em> &lt;model_table&gt;_summary</em>. </p>
+<p class="endtd"></p>
+</td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>id_col_name </dt>
+<dd><p class="startdd">text. Name of the column containing id information in the training data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_variable </dt>
+<dd><p class="startdd">text. Name of the column that contains the output for training. Boolean, integer and text are considered classification outputs, while float values are considered regression outputs.</p>
+<p class="enddd"></p>
+</dd>
+<dt>list_of_features </dt>
+<dd><p class="startdd">text. Comma-separated string of column names to use as predictors. Can also be a '*' implying all columns are to be used as predictors (except the ones included in the next argument). The types of the features can be mixed where boolean, integer, and text columns are considered categorical and double precision columns are considered continuous. The categorical variables are not encoded and used as is for the training.</p>
+<p>It is important to note that we don't test for every combination of levels of a categorical variable when evaluating a split. We order the levels of the non-integer categorical variable by the entropy of the variable in predicting the response. The split at each node is evaluated between these ordered levels. Integer categorical variables are ordered by their value.</p>
+<p class="enddd"></p>
+</dd>
+<dt>list_of_features_to_exclude </dt>
+<dd><p class="startdd">text. Comma-separated string of column names to exclude from the predictors list. If the <em>dependent_variable</em> argument is an expression (including cast of a column name), then this list should include the columns that are included in the <em>dependent_variable</em> expression, otherwise those columns will be included in the features (resulting in meaningless trees).</p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_cols (optional) </dt>
+<dd><p class="startdd">text, default: NULL. Comma-separated list of column names to group the data by. This will lead to creating multiple random forests, one for each group.</p>
+<p class="enddd"></p>
+</dd>
+<dt>num_trees (optional) </dt>
+<dd><p class="startdd">integer, default: 100. Maximum number of trees to grow in the Random Forest model. Actual number of trees grown may be slighlty different.</p>
+<p class="enddd"></p>
+</dd>
+<dt>num_random_features (optional) </dt>
+<dd><p class="startdd">integer, default: sqrt(n) if classification tree, otherwise n/3. Number of features to randomly select at each split.</p>
+<p class="enddd"></p>
+</dd>
+<dt>importance (optional) </dt>
+<dd><p class="startdd">boolean, default: true. Whether or not to calculate variable importance. If set to true, variable importance for categorical and continuous features will be output in the group table <em>&lt;model_table&gt;_group</em> described above. Will increase run time when variable importance is turned on. </p>
+<p class="enddd"></p>
+</dd>
+<dt>num_permutations (optional) </dt>
+<dd><p class="startdd">integer, default: 1. Number of times to permute each feature value while calculating variable importance.</p>
+<dl class="section note"><dt>Note</dt><dd>Variable importance for a feature is computed by permuting the variable with random values and computing the drop in predictive accuracy (using OOB samples). Setting this greater than 1 performs an average over multiple importance calculation. This increases the total run time and in most cases the default value of 1 is sufficient to compute the importance. </dd></dl>
+</dd>
+<dt>max_tree_depth (optional) </dt>
+<dd><p class="startdd">integer, default: 7. Maximum depth of any node of a tree, with the root node counted as depth 0. A deeper tree can lead to better prediction but will also result in longer processing time and higher memory usage.</p>
+<p class="enddd"></p>
+</dd>
+<dt>min_split (optional) </dt>
+<dd><p class="startdd">integer, default: 20. Minimum number of observations that must exist in a node for a split to be attempted.</p>
+<p class="enddd"></p>
+</dd>
+<dt>min_bucket (optional) </dt>
+<dd><p class="startdd">integer, default: min_split/3. Minimum number of observations in any terminal node. If only one of min_bucket or min_split is specified, min_split is set to min_bucket*3 or min_bucket to min_split/3, as appropriate.</p>
+<p class="enddd"></p>
+</dd>
+<dt>num_splits (optional) </dt>
+<dd><p class="startdd">integer, default: 20. Continuous-valued features are binned into discrete quantiles to compute split boundaries. This global parameter is used to compute the resolution of splits for continuous features. Higher number of bins will lead to better prediction, but will also result in longer processing time and higher memory usage.</p>
+<p class="enddd"></p>
+</dd>
+<dt>surrogate_params (optional) </dt>
+<dd><p class="startdd">text, Comma-separated string of key-value pairs controlling the behavior of surrogate splits for each node in a tree. </p><table class="output">
+<tr>
+<th>max_surrogates </th><td>Default: 0. Number of surrogates to store for each node.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>verbose (optional) </dt>
+<dd><p class="startdd">boolean, default: FALSE. Provides verbose output of the results of training.</p>
+<p class="enddd"></p>
+</dd>
+<dt>sample_ratio (optional) </dt>
+<dd>double precision, in the range of (0, 1], default: 1. If sample_ratio is less than 1, a bootstrap sample size smaller than the data table is expected to be used for training each tree in the forest. A ratio that is close to 0 may result in trees with only the root node. This allows users to experiment with the function in a speedy fashion. </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>The main parameters that affect memory usage are: depth of tree (‘max_tree_depth’), number of features, number of values per categorical feature, and number of bins for continuous features (‘num_splits’). If you are hitting memory limits, consider reducing one or more of these parameters.</dd></dl>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd>The prediction function is provided to estimate the conditional mean given a new predictor. It has the following syntax: <pre class="syntax">
+forest_predict(random_forest_model,
+               new_data_table,
+               output_table,
+               type)
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>forest_model </dt>
+<dd><p class="startdd">text. Name of the table containing the Random Forest model.</p>
+<p class="enddd"></p>
+</dd>
+<dt>new_data_table </dt>
+<dd><p class="startdd">text. Name of the table containing prediction data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">text. Name of the table to output prediction results to.</p>
+<p class="enddd"></p>
+</dd>
+<dt>type </dt>
+<dd>text, optional, default: 'response'. For regression models, the output is always the predicted value of the dependent variable. For classification models, the <em>type</em> variable can be 'response', giving the classification prediction as output, or 'prob', giving the class probabilities as output. For each value of the dependent variable, a column with the probabilities is added to the output table.  </dd>
+</dl>
+<p><a class="anchor" id="get_tree"></a></p><dl class="section user"><dt>Display Function</dt><dd>The 'get_tree' function is provided to output a graph representation of a single tree of the random forest. The output can either be in the popular 'dot' format that can be visualized using various programs including those in the GraphViz package, or in a simple text format. The details of the text format is outputted with the tree. <pre class="syntax">
+get_tree(forest_model_table,
+         gid,
+         sample_id,
+         dot_format,
+         verbose)
+</pre></dd></dl>
+<p>An additional display function is provided to output the surrogate splits chosen for each internal node. </p><pre class="syntax">
+get_tree_surr(forest_model_table,
+              gid,
+              sample_id)
+</pre><p>The output contains the list of surrogate splits for each internal node of a tree. The nodes are sorted in ascending order by id. This is equivalent to viewing the tree in a breadth-first manner. For each surrogate, the output gives the surrogate split (variable and threshold) and also provides the number of rows that were common between the primary split and the surrogate split. Finally, the number of rows present in the majority branch of the primary split is also presented. Only surrogates that perform better than this majority branch are used. When the primary variable has a NULL value the surrogate variables are used in order to compute the split for that node. If all surrogates variables are NULL, then the majority branch is used to compute the split for a tuple.</p>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>forest_model_table </dt>
+<dd><p class="startdd">text. Name of the table containing the Random Forest model.</p>
+<p class="enddd"></p>
+</dd>
+<dt>gid </dt>
+<dd><p class="startdd">integer. Id of the group that this tree is a part of.</p>
+<p class="enddd"></p>
+</dd>
+<dt>sample_id </dt>
+<dd><p class="startdd">integer. Id of the bootstrap sample that this tree if a part of.</p>
+<p class="enddd"></p>
+</dd>
+<dt>dot_format (optional) </dt>
+<dd><p class="startdd">boolean, default = TRUE. Output can either be in a dot format or a text format. If TRUE, the result is in the dot format, else output is in text format.</p>
+<p class="enddd"></p>
+</dd>
+<dt>verbose (optional) </dt>
+<dd>boolean, default = FALSE. If true, the dot format output will contain additional information (impurity, sample size, number of weighted rows for each response variable, classification or prediction if the tree was pruned at this level) </dd>
+</dl>
+<p>The output is always returned as a 'TEXT'. For the dot format, the output can be redirected to a file on the client side and then rendered using visualization programs.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd><b>Note:</b> The output results may vary due the random nature of random forests.</dd></dl>
+<p><b>Random Forest Classification Example</b></p>
+<ol type="1">
+<li>Prepare input data: <pre class="example">
+DROP TABLE IF EXISTS dt_golf;
+CREATE TABLE dt_golf (
+    id integer NOT NULL,
+    "OUTLOOK" text,
+    temperature double precision,
+    humidity double precision,
+    windy text,
+    class text
+);
+</pre> <pre class="example">
+INSERT INTO dt_golf (id,"OUTLOOK",temperature,humidity,windy,class) VALUES
+(1, 'sunny', 85, 85, 'false', 'Don''t Play'),
+(2, 'sunny', 80, 90, 'true', 'Don''t Play'),
+(3, 'overcast', 83, 78, 'false', 'Play'),
+(4, 'rain', 70, 96, 'false', 'Play'),
+(5, 'rain', 68, 80, 'false', 'Play'),
+(6, 'rain', 65, 70, 'true', 'Don''t Play'),
+(7, 'overcast', 64, 65, 'true', 'Play'),
+(8, 'sunny', 72, 95, 'false', 'Don''t Play'),
+(9, 'sunny', 69, 70, 'false', 'Play'),
+(10, 'rain', 75, 80, 'false', 'Play'),
+(11, 'sunny', 75, 70, 'true', 'Play'),
+(12, 'overcast', 72, 90, 'true', 'Play'),
+(13, 'overcast', 81, 75, 'false', 'Play'),
+(14, 'rain', 71, 80, 'true', 'Don''t Play');
+</pre></li>
+<li>Run the random forest training function and view summary output: <pre class="example">
+DROP TABLE IF EXISTS train_output, train_output_group, train_output_summary;
+SELECT madlib.forest_train('dt_golf',         -- source table
+                           'train_output',    -- output model table
+                           'id',              -- id column
+                           'class',           -- response
+                           '"OUTLOOK", temperature, humidity, windy',   -- features
+                           NULL,              -- exclude columns
+                           NULL,              -- grouping columns
+                           20::integer,       -- number of trees
+                           2::integer,        -- number of random features
+                           TRUE::boolean,     -- variable importance
+                           1::integer,        -- num_permutations
+                           8::integer,        -- max depth
+                           3::integer,        -- min split
+                           1::integer,        -- min bucket
+                           10::integer        -- number of splits per continuous variable
+                           );
+\x on
+SELECT * FROM train_output_summary;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]---------+-----------------------------------------------
+method                | forest_train
+is_classification     | t
+source_table          | dt_golf
+model_table           | train_output
+id_col_name           | id
+dependent_varname     | class
+independent_varnames  | "OUTLOOK",windy,temperature,humidity
+cat_features          | "OUTLOOK",windy
+con_features          | temperature,humidity
+grouping_cols         | 
+num_trees             | 20
+num_random_features   | 2
+max_tree_depth        | 8
+min_split             | 3
+min_bucket            | 1
+num_splits            | 10
+verbose               | f
+importance            | t
+num_permutations      | 1
+num_all_groups        | 1
+num_failed_groups     | 0
+total_rows_processed  | 14
+total_rows_skipped    | 0
+dependent_var_levels  | "Don't Play","Play"
+dependent_var_type    | text
+independent_var_types | text, text, double precision, double precision
+</pre> View the group table output: <pre class="example">
+SELECT * FROM train_output_group;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]------+----------------------------------------
+gid                | 1
+success            | t
+cat_n_levels       | {3,2}
+cat_levels_in_text | {overcast,rain,sunny,false,true}
+oob_error          | 0.50000000000000000000
+cat_var_importance | {-0.206309523809524,-0.234345238095238}
+con_var_importance | {-0.308690476190476,-0.272678571428571}
+</pre></li>
+<li>Obtain a dot format display of a single tree within the forest: <pre class="example">
+\x off
+SELECT madlib.get_tree('train_output',1,2);
+</pre> Result: <pre class="result">
+ digraph "Classification tree for dt_golf" {                 
+ "0" [label="humidity &lt;= 75", shape=ellipse];                
+ "0" -&gt; "1"[label="yes"];                                    
+ "1" [label="\"Play"",shape=box];                           
+ "0" -&gt; "2"[label="no"];                                     
+ "2" [label="humidity &lt;= 80", shape=ellipse];                
+ "2" -&gt; "5"[label="yes"];                                    
+ "5" [label=""Don't Play"",shape=box];                     
+ "2" -&gt; "6"[label="no"];                                     
+ "6" [label=""OUTLOOK" in {overcast,rain}", shape=ellipse];
+ "6" -&gt; "13"[label="yes"];                                   
+ "13" [label=""Play"",shape=box];                          
+ "6" -&gt; "14"[label="no"];                                    
+ "14" [label=""Don't Play"",shape=box];                                                                               
+ } //---end of digraph--------- 
+</pre></li>
+<li>Obtain a text display of the tree: <pre class="example">
+SELECT madlib.get_tree('train_output',1,2,FALSE);
+</pre> Result: <pre class="result">
+&#160;-------------------------------------
+&#160;- Each node represented by 'id' inside ().
+&#160;- Leaf nodes have a * while internal nodes have the split condition at the end.
+&#160;- For each internal node (i), it's children will be at (2i+1) and (2i+2).
+&#160;- For each split the first indented child (2i+1) is the 'True' node and
+second indented child (2i+2) is the 'False' node.
+&#160;- Number of (weighted) rows for each response variable inside [].
+&#160;- Order of values = ['"Don\'t Play"', '"Play"']
+&#160;-------------------------------------
+ (0)[ 4 10]  humidity &lt;= 75                                               
+    (1)[0 7]  * --&gt; "Play"                                                
+    (2)[4 3]  humidity &lt;= 80                                              
+       (5)[3 1]  * --&gt; "Don't Play"                                       
+       (6)[1 2]  "OUTLOOK" in {overcast,rain}                             
+          (13)[0 2]  * --&gt; "Play"                                        
+          (14)[1 0]  * --&gt; "Don't Play"                                   
+&#160;-------------------------------------
+</pre></li>
+<li>Predict output categories for the same data as was used for input: <pre class="example">
+DROP TABLE IF EXISTS prediction_results;
+SELECT madlib.forest_predict('train_output',
+                             'dt_golf',
+                             'prediction_results',
+                             'response');
+\x off
+SELECT id, estimated_class, class
+FROM prediction_results JOIN dt_golf USING (id)
+ORDER BY id;
+</pre> Result: <pre class="result">
+  id | estimated_class |   class    
+----+-----------------+------------
+  1 | Don't Play      | Don't Play
+  2 | Don't Play      | Don't Play
+  3 | Play            | Play
+  4 | Play            | Play
+  5 | Play            | Play
+  6 | Don't Play      | Don't Play
+  7 | Play            | Play
+  8 | Don't Play      | Don't Play
+  9 | Play            | Play
+ 10 | Play            | Play
+ 11 | Play            | Play
+ 12 | Play            | Play
+ 13 | Play            | Play
+ 14 | Don't Play      | Don't Play
+(14 rows)
+</pre></li>
+<li>Predict probablities of output categories for the same data: <pre class="example">
+DROP TABLE IF EXISTS prediction_prob;
+SELECT madlib.forest_predict('train_output',
+                             'dt_golf',
+                             'prediction_prob',
+                             'prob');
+\x off
+SELECT id, "estimated_prob_Play", class
+FROM prediction_prob JOIN dt_golf USING (id)
+ORDER BY id;
+</pre> Result: <pre class="result">
+ id | estimated_prob_Play |   class    
+----+---------------------+------------
+  1 |                0.05 | Don't Play
+  2 |                0.15 | Don't Play
+  3 |                0.95 | Play
+  4 |                0.65 | Play
+  5 |                0.75 | Play
+  6 |                 0.4 | Don't Play
+  7 |                 0.7 | Play
+  8 |                 0.1 | Don't Play
+  9 |                 0.9 | Play
+ 10 |                0.85 | Play
+ 11 |                 0.8 | Play
+ 12 |                 0.7 | Play
+ 13 |                   1 | Play
+ 14 |                 0.4 | Don't Play
+(14 rows)
+</pre></li>
+</ol>
+<p><b>Random Forest Regression Example</b></p>
+<ol type="1">
+<li>Prepare input data: <pre class="example">
+DROP TABLE IF EXISTS mt_cars;
+CREATE TABLE mt_cars (
+    id integer NOT NULL,
+    mpg double precision,
+    cyl integer,
+    disp double precision,
+    hp integer,
+    drat double precision,
+    wt double precision,
+    qsec double precision,
+    vs integer,
+    am integer,
+    gear integer,
+    carb integer
+);
+</pre> <pre class="example">
+INSERT INTO mt_cars (id,mpg,cyl,disp,hp,drat,wt,qsec,vs,am,gear,carb) VALUES
+(1,18.7,8,360,175,3.15,3.44,17.02,0,0,3,2),
+(2,21,6,160,110,3.9,2.62,16.46,0,1,4,4),
+(3,24.4,4,146.7,62,3.69,3.19,20,1,0,4,2),
+(4,21,6,160,110,3.9,2.875,17.02,0,1,4,4),
+(5,17.8,6,167.6,123,3.92,3.44,18.9,1,0,4,4),
+(6,16.4,8,275.8,180,3.078,4.07,17.4,0,0,3,3),
+(7,22.8,4,108,93,3.85,2.32,18.61,1,1,4,1),
+(8,17.3,8,275.8,180,3.078,3.73,17.6,0,0,3,3),
+(9,21.4,6,258,110,3.08,3.215,19.44,1,0,3,1),
+(10,15.2,8,275.8,180,3.078,3.78,18,0,0,3,3),
+(11,18.1,6,225,105,2.768,3.46,20.22,1,0,3,1),
+(12,32.4,4,78.7,66,4.08,2.20,19.47,1,1,4,1),
+(13,14.3,8,360,245,3.21,3.578,15.84,0,0,3,4),
+(14,22.8,4,140.8,95,3.92,3.15,22.9,1,0,4,2),
+(15,30.4,4,75.7,52,4.93,1.615,18.52,1,1,4,2),
+(16,19.2,6,167.6,123,3.92,3.44,18.3,1,0,4,4),
+(17,33.9,4,71.14,65,4.22,1.835,19.9,1,1,4,1),
+(18,15.2,8,304,150,3.15,3.435,17.3,0,0,3,2),
+(19,10.4,8,472,205,2.93,5.25,17.98,0,0,3,4),
+(20,27.3,4,79,66,4.08,1.935,18.9,1,1,4,1),
+(21,10.4,8,460,215,3,5.424,17.82,0,0,3,4),
+(22,26,4,120.3,91,4.43,2.14,16.7,0,1,5,2),
+(23,14.7,8,440,230,3.23,5.345,17.42,0,0,3,4),
+(24,30.4,4,95.14,113,3.77,1.513,16.9,1,1,5,2),
+(25,21.5,4,120.1,97,3.70,2.465,20.01,1,0,3,1),
+(26,15.8,8,351,264,4.22,3.17,14.5,0,1,5,4),
+(27,15.5,8,318,150,2.768,3.52,16.87,0,0,3,2),
+(28,15,8,301,335,3.54,3.578,14.6,0,1,5,8),
+(29,13.3,8,350,245,3.73,3.84,15.41,0,0,3,4),
+(30,19.2,8,400,175,3.08,3.845,17.05,0,0,3,2),
+(31,19.7,6,145,175,3.62,2.77,15.5,0,1,5,6),
+(32,21.4,4,121,109,4.11,2.78,18.6,1,1,4,2);
+</pre></li>
+<li>Run the random forest training function: <pre class="example">
+DROP TABLE IF EXISTS mt_cars_output, mt_cars_output_group, mt_cars_output_summary;
+SELECT madlib.forest_train('mt_cars',
+                           'mt_cars_output',
+                           'id',
+                           'mpg',
+                           '*',
+                           'id, hp, drat, am, gear, carb',  -- exclude columns
+                           'am',
+                           10::integer,
+                           2::integer,
+                           TRUE::boolean,
+                           1,
+                           10,
+                           8,
+                           3,
+                           10
+                           );
+\x on
+SELECT * FROM mt_cars_output_summary;
+SELECT * FROM mt_cars_output_group;
+\x off
+</pre></li>
+<li>Display a single tree of the random forest in dot format: <pre class="example">
+SELECT madlib.get_tree('mt_cars_output',1,1);
+</pre> Result: <pre class="result">
+digraph "Regression tree for mt_cars" {
+"0" [label="28.8444",shape=box];
+} //---end of digraph---------
+</pre></li>
+<li>Predict regression output for the same data and compare with original: <pre class="example">
+DROP TABLE IF EXISTS prediction_results;
+SELECT madlib.forest_predict('mt_cars_output',
+                             'mt_cars',
+                             'prediction_results',
+                             'response');
+SELECT am, id, estimated_mpg, mpg
+FROM prediction_results JOIN mt_cars USING (id)
+ORDER BY am, id;
+</pre> Result: <pre class="result">
+ am | id |  estimated_mpg   | mpg
+----+----+------------------+------
+  0 |  1 |  15.893525974026 | 18.7
+  0 |  3 | 21.5238492063492 | 24.4
+  0 |  5 | 20.0175396825397 | 17.8
+  0 |  6 | 14.8406818181818 | 16.4
+  0 |  8 | 14.8406818181818 | 17.3
+  0 |  9 | 20.0496825396825 | 21.4
+  0 | 10 | 14.4012272727273 | 15.2
+  0 | 11 | 20.0175396825397 | 18.1
+  0 | 13 | 15.0162878787879 | 14.3
+  0 | 14 | 21.5238492063492 | 22.8
+  0 | 16 | 20.0175396825397 | 19.2
+  0 | 18 | 15.4787532467532 | 15.2
+  0 | 19 | 14.4272987012987 | 10.4
+  0 | 21 | 14.4272987012987 | 10.4
+  0 | 23 | 14.8667532467532 | 14.7
+  0 | 25 | 21.5238492063492 | 21.5
+  0 | 27 |  15.281525974026 | 15.5
+  0 | 29 | 15.0162878787879 | 13.3
+  0 | 30 |  15.281525974026 | 19.2
+  1 |  2 | 20.6527393162393 |   21
+  1 |  4 | 20.6527393162393 |   21
+  1 |  7 | 22.7707393162393 | 22.8
+  1 | 12 | 27.0888266178266 | 32.4
+  1 | 15 | 28.2478650793651 | 30.4
+  1 | 17 | 28.2478650793651 | 33.9
+  1 | 20 | 28.2478650793651 | 27.3
+  1 | 22 | 23.8401984126984 |   26
+  1 | 24 | 26.9748650793651 | 30.4
+  1 | 26 | 20.6527393162393 | 15.8
+  1 | 28 | 20.6527393162393 |   15
+  1 | 31 | 20.6527393162393 | 19.7
+  1 | 32 | 22.7707393162393 | 21.4
+</pre></li>
+</ol>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="random__forest_8sql__in.html">random_forest.sql_in</a> documenting the training function</p>
+<p><a class="el" href="group__grp__decision__tree.html">Decision Tree</a></p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__regml.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__regml.html b/docs/v1.11/group__grp__regml.html
new file mode 100644
index 0000000..27c8eaf
--- /dev/null
+++ b/docs/v1.11/group__grp__regml.html
@@ -0,0 +1,160 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Regression Models</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__regml.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Regression Models<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods for modeling conditional expectation of a response variable. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__clustered__errors"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__clustered__errors.html">Clustered Variance</a></td></tr>
+<tr class="memdesc:group__grp__clustered__errors"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates clustered variance for linear, logistic, and multinomial logistic regression models, and Cox proportional hazards models. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__cox__prop__hazards"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__cox__prop__hazards.html">Cox-Proportional Hazards Regression</a></td></tr>
+<tr class="memdesc:group__grp__cox__prop__hazards"><td class="mdescLeft">&#160;</td><td class="mdescRight">Models the relationship between one or more independent predictor variables and the amount of time before an event occurs. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__elasticnet"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__elasticnet.html">Elastic Net Regularization</a></td></tr>
+<tr class="memdesc:group__grp__elasticnet"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a regularized regression model for variable selection in linear and logistic regression problems, combining the L1 and L2 penalties of the lasso and ridge methods. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__glm"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__glm.html">Generalized Linear Models</a></td></tr>
+<tr class="memdesc:group__grp__glm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimate generalized linear model (GLM). GLM is a flexible generalization of ordinary linear regression that allows for response variables that have error distribution models other than a normal distribution. The GLM generalizes linear regression by allowing the linear model to be related to the response variable via a link function and by allowing the magnitude of the variance of each measurement to be a function of its predicted value. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__linreg"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__linreg.html">Linear Regression</a></td></tr>
+<tr class="memdesc:group__grp__linreg"><td class="mdescLeft">&#160;</td><td class="mdescRight">Also called Ordinary Least Squares Regression, models linear relationship between a dependent variable and one or more independent variables. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__logreg"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__logreg.html">Logistic Regression</a></td></tr>
+<tr class="memdesc:group__grp__logreg"><td class="mdescLeft">&#160;</td><td class="mdescRight">Models the relationship between one or more predictor variables and a binary categorical dependent variable by predicting the probability of the dependent variable using a logistic function. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__marginal"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__marginal.html">Marginal Effects</a></td></tr>
+<tr class="memdesc:group__grp__marginal"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates marginal effects for the coefficients in regression problems. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__multinom"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__multinom.html">Multinomial Regression</a></td></tr>
+<tr class="memdesc:group__grp__multinom"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multinomial regression is to model the conditional distribution of the multinomial response variable using a linear combination of predictors. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__ordinal"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__ordinal.html">Ordinal Regression</a></td></tr>
+<tr class="memdesc:group__grp__ordinal"><td class="mdescLeft">&#160;</td><td class="mdescRight">Regression to model data with ordinal response variable. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__robust"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__robust.html">Robust Variance</a></td></tr>
+<tr class="memdesc:group__grp__robust"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates Huber-White variance estimates for linear, logistic, and multinomial regression models, and for Cox proportional hazards models. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__regml.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__regml.js b/docs/v1.11/group__grp__regml.js
new file mode 100644
index 0000000..76e3c69
--- /dev/null
+++ b/docs/v1.11/group__grp__regml.js
@@ -0,0 +1,13 @@
+var group__grp__regml =
+[
+    [ "Clustered Variance", "group__grp__clustered__errors.html", null ],
+    [ "Cox-Proportional Hazards Regression", "group__grp__cox__prop__hazards.html", null ],
+    [ "Elastic Net Regularization", "group__grp__elasticnet.html", null ],
+    [ "Generalized Linear Models", "group__grp__glm.html", null ],
+    [ "Linear Regression", "group__grp__linreg.html", null ],
+    [ "Logistic Regression", "group__grp__logreg.html", null ],
+    [ "Marginal Effects", "group__grp__marginal.html", null ],
+    [ "Multinomial Regression", "group__grp__multinom.html", null ],
+    [ "Ordinal Regression", "group__grp__ordinal.html", null ],
+    [ "Robust Variance", "group__grp__robust.html", null ]
+];
\ No newline at end of file


[31/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/graph_legend.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/graph_legend.html b/docs/v1.11/graph_legend.html
new file mode 100644
index 0000000..3bb5227
--- /dev/null
+++ b/docs/v1.11/graph_legend.html
@@ -0,0 +1,148 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Graph Legend</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('graph_legend.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Graph Legend</div>  </div>
+</div><!--header-->
+<div class="contents">
+<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
+<p>Consider the following example: </p><div class="fragment"><div class="line">/*! Invisible class because of truncation */</div><div class="line">class Invisible { };</div><div class="line"></div><div class="line">/*! Truncated class, inheritance relation is hidden */</div><div class="line">class Truncated : public Invisible { };</div><div class="line"></div><div class="line">/* Class not documented with doxygen comments */</div><div class="line">class Undocumented { };</div><div class="line"></div><div class="line">/*! Class that is inherited using public inheritance */</div><div class="line">class PublicBase : public Truncated { };</div><div class="line"></div><div class="line">/*! A template class */</div><div class="line">template&lt;class T&gt; class Templ { };</div><div class="line"></div><div class="line">/*! Class that is inherited using protected inheritance */</div><div class="line">class ProtectedBase { };</div><div class="line"></div><div class="line">/*! Class that is 
 inherited using private inheritance */</div><div class="line">class PrivateBase { };</div><div class="line"></div><div class="line">/*! Class that is used by the Inherited class */</div><div class="line">class Used { };</div><div class="line"></div><div class="line">/*! Super class that inherits a number of other classes */</div><div class="line">class Inherited : public PublicBase,</div><div class="line">                  protected ProtectedBase,</div><div class="line">                  private PrivateBase,</div><div class="line">                  public Undocumented,</div><div class="line">                  public Templ&lt;int&gt;</div><div class="line">{</div><div class="line">  private:</div><div class="line">    Used *m_usedClass;</div><div class="line">};</div></div><!-- fragment --><p> This will result in the following graph:</p>
+<center><iframe scrolling="no" frameborder="0" src="graph_legend.svg" width="680" height="206"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </center><p>The boxes in the above graph have the following meaning: </p>
+<ul>
+<li>
+A filled gray box represents the struct or class for which the graph is generated. </li>
+<li>
+A box with a black border denotes a documented struct or class. </li>
+<li>
+A box with a gray border denotes an undocumented struct or class. </li>
+<li>
+A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
+</ul>
+<p>The arrows have the following meaning: </p>
+<ul>
+<li>
+A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
+<li>
+A dark green arrow is used for protected inheritance. </li>
+<li>
+A dark red arrow is used for private inheritance. </li>
+<li>
+A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible. </li>
+<li>
+A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance. </li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/graph_legend.md5
----------------------------------------------------------------------
diff --git a/docs/v1.11/graph_legend.md5 b/docs/v1.11/graph_legend.md5
new file mode 100644
index 0000000..a06ed05
--- /dev/null
+++ b/docs/v1.11/graph_legend.md5
@@ -0,0 +1 @@
+387ff8eb65306fa251338d3c9bd7bfff
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/graph_legend.svg
----------------------------------------------------------------------
diff --git a/docs/v1.11/graph_legend.svg b/docs/v1.11/graph_legend.svg
new file mode 100644
index 0000000..12d6a4d
--- /dev/null
+++ b/docs/v1.11/graph_legend.svg
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.38.0 (20140413.2041)
+ -->
+<!-- Title: Graph Legend Pages: 1 -->
+<svg width="510pt" height="154pt"
+ viewBox="0.00 0.00 509.69 154.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 150)">
+<title>Graph Legend</title>
+<polygon fill="white" stroke="none" points="-4,4 -4,-150 505.687,-150 505.687,4 -4,4"/>
+<!-- Node9 -->
+<g id="node1" class="node"><title>Node9</title>
+<polygon fill="#bfbfbf" stroke="black" points="293.431,-18 238.599,-18 238.599,-0 293.431,-0 293.431,-18"/>
+<text text-anchor="middle" x="266.015" y="-6" font-family="Helvetica,sans-Serif" font-size="10.00">Inherited</text>
+</g>
+<!-- Node10 -->
+<g id="node2" class="node"><title>Node10</title>
+<g id="a_node2"><a xlink:href="$classPublicBase.html" xlink:title="PublicBase">
+<polygon fill="none" stroke="black" points="66.044,-82 -0.0146549,-82 -0.0146549,-64 66.044,-64 66.044,-82"/>
+<text text-anchor="middle" x="33.0146" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">PublicBase</text>
+</a>
+</g>
+</g>
+<!-- Node10&#45;&gt;Node9 -->
+<g id="edge1" class="edge"><title>Node10&#45;&gt;Node9</title>
+<path fill="none" stroke="midnightblue" d="M73.3674,-61.2624C120.605,-48.6928 197.564,-28.2142 238.451,-17.3346"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="72.239,-57.9407 63.4753,-63.8946 74.0391,-64.7054 72.239,-57.9407"/>
+</g>
+<!-- Node11 -->
+<g id="node3" class="node"><title>Node11</title>
+<g id="a_node3"><a xlink:href="$classTruncated.html" xlink:title="Truncated">
+<polygon fill="none" stroke="red" points="63.1738,-146 2.85549,-146 2.85549,-128 63.1738,-128 63.1738,-146"/>
+<text text-anchor="middle" x="33.0146" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">Truncated</text>
+</a>
+</g>
+</g>
+<!-- Node11&#45;&gt;Node10 -->
+<g id="edge2" class="edge"><title>Node11&#45;&gt;Node10</title>
+<path fill="none" stroke="midnightblue" d="M33.0146,-117.828C33.0146,-106.079 33.0146,-91.3449 33.0146,-82.3053"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="29.5147,-117.895 33.0146,-127.895 36.5147,-117.895 29.5147,-117.895"/>
+</g>
+<!-- Node13 -->
+<g id="node4" class="node"><title>Node13</title>
+<g id="a_node4"><a xlink:href="$classProtectedBase.html" xlink:title="ProtectedBase">
+<polygon fill="none" stroke="black" points="165.611,-82 84.4179,-82 84.4179,-64 165.611,-64 165.611,-82"/>
+<text text-anchor="middle" x="125.015" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">ProtectedBase</text>
+</a>
+</g>
+</g>
+<!-- Node13&#45;&gt;Node9 -->
+<g id="edge3" class="edge"><title>Node13&#45;&gt;Node9</title>
+<path fill="none" stroke="darkgreen" d="M152.713,-59.8204C180.778,-47.4799 223.402,-28.7375 247.577,-18.1074"/>
+<polygon fill="darkgreen" stroke="darkgreen" points="151.193,-56.6654 143.448,-63.8946 154.011,-63.0733 151.193,-56.6654"/>
+</g>
+<!-- Node14 -->
+<g id="node5" class="node"><title>Node14</title>
+<g id="a_node5"><a xlink:href="$classPrivateBase.html" xlink:title="PrivateBase">
+<polygon fill="none" stroke="black" points="253.931,-82 184.099,-82 184.099,-64 253.931,-64 253.931,-82"/>
+<text text-anchor="middle" x="219.015" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">PrivateBase</text>
+</a>
+</g>
+</g>
+<!-- Node14&#45;&gt;Node9 -->
+<g id="edge4" class="edge"><title>Node14&#45;&gt;Node9</title>
+<path fill="none" stroke="#8b1a1a" d="M231.432,-55.6198C240.534,-43.6129 252.513,-27.8108 259.719,-18.3053"/>
+<polygon fill="#8b1a1a" stroke="#8b1a1a" points="228.411,-53.8111 225.159,-63.8946 233.989,-58.0399 228.411,-53.8111"/>
+</g>
+<!-- Node15 -->
+<g id="node6" class="node"><title>Node15</title>
+<polygon fill="none" stroke="#bfbfbf" points="355.837,-82 272.192,-82 272.192,-64 355.837,-64 355.837,-82"/>
+<text text-anchor="middle" x="314.015" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">Undocumented</text>
+</g>
+<!-- Node15&#45;&gt;Node9 -->
+<g id="edge5" class="edge"><title>Node15&#45;&gt;Node9</title>
+<path fill="none" stroke="midnightblue" d="M301.606,-55.9718C292.278,-43.9234 279.876,-27.904 272.445,-18.3053"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="298.85,-58.1299 307.739,-63.8946 304.385,-53.8447 298.85,-58.1299"/>
+</g>
+<!-- Node16 -->
+<g id="node7" class="node"><title>Node16</title>
+<g id="a_node7"><a xlink:href="$classTempl.html" xlink:title="Templ&lt; int &gt;">
+<polygon fill="none" stroke="black" points="444.489,-82 373.54,-82 373.54,-64 444.489,-64 444.489,-82"/>
+<text text-anchor="middle" x="409.015" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">Templ&lt; int &gt;</text>
+</a>
+</g>
+</g>
+<!-- Node16&#45;&gt;Node9 -->
+<g id="edge6" class="edge"><title>Node16&#45;&gt;Node9</title>
+<path fill="none" stroke="midnightblue" d="M380.923,-59.8204C352.46,-47.4799 309.232,-28.7375 284.714,-18.1074"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="379.753,-63.1278 390.32,-63.8946 382.537,-56.7055 379.753,-63.1278"/>
+</g>
+<!-- Node17 -->
+<g id="node8" class="node"><title>Node17</title>
+<g id="a_node8"><a xlink:href="$classTempl.html" xlink:title="Templ&lt; T &gt;">
+<polygon fill="none" stroke="black" points="441.683,-146 376.346,-146 376.346,-128 441.683,-128 441.683,-146"/>
+<text text-anchor="middle" x="409.015" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">Templ&lt; T &gt;</text>
+</a>
+</g>
+</g>
+<!-- Node17&#45;&gt;Node16 -->
+<g id="edge7" class="edge"><title>Node17&#45;&gt;Node16</title>
+<path fill="none" stroke="orange" stroke-dasharray="5,2" d="M409.015,-117.828C409.015,-106.079 409.015,-91.3449 409.015,-82.3053"/>
+<polygon fill="orange" stroke="orange" points="405.515,-117.895 409.015,-127.895 412.515,-117.895 405.515,-117.895"/>
+<text text-anchor="middle" x="422.914" y="-102" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; int &gt;</text>
+</g>
+<!-- Node18 -->
+<g id="node9" class="node"><title>Node18</title>
+<g id="a_node9"><a xlink:href="$classUsed.html" xlink:title="Used">
+<polygon fill="none" stroke="black" points="501.861,-82 462.168,-82 462.168,-64 501.861,-64 501.861,-82"/>
+<text text-anchor="middle" x="482.015" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">Used</text>
+</a>
+</g>
+</g>
+<!-- Node18&#45;&gt;Node9 -->
+<g id="edge8" class="edge"><title>Node18&#45;&gt;Node9</title>
+<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M452.451,-63.5142C410.543,-51.4849 334.429,-29.6374 293.618,-17.9232"/>
+<polygon fill="#9a32cd" stroke="#9a32cd" points="451.504,-66.8834 462.081,-66.2783 453.435,-60.1551 451.504,-66.8834"/>
+<text text-anchor="middle" x="417.305" y="-38" font-family="Helvetica,sans-Serif" font-size="10.00">m_usedClass</text>
+</g>
+</g>
+</svg>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__arima.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__arima.html b/docs/v1.11/group__grp__arima.html
new file mode 100644
index 0000000..19d174d
--- /dev/null
+++ b/docs/v1.11/group__grp__arima.html
@@ -0,0 +1,414 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: ARIMA</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__arima.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ARIMA<div class="ingroups"><a class="el" href="group__grp__tsa.html">Time Series Analysis</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#forecast">Forecasting Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#background">Technical Background</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Given a time series of data X, the Autoregressive Integrated Moving Average (ARIMA) model is a tool for understanding and, perhaps, predicting future values in the series. The model consists of three parts, an autoregressive (AR) part, a moving average (MA) part, and an integrated (I) part where an initial differencing step can be applied to remove any non-stationarity in the signal. The model is generally referred to as an ARIMA(p, d, q) model where parameters p, d, and q are non-negative integers that refer to the order of the autoregressive, integrated, and moving average parts of the model respectively.</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd></dd></dl>
+<p>The ARIMA training function has the following syntax. </p><pre class="syntax">
+arima_train( input_table,
+       output_table,
+       timestamp_column,
+       timeseries_column,
+       grouping_columns,
+       include_mean,
+       non_seasonal_orders,
+       optimizer_params
+     )
+</pre><p><b>Arguments</b> </p><dl class="arglist">
+<dt>input_table </dt>
+<dd><p class="startdd">TEXT. The name of the table containing time series data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. The name of the table to store the ARIMA model. Three tables are created, with names based on the value of the <em>output_table</em> argument in the training function:</p>
+<ol type="1">
+<li><em>output_table</em>: Table containing the ARIMA model. Contains the following columns: <table class="output">
+<tr>
+<th>mean </th><td>Model mean (only if 'include_mean' is TRUE)  </td></tr>
+<tr>
+<th>mean_std_error </th><td>Standard errors for mean  </td></tr>
+<tr>
+<th>ar_params </th><td>Auto-regressions parameters of the ARIMA model  </td></tr>
+<tr>
+<th>ar_std_errors </th><td>Standard errors for AR parameters  </td></tr>
+<tr>
+<th>ma_params </th><td>Moving average parameters of the ARIMA model  </td></tr>
+<tr>
+<th>ma_std_errors </th><td>Standard errors for MA parameters  </td></tr>
+</table>
+</li>
+<li><em>output_table</em>_summary: Table containing descriptive statistics of the ARIMA model. Contains the following columns: <table class="output">
+<tr>
+<th>input_table </th><td>Table name with the source data  </td></tr>
+<tr>
+<th>timestamp_col </th><td>Column name in the source table that contains the timestamp index to data  </td></tr>
+<tr>
+<th>timeseries_col </th><td>Column name in the source table that contains the data values  </td></tr>
+<tr>
+<th>non_seasonal_orders </th><td>Orders of the non-seasonal ARIMA model  </td></tr>
+<tr>
+<th>include_mean </th><td>TRUE if intercept was included in ARIMA model  </td></tr>
+<tr>
+<th>residual_variance </th><td>Variance of the residuals  </td></tr>
+<tr>
+<th>log_likelihood </th><td>Log likelihood value (when using MLE)  </td></tr>
+<tr>
+<th>iter_num </th><td>The number of iterations executed  </td></tr>
+<tr>
+<th>exec_time </th><td>Total time taken to train the model  </td></tr>
+</table>
+</li>
+<li><em>output_table</em>_residual: Table containing the residuals for each data point in 'input_table'. Contains the following columns: <table class="output">
+<tr>
+<th>timestamp_col </th><td>Same as the 'timestamp_col' parameter (all indices from source table included except the first <em>d</em> elements, where <em>d</em> is the differencing order value from 'non_seasonal_orders')   </td></tr>
+<tr>
+<th>residual </th><td>Residual value for each data point  </td></tr>
+</table>
+</li>
+</ol>
+<p></p>
+<p class="enddd"></p>
+</dd>
+<dt>timestamp_column </dt>
+<dd><p class="startdd">TEXT. The name of the column containing the timestamp (index) data. This could be a serial index (INTEGER) or date/time value (TIMESTAMP).</p>
+<p class="enddd"></p>
+</dd>
+<dt>timeseries_column </dt>
+<dd><p class="startdd">TEXT. The name of the column containing the time series data. This data is currently restricted to DOUBLE PRECISION.</p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_columns (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. <em>Not currently implemented. Any non-NULL value is ignored.</em></p>
+<p>A comma-separated list of column names used to group the input dataset into discrete groups, training one ARIMA model per group. It is similar to the SQL <code>GROUP BY</code> clause. When this value is null, no grouping is used and a single result model is generated.</p>
+<p class="enddd"></p>
+</dd>
+<dt>include_mean (optional) </dt>
+<dd><p class="startdd">BOOLEAN, default: FALSE. Mean value of the data series is added in the ARIMA model if this variable is True. </p>
+<p class="enddd"></p>
+</dd>
+<dt>non_seasonal_orders (optional) </dt>
+<dd><p class="startdd">INTEGER[], default: 'ARRAY[1,1,1]'. Orders of the ARIMA model. The orders are [p, d, q], where parameters p, d, and q are non-negative integers that refer to the order of the autoregressive, integrated, and moving average parts of the model respectively. </p>
+<p class="enddd"></p>
+</dd>
+<dt>optimizer_params (optional) </dt>
+<dd>TEXT. Comma-separated list of optimizer-specific parameters of the form ‘name=value'. The order of the parameters does not matter. The following parameters are recognized:<ul>
+<li><b>max_iter:</b> Maximum number of iterations to run learning algorithm (Default = 100)</li>
+<li><b>tau:</b> Computes the initial step size for gradient algorithm (Default = 0.001)</li>
+<li><b>e1:</b> Algorithm-specific threshold for convergence (Default = 1e-15)</li>
+<li><b>e2:</b> Algorithm-specific threshold for convergence (Default = 1e-15)</li>
+<li><b>e3:</b> Algorithm-specific threshold for convergence (Default = 1e-15)</li>
+<li><b>hessian_delta:</b> Delta parameter to compute a numerical approximation of the Hessian matrix (Default = 1e-6)  </li>
+</ul>
+</dd>
+</dl>
+<p><a class="anchor" id="forecast"></a></p><dl class="section user"><dt>Forecasting Function</dt><dd></dd></dl>
+<p>The ARIMA forecast function has the following syntax. </p><pre class="syntax">
+arima_forecast( model_table,
+                output_table,
+                steps_ahead
+              )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>model_table </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the ARIMA model trained on the time series dataset.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. The name of the table to store the forecasted values. The output table produced by the forecast function contains the following columns. </p><table class="output">
+<tr>
+<th>group_by_cols </th><td>Grouping column values (if grouping parameter is provided)  </td></tr>
+<tr>
+<th>step_ahead </th><td>Time step for the forecast  </td></tr>
+<tr>
+<th>forecast_value </th><td>Forecast of the current time step  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>steps_ahead </dt>
+<dd>INTEGER. The number of steps to forecast at the end of the time series. </dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd><ol type="1">
+<li>View online help for the ARIMA training function. <pre class="example">
+SELECT madlib.arima_train();
+</pre></li>
+<li>Create an input data set. <pre class="example">
+DROP TABLE IF EXISTS arima_beer;
+CREATE TABLE arima_beer (time_id integer NOT NULL, value double precision NOT NULL );
+COPY arima_beer (time_id, value) FROM stdin WITH DELIMITER '|';
+1  | 93.2
+2  | 96.0
+3  | 95.2
+4  | 77.0
+5  | 70.9
+6  | 64.7
+7  | 70.0
+8  | 77.2
+9  | 79.5
+10 | 100.5
+11 | 100.7
+12 | 107.0
+13 | 95.9
+14 | 82.7
+15 | 83.2
+16 | 80.0
+17 | 80.4
+18 | 67.5
+19 | 75.7
+20 | 71.0
+21 | 89.2
+22 | 101.0
+23 | 105.2
+24 | 114.0
+25 | 96.2
+26 | 84.4
+27 | 91.2
+28 | 81.9
+29 | 80.5
+30 | 70.4
+31 | 74.7
+32 | 75.9
+33 | 86.2
+34 | 98.7
+35 | 100.9
+36 | 113.7
+37 | 89.7
+38 | 84.4
+39 | 87.2
+40 | 85.5
+\.
+</pre></li>
+<li>Train an ARIMA model. <pre class="example">
+-- Train ARIMA model with 'grouping_columns'=NULL, 'include_mean'=TRUE,
+--   and 'non_seasonal_orders'=[1,1,1]
+SELECT madlib.arima_train( 'arima_beer',
+                           'arima_beer_output',
+                           'time_id',
+                           'value',
+                           NULL,
+                           FALSE,
+                           ARRAY[1, 1, 1]
+                         );
+</pre></li>
+<li>Examine the ARIMA model. <pre class="example">
+\x ON
+SELECT * FROM arima_beer_output;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]-+------------------
+ar_params     | {0.221954769696}
+ar_std_errors | {0.575367782602}
+ma_params     | {-0.140623564576}
+ma_std_errors | {0.533445214346}
+</pre></li>
+<li>View the summary statistics table. <pre class="example">
+SELECT * FROM arima_beer_output_summary;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]-------+---------------
+input_table         | arima_beer
+timestamp_col       | time_id
+timeseries_col      | value
+non_seasonal_orders | {1,1,1}
+include_mean        | f
+residual_variance   | 100.989970539
+log_likelihood      | -145.331516396
+iter_num            | 28
+exec_time (s)       | 2.75
+</pre></li>
+<li>View the residuals. <pre class="example">
+\x OFF
+SELECT * FROM arima_beer_output_residual;
+</pre> Result: <pre class="result">
+ time_id |      residual
+---------+--------------------
+       2 |                  0
+       4 |   -18.222328834394
+       6 |  -5.49616627282665
+...
+      35 |   1.06298837051437
+      37 |  -25.0886854003757
+      39 |   3.48401666299571
+(40 rows)
+</pre></li>
+<li>Use the ARIMA forecast function to forecast 10 future values. <pre class="example">
+SELECT madlib.arima_forecast( 'arima_beer_output',
+                              'arima_beer_forecast_output',
+                              10
+                            );
+SELECT * FROM arima_beer_forecast_output;
+</pre> Result: <pre class="result">
+ steps_ahead | forecast_value
+-------------+----------------
+           1 |  85.3802343659
+           3 |  85.3477516875
+           5 |  85.3461514635
+           7 |  85.3460726302
+           9 |  85.3460687465
+           2 |  85.3536518121
+           4 |  85.3464421267
+           6 |  85.3460869494
+           8 |  85.3460694519
+          10 |    85.34606859
+(10 rows)
+</pre></li>
+</ol>
+</dd></dl>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd>An ARIMA model is an <em>a</em>uto-<em>r</em>egressive <em>i</em>ntegrated <em>m</em>oving <em>a</em>verage model. An ARIMA model is typically expressed in the form <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ (1 - \phi(B)) Y_t = (1 + \theta(B)) Z_t, \]" src="form_535.png"/>
+</p>
+</dd></dl>
+<p>where <img class="formulaInl" alt="$B$" src="form_207.png"/> is the backshift operator. The time <img class="formulaInl" alt="$ t $" src="form_536.png"/> is from <img class="formulaInl" alt="$ 1 $" src="form_537.png"/> to <img class="formulaInl" alt="$ N $" src="form_220.png"/>.</p>
+<p>ARIMA models involve the following variables:</p><ul>
+<li>The values of the time series: <img class="formulaInl" alt="$ X_t $" src="form_538.png"/>.</li>
+<li>Parameters of the model: <img class="formulaInl" alt="$ p $" src="form_111.png"/>, <img class="formulaInl" alt="$ q $" src="form_539.png"/>, and <img class="formulaInl" alt="$ d $" src="form_468.png"/>; <img class="formulaInl" alt="$ d $" src="form_468.png"/> is the differencing order, <img class="formulaInl" alt="$ p $" src="form_111.png"/> is the order of the AR operator, and <img class="formulaInl" alt="$ q $" src="form_539.png"/> is the order of the MA operator.</li>
+<li>The AR operator: <img class="formulaInl" alt="$ \phi(B) $" src="form_540.png"/>.</li>
+<li>The MA operator: <img class="formulaInl" alt="$ \theta(B) $" src="form_541.png"/>.</li>
+<li>The lag difference: <img class="formulaInl" alt="$ Y_{t} $" src="form_542.png"/>, where <img class="formulaInl" alt="$ Y_{t} = (1-B)^{d}(X_{t} - \mu) $" src="form_543.png"/>.</li>
+<li>The mean value: <img class="formulaInl" alt="$ \mu $" src="form_288.png"/>, which is set to be zero for <img class="formulaInl" alt="$ d&gt;0 $" src="form_544.png"/> and estimated from the data when d=0.</li>
+<li>The error terms: <img class="formulaInl" alt="$ Z_t $" src="form_545.png"/>.</li>
+</ul>
+<p>The auto regression operator models the prediction for the next observation as some linear combination of the previous observations. More formally, an AR operator of order <img class="formulaInl" alt="$ p $" src="form_111.png"/> is defined as</p>
+<p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \phi(B) Y_t= \phi_1 Y_{t-1} + \dots + \phi_{p} Y_{t-p} \]" src="form_546.png"/>
+</p>
+<p>The moving average operator is similar, and it models the prediction for the next observation as a linear combination of the errors in the previous prediction errors. More formally, the MA operator of order <img class="formulaInl" alt="$ q $" src="form_539.png"/> is defined as</p>
+<p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \theta(B) Z_t = \theta_{1} Z_{t-1} + \dots + \theta_{q} Z_{t-q}. \]" src="form_547.png"/>
+</p>
+<p>We estimate the parameters using the Levenberg-Marquardt Algorithm. In mathematics and computing, the Levenberg-Marquardt algorithm (LMA), also known as the damped least-squares (DLS) method, provides a numerical solution to the problem of minimizing a function, generally nonlinear, over a space of parameters of the function.</p>
+<p>Like other numeric minimization algorithms, LMA is an iterative procedure. To start a minimization, the user has to provide an initial guess for the parameter vector, $p$, as well as some tuning parameters <img class="formulaInl" alt="$\tau, \epsilon_1, \epsilon_2, \epsilon_3,$" src="form_548.png"/>.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] Rob J Hyndman and George Athanasopoulos: Forecasting: principles and practice, <a href="http://otexts.com/fpp/">http://otexts.com/fpp/</a></p>
+<p>[2] Robert H. Shumway, David S. Stoffer: Time Series Analysis and Its Applications With R Examples, Third edition Springer Texts in Statistics, 2010</p>
+<p>[3] Henri Gavin: The Levenberg-Marquardt method for nonlinear least squares curve-fitting problems, 2011</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="arima_8sql__in.html" title="Arima function for forecasting of timeseries data. ">arima.sql_in</a> documenting the ARIMA functions </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__array.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__array.html b/docs/v1.11/group__grp__array.html
new file mode 100644
index 0000000..8b48d77
--- /dev/null
+++ b/docs/v1.11/group__grp__array.html
@@ -0,0 +1,352 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Array Operations</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__array.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Array Operations<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a> &raquo; <a class="el" href="group__grp__arraysmatrix.html">Arrays and Matrices</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#notes">Implementation Notes</a> </li>
+<li>
+<a href="#list">List of Array Operations</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>This module provides a set of basic array operations implemented in C and SQL. It is a support module for several machine learning algorithms that require fast array operations.</p>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Implementation Notes</dt><dd></dd></dl>
+<p>All functions (except <a class="el" href="array__ops_8sql__in.html#acb57ea4521dcb717f9e3148e0acccc74" title="This function normalizes an array as sum of squares to be 1. ">normalize()</a> and <a class="el" href="array__ops_8sql__in.html#acc295a568878940ffc3e2c9a75990efb" title="This function takes an array as the input and keep only elements that satisfy the operator on specifi...">array_filter()</a>) described in this module work with 2-D arrays.</p>
+<p>These functions support several numeric types:</p><ul>
+<li>SMALLINT</li>
+<li>INTEGER</li>
+<li>BIGINT</li>
+<li>REAL</li>
+<li>DOUBLE PRECISION (FLOAT8)</li>
+<li>NUMERIC (internally casted into FLOAT8, loss of precisions can happen)</li>
+</ul>
+<p>Additionally, <a class="el" href="array__ops_8sql__in.html#af057b589f2a2cb1095caa99feaeb3d70" title="This function takes a 2-D array as the input and unnests it by one level. It returns a set of 1-D arr...">array_unnest_2d_to_1d()</a> supports other data types such as TEXT or VARCHAR.</p>
+<p>Several of the function require NO NULL VALUES, while others omit NULLs and return results. See details in description of individual functions.</p>
+<p><a class="anchor" id="list"></a></p><dl class="section user"><dt>Array Operations</dt><dd><table class="output">
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a91c8d3715142927b3967f05a4fbf1575" title="Adds two arrays. It requires that all the values are NON-NULL. Return type is the same as the input t...">array_add()</a></th><td><p class="starttd">Adds two arrays. It requires that all the values are NON-NULL. Return type is the same as the input type.</p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a26e8508a2bae10a6574cec697a270eea" title="Aggregate, element-wise sum of arrays. It requires that all the values are NON-NULL. Return type is the same as the input type. ">sum()</a></th><td><p class="starttd">Aggregate, sums vector element-wisely. It requires that all the values are NON-NULL. Return type is the same as the input type.</p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a2875a161a01c7dcdea9a4997b074eefc" title="Subtracts two arrays. It requires that all the values are NON-NULL. Return type is the same as the in...">array_sub()</a></th><td><p class="starttd">Subtracts two arrays. It requires that all the values are NON-NULL. Return type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a652d70c480d484c4a1a92ded384b0dd7" title="Element-wise product of two arrays. It requires that all the values are NON-NULL. Return type is the ...">array_mult()</a></th><td><p class="starttd">Element-wise product of two arrays. It requires that all the values are NON-NULL. Return type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a6cc05e7052495f8b64692faf40219576" title="Element-wise division of two arrays. It requires that all the values are NON-NULL. Return type is the same as the input type. ">array_div()</a></th><td><p class="starttd">Element-wise division of two arrays. It requires that all the values are NON-NULL. Return type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#acde10964ed23b7c8da515fb84cb8d5e0" title="Dot-product of two arrays. It requires that all the values are NON-NULL. Return type is the same as t...">array_dot()</a></th><td><p class="starttd">Dot-product of two arrays. It requires that all the values are NON-NULL. Return type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#aedf6cb13eb4803bcc12dc4d95ea8ff4e" title="Checks whether one array contains the other. This function returns TRUE if each non-zero element in t...">array_contains()</a></th><td><p class="starttd">Checks whether one array contains the other. This function returns TRUE if each non-zero element in the right array equals to the element with the same index in the left array. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#ae891429cc50705c530f3e5ca15541849" title="This function finds the maximum value in the array. NULLs are ignored. Return type is the same as the...">array_max()</a></th><td><p class="starttd">This function finds the maximum value in the array. NULLs are ignored. Return type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#aa415256a9064aecc600dfb5e377fb7b1" title="This function finds the maximum value and corresponding index in the array. NULLs are ignored...">array_max_index()</a></th><td><p class="starttd">This function finds the maximum value and corresponding index in the array. NULLs are ignored. Return type is array in format [max, index], and its element type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a6659bf9d9363eb179fab34f81f8ac59b" title="This function finds the minimum value in the array. NULLs are ignored. Return type is the same as the...">array_min()</a></th><td><p class="starttd">This function finds the minimum value in the array. NULLs are ignored. Return type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a813a4d9ffc1c18b1b3e18f6ecdb2051f" title="This function finds the minimum value and corresponding index in the array. NULLs are ignored...">array_min_index()</a></th><td><p class="starttd">This function finds the minimum value and corresponding index in the array. NULLs are ignored. Return type is array in format [min, index], and its element type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a4c98f20e6a737358806f63318daea5ec" title="This function finds the sum of the values in the array. NULLs are ignored. Return type is the same as...">array_sum()</a></th><td><p class="starttd">This function finds the sum of the values in the array. NULLs are ignored. Return type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a418de59800833aa95f9b7cbd6b12901c" title="This function finds the sum of the values in the array. NULLs are ignored. Return type is always FLOA...">array_sum_big()</a></th><td><p class="starttd">This function finds the sum of the values in the array. NULLs are ignored. Return type is always FLOAT8 regardless of input. This function is meant to replace <a class="el" href="array__ops_8sql__in.html#a4c98f20e6a737358806f63318daea5ec" title="This function finds the sum of the values in the array. NULLs are ignored. Return type is the same as...">array_sum()</a> in cases when a sum may overflow the element type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a13c0b0c53e8b0dc4e08c21bb8152ee7d" title="This function finds the sum of abs of the values in the array. NULLs are ignored. Return type is the ...">array_abs_sum()</a></th><td><p class="starttd">This function finds the sum of abs of the values in the array. NULLs are ignored. Return type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#ac14e74c10b58f5518cd0e3e56067e5ba" title="This function takes an array as the input and finds absolute value of each element in the array...">array_abs()</a></th><td><p class="starttd">This function takes an array as the input and finds abs of each element in the array, returning the resulting array. It requires that all the values are NON-NULL. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a407598f9eb70637798b02fd731bfca2c" title="This function finds the mean of the values in the array. NULLs are ignored. ">array_mean()</a></th><td><p class="starttd">This function finds the mean of the values in the array. NULLs are ignored. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a3b6c2d173a611e6d6b184d825c2b336d" title="This function finds the standard deviation of the values in the array. NULLs are ignored. ">array_stddev()</a></th><td><p class="starttd">This function finds the standard deviation of the values in the array. NULLs are ignored. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#ab066e65a41db78b00b4532996b2a6efc" title="This function creates an array of set size (the argument value) of FLOAT8, initializing the values to...">array_of_float()</a></th><td><p class="starttd">This function creates an array of set size (the argument value) of FLOAT8, initializing the values to 0.0. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#ab7d8550e66d2e0bd54b8f0997d93880c" title="This function creates an array of set size (the argument value) of BIGINT, initializing the values to...">array_of_bigint()</a></th><td><p class="starttd">This function creates an array of set size (the argument value) of BIGINT, initializing the values to 0. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a065a5323f3b742be47e39ad8b4c90fc2" title="This functions set every values in the array to some desired value (provided as the argument)...">array_fill()</a></th><td><p class="starttd">This functions set every value in the array to some desired value (provided as the argument). </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#acc295a568878940ffc3e2c9a75990efb" title="This function takes an array as the input and keep only elements that satisfy the operator on specifi...">array_filter()</a></th><td><p class="starttd">This function takes an array as the input and keep only elements that satisfy the operator on specified scalar. It requires that the array is 1-D and all the values are NON-NULL. Return type is the same as the input type. By default, this function removes all zeros. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#ae6881cc5c86941b6ffca35d7f3cd5c12" title="This function takes an array as the input and executes element-wise multiplication by the scalar prov...">array_scalar_mult()</a></th><td><p class="starttd">This function takes an array as the input and executes element-wise multiplication by the scalar provided as the second argument, returning the resulting array. It requires that all the values are NON-NULL. Return type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a0b6ffe59b12c3dee076c3059f9ab363f" title="This function takes an array as the input and executes element-wise addition by the scalar provided a...">array_scalar_add()</a></th><td><p class="starttd">This function takes an array as the input and executes element-wise addition of the scalar provided as the second argument, returning the resulting array. It requires that all the values are NON-NULL. Return type is the same as the input type. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a83451ed0c3ca5a9c62751dba47e45df7" title="This function takes an array as the input and finds square root of each element in the array...">array_sqrt()</a></th><td><p class="starttd">This function takes an array as the input and finds square root of each element in the array, returning the resulting array. It requires that all the values are NON-NULL. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#a761e7ca753a5e1acf26896b37ed8b0bd" title="This function takes an array and a float8 as the input and finds power of each element in the array...">array_pow()</a></th><td><p class="starttd">This function takes an array and a float8 as the input and finds power of each element in the array, returning the resulting array. It requires that all the values are NON-NULL. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#aff60f4091bed6374683f047c8a70ef9a" title="This function takes an array as the input and finds square of each element in the array...">array_square()</a></th><td><p class="starttd">This function takes an array as the input and finds square of each element in the array, returning the resulting array. It requires that all the values are NON-NULL. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#acb57ea4521dcb717f9e3148e0acccc74" title="This function normalizes an array as sum of squares to be 1. ">normalize()</a></th><td><p class="starttd">This function normalizes an array as sum of squares to be 1. It requires that the array is 1-D and all the values are NON-NULL. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="array__ops_8sql__in.html#af057b589f2a2cb1095caa99feaeb3d70" title="This function takes a 2-D array as the input and unnests it by one level. It returns a set of 1-D arr...">array_unnest_2d_to_1d()</a></th><td><p class="starttd">This function takes a 2-D array as the input and unnests it by one level. It returns a set of 1-D arrays that correspond to rows of the input array as well as an ID column with values corresponding to row positions occupied by those 1-D arrays within the 2-D array. </p>
+<p class="endtd"></p>
+</td></tr>
+</table>
+</dd></dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Create a database table with two integer array columns and add some data. <pre class="example">
+CREATE TABLE array_tbl ( id integer,
+                         array1 integer[],
+                         array2 integer[]
+                       );
+INSERT INTO array_tbl VALUES
+                       ( 1, '{1,2,3,4,5,6,7,8,9}', '{9,8,7,6,5,4,3,2,1}' ),
+                       ( 2, '{1,1,0,1,1,2,3,99,8}','{0,0,0,-5,4,1,1,7,6}' );
+</pre></li>
+<li>Find the minimum, maximum, mean, and standard deviation of the <code>array1</code> column. <pre class="example">
+SELECT id, madlib.array_min(array1), madlib.array_max(array1),
+           madlib.array_min_index(array1), madlib.array_max_index(array1),
+           madlib.array_mean(array1), madlib.array_stddev(array1)
+FROM array_tbl;
+</pre> Result: <pre class="result">
+id | array_min | array_max | array_min_index | array_max_index |    array_mean    |   array_stddev
+----+-----------+-----------+---------------+---------------+------------------+------------------
+  1 |         1 |         9 | {1,1}         | {9,9}         |                5 | 2.73861278752583
+  2 |         0 |        99 | {0,3}         | {99,8}        | 12.8888888888889 | 32.3784050118457(2 rows)
+</pre></li>
+<li>Perform array addition and subtraction. <pre class="example">
+SELECT id, madlib.array_add(array1,array2),
+          madlib.array_sub(array1,array2)
+FROM array_tbl;
+</pre> Result: <pre class="result">
+ id |          array_add           |        array_sub
+&#160;---+------------------------------+-------------------------
+  2 | {1,1,0,-4,5,3,4,106,14}      | {1,1,0,6,-3,1,2,92,2}
+  1 | {10,10,10,10,10,10,10,10,10} | {-8,-6,-4,-2,0,2,4,6,8}
+(2 rows)
+</pre></li>
+<li>Perform element-wise array multiplication and division. The row with <code>id=2</code> is excluded because the divisor array contains zero, which would cause a divide-by-zero error. <pre class="example">
+SELECT id, madlib.array_mult(array1,array2),
+           madlib.array_div(array1,array2)
+FROM array_tbl
+WHERE 0 != ALL(array2);</pre> Result: <pre class="result">
+ id |         array_mult         |      array_div
+&#160;---+----------------------------+---------------------
+  1 | {9,16,21,24,25,24,21,16,9} | {0,0,0,0,1,1,2,4,9}
+(1 row)
+</pre></li>
+<li>Calculate the dot product of the arrays. <pre class="example">
+SELECT id, madlib.array_dot(array1, array2)
+FROM array_tbl;
+</pre> Result: <pre class="result">
+ id | array_dot
+&#160;---+----------
+  2 |       745
+  1 |       165
+(2 rows)
+</pre></li>
+<li>Multiply an array by a scalar 3. <pre class="example">
+SELECT id, madlib.array_scalar_mult(array1,3)
+FROM array_tbl;
+</pre> Result: <pre class="result">
+ id |     array_scalar_mult
+&#160;---+--------------------------
+  1 | {3,6,9,12,15,18,21,24,27}
+  2 | {3,3,0,3,3,6,9,297,24}
+(2 rows)
+</pre></li>
+<li>Construct a nine-element array with each element set to the value 1.3. <pre class="example">
+SELECT madlib.array_fill(madlib.array_of_float(9), 1.3::float);
+</pre> Result: <pre class="result">
+              array_fill
+&#160;--------------------------------------
+ {1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3}
+(1 row)
+</pre></li>
+<li>Unnest a column of 2-D arrays into sets of 1-D arrays. <pre class="example">
+SELECT id, (madlib.array_unnest_2d_to_1d(val)).*
+FROM (
+  SELECT 1::INT AS id, ARRAY[[1.3,2.0,3.2],[10.3,20.0,32.2]]::FLOAT8[][] AS val
+  UNION ALL
+  SELECT 2, ARRAY[[pi(),pi()/2],[2*pi(),pi()],[pi()/4,4*pi()]]::FLOAT8[][]
+) t
+ORDER BY 1,2;
+</pre> Result: <pre class="result">
+ id | unnest_row_id |            unnest_result
+----+---------------+--------------------------------------
+  1 |             1 | {1.3,2,3.2}
+  1 |             2 | {10.3,20,32.2}
+  2 |             1 | {3.14159265358979,1.5707963267949}
+  2 |             2 | {6.28318530717959,3.14159265358979}
+  2 |             3 | {0.785398163397448,12.5663706143592}
+(5 rows)
+</pre> If the function is called without the .* notation then it will return a composite record type with two attributes: the row ID and corresponding unnested array result.</li>
+</ol>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="array__ops_8sql__in.html" title="implementation of array operations in SQL ">array_ops.sql_in</a> for list of functions and usage. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__arraysmatrix.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__arraysmatrix.html b/docs/v1.11/group__grp__arraysmatrix.html
new file mode 100644
index 0000000..33ed74b
--- /dev/null
+++ b/docs/v1.11/group__grp__arraysmatrix.html
@@ -0,0 +1,169 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Arrays and Matrices</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__arraysmatrix.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Arrays and Matrices<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>These modules provide basic mathematical operations to be run on array and matrices.</p>
+<p>For a distributed system, a matrix cannot simply be represented as a 2D array of numbers in memory. <b>We provide two forms of distributed representation of a matrix</b>:</p>
+<ul>
+<li>Dense: The matrix is represented as a distributed collection of 1-D arrays. An example 3x10 matrix would be the below table: <pre>
+ row_id |         row_vec
+--------+-------------------------
+   1    | {9,6,5,8,5,6,6,3,10,8}
+   2    | {8,2,2,6,6,10,2,1,9,9}
+   3    | {3,9,9,9,8,6,3,9,5,6}
+</pre></li>
+<li>Sparse: The matrix is represented using the row and column indices for each non-zero entry of the matrix. Example: <pre>
+ row_id | col_id | value
+--------+--------+-------
+      1 |      1 |     9
+      1 |      5 |     6
+      1 |      6 |     6
+      2 |      1 |     8
+      3 |      1 |     3
+      3 |      2 |     9
+      4 |      7 |     0
+(6 rows)
+</pre> &#160; All matrix operations work with either form of representation.</li>
+</ul>
+<p>In many cases, a matrix function can be <b>decomposed to vector operations applied independently on each row of a matrix (or corresponding rows of two matrices)</b>. We have also provided access to these internal vector operations (<a class="el" href="group__grp__array.html">Array Operations</a>) for greater flexibility. Matrix operations like <em>matrix_add</em> use the corresponding vector operation (<em>array_add</em>) and also include additional validation and formating. Other functions like <em>matrix_mult</em> are complex and use a combination of such vector operations and other SQL operations.</p>
+<p><b>It's important to note</b> that these array functions are only available for the dense format representation of the matrix. In general, the scope of a single array function invocation is limited to only an array (1-dimensional or 2-dimensional) that fits in memory. When such function is executed on a table of arrays, the function is called multiple times - once for each array (or pair of arrays). On contrary, scope of a single matrix function invocation is the complete matrix stored as a distributed table. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__array"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__array.html">Array Operations</a></td></tr>
+<tr class="memdesc:group__grp__array"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides fast array operations supporting other MADlib modules. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__matrix"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__matrix.html">Matrix Operations</a></td></tr>
+<tr class="memdesc:group__grp__matrix"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides fast matrix operations supporting other MADlib modules. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__matrix__factorization"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__matrix__factorization.html">Matrix Factorization</a></td></tr>
+<tr class="memdesc:group__grp__matrix__factorization"><td class="mdescLeft">&#160;</td><td class="mdescRight">Matrix Factorization methods including Singular Value Decomposition and Low-rank Matrix Factorization. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__linalg"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__linalg.html">Norms and Distance functions</a></td></tr>
+<tr class="memdesc:group__grp__linalg"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides utility functions for basic linear algebra operations. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__svec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__svec.html">Sparse Vectors</a></td></tr>
+<tr class="memdesc:group__grp__svec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements a sparse vector data type that provides compressed storage of vectors that may have many duplicate elements. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__arraysmatrix.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__arraysmatrix.js b/docs/v1.11/group__grp__arraysmatrix.js
new file mode 100644
index 0000000..5e12094
--- /dev/null
+++ b/docs/v1.11/group__grp__arraysmatrix.js
@@ -0,0 +1,8 @@
+var group__grp__arraysmatrix =
+[
+    [ "Array Operations", "group__grp__array.html", null ],
+    [ "Matrix Operations", "group__grp__matrix.html", null ],
+    [ "Matrix Factorization", "group__grp__matrix__factorization.html", "group__grp__matrix__factorization" ],
+    [ "Norms and Distance functions", "group__grp__linalg.html", null ],
+    [ "Sparse Vectors", "group__grp__svec.html", null ]
+];
\ No newline at end of file


[08/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/linalg_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/linalg_8sql__in.html b/docs/v1.11/linalg_8sql__in.html
new file mode 100644
index 0000000..0f4002c
--- /dev/null
+++ b/docs/v1.11/linalg_8sql__in.html
@@ -0,0 +1,1329 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: linalg.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('linalg_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">linalg.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for linear algebra.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a300300fe4b8576ba0b97b95d8dea3057"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a300300fe4b8576ba0b97b95d8dea3057">norm1</a> (float8[] x)</td></tr>
+<tr class="memdesc:a300300fe4b8576ba0b97b95d8dea3057"><td class="mdescLeft">&#160;</td><td class="mdescRight">1-norm of a vector  <a href="#a300300fe4b8576ba0b97b95d8dea3057">More...</a><br /></td></tr>
+<tr class="separator:a300300fe4b8576ba0b97b95d8dea3057"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a50fdfe30cc0edc6888a909dbb4b4c239"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a50fdfe30cc0edc6888a909dbb4b4c239">norm2</a> (float8[] x)</td></tr>
+<tr class="memdesc:a50fdfe30cc0edc6888a909dbb4b4c239"><td class="mdescLeft">&#160;</td><td class="mdescRight">2-norm of a vector  <a href="#a50fdfe30cc0edc6888a909dbb4b4c239">More...</a><br /></td></tr>
+<tr class="separator:a50fdfe30cc0edc6888a909dbb4b4c239"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31fa9f2f5b45507c09f136464fdad1db"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a31fa9f2f5b45507c09f136464fdad1db">dist_inf_norm</a> (float8[] x, float8[] y)</td></tr>
+<tr class="memdesc:a31fa9f2f5b45507c09f136464fdad1db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Infinity-norm of the difference between two vectors.  <a href="#a31fa9f2f5b45507c09f136464fdad1db">More...</a><br /></td></tr>
+<tr class="separator:a31fa9f2f5b45507c09f136464fdad1db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad9cc156ae57bf7c0a2fe90798259105a"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#ad9cc156ae57bf7c0a2fe90798259105a">dist_pnorm</a> (float8[] x, float8[] y, float8 p)</td></tr>
+<tr class="memdesc:ad9cc156ae57bf7c0a2fe90798259105a"><td class="mdescLeft">&#160;</td><td class="mdescRight">p-norm of the difference between two vectors  <a href="#ad9cc156ae57bf7c0a2fe90798259105a">More...</a><br /></td></tr>
+<tr class="separator:ad9cc156ae57bf7c0a2fe90798259105a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad193850e79c4b9d811ca9bc53e13476"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#aad193850e79c4b9d811ca9bc53e13476">dist_norm1</a> (float8[] x, float8[] y)</td></tr>
+<tr class="memdesc:aad193850e79c4b9d811ca9bc53e13476"><td class="mdescLeft">&#160;</td><td class="mdescRight">1-norm of the difference between two vectors  <a href="#aad193850e79c4b9d811ca9bc53e13476">More...</a><br /></td></tr>
+<tr class="separator:aad193850e79c4b9d811ca9bc53e13476"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa58e51526edea6ea98db30b6f250adb4"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#aa58e51526edea6ea98db30b6f250adb4">dist_norm2</a> (float8[] x, float8[] y)</td></tr>
+<tr class="memdesc:aa58e51526edea6ea98db30b6f250adb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">2-norm of the difference between two vectors  <a href="#aa58e51526edea6ea98db30b6f250adb4">More...</a><br /></td></tr>
+<tr class="separator:aa58e51526edea6ea98db30b6f250adb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1782f2ba00d9f9fab20894a576079f87"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a1782f2ba00d9f9fab20894a576079f87">cosine_similarity</a> (float8[] x, float8[] y)</td></tr>
+<tr class="memdesc:a1782f2ba00d9f9fab20894a576079f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">cosine similarity score between two vectors  <a href="#a1782f2ba00d9f9fab20894a576079f87">More...</a><br /></td></tr>
+<tr class="separator:a1782f2ba00d9f9fab20894a576079f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00a08e69f27524f2096032214e15b668"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a00a08e69f27524f2096032214e15b668">squared_dist_norm2</a> (float8[] x, float8[] y)</td></tr>
+<tr class="memdesc:a00a08e69f27524f2096032214e15b668"><td class="mdescLeft">&#160;</td><td class="mdescRight">Squared 2-norm of the difference between two vectors.  <a href="#a00a08e69f27524f2096032214e15b668">More...</a><br /></td></tr>
+<tr class="separator:a00a08e69f27524f2096032214e15b668"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8c7b9281a72ff22caf06161701b27e84"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a8c7b9281a72ff22caf06161701b27e84">dist_angle</a> (float8[] x, float8[] y)</td></tr>
+<tr class="memdesc:a8c7b9281a72ff22caf06161701b27e84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Angle between two vectors.  <a href="#a8c7b9281a72ff22caf06161701b27e84">More...</a><br /></td></tr>
+<tr class="separator:a8c7b9281a72ff22caf06161701b27e84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afa13b4c6122b99422d666dedea136c18"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#afa13b4c6122b99422d666dedea136c18">dist_tanimoto</a> (float8[] x, float8[] y)</td></tr>
+<tr class="memdesc:afa13b4c6122b99422d666dedea136c18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tanimoto distance between two vectors.  <a href="#afa13b4c6122b99422d666dedea136c18">More...</a><br /></td></tr>
+<tr class="separator:afa13b4c6122b99422d666dedea136c18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1397ac9f4a35b3b67c3be05b5e1a828"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#ac1397ac9f4a35b3b67c3be05b5e1a828">dist_jaccard</a> (text[] x, text[] y)</td></tr>
+<tr class="memdesc:ac1397ac9f4a35b3b67c3be05b5e1a828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Jaccard distance between two vectors (treated as sets)  <a href="#ac1397ac9f4a35b3b67c3be05b5e1a828">More...</a><br /></td></tr>
+<tr class="separator:ac1397ac9f4a35b3b67c3be05b5e1a828"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8239fac12096a5dc2720f6cb35b011e5"><td class="memItemLeft" align="right" valign="top">closest_column_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a8239fac12096a5dc2720f6cb35b011e5">_closest_column</a> (float8[] m, float8[] x, regproc dist, text dist_dn)</td></tr>
+<tr class="separator:a8239fac12096a5dc2720f6cb35b011e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf6628dfa4d73dfce65a582aa5c5a3db"><td class="memItemLeft" align="right" valign="top">closest_column_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#acf6628dfa4d73dfce65a582aa5c5a3db">closest_column</a> (float8[] m, float8[] x, regproc dist=&quot;squared_dist_norm2&quot;)</td></tr>
+<tr class="memdesc:acf6628dfa4d73dfce65a582aa5c5a3db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given matrix <img class="formulaInl" alt="$ M $" src="form_175.png"/> and vector <img class="formulaInl" alt="$ \vec x $" src="form_176.png"/> compute the column of <img class="formulaInl" alt="$ M $" src="form_175.png"/> that is closest to <img class="formulaInl" alt="$ \vec x $" src="form_176.png"/>.  <a href="#acf6628dfa4d73dfce65a582aa5c5a3db">More...</a><br /></td></tr>
+<tr class="separator:acf6628dfa4d73dfce65a582aa5c5a3db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31c8d60f9a631c27f5f91964e0108da9"><td class="memItemLeft" align="right" valign="top">closest_column_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a31c8d60f9a631c27f5f91964e0108da9">closest_column</a> (float8[] m, float8[] x)</td></tr>
+<tr class="separator:a31c8d60f9a631c27f5f91964e0108da9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a37fd07274dbc9a7f779346b8572ec989"><td class="memItemLeft" align="right" valign="top">closest_columns_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a37fd07274dbc9a7f779346b8572ec989">_closest_columns</a> (float8[] m, float8[] x, integer num, regproc dist, text dist_dn)</td></tr>
+<tr class="memdesc:a37fd07274dbc9a7f779346b8572ec989"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given matrix <img class="formulaInl" alt="$ M $" src="form_175.png"/> and vector <img class="formulaInl" alt="$ \vec x $" src="form_176.png"/> compute the columns of <img class="formulaInl" alt="$ M $" src="form_175.png"/> that are closest to <img class="formulaInl" alt="$ \vec x $" src="form_176.png"/>.  <a href="#a37fd07274dbc9a7f779346b8572ec989">More...</a><br /></td></tr>
+<tr class="separator:a37fd07274dbc9a7f779346b8572ec989"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad864339591086b635d12015db993b5bc"><td class="memItemLeft" align="right" valign="top">closest_columns_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#ad864339591086b635d12015db993b5bc">closest_columns</a> (float8[] m, float8[] x, integer num, regproc dist)</td></tr>
+<tr class="separator:ad864339591086b635d12015db993b5bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa5da5470cc84963a059714faa238a07d"><td class="memItemLeft" align="right" valign="top">closest_columns_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#aa5da5470cc84963a059714faa238a07d">closest_columns</a> (float8[] m, float8[] x, integer num)</td></tr>
+<tr class="separator:aa5da5470cc84963a059714faa238a07d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaea269f4746f952faadffed9d9b107d7"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#aaea269f4746f952faadffed9d9b107d7">avg_vector_transition</a> (float8[] state, float8[] x)</td></tr>
+<tr class="separator:aaea269f4746f952faadffed9d9b107d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5ac255c13e1f2d91274b829ff0383e44"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a5ac255c13e1f2d91274b829ff0383e44">avg_vector_merge</a> (float8[] state_left, float8[] state_right)</td></tr>
+<tr class="separator:a5ac255c13e1f2d91274b829ff0383e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad468b52a7caa9b47a0650d39e32d9c50"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#ad468b52a7caa9b47a0650d39e32d9c50">avg_vector_final</a> (float8[] state)</td></tr>
+<tr class="separator:ad468b52a7caa9b47a0650d39e32d9c50"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1aa37f73fb1cd8d7d106aa518dd8c0b4"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a1aa37f73fb1cd8d7d106aa518dd8c0b4">avg</a> (float8[] x)</td></tr>
+<tr class="memdesc:a1aa37f73fb1cd8d7d106aa518dd8c0b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the average of vectors.  <a href="#a1aa37f73fb1cd8d7d106aa518dd8c0b4">More...</a><br /></td></tr>
+<tr class="separator:a1aa37f73fb1cd8d7d106aa518dd8c0b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5863fed5eb4813ba0044abc268d03ce"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#ad5863fed5eb4813ba0044abc268d03ce">normalized_avg_vector_transition</a> (float8[] state, float8[] x)</td></tr>
+<tr class="separator:ad5863fed5eb4813ba0044abc268d03ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1c22ee0672d6c550f5bb966f78ce738a"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a1c22ee0672d6c550f5bb966f78ce738a">normalized_avg_vector_final</a> (float8[] state)</td></tr>
+<tr class="separator:a1c22ee0672d6c550f5bb966f78ce738a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b04663ca206f03e66aed5ea2b4cc461"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a0b04663ca206f03e66aed5ea2b4cc461">normalized_avg</a> (float8[] x)</td></tr>
+<tr class="memdesc:a0b04663ca206f03e66aed5ea2b4cc461"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the normalized average of vectors.  <a href="#a0b04663ca206f03e66aed5ea2b4cc461">More...</a><br /></td></tr>
+<tr class="separator:a0b04663ca206f03e66aed5ea2b4cc461"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac2d98e204b4fccab518aa20edef4ec41"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#ac2d98e204b4fccab518aa20edef4ec41">matrix_agg_transition</a> (float8[] state, float8[] x)</td></tr>
+<tr class="separator:ac2d98e204b4fccab518aa20edef4ec41"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adb012de82ecdc71ac54f3498e88e59d0"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#adb012de82ecdc71ac54f3498e88e59d0">matrix_agg_final</a> (float8[] state)</td></tr>
+<tr class="separator:adb012de82ecdc71ac54f3498e88e59d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c439706f35d6cac89f151d553a5f111"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a9c439706f35d6cac89f151d553a5f111">matrix_agg</a> (float8[] x)</td></tr>
+<tr class="memdesc:a9c439706f35d6cac89f151d553a5f111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combine vectors to a matrix.  <a href="#a9c439706f35d6cac89f151d553a5f111">More...</a><br /></td></tr>
+<tr class="separator:a9c439706f35d6cac89f151d553a5f111"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aed3a33f3d3d43a056c5ec591661d34d8"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#aed3a33f3d3d43a056c5ec591661d34d8">matrix_column</a> (float8[] matrix, integer col)</td></tr>
+<tr class="memdesc:aed3a33f3d3d43a056c5ec591661d34d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the column of a matrix.  <a href="#aed3a33f3d3d43a056c5ec591661d34d8">More...</a><br /></td></tr>
+<tr class="separator:aed3a33f3d3d43a056c5ec591661d34d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a21d0a134f1674f71b3e872aacc5f3789"><td class="memItemLeft" align="right" valign="top">set&lt; record &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a21d0a134f1674f71b3e872aacc5f3789">deconstruct_2d_array</a> (float8[] in_array)</td></tr>
+<tr class="memdesc:a21d0a134f1674f71b3e872aacc5f3789"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a M-column N-row table of 2-D array.  <a href="#a21d0a134f1674f71b3e872aacc5f3789">More...</a><br /></td></tr>
+<tr class="separator:a21d0a134f1674f71b3e872aacc5f3789"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab67d0a074625d4fb90950d047dc2794e"><td class="memItemLeft" align="right" valign="top">set&lt; record &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#ab67d0a074625d4fb90950d047dc2794e">__deconstruct_lower_triangle</a> (float8[] in_array)</td></tr>
+<tr class="memdesc:ab67d0a074625d4fb90950d047dc2794e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a M-column M-row table of using lower triangle of 2-D array.  <a href="#ab67d0a074625d4fb90950d047dc2794e">More...</a><br /></td></tr>
+<tr class="separator:ab67d0a074625d4fb90950d047dc2794e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71304c333a999e69ac1430c285c35181"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a71304c333a999e69ac1430c285c35181">array_to_1d</a> (float8[] in_array)</td></tr>
+<tr class="memdesc:a71304c333a999e69ac1430c285c35181"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the input array as 1-D.  <a href="#a71304c333a999e69ac1430c285c35181">More...</a><br /></td></tr>
+<tr class="separator:a71304c333a999e69ac1430c285c35181"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0799a4ccb93a699a280861126c3e1a74"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a0799a4ccb93a699a280861126c3e1a74">array_to_2d</a> (float8[] in_array)</td></tr>
+<tr class="memdesc:a0799a4ccb93a699a280861126c3e1a74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return A 2-D matrix that the number of rows is encoded as the first element of the input array and the number of cols second.  <a href="#a0799a4ccb93a699a280861126c3e1a74">More...</a><br /></td></tr>
+<tr class="separator:a0799a4ccb93a699a280861126c3e1a74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abe23dd6c6963093863c2a107425f6384"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#abe23dd6c6963093863c2a107425f6384">index_2d_array</a> (float8[] in_2d_array, integer index)</td></tr>
+<tr class="memdesc:abe23dd6c6963093863c2a107425f6384"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return A 1-D form of the specified row of the given 2-D array.  <a href="#abe23dd6c6963093863c2a107425f6384">More...</a><br /></td></tr>
+<tr class="separator:abe23dd6c6963093863c2a107425f6384"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6b905fcac7746ef0ed0c36df4a1e070"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#af6b905fcac7746ef0ed0c36df4a1e070">get_row</a> (float8[] in_2d_array, integer index)</td></tr>
+<tr class="memdesc:af6b905fcac7746ef0ed0c36df4a1e070"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an indexed row of the given matrix (2-D array)  <a href="#af6b905fcac7746ef0ed0c36df4a1e070">More...</a><br /></td></tr>
+<tr class="separator:af6b905fcac7746ef0ed0c36df4a1e070"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20f34c9e661191e5225cca7bc23252c5"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linalg_8sql__in.html#a20f34c9e661191e5225cca7bc23252c5">get_col</a> (float8[] in_2d_array, integer index)</td></tr>
+<tr class="memdesc:a20f34c9e661191e5225cca7bc23252c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an indexed col of the given matrix (2-D array)  <a href="#a20f34c9e661191e5225cca7bc23252c5">More...</a><br /></td></tr>
+<tr class="separator:a20f34c9e661191e5225cca7bc23252c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section see"><dt>See also</dt><dd>For an overview of linear-algebra functions, see the module description <a class="el" href="group__grp__linalg.html">Norms and Distance functions</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="ab67d0a074625d4fb90950d047dc2794e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab67d0a074625d4fb90950d047dc2794e">&#9670;&nbsp;</a></span>__deconstruct_lower_triangle()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;record&gt; __deconstruct_lower_triangle </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>in_array</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">in_array</td><td>2-D array </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a8239fac12096a5dc2720f6cb35b011e5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8239fac12096a5dc2720f6cb35b011e5">&#9670;&nbsp;</a></span>_closest_column()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">closest_column_result _closest_column </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">regproc&#160;</td>
+          <td class="paramname"><em>dist</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dist_dn</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a37fd07274dbc9a7f779346b8572ec989"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a37fd07274dbc9a7f779346b8572ec989">&#9670;&nbsp;</a></span>_closest_columns()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">closest_columns_result _closest_columns </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">regproc&#160;</td>
+          <td class="paramname"><em>dist</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dist_dn</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>This function does essentially the same as <a class="el" href="linalg_8sql__in.html#acf6628dfa4d73dfce65a582aa5c5a3db">closest_column()</a>, except that it allows to specify the number of closest columns to return. The return value is a composite value:</p><ul>
+<li><code>columns_ids INTEGER[]</code> - The 0-based indices of the <code>num</code> columns of <img class="formulaInl" alt="$ M $" src="form_175.png"/> that are closest to <img class="formulaInl" alt="$ x $" src="form_179.png"/>. In case of ties, the first such indices are returned.</li>
+<li><code>distances DOUBLE PRECISION[]</code> - The distances between the columns of <img class="formulaInl" alt="$ M $" src="form_175.png"/> with indices in <code>columns_ids</code> and <img class="formulaInl" alt="$ x $" src="form_179.png"/>. That is, <code>distances[i]</code> contains <img class="formulaInl" alt="$ \operatorname{dist}(\vec{m_j}, \vec x) $" src="form_182.png"/>, where <img class="formulaInl" alt="$ j = $" src="form_183.png"/> <code>columns_ids[i]</code>. </li>
+</ul>
+
+</div>
+</div>
+<a id="a71304c333a999e69ac1430c285c35181"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71304c333a999e69ac1430c285c35181">&#9670;&nbsp;</a></span>array_to_1d()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] array_to_1d </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>in_array</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">in_array</td><td>1-D or 2-D array </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a0799a4ccb93a699a280861126c3e1a74"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0799a4ccb93a699a280861126c3e1a74">&#9670;&nbsp;</a></span>array_to_2d()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] array_to_2d </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>in_array</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">in_array</td><td>Input array with first 2 elements describing dimensions </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a1aa37f73fb1cd8d7d106aa518dd8c0b4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1aa37f73fb1cd8d7d106aa518dd8c0b4">&#9670;&nbsp;</a></span>avg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] avg </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Given vectors <img class="formulaInl" alt="$ x_1, \dots, x_n $" src="form_184.png"/>, compute the average <img class="formulaInl" alt="$ \frac 1n \sum_{i=1}^n x_i $" src="form_185.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Point <img class="formulaInl" alt="$ x_i $" src="form_63.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Average <img class="formulaInl" alt="$ \frac 1n \sum_{i=1}^n x_i $" src="form_185.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="ad468b52a7caa9b47a0650d39e32d9c50"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad468b52a7caa9b47a0650d39e32d9c50">&#9670;&nbsp;</a></span>avg_vector_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] avg_vector_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5ac255c13e1f2d91274b829ff0383e44"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5ac255c13e1f2d91274b829ff0383e44">&#9670;&nbsp;</a></span>avg_vector_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] avg_vector_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state_left</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state_right</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aaea269f4746f952faadffed9d9b107d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaea269f4746f952faadffed9d9b107d7">&#9670;&nbsp;</a></span>avg_vector_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] avg_vector_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="acf6628dfa4d73dfce65a582aa5c5a3db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf6628dfa4d73dfce65a582aa5c5a3db">&#9670;&nbsp;</a></span>closest_column() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">closest_column_result closest_column </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">regproc&#160;</td>
+          <td class="paramname"><em>dist</em> = <code>&quot;squared_dist_norm2&quot;</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">M</td><td>Matrix <img class="formulaInl" alt="$ M = (\vec{m_0} \dots \vec{m_{l-1}}) \in \mathbb{R}^{k \times l} $" src="form_177.png"/> </td></tr>
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x \in \mathbb R^k $" src="form_178.png"/> </td></tr>
+    <tr><td class="paramname">dist</td><td>The metric <img class="formulaInl" alt="$ \operatorname{dist} $" src="form_142.png"/>. This needs to be a function with signature <code>DOUBLE PRECISION[] x DOUBLE PRECISION[] -&gt; DOUBLE PRECISION</code>.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>columns_id INTEGER</code> - The 0-based index of the column of <img class="formulaInl" alt="$ M $" src="form_175.png"/> that is closest to <img class="formulaInl" alt="$ x $" src="form_179.png"/>. In case of ties, the first such index is returned. That is, <code>columns_id</code> is the minimum element in the set <img class="formulaInl" alt="$ \arg\min_{i=0,\dots,l-1} \operatorname{dist}(\vec{m_i}, \vec x) $" src="form_180.png"/>.</li>
+<li><code>distance DOUBLE PRECISION</code> - The minimum distance between any column of <img class="formulaInl" alt="$ M $" src="form_175.png"/> and <img class="formulaInl" alt="$ x $" src="form_179.png"/>. That is, <img class="formulaInl" alt="$ \min_{i=0,\dots,l-1} \operatorname{dist}(\vec{m_i}, \vec x) $" src="form_181.png"/>. </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a31c8d60f9a631c27f5f91964e0108da9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a31c8d60f9a631c27f5f91964e0108da9">&#9670;&nbsp;</a></span>closest_column() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">closest_column_result closest_column </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad864339591086b635d12015db993b5bc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad864339591086b635d12015db993b5bc">&#9670;&nbsp;</a></span>closest_columns() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">closest_columns_result closest_columns </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">regproc&#160;</td>
+          <td class="paramname"><em>dist</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa5da5470cc84963a059714faa238a07d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa5da5470cc84963a059714faa238a07d">&#9670;&nbsp;</a></span>closest_columns() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">closest_columns_result closest_columns </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1782f2ba00d9f9fab20894a576079f87"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1782f2ba00d9f9fab20894a576079f87">&#9670;&nbsp;</a></span>cosine_similarity()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 cosine_similarity </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x = (x_1, \dots, x_n) $" src="form_160.png"/> </td></tr>
+    <tr><td class="paramname">y</td><td>Vector <img class="formulaInl" alt="$ \vec y = (y_1, \dots, y_n) $" src="form_163.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ \frac{\langle \vec x, \vec y \rangle} {\| \vec x \| \cdot \| \vec y \|} $" src="form_169.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="a21d0a134f1674f71b3e872aacc5f3789"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a21d0a134f1674f71b3e872aacc5f3789">&#9670;&nbsp;</a></span>deconstruct_2d_array()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;record&gt; deconstruct_2d_array </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>in_array</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">in_array</td><td>2-D array </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a8c7b9281a72ff22caf06161701b27e84"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8c7b9281a72ff22caf06161701b27e84">&#9670;&nbsp;</a></span>dist_angle()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 dist_angle </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x = (x_1, \dots, x_n) $" src="form_160.png"/> </td></tr>
+    <tr><td class="paramname">y</td><td>Vector <img class="formulaInl" alt="$ \vec y = (y_1, \dots, y_n) $" src="form_163.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ \arccos\left(\frac{\langle \vec x, \vec y \rangle} {\| \vec x \| \cdot \| \vec y \|}\right) $" src="form_171.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="a31fa9f2f5b45507c09f136464fdad1db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a31fa9f2f5b45507c09f136464fdad1db">&#9670;&nbsp;</a></span>dist_inf_norm()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 dist_inf_norm </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x = (x_1, \dots, x_n) $" src="form_160.png"/> </td></tr>
+    <tr><td class="paramname">y</td><td>Vector <img class="formulaInl" alt="$ \vec y = (y_1, \dots, y_n) $" src="form_163.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ \| x - y \|_\infty = \max_{i=1}^n \|x_i - y_i\| $" src="form_164.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="ac1397ac9f4a35b3b67c3be05b5e1a828"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac1397ac9f4a35b3b67c3be05b5e1a828">&#9670;&nbsp;</a></span>dist_jaccard()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 dist_jaccard </td>
+          <td>(</td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x = (x_1, \dots, x_m) $" src="form_173.png"/> </td></tr>
+    <tr><td class="paramname">y</td><td>Vector <img class="formulaInl" alt="$ \vec y = (y_1, \dots, y_n) $" src="form_163.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ 1 - \frac{|x \cap y|}{|x \cup y|} $" src="form_174.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="aad193850e79c4b9d811ca9bc53e13476"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad193850e79c4b9d811ca9bc53e13476">&#9670;&nbsp;</a></span>dist_norm1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 dist_norm1 </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x = (x_1, \dots, x_n) $" src="form_160.png"/> </td></tr>
+    <tr><td class="paramname">y</td><td>Vector <img class="formulaInl" alt="$ \vec y = (y_1, \dots, y_n) $" src="form_163.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ \| x - y \|_1 = \sum_{i=1}^n |x_i - y_i| $" src="form_167.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="aa58e51526edea6ea98db30b6f250adb4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa58e51526edea6ea98db30b6f250adb4">&#9670;&nbsp;</a></span>dist_norm2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 dist_norm2 </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x = (x_1, \dots, x_n) $" src="form_160.png"/> </td></tr>
+    <tr><td class="paramname">y</td><td>Vector <img class="formulaInl" alt="$ \vec y = (y_1, \dots, y_n) $" src="form_163.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ \| x - y \|_2 = \sqrt{\sum_{i=1}^n (x_i - y_i)^2} $" src="form_168.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="ad9cc156ae57bf7c0a2fe90798259105a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad9cc156ae57bf7c0a2fe90798259105a">&#9670;&nbsp;</a></span>dist_pnorm()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 dist_pnorm </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>p</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x = (x_1, \dots, x_n) $" src="form_160.png"/> </td></tr>
+    <tr><td class="paramname">y</td><td>Vector <img class="formulaInl" alt="$ \vec y = (y_1, \dots, y_n) $" src="form_163.png"/> </td></tr>
+    <tr><td class="paramname">p</td><td>Scalar <img class="formulaInl" alt="$ p &gt; 0 $" src="form_165.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ \| x - y \|_p = (\sum_{i=1}^n \|x_i - y_i\|^p)^{\frac{1}{p}} $" src="form_166.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="afa13b4c6122b99422d666dedea136c18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afa13b4c6122b99422d666dedea136c18">&#9670;&nbsp;</a></span>dist_tanimoto()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 dist_tanimoto </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x = (x_1, \dots, x_n) $" src="form_160.png"/> </td></tr>
+    <tr><td class="paramname">y</td><td>Vector <img class="formulaInl" alt="$ \vec y = (y_1, \dots, y_n) $" src="form_163.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ 1 - \frac{\langle \vec x, \vec y \rangle} {\| \vec x \|^2 \cdot \| \vec y \|^2 - \langle \vec x, \vec y \rangle} $" src="form_172.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="a20f34c9e661191e5225cca7bc23252c5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a20f34c9e661191e5225cca7bc23252c5">&#9670;&nbsp;</a></span>get_col()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] get_col </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>in_2d_array</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>index</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">in_2d_array</td><td>Input 2-D array </td></tr>
+    <tr><td class="paramname">index</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="af6b905fcac7746ef0ed0c36df4a1e070"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af6b905fcac7746ef0ed0c36df4a1e070">&#9670;&nbsp;</a></span>get_row()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] get_row </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>in_2d_array</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>index</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">in_2d_array</td><td>Input 2-D array </td></tr>
+    <tr><td class="paramname">index</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="abe23dd6c6963093863c2a107425f6384"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abe23dd6c6963093863c2a107425f6384">&#9670;&nbsp;</a></span>index_2d_array()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] index_2d_array </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>in_2d_array</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>index</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">in_2d_array</td><td>Input 2-D array </td></tr>
+    <tr><td class="paramname">index</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a9c439706f35d6cac89f151d553a5f111"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9c439706f35d6cac89f151d553a5f111">&#9670;&nbsp;</a></span>matrix_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] matrix_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Given vectors <img class="formulaInl" alt="$ \vec x_1, \dots, \vec x_n \in \mathbb R^m $" src="form_188.png"/>, return matrix <img class="formulaInl" alt="$ ( \vec x_1 \dots \vec x_n ) \in \mathbb R^{m \times n}$" src="form_189.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ x_i $" src="form_63.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Matrix with columns <img class="formulaInl" alt="$ x_1, \dots, x_n $" src="form_184.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="adb012de82ecdc71ac54f3498e88e59d0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adb012de82ecdc71ac54f3498e88e59d0">&#9670;&nbsp;</a></span>matrix_agg_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] matrix_agg_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac2d98e204b4fccab518aa20edef4ec41"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac2d98e204b4fccab518aa20edef4ec41">&#9670;&nbsp;</a></span>matrix_agg_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] matrix_agg_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aed3a33f3d3d43a056c5ec591661d34d8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aed3a33f3d3d43a056c5ec591661d34d8">&#9670;&nbsp;</a></span>matrix_column()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] matrix_column </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>matrix</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>col</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">matrix</td><td>Two-dimensional matrix </td></tr>
+    <tr><td class="paramname">col</td><td>Column of the matrix to return (0-based index) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a300300fe4b8576ba0b97b95d8dea3057"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a300300fe4b8576ba0b97b95d8dea3057">&#9670;&nbsp;</a></span>norm1()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 norm1 </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x = (x_1, \dots, x_n) $" src="form_160.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ \| x \|_1 = \sum_{i=1}^n |x_i| $" src="form_161.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="a50fdfe30cc0edc6888a909dbb4b4c239"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a50fdfe30cc0edc6888a909dbb4b4c239">&#9670;&nbsp;</a></span>norm2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 norm2 </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x = (x_1, \dots, x_n) $" src="form_160.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ \| x \|_2 = \sqrt{\sum_{i=1}^n x_i^2} $" src="form_162.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="a0b04663ca206f03e66aed5ea2b4cc461"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0b04663ca206f03e66aed5ea2b4cc461">&#9670;&nbsp;</a></span>normalized_avg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] normalized_avg </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Given vectors <img class="formulaInl" alt="$ x_1, \dots, x_n $" src="form_184.png"/>, define <img class="formulaInl" alt="$ \widetilde{x} := \frac 1n \sum_{i=1}^n \frac{x_i}{\| x_i \|} $" src="form_186.png"/>, and compute the normalized average <img class="formulaInl" alt="$ \frac{\widetilde{x}}{\| \widetilde{x} \|} $" src="form_187.png"/>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Point <img class="formulaInl" alt="$ x_i $" src="form_63.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Normalized average <img class="formulaInl" alt="$ \frac{\widetilde{x}}{\| \widetilde{x} \|} $" src="form_187.png"/> </dd></dl>
+
+</div>
+</div>
+<a id="a1c22ee0672d6c550f5bb966f78ce738a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1c22ee0672d6c550f5bb966f78ce738a">&#9670;&nbsp;</a></span>normalized_avg_vector_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] normalized_avg_vector_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad5863fed5eb4813ba0044abc268d03ce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad5863fed5eb4813ba0044abc268d03ce">&#9670;&nbsp;</a></span>normalized_avg_vector_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] normalized_avg_vector_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a00a08e69f27524f2096032214e15b668"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00a08e69f27524f2096032214e15b668">&#9670;&nbsp;</a></span>squared_dist_norm2()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 squared_dist_norm2 </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Vector <img class="formulaInl" alt="$ \vec x = (x_1, \dots, x_n) $" src="form_160.png"/> </td></tr>
+    <tr><td class="paramname">y</td><td>Vector <img class="formulaInl" alt="$ \vec y = (y_1, \dots, y_n) $" src="form_163.png"/> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ \| x - y \|_2^2 = \sum_{i=1}^n (x_i - y_i)^2 $" src="form_170.png"/> </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_311c53d9b554ece18282a914235231b3.html">linalg</a></li><li class="navelem"><a class="el" href="linalg_8sql__in.html">linalg.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[09/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/lda_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/lda_8sql__in.html b/docs/v1.11/lda_8sql__in.html
new file mode 100644
index 0000000..6720457
--- /dev/null
+++ b/docs/v1.11/lda_8sql__in.html
@@ -0,0 +1,1371 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: lda.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('lda_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">lda.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for Latent Dirichlet Allocation.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:aeb7593251a4dedb695494f65dc2d1f80"><td class="memItemLeft" align="right" valign="top">set&lt; lda_result &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#aeb7593251a4dedb695494f65dc2d1f80">lda_train</a> (text data_table, text model_table, text output_data_table, int4 voc_size, int4 topic_num, int4 iter_num, float8 alpha, float8 beta)</td></tr>
+<tr class="memdesc:aeb7593251a4dedb695494f65dc2d1f80"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF provides an entry for the lda training process.  <a href="#aeb7593251a4dedb695494f65dc2d1f80">More...</a><br /></td></tr>
+<tr class="separator:aeb7593251a4dedb695494f65dc2d1f80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af1fde06c39dd12bb9e5544997f815323"><td class="memItemLeft" align="right" valign="top">set&lt; lda_result &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#af1fde06c39dd12bb9e5544997f815323">lda_predict</a> (text data_table, text model_table, text output_table)</td></tr>
+<tr class="memdesc:af1fde06c39dd12bb9e5544997f815323"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF provides an entry for the lda predicton process.  <a href="#af1fde06c39dd12bb9e5544997f815323">More...</a><br /></td></tr>
+<tr class="separator:af1fde06c39dd12bb9e5544997f815323"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa89e30c8fd0ba41b6feee01ee195330"><td class="memItemLeft" align="right" valign="top">set&lt; lda_result &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#aaa89e30c8fd0ba41b6feee01ee195330">lda_predict</a> (text data_table, text model_table, text output_table, int4 iter_num)</td></tr>
+<tr class="memdesc:aaa89e30c8fd0ba41b6feee01ee195330"><td class="mdescLeft">&#160;</td><td class="mdescRight">A overloaded version which allows users to specify iter_num.  <a href="#aaa89e30c8fd0ba41b6feee01ee195330">More...</a><br /></td></tr>
+<tr class="separator:aaa89e30c8fd0ba41b6feee01ee195330"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace20b6314e5b4e98929a98a6f05d925d"><td class="memItemLeft" align="right" valign="top">set&lt; lda_result &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#ace20b6314e5b4e98929a98a6f05d925d">lda_get_topic_word_count</a> (text model_table, text output_table)</td></tr>
+<tr class="memdesc:ace20b6314e5b4e98929a98a6f05d925d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF computes the per-topic word counts.  <a href="#ace20b6314e5b4e98929a98a6f05d925d">More...</a><br /></td></tr>
+<tr class="separator:ace20b6314e5b4e98929a98a6f05d925d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a455699e72328d6b105c61a3c9e7ae5dc"><td class="memItemLeft" align="right" valign="top">set&lt; lda_result &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a455699e72328d6b105c61a3c9e7ae5dc">lda_get_word_topic_count</a> (text model_table, text output_table)</td></tr>
+<tr class="memdesc:a455699e72328d6b105c61a3c9e7ae5dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF computes the per-word topic counts.  <a href="#a455699e72328d6b105c61a3c9e7ae5dc">More...</a><br /></td></tr>
+<tr class="separator:a455699e72328d6b105c61a3c9e7ae5dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ac16d87d50821aadcab0d75d65b3f1b"><td class="memItemLeft" align="right" valign="top">set&lt; lda_result &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a4ac16d87d50821aadcab0d75d65b3f1b">lda_get_topic_desc</a> (text model_table, text vocab_table, text desc_table, int4 top_k)</td></tr>
+<tr class="memdesc:a4ac16d87d50821aadcab0d75d65b3f1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF gets the description for each topic (top-k words)  <a href="#a4ac16d87d50821aadcab0d75d65b3f1b">More...</a><br /></td></tr>
+<tr class="separator:a4ac16d87d50821aadcab0d75d65b3f1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3cdff7ba417e1a9c1b221f23bc2aac64"><td class="memItemLeft" align="right" valign="top">int4 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a3cdff7ba417e1a9c1b221f23bc2aac64">__lda_random_assign</a> (int4 word_count, int4 topic_num)</td></tr>
+<tr class="memdesc:a3cdff7ba417e1a9c1b221f23bc2aac64"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF assigns topics to words in a document randomly.  <a href="#a3cdff7ba417e1a9c1b221f23bc2aac64">More...</a><br /></td></tr>
+<tr class="separator:a3cdff7ba417e1a9c1b221f23bc2aac64"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab2640fce837da813a3b6fff38dc713d8"><td class="memItemLeft" align="right" valign="top">int4 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#ab2640fce837da813a3b6fff38dc713d8">__lda_gibbs_sample</a> (int4[] words, int4[] counts, int4[] doc_topic, int8[] model, float8 alpha, float8 beta, int4 voc_size, int4 topic_num, int4 iter_num)</td></tr>
+<tr class="memdesc:ab2640fce837da813a3b6fff38dc713d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF learns the topics of words in a document and is the main step of a Gibbs sampling iteration. The model parameter (including the per-word topic counts and corpus-level topic counts) is passed to this function in the first call and then transfered to the rest calls through fcinfo-&gt;flinfo-&gt;fn_extra to allow the immediate update.  <a href="#ab2640fce837da813a3b6fff38dc713d8">More...</a><br /></td></tr>
+<tr class="separator:ab2640fce837da813a3b6fff38dc713d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad72ac6a8db5e26ef6ca8e7c2563bec94"><td class="memItemLeft" align="right" valign="top">int8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#ad72ac6a8db5e26ef6ca8e7c2563bec94">__lda_count_topic_sfunc</a> (int8[] state, int4[] words, int4[] counts, int4[] topic_assignment, int4 voc_size, int4 topic_num)</td></tr>
+<tr class="memdesc:ad72ac6a8db5e26ef6ca8e7c2563bec94"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF is the sfunc for the aggregator computing the topic counts for each word and the topic count in the whole corpus. It scans the topic assignments in a document and updates the topic counts.  <a href="#ad72ac6a8db5e26ef6ca8e7c2563bec94">More...</a><br /></td></tr>
+<tr class="separator:ad72ac6a8db5e26ef6ca8e7c2563bec94"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9987628d56799cd5fadccc92dff3110"><td class="memItemLeft" align="right" valign="top">int8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#ae9987628d56799cd5fadccc92dff3110">__lda_count_topic_prefunc</a> (int8[] state1, int8[] state2)</td></tr>
+<tr class="memdesc:ae9987628d56799cd5fadccc92dff3110"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF is the prefunc for the aggregator computing the per-word topic counts.  <a href="#ae9987628d56799cd5fadccc92dff3110">More...</a><br /></td></tr>
+<tr class="separator:ae9987628d56799cd5fadccc92dff3110"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acdae83c5837155ea3663b34db4521e86"><td class="memItemLeft" align="right" valign="top">aggregate int8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#acdae83c5837155ea3663b34db4521e86">__lda_count_topic_agg</a> (int4[], int4[], int4[], int4, int4)</td></tr>
+<tr class="memdesc:acdae83c5837155ea3663b34db4521e86"><td class="mdescLeft">&#160;</td><td class="mdescRight">This uda computes the word topic counts by scanning and summing up topic assignments in each document.  <a href="#acdae83c5837155ea3663b34db4521e86">More...</a><br /></td></tr>
+<tr class="separator:acdae83c5837155ea3663b34db4521e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25c3ef12d9808d8a38c5fd2630f3b5a9"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a25c3ef12d9808d8a38c5fd2630f3b5a9">lda_get_perplexity</a> (text model_table, text output_data_table)</td></tr>
+<tr class="memdesc:a25c3ef12d9808d8a38c5fd2630f3b5a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF computes the perplexity given the output data table and the model table.  <a href="#a25c3ef12d9808d8a38c5fd2630f3b5a9">More...</a><br /></td></tr>
+<tr class="separator:a25c3ef12d9808d8a38c5fd2630f3b5a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5defc3ef61cabeaf343a2e1d9988f8da"><td class="memItemLeft" align="right" valign="top">int8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a5defc3ef61cabeaf343a2e1d9988f8da">__lda_perplexity_sfunc</a> (int8[] state, int4[] words, int4[] counts, int4[] doc_topic, int8[] model, float8 alpha, float8 beta, int4 voc_size, int4 topic_num)</td></tr>
+<tr class="memdesc:a5defc3ef61cabeaf343a2e1d9988f8da"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF is the sfunc for the aggregator computing the perpleixty.  <a href="#a5defc3ef61cabeaf343a2e1d9988f8da">More...</a><br /></td></tr>
+<tr class="separator:a5defc3ef61cabeaf343a2e1d9988f8da"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a78a90c564e975e9a170b83ddeb6bd11c"><td class="memItemLeft" align="right" valign="top">int8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a78a90c564e975e9a170b83ddeb6bd11c">__lda_perplexity_prefunc</a> (int8[] state1, int8[] state2)</td></tr>
+<tr class="memdesc:a78a90c564e975e9a170b83ddeb6bd11c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF is the prefunc for the aggregator computing the perplexity.  <a href="#a78a90c564e975e9a170b83ddeb6bd11c">More...</a><br /></td></tr>
+<tr class="separator:a78a90c564e975e9a170b83ddeb6bd11c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abf691da12a45408203b82940644dc34e"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#abf691da12a45408203b82940644dc34e">__lda_perplexity_ffunc</a> (int8[] state)</td></tr>
+<tr class="memdesc:abf691da12a45408203b82940644dc34e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF is the finalfunc for the aggregator computing the perplexity.  <a href="#abf691da12a45408203b82940644dc34e">More...</a><br /></td></tr>
+<tr class="separator:abf691da12a45408203b82940644dc34e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9bc2a38ba29636740deb01aad241050"><td class="memItemLeft" align="right" valign="top">aggregate int8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#aa9bc2a38ba29636740deb01aad241050">__lda_perplexity_agg</a> (int4[], int4[], int4[], int8[], float8, float8, int4, int4)</td></tr>
+<tr class="separator:aa9bc2a38ba29636740deb01aad241050"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0eefd7b201fda5289554b7d43366865b"><td class="memItemLeft" align="right" valign="top">int4 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a0eefd7b201fda5289554b7d43366865b">__lda_check_count_ceiling</a> (int8[] arr, int4 r, int4 c)</td></tr>
+<tr class="separator:a0eefd7b201fda5289554b7d43366865b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2fcec45a37b459567ad0bbcd42c07142"><td class="memItemLeft" align="right" valign="top">set&lt; int4[]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a2fcec45a37b459567ad0bbcd42c07142">__lda_util_unnest</a> (int8[] arr, int4 r, int4 c)</td></tr>
+<tr class="memdesc:a2fcec45a37b459567ad0bbcd42c07142"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unnest a 2-D array into a set of 1-D arrays.  <a href="#a2fcec45a37b459567ad0bbcd42c07142">More...</a><br /></td></tr>
+<tr class="separator:a2fcec45a37b459567ad0bbcd42c07142"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a219c8432558301878384e5ef8aca1e3d"><td class="memItemLeft" align="right" valign="top">set&lt; int4[]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a219c8432558301878384e5ef8aca1e3d">__lda_util_unnest_transpose</a> (int8[] arr, int4 r, int4 c)</td></tr>
+<tr class="separator:a219c8432558301878384e5ef8aca1e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2db0019220f10a1fca78ed77a5c2dcd5"><td class="memItemLeft" align="right" valign="top">int8 [][]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a2db0019220f10a1fca78ed77a5c2dcd5">__lda_util_transpose</a> (int8[][] matrix)</td></tr>
+<tr class="memdesc:a2db0019220f10a1fca78ed77a5c2dcd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transpose a 2-D array.  <a href="#a2db0019220f10a1fca78ed77a5c2dcd5">More...</a><br /></td></tr>
+<tr class="separator:a2db0019220f10a1fca78ed77a5c2dcd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b522ce2d080956d7fb3d5ae79195b8a"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a9b522ce2d080956d7fb3d5ae79195b8a">__lda_util_norm_with_smoothing</a> (float8[] arr, float8 smooth)</td></tr>
+<tr class="memdesc:a9b522ce2d080956d7fb3d5ae79195b8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">L1 normalization with smoothing.  <a href="#a9b522ce2d080956d7fb3d5ae79195b8a">More...</a><br /></td></tr>
+<tr class="separator:a9b522ce2d080956d7fb3d5ae79195b8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa9729b6bcc20d00936b6831382747c2f"><td class="memItemLeft" align="right" valign="top">int4 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#aa9729b6bcc20d00936b6831382747c2f">__lda_util_index_sort</a> (float8[] arr)</td></tr>
+<tr class="memdesc:aa9729b6bcc20d00936b6831382747c2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF returns the index of elements in a sorted order.  <a href="#aa9729b6bcc20d00936b6831382747c2f">More...</a><br /></td></tr>
+<tr class="separator:aa9729b6bcc20d00936b6831382747c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0032ed0be0c41a1b6ed08dca93f4a59f"><td class="memItemLeft" align="right" valign="top">set&lt; lda_result &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a0032ed0be0c41a1b6ed08dca93f4a59f">__lda_util_norm_vocab</a> (text vocab_table, text output_vocab_table)</td></tr>
+<tr class="memdesc:a0032ed0be0c41a1b6ed08dca93f4a59f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF checks the vocabulary and converts non-continous wordids into continuous integers ranging from 0 to voc_size - 1.  <a href="#a0032ed0be0c41a1b6ed08dca93f4a59f">More...</a><br /></td></tr>
+<tr class="separator:a0032ed0be0c41a1b6ed08dca93f4a59f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85990f0bc07a2ab8834301561662939e"><td class="memItemLeft" align="right" valign="top">set&lt; lda_result &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a85990f0bc07a2ab8834301561662939e">__lda_util_norm_dataset</a> (text data_table, text norm_vocab_table, text output_data_table)</td></tr>
+<tr class="memdesc:a85990f0bc07a2ab8834301561662939e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF converts the data table according to the normalized vocabulary, and all rows with non-positive count values will be removed.  <a href="#a85990f0bc07a2ab8834301561662939e">More...</a><br /></td></tr>
+<tr class="separator:a85990f0bc07a2ab8834301561662939e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4fd0a274f1c400014f2ea9549507436"><td class="memItemLeft" align="right" valign="top">set&lt; lda_result &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#aa4fd0a274f1c400014f2ea9549507436">__lda_util_conorm_data</a> (text data_table, text vocab_table, text output_data_table, text output_vocab_table)</td></tr>
+<tr class="memdesc:aa4fd0a274f1c400014f2ea9549507436"><td class="mdescLeft">&#160;</td><td class="mdescRight">This UDF extracts the list of wordids from the data table and joins it with the vocabulary table to get the list of common wordids, next it will normalize the vocabulary based on the common wordids and then normalize the data table based on the normalized vocabulary.  <a href="#aa4fd0a274f1c400014f2ea9549507436">More...</a><br /></td></tr>
+<tr class="separator:aa4fd0a274f1c400014f2ea9549507436"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ea35eb8ae6670a07948a56b85c1710c"><td class="memItemLeft" align="right" valign="top">_pivotalr_lda_model&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lda_8sql__in.html#a3ea35eb8ae6670a07948a56b85c1710c">lda_parse_model</a> (bigint[] lda_model, integer voc_size, integer topic_num)</td></tr>
+<tr class="separator:a3ea35eb8ae6670a07948a56b85c1710c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>Dec 2012</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For an introduction to Latent Dirichlet Allocation models, see the module description <a class="el" href="group__grp__lda.html">Latent Dirichlet Allocation</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a0eefd7b201fda5289554b7d43366865b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0eefd7b201fda5289554b7d43366865b">&#9670;&nbsp;</a></span>__lda_check_count_ceiling()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int4 [] __lda_check_count_ceiling </td>
+          <td>(</td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>arr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>c</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="acdae83c5837155ea3663b34db4521e86"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acdae83c5837155ea3663b34db4521e86">&#9670;&nbsp;</a></span>__lda_count_topic_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate int8 [] __lda_count_topic_agg </td>
+          <td>(</td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">words</td><td>The unique words in the document </td></tr>
+    <tr><td class="paramname">counts</td><td>The counts of each unique words in the document </td></tr>
+    <tr><td class="paramname">topic_assignment</td><td>The topic assignments in the document </td></tr>
+    <tr><td class="paramname">voc_size</td><td>The size of vocabulary </td></tr>
+    <tr><td class="paramname">topic_num</td><td>The number of topics </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The word topic counts (a 1-d array embeding a 2-d array) </dd></dl>
+
+</div>
+</div>
+<a id="ae9987628d56799cd5fadccc92dff3110"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae9987628d56799cd5fadccc92dff3110">&#9670;&nbsp;</a></span>__lda_count_topic_prefunc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8 [] __lda_count_topic_prefunc </td>
+          <td>(</td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">state1</td><td>The local word topic counts </td></tr>
+    <tr><td class="paramname">state2</td><td>The local word topic counts </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The element-wise sum of two local states </dd></dl>
+
+</div>
+</div>
+<a id="ad72ac6a8db5e26ef6ca8e7c2563bec94"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad72ac6a8db5e26ef6ca8e7c2563bec94">&#9670;&nbsp;</a></span>__lda_count_topic_sfunc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8 [] __lda_count_topic_sfunc </td>
+          <td>(</td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4 []&#160;</td>
+          <td class="paramname"><em>words</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4 []&#160;</td>
+          <td class="paramname"><em>counts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4 []&#160;</td>
+          <td class="paramname"><em>topic_assignment</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>voc_size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>topic_num</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">state</td><td>The topic counts </td></tr>
+    <tr><td class="paramname">words</td><td>The unique words in the document </td></tr>
+    <tr><td class="paramname">counts</td><td>The counts of each unique words in the document (sum(counts) = word_count) </td></tr>
+    <tr><td class="paramname">topic_assignment</td><td>The topic assignments in the document </td></tr>
+    <tr><td class="paramname">voc_size</td><td>The size of vocabulary </td></tr>
+    <tr><td class="paramname">topic_num</td><td>The number of topics </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The updated state </dd></dl>
+
+</div>
+</div>
+<a id="ab2640fce837da813a3b6fff38dc713d8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab2640fce837da813a3b6fff38dc713d8">&#9670;&nbsp;</a></span>__lda_gibbs_sample()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int4 [] __lda_gibbs_sample </td>
+          <td>(</td>
+          <td class="paramtype">int4 []&#160;</td>
+          <td class="paramname"><em>words</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4 []&#160;</td>
+          <td class="paramname"><em>counts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4 []&#160;</td>
+          <td class="paramname"><em>doc_topic</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>model</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>alpha</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>beta</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>voc_size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>topic_num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>iter_num</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">words</td><td>The set of unique words in the document </td></tr>
+    <tr><td class="paramname">counts</td><td>The counts of each unique words in the document (sum(counts) = word_count) </td></tr>
+    <tr><td class="paramname">doc_topic</td><td>The current per-doc topic counts and topic assignments </td></tr>
+    <tr><td class="paramname">model</td><td>The current model (including the per-word topic counts and the corpus-level topic counts) </td></tr>
+    <tr><td class="paramname">alpha</td><td>The Dirichlet parameter for per-document topic multinomial </td></tr>
+    <tr><td class="paramname">beta</td><td>The Dirichlet parameter for per-topic word multinomial </td></tr>
+    <tr><td class="paramname">voc_size</td><td>The size of vocabulary </td></tr>
+    <tr><td class="paramname">topic_num</td><td>The number of topics </td></tr>
+    <tr><td class="paramname">iter_num</td><td>The number of iterations </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The learned topic counts and topic assignments </dd></dl>
+
+</div>
+</div>
+<a id="aa9bc2a38ba29636740deb01aad241050"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa9bc2a38ba29636740deb01aad241050">&#9670;&nbsp;</a></span>__lda_perplexity_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate int8 [] __lda_perplexity_agg </td>
+          <td>(</td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abf691da12a45408203b82940644dc34e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abf691da12a45408203b82940644dc34e">&#9670;&nbsp;</a></span>__lda_perplexity_ffunc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 __lda_perplexity_ffunc </td>
+          <td>(</td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">state</td><td>The merged state </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The perpleixty </dd></dl>
+
+</div>
+</div>
+<a id="a78a90c564e975e9a170b83ddeb6bd11c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a78a90c564e975e9a170b83ddeb6bd11c">&#9670;&nbsp;</a></span>__lda_perplexity_prefunc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8 [] __lda_perplexity_prefunc </td>
+          <td>(</td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">state1</td><td>The local state </td></tr>
+    <tr><td class="paramname">state2</td><td>The local state </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The merged state </dd></dl>
+
+</div>
+</div>
+<a id="a5defc3ef61cabeaf343a2e1d9988f8da"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5defc3ef61cabeaf343a2e1d9988f8da">&#9670;&nbsp;</a></span>__lda_perplexity_sfunc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8 [] __lda_perplexity_sfunc </td>
+          <td>(</td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4 []&#160;</td>
+          <td class="paramname"><em>words</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4 []&#160;</td>
+          <td class="paramname"><em>counts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4 []&#160;</td>
+          <td class="paramname"><em>doc_topic</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>model</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>alpha</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>beta</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>voc_size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>topic_num</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">state</td><td>The cached model plus perplexity </td></tr>
+    <tr><td class="paramname">words</td><td>The unique words in the document </td></tr>
+    <tr><td class="paramname">counts</td><td>The counts of each unique words in the document </td></tr>
+    <tr><td class="paramname">doc_topic</td><td>The topic counts in the document </td></tr>
+    <tr><td class="paramname">model</td><td>The learned model </td></tr>
+    <tr><td class="paramname">alpha</td><td>The Dirichlet parameter for per-document topic multinomial </td></tr>
+    <tr><td class="paramname">beta</td><td>The Dirichlet parameter for per-topic word multinomial </td></tr>
+    <tr><td class="paramname">voc_size</td><td>The size of vocabulary </td></tr>
+    <tr><td class="paramname">topic_num</td><td>The number of topics </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The updated state </dd></dl>
+
+</div>
+</div>
+<a id="a3cdff7ba417e1a9c1b221f23bc2aac64"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3cdff7ba417e1a9c1b221f23bc2aac64">&#9670;&nbsp;</a></span>__lda_random_assign()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int4 [] __lda_random_assign </td>
+          <td>(</td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>word_count</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>topic_num</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">word_count</td><td>The number of words in the document </td></tr>
+    <tr><td class="paramname">topic_num</td><td>The number of topics (specified by the user) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The topic counts and topic assignments </dd></dl>
+
+</div>
+</div>
+<a id="aa4fd0a274f1c400014f2ea9549507436"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa4fd0a274f1c400014f2ea9549507436">&#9670;&nbsp;</a></span>__lda_util_conorm_data()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;lda_result&gt; __lda_util_conorm_data </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>data_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vocab_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_data_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_vocab_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">data_table</td><td>The data table to be normalized </td></tr>
+    <tr><td class="paramname">vocab_table</td><td>The vocabulary table to be normalized </td></tr>
+    <tr><td class="paramname">output_data_table</td><td>The normalized data table </td></tr>
+    <tr><td class="paramname">output_vocab_table</td><td>The normalized vocabulary table </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="aa9729b6bcc20d00936b6831382747c2f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa9729b6bcc20d00936b6831382747c2f">&#9670;&nbsp;</a></span>__lda_util_index_sort()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int4 [] __lda_util_index_sort </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>arr</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">arr</td><td>The array to be sorted </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The index of elements </dd></dl>
+
+</div>
+</div>
+<a id="a85990f0bc07a2ab8834301561662939e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a85990f0bc07a2ab8834301561662939e">&#9670;&nbsp;</a></span>__lda_util_norm_dataset()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;lda_result&gt; __lda_util_norm_dataset </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>data_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>norm_vocab_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_data_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">data_table</td><td>The data table to be normalized </td></tr>
+    <tr><td class="paramname">vocab_table</td><td>The normalized vocabulary table </td></tr>
+    <tr><td class="paramname">output_data_table</td><td>The normalized data table </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a0032ed0be0c41a1b6ed08dca93f4a59f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0032ed0be0c41a1b6ed08dca93f4a59f">&#9670;&nbsp;</a></span>__lda_util_norm_vocab()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;lda_result&gt; __lda_util_norm_vocab </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vocab_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_vocab_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">vocab_table</td><td>The vocabulary table in the form of &lt;wordid::int4, word::text&gt; </td></tr>
+    <tr><td class="paramname">output_vocab_table</td><td>The regularized vocabulary table </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a9b522ce2d080956d7fb3d5ae79195b8a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9b522ce2d080956d7fb3d5ae79195b8a">&#9670;&nbsp;</a></span>__lda_util_norm_with_smoothing()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __lda_util_norm_with_smoothing </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>arr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>smooth</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">arr</td><td>The array to be normalized </td></tr>
+    <tr><td class="paramname">smooth</td><td>The smoothing parameter </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The normalized vector </dd></dl>
+
+</div>
+</div>
+<a id="a2db0019220f10a1fca78ed77a5c2dcd5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2db0019220f10a1fca78ed77a5c2dcd5">&#9670;&nbsp;</a></span>__lda_util_transpose()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int8 [][] __lda_util_transpose </td>
+          <td>(</td>
+          <td class="paramtype">int8&#160;</td>
+          <td class="paramname"><em>matrix</em>[][]</td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">matrix</td><td>The input 2-D array </td></tr>
+    <tr><td class="paramname">The</td><td>transposed array </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a2fcec45a37b459567ad0bbcd42c07142"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2fcec45a37b459567ad0bbcd42c07142">&#9670;&nbsp;</a></span>__lda_util_unnest()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;int4[]&gt; __lda_util_unnest </td>
+          <td>(</td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>arr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>c</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">arr</td><td>The 2-D array to be unnested </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The unnested 1-D arrays </dd></dl>
+
+</div>
+</div>
+<a id="a219c8432558301878384e5ef8aca1e3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a219c8432558301878384e5ef8aca1e3d">&#9670;&nbsp;</a></span>__lda_util_unnest_transpose()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;int4[]&gt; __lda_util_unnest_transpose </td>
+          <td>(</td>
+          <td class="paramtype">int8 []&#160;</td>
+          <td class="paramname"><em>arr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>c</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a25c3ef12d9808d8a38c5fd2630f3b5a9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25c3ef12d9808d8a38c5fd2630f3b5a9">&#9670;&nbsp;</a></span>lda_get_perplexity()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 lda_get_perplexity </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_data_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">model_table</td><td>The model table generated by lda_train </td></tr>
+    <tr><td class="paramname">output_data_table</td><td>The output data table generated by lda_predict </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The perplexity </dd></dl>
+
+</div>
+</div>
+<a id="a4ac16d87d50821aadcab0d75d65b3f1b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4ac16d87d50821aadcab0d75d65b3f1b">&#9670;&nbsp;</a></span>lda_get_topic_desc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;lda_result&gt; lda_get_topic_desc </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>vocab_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>desc_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>top_k</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">model_table</td><td>The model table generated by the training process </td></tr>
+    <tr><td class="paramname">vocab_table</td><td>The vocabulary table (&lt;wordid, word&gt;) </td></tr>
+    <tr><td class="paramname">top_k</td><td>The number of top words for each topic description </td></tr>
+    <tr><td class="paramname">desc_table</td><td>The output table for storing the per-topic description </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="ace20b6314e5b4e98929a98a6f05d925d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ace20b6314e5b4e98929a98a6f05d925d">&#9670;&nbsp;</a></span>lda_get_topic_word_count()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;lda_result&gt; lda_get_topic_word_count </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">model_table</td><td>The model table generated by the training process </td></tr>
+    <tr><td class="paramname">output_table</td><td>The output table storing the per-topic word counts </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a455699e72328d6b105c61a3c9e7ae5dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a455699e72328d6b105c61a3c9e7ae5dc">&#9670;&nbsp;</a></span>lda_get_word_topic_count()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;lda_result&gt; lda_get_word_topic_count </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">model_table</td><td>The model table generated by the training process </td></tr>
+    <tr><td class="paramname">dist_table</td><td>The output table storing the per-word topic counts </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a3ea35eb8ae6670a07948a56b85c1710c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3ea35eb8ae6670a07948a56b85c1710c">&#9670;&nbsp;</a></span>lda_parse_model()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">_pivotalr_lda_model lda_parse_model </td>
+          <td>(</td>
+          <td class="paramtype">bigint []&#160;</td>
+          <td class="paramname"><em>lda_model</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>voc_size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>topic_num</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af1fde06c39dd12bb9e5544997f815323"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af1fde06c39dd12bb9e5544997f815323">&#9670;&nbsp;</a></span>lda_predict() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;lda_result&gt; lda_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>data_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">data_table</td><td>Table storing the testing dataset, each row is in the form of &lt;docid, wordid, count&gt; where docid, wordid, and count are all non-negative integers. </td></tr>
+    <tr><td class="paramname">model_table</td><td>Table storing the learned models </td></tr>
+    <tr><td class="paramname">output_table</td><td>Table storing per-document topic counts and topic assignments </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>default iter_num = 20 </dd></dl>
+
+</div>
+</div>
+<a id="aaa89e30c8fd0ba41b6feee01ee195330"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaa89e30c8fd0ba41b6feee01ee195330">&#9670;&nbsp;</a></span>lda_predict() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;lda_result&gt; lda_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>data_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>iter_num</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aeb7593251a4dedb695494f65dc2d1f80"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb7593251a4dedb695494f65dc2d1f80">&#9670;&nbsp;</a></span>lda_train()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;lda_result&gt; lda_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>data_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_data_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>voc_size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>topic_num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int4&#160;</td>
+          <td class="paramname"><em>iter_num</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>alpha</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>beta</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">data_table</td><td>Table storing the training dataset, each row is in the form of &lt;docid, wordid, count&gt; where docid, wordid, and count are all non-negative integers. </td></tr>
+    <tr><td class="paramname">model_table</td><td>Table storing the learned models (voc_size, topic_num, alpha, beta, per-word topic counts, and corpus-level topic counts) </td></tr>
+    <tr><td class="paramname">output_data_table</td><td>Table storing the output data table in the form of &lt;docid, wordcount, words, counts, topic_count, topic_assignment&gt; </td></tr>
+    <tr><td class="paramname">voc_size</td><td>Size of the vocabulary (Note that the wordid should be continous integers starting from 0 to voc_size -<ol type="1">
+<li>A data validation rountine will be called to validate the dataset.) </li>
+</ol>
+</td></tr>
+    <tr><td class="paramname">topic_num</td><td>Number of topics (e.g. 100) </td></tr>
+    <tr><td class="paramname">iter_num</td><td>Number of iterations (e.g. 60) </td></tr>
+    <tr><td class="paramname">alpha</td><td>Dirichlet parameter for the per-doc topic multinomial (e.g. 50/topic_num) </td></tr>
+    <tr><td class="paramname">beta</td><td>Dirichlet parameter for the per-topic word multinomial (e.g. 0.01) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_7bd8cc8c955bd44740c1673f7ff31105.html">lda</a></li><li class="navelem"><a class="el" href="lda_8sql__in.html">lda.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[23/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__lmf.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__lmf.html b/docs/v1.11/group__grp__lmf.html
new file mode 100644
index 0000000..7f7d90d
--- /dev/null
+++ b/docs/v1.11/group__grp__lmf.html
@@ -0,0 +1,271 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Low-rank Matrix Factorization</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__lmf.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Low-rank Matrix Factorization<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a> &raquo; <a class="el" href="group__grp__arraysmatrix.html">Arrays and Matrices</a> &raquo; <a class="el" href="group__grp__matrix__factorization.html">Matrix Factorization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#syntax">Function Syntax</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+</ul>
+</div><p>This module implements "factor model" for representing an incomplete matrix using a low-rank approximation [1]. Mathematically, this model seeks to find matrices U and V (also referred as factors) that, for any given incomplete matrix A, minimizes:</p>
+<p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \|\boldsymbol A - \boldsymbol UV^{T} \|_2 \]" src="form_47.png"/>
+</p>
+<p>subject to <img class="formulaInl" alt="$rank(\boldsymbol UV^{T}) \leq r$" src="form_48.png"/>, where <img class="formulaInl" alt="$\|\cdot\|_2$" src="form_49.png"/> denotes the Frobenius norm. Let <img class="formulaInl" alt="$A$" src="form_42.png"/> be a <img class="formulaInl" alt="$m \times n$" src="form_50.png"/> matrix, then <img class="formulaInl" alt="$U$" src="form_51.png"/> will be <img class="formulaInl" alt="$m \times r$" src="form_52.png"/> and <img class="formulaInl" alt="$V$" src="form_53.png"/> will be <img class="formulaInl" alt="$n \times r$" src="form_54.png"/>, in dimension, and <img class="formulaInl" alt="$1 \leq r \ll \min(m, n)$" src="form_55.png"/>. This model is not intended to do the full decomposition, or to be used as part of inverse procedure. This model has been widely used in recommendation systems (e.g., Netflix [2]) and feature selection (e.g., image processing [3]).</p>
+<p><a class="anchor" id="syntax"></a></p><dl class="section user"><dt>Function Syntax</dt><dd></dd></dl>
+<p>Low-rank matrix factorization of an incomplete matrix into two factors.</p>
+<pre class="syntax">
+lmf_igd_run( rel_output,
+             rel_source,
+             col_row,
+             col_column,
+             col_value,
+             row_dim,
+             column_dim,
+             max_rank,
+             stepsize,
+             scale_factor,
+             num_iterations,
+             tolerance
+           )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>rel_output </dt>
+<dd><p class="startdd">TEXT. The name of the table to receive the output.</p>
+<p>Output factors matrix U and V are in a flattened format. </p><pre>RESULT AS (
+        matrix_u    DOUBLE PRECISION[],
+        matrix_v    DOUBLE PRECISION[],
+        rmse        DOUBLE PRECISION
+);</pre><p class="enddd">Features correspond to row i is <code>matrix_u[i:i][1:r]</code>. Features correspond to column j is <code>matrix_v[j:j][1:r]</code>.  </p>
+</dd>
+<dt>rel_source </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the input data.</p>
+<p>The input matrix&gt; is expected to be of the following form: </p><pre>{TABLE|VIEW} <em>input_table</em> (
+    <em>row</em>    INTEGER,
+    <em>col</em>    INTEGER,
+    <em>value</em>  DOUBLE PRECISION
+)</pre><p class="enddd">Input is contained in a table that describes an incomplete matrix, with available entries specified as (row, column, value). The input matrix should be 1-based, which means row &gt;= 1, and col &gt;= 1. NULL values are not expected.  </p>
+</dd>
+<dt>col_row </dt>
+<dd>TEXT. The name of the column containing the row number. </dd>
+<dt>col_column </dt>
+<dd>TEXT. The name of the column containing the column number. </dd>
+<dt>col_value </dt>
+<dd>DOUBLE PRECISION. The value at (row, col). </dd>
+<dt>row_dim (optional) </dt>
+<dd>INTEGER, default: "SELECT max(col_row) FROM rel_source". The number of columns in the matrix. </dd>
+<dt>column_dim (optional) </dt>
+<dd>INTEGER, default: "SELECT max(col_col) FROM rel_source". The number of rows in the matrix. </dd>
+<dt>max_rank </dt>
+<dd>INTEGER, default: 20. The rank of desired approximation. </dd>
+<dt>stepsize (optional) </dt>
+<dd>DOUBLE PRECISION, default: 0.01. Hyper-parameter that decides how aggressive the gradient steps are.  </dd>
+<dt>scale_factor (optional) </dt>
+<dd>DOUBLE PRECISION, default: 0.1. Hyper-parameter that decides scale of initial factors. </dd>
+<dt>num_iterations (optional) </dt>
+<dd>INTEGER, default: 10. Maximum number if iterations to perform regardless of convergence. </dd>
+<dt>tolerance (optional) </dt>
+<dd>DOUBLE PRECISION, default: 0.0001. Acceptable level of error in convergence. </dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Prepare an input table/view: <pre class="example">
+DROP TABLE IF EXISTS lmf_data;
+CREATE TABLE lmf_data (
+ row INT,
+ col INT,
+ val FLOAT8
+);
+</pre></li>
+<li>Populate the input table with some data. <pre class="example">
+INSERT INTO lmf_data VALUES (1, 1, 5.0);
+INSERT INTO lmf_data VALUES (3, 100, 1.0);
+INSERT INTO lmf_data VALUES (999, 10000, 2.0);
+</pre></li>
+<li>Call the <a class="el" href="lmf_8sql__in.html#ac1acb1f0e1f7008118f21c83546a4602" title="Low-rank matrix factorization of a incomplete matrix into two factors. ">lmf_igd_run()</a> stored procedure. <pre class="example">
+DROP TABLE IF EXISTS lmf_model;
+SELECT madlib.lmf_igd_run( 'lmf_model',
+                           'lmf_data',
+                           'row',
+                           'col',
+                           'val',
+                           999,
+                           10000,
+                           3,
+                           0.1,
+                           2,
+                           10,
+                           1e-9
+                         );
+</pre> Example result (the exact result may not be the same). <pre class="result">
+NOTICE:
+Finished low-rank matrix factorization using incremental gradient
+DETAIL:
+   table : lmf_data (row, col, val)
+Results:
+   RMSE = 0.0145966345300041
+Output:
+   view : SELECT * FROM lmf_model WHERE id = 1
+ lmf_igd_run
+&#160;-----------
+           1
+ (1 row)
+</pre></li>
+<li>Sanity check of the result. You may need a model id returned and also indicated by the function <a class="el" href="lmf_8sql__in.html#ac1acb1f0e1f7008118f21c83546a4602" title="Low-rank matrix factorization of a incomplete matrix into two factors. ">lmf_igd_run()</a>, assuming 1 here: <pre class="example">
+SELECT array_dims(matrix_u) AS u_dims, array_dims(matrix_v) AS v_dims
+FROM lmf_model
+WHERE id = 1;
+</pre> Result: <pre class="result">
+     u_dims    |     v_dims
+ --------------+----------------
+  [1:999][1:3] | [1:10000][1:3]
+ (1 row)
+</pre></li>
+<li>Query the result value. <pre class="example">
+SELECT matrix_u[2:2][1:3] AS row_2_features
+FROM lmf_model
+WHERE id = 1;
+</pre> Example output (the exact result may not be the same): <pre class="result">
+                       row_2_features
+&#160;---------------------------------------------------------
+  {{1.12030523084104,0.522217971272767,0.0264869043603539}}
+ (1 row)
+</pre></li>
+<li>Make prediction of a missing entry (row=2, col=7654). <pre class="example">
+SELECT madlib.array_dot(
+    matrix_u[2:2][1:3],
+    matrix_v[7654:7654][1:3]
+    ) AS row_2_col_7654
+FROM lmf_model
+WHERE id = 1;
+</pre> Example output (the exact result may not be the same due the randomness of the algorithm): <pre class="result">
+   row_2_col_7654
+&#160;------------------
+  1.3201582940851
+ (1 row)
+</pre></li>
+</ol>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] N. Srebro and T. Jaakkola. “Weighted Low-Rank Approximations.” In: ICML. Ed. by T. Fawcett and N. Mishra. AAAI Press, 2003, pp. 720–727. isbn: 1-57735-189-4.</p>
+<p>[2] Simon Funk, Netflix Update: Try This at Home, December 11 2006, <a href="http://sifter.org/~simon/journal/20061211.html">http://sifter.org/~simon/journal/20061211.html</a></p>
+<p>[3] J. Wright, A. Ganesh, S. Rao, Y. Peng, and Y. Ma. “Robust Principal Component Analysis: Exact Recovery of Corrupted Low-Rank Matrices via Convex Optimization.” In: NIPS. Ed. by Y. Bengio, D. Schuurmans, J. D. Lafferty, C. K. I. Williams, and A. Culotta. Curran Associates, Inc., 2009, pp. 2080–2088. isbn: 9781615679119. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__logreg.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__logreg.html b/docs/v1.11/group__grp__logreg.html
new file mode 100644
index 0000000..d1549fb
--- /dev/null
+++ b/docs/v1.11/group__grp__logreg.html
@@ -0,0 +1,418 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Logistic Regression</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__logreg.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Logistic Regression<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__regml.html">Regression Models</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b><ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#predict">Prediction Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#background">Technical Background</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Binomial logistic regression models the relationship between a dichotomous dependent variable and one or more predictor variables. The dependent variable may be a Boolean value or a categorial variable that can be represented with a Boolean expression. The probabilities describing the possible outcomes of a single trial are modeled, as a function of the predictor variables, using a logistic function.</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd>The logistic regression training function has the following format: <pre class="syntax">
+logregr_train( source_table,
+               out_table,
+               dependent_varname,
+               independent_varname,
+               grouping_cols,
+               max_iter,
+               optimizer,
+               tolerance,
+               verbose
+             )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the training data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>out_table </dt>
+<dd><p class="startdd">TEXT. Name of the generated table containing the output model.</p>
+<p>The output table produced by the logistic regression training function contains the following columns:</p>
+<table class="output">
+<tr>
+<th>&lt;...&gt; </th><td><p class="starttd">Text. Grouping columns, if provided in input. This could be multiple columns depending on the <code>grouping_col</code> input. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>coef </th><td><p class="starttd">FLOAT8. Vector of the coefficients of the regression. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>log_likelihood </th><td><p class="starttd">FLOAT8. The log-likelihood <img class="formulaInl" alt="$ l(\boldsymbol c) $" src="form_80.png"/>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>std_err </th><td><p class="starttd">FLOAT8[]. Vector of the standard error of the coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>z_stats </th><td><p class="starttd">FLOAT8[]. Vector of the z-statistics of the coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>p_values </th><td><p class="starttd">FLOAT8[]. Vector of the p-values of the coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>odds_ratios </th><td><p class="starttd">FLOAT8[]. The odds ratio, <img class="formulaInl" alt="$ \exp(c_i) $" src="form_116.png"/>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>condition_no </th><td><p class="starttd">FLOAT8[]. The condition number of the <img class="formulaInl" alt="$X^{*}X$" src="form_325.png"/> matrix. A high condition number is usually an indication that there may be some numeric instability in the result yielding a less reliable model. A high condition number often results when there is a significant amount of colinearity in the underlying design matrix, in which case other regression techniques may be more appropriate. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_iterations </th><td>INTEGER. The number of iterations actually completed. This would be different from the <code>nIterations</code> argument if a <code>tolerance</code> parameter is provided and the algorithm converges before all iterations are completed.  </td></tr>
+<tr>
+<th>num_rows_processed </th><td>INTEGER. The number of rows actually processed, which is equal to the total number of rows in the source table minus the number of skipped rows.  </td></tr>
+<tr>
+<th>num_missing_rows_skipped </th><td>INTEGER. The number of rows skipped during the training. A row will be skipped if the independent_varname is NULL or contains NULL values.  </td></tr>
+</table>
+<p>A summary table named &lt;out_table&gt;_summary is also created at the same time, which has the following columns: </p><table class="output">
+<tr>
+<th>source_table </th><td><p class="starttd">The data source table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>out_table </th><td><p class="starttd">The output table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>dependent_varname </th><td><p class="starttd">The dependent variable. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>independent_varname </th><td><p class="starttd">The independent variables </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>optimizer_params </th><td><p class="starttd">A string that contains all the optimizer parameters, and has the form of 'optimizer=..., max_iter=..., tolerance=...' </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_all_groups </th><td><p class="starttd">How many groups of data were fit by the logistic model. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_failed_groups </th><td><p class="starttd">How many groups' fitting processes failed. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_rows_processed </th><td><p class="starttd">The total number of rows usd in the computation. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_missing_rows_skipped </th><td>The total number of rows skipped.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_varname </dt>
+<dd><p class="startdd">TEXT. Name of the dependent variable column (of type BOOLEAN) in the training data or an expression evaluating to a BOOLEAN.</p>
+<p class="enddd"></p>
+</dd>
+<dt>independent_varname </dt>
+<dd><p class="startdd">TEXT. Expression list to evaluate for the independent variables. An intercept variable is not assumed. It is common to provide an explicit intercept term by including a single constant <code>1</code> term in the independent variable list.</p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_cols (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL "GROUP BY" clause. When this value is NULL, no grouping is used and a single result model is generated.</p>
+<p class="enddd"></p>
+</dd>
+<dt>max_iter (optional) </dt>
+<dd><p class="startdd">INTEGER, default: 20. The maximum number of iterations that are allowed.</p>
+<p class="enddd"></p>
+</dd>
+<dt>optimizer (optional) </dt>
+<dd><p class="startdd">TEXT, default: 'irls'. The name of the optimizer to use: </p><table class="output">
+<tr>
+<th>'newton' or 'irls' </th><td>Iteratively reweighted least squares  </td></tr>
+<tr>
+<th>'cg' </th><td>conjugate gradient  </td></tr>
+<tr>
+<th>'igd' </th><td>incremental gradient descent.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>tolerance (optional) </dt>
+<dd><p class="startdd">FLOAT8, default: 0.0001. The difference between log-likelihood values in successive iterations that should indicate convergence. A zero disables the convergence criterion, so that execution stops after <code>n</code> iterations have completed.</p>
+<p class="enddd"></p>
+</dd>
+<dt>verbose (optional) </dt>
+<dd>BOOLEAN, default: FALSE. Provides verbose output of the results of training. </dd>
+</dl>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>For p-values, we just return the computation result directly. Other statistical packages, like 'R', produce the same result, but on printing the result to screen, another format function is used and any p-value that is smaller than the machine epsilon (the smallest positive floating-point number 'x' such that '1 + x != 1') will be printed on screen as "&lt; xxx" (xxx is the value of the machine epsilon). Although the result may look different, they are in fact the same.</dd></dl>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd>Two prediction functions are provided to either predict the boolean value of the dependent variable or the probability of the value of dependent variable being 'True', both functions using the same syntax.</dd></dl>
+<p>The function to predict the boolean value (True/False) of the dependent variable has the following syntax: </p><pre class="syntax">
+logregr_predict(coefficients,
+                ind_var
+               )
+</pre><p>The function to predict the probability of the dependent variable being True has the following syntax: </p><pre class="syntax">
+logregr_predict_prob(coefficients,
+                     ind_var
+                    )
+</pre><p><b>Arguments</b> </p><dl class="arglist">
+<dt>coefficients </dt>
+<dd><p class="startdd">DOUBLE PRECISION[]. Model coefficients obtained from <a class="el" href="logistic_8sql__in.html#a74210a7ef513dfcbdfdd9f3b37bfe428">logregr_train()</a>.</p>
+<p class="enddd"></p>
+</dd>
+<dt>ind_var </dt>
+<dd>Independent variables, as a DOUBLE array. This should be the same length as the array obtained by evaluation of the 'independent_varname' argument in <a class="el" href="logistic_8sql__in.html#a74210a7ef513dfcbdfdd9f3b37bfe428">logregr_train()</a>. </dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd><ol type="1">
+<li>Create the training data table. <pre class="example">
+CREATE TABLE patients( id INTEGER NOT NULL,
+                       second_attack INTEGER,
+                       treatment INTEGER,
+                       trait_anxiety INTEGER);
+COPY patients FROM STDIN WITH DELIMITER '|';
+  1 |             1 |         1 |            70
+  3 |             1 |         1 |            50
+  5 |             1 |         0 |            40
+  7 |             1 |         0 |            75
+  9 |             1 |         0 |            70
+ 11 |             0 |         1 |            65
+ 13 |             0 |         1 |            45
+ 15 |             0 |         1 |            40
+ 17 |             0 |         0 |            55
+ 19 |             0 |         0 |            50
+  2 |             1 |         1 |            80
+  4 |             1 |         0 |            60
+  6 |             1 |         0 |            65
+  8 |             1 |         0 |            80
+ 10 |             1 |         0 |            60
+ 12 |             0 |         1 |            50
+ 14 |             0 |         1 |            35
+ 16 |             0 |         1 |            50
+ 18 |             0 |         0 |            45
+ 20 |             0 |         0 |            60
+\.
+</pre></li>
+<li>Train a regression model. <pre class="example">
+SELECT madlib.logregr_train( 'patients',
+                             'patients_logregr',
+                             'second_attack',
+                             'ARRAY[1, treatment, trait_anxiety]',
+                             NULL,
+                             20,
+                             'irls'
+                           );
+</pre> (Note that in this example we are dynamically creating the array of independent variables from column names. If you have large numbers of independent variables beyond the PostgreSQL limit of maximum columns per table, you would pre-build the arrays and store them in a single column.)</li>
+<li>View the regression results. <pre class="example">
+-- Set extended display on for easier reading of output
+\x on
+SELECT * from patients_logregr;
+</pre> Result: <pre class="result">
+coef           | {5.59049410898112,2.11077546770772,-0.237276684606453}
+log_likelihood | -467.214718489873
+std_err        | {0.318943457652178,0.101518723785383,0.294509929481773}
+z_stats        | {17.5281667482197,20.7919819024719,-0.805666162169712}
+p_values       | {8.73403463417837e-69,5.11539430631541e-96,0.420435365338518}
+odds_ratios    | {267.867942976278,8.2546400100702,0.788773016471171}
+condition_no   | 179.186118573205
+num_iterations | 9
+</pre></li>
+<li>Alternatively, unnest the arrays in the results for easier reading of output: <pre class="example">
+\x off
+SELECT unnest(array['intercept', 'treatment', 'trait_anxiety']) as attribute,
+       unnest(coef) as coefficient,
+       unnest(std_err) as standard_error,
+       unnest(z_stats) as z_stat,
+       unnest(p_values) as pvalue,
+       unnest(odds_ratios) as odds_ratio
+    FROM patients_logregr;
+</pre></li>
+<li>Predicting dependent variable using the logistic regression model. (This example uses the original data table to perform the prediction. Typically a different test dataset with the same features as the original training dataset would be used for prediction.) <pre class="example">
+\x off
+-- Display prediction value along with the original value
+SELECT p.id, madlib.logregr_predict(coef, ARRAY[1, treatment, trait_anxiety]),
+       p.second_attack
+FROM patients p, patients_logregr m
+ORDER BY p.id;
+</pre></li>
+<li>Predicting the probability of the dependent variable being TRUE. <pre class="example">
+\x off
+-- Display prediction value along with the original value
+SELECT p.id, madlib.logregr_predict_prob(coef, ARRAY[1, treatment, trait_anxiety])
+FROM patients p, patients_logregr m
+ORDER BY p.id;
+</pre></li>
+</ol>
+</dd></dl>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd>All table names can be optionally schema qualified (current_schemas() would be searched if a schema name is not provided) and all table and column names should follow case-sensitivity and quoting rules per the database. (For instance, 'mytable' and 'MyTable' both resolve to the same entity, i.e. 'mytable'. If mixed-case or multi-byte characters are desired for entity names then the string should be double-quoted; in this case the input would be '"MyTable"').</dd></dl>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>(Binomial) logistic regression refers to a stochastic model in which the conditional mean of the dependent dichotomous variable (usually denoted <img class="formulaInl" alt="$ Y \in \{ 0,1 \} $" src="form_354.png"/>) is the logistic function of an affine function of the vector of independent variables (usually denoted <img class="formulaInl" alt="$ \boldsymbol x $" src="form_59.png"/>). That is, </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ E[Y \mid \boldsymbol x] = \sigma(\boldsymbol c^T \boldsymbol x) \]" src="form_95.png"/>
+</p>
+<p> for some unknown vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/> and where <img class="formulaInl" alt="$ \sigma(x) = \frac{1}{1 + \exp(-x)} $" src="form_96.png"/> is the logistic function. Logistic regression finds the vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/> that maximizes the likelihood of the observations.</p>
+<p>Let</p><ul>
+<li><img class="formulaInl" alt="$ \boldsymbol y \in \{ 0,1 \}^n $" src="form_355.png"/> denote the vector of observed dependent variables, with <img class="formulaInl" alt="$ n $" src="form_11.png"/> rows, containing the observed values of the dependent variable,</li>
+<li><img class="formulaInl" alt="$ X \in \mathbf R^{n \times k} $" src="form_99.png"/> denote the design matrix with <img class="formulaInl" alt="$ k $" src="form_98.png"/> columns and <img class="formulaInl" alt="$ n $" src="form_11.png"/> rows, containing all observed vectors of independent variables <img class="formulaInl" alt="$ \boldsymbol x_i $" src="form_100.png"/> as rows.</li>
+</ul>
+<p>By definition, </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ P[Y = y_i | \boldsymbol x_i] = \sigma((-1)^{(1 - y_i)} \cdot \boldsymbol c^T \boldsymbol x_i) \,. \]" src="form_356.png"/>
+</p>
+<p> Maximizing the likelihood <img class="formulaInl" alt="$ \prod_{i=1}^n \Pr(Y = y_i \mid \boldsymbol x_i) $" src="form_102.png"/> is equivalent to maximizing the log-likelihood <img class="formulaInl" alt="$ \sum_{i=1}^n \log \Pr(Y = y_i \mid \boldsymbol x_i) $" src="form_103.png"/>, which simplifies to </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ l(\boldsymbol c) = -\sum_{i=1}^n \log(1 + \exp((-1)^{(1 - y_i)} \cdot \boldsymbol c^T \boldsymbol x_i)) \,. \]" src="form_357.png"/>
+</p>
+<p> The Hessian of this objective is <img class="formulaInl" alt="$ H = -X^T A X $" src="form_105.png"/> where <img class="formulaInl" alt="$ A = \text{diag}(a_1, \dots, a_n) $" src="form_106.png"/> is the diagonal matrix with <img class="formulaInl" alt="$ a_i = \sigma(\boldsymbol c^T \boldsymbol x) \cdot \sigma(-\boldsymbol c^T \boldsymbol x) \,. $" src="form_107.png"/> Since <img class="formulaInl" alt="$ H $" src="form_108.png"/> is non-positive definite, <img class="formulaInl" alt="$ l(\boldsymbol c) $" src="form_80.png"/> is convex. There are many techniques for solving convex optimization problems. Currently, logistic regression in MADlib can use one of three algorithms:</p><ul>
+<li>Iteratively Reweighted Least Squares</li>
+<li>A conjugate-gradient approach, also known as Fletcher-Reeves method in the literature, where we use the Hestenes-Stiefel rule for calculating the step size.</li>
+<li>Incremental gradient descent, also known as incremental gradient methods or stochastic gradient descent in the literature.</li>
+</ul>
+<p>We estimate the standard error for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> as </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \mathit{se}(c_i) = \left( (X^T A X)^{-1} \right)_{ii} \,. \]" src="form_109.png"/>
+</p>
+<p> The Wald z-statistic is </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ z_i = \frac{c_i}{\mathit{se}(c_i)} \,. \]" src="form_110.png"/>
+</p>
+<p>The Wald <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> gives the probability (under the assumptions inherent in the Wald test) of seeing a value at least as extreme as the one observed, provided that the null hypothesis ( <img class="formulaInl" alt="$ c_i = 0 $" src="form_112.png"/>) is true. Letting <img class="formulaInl" alt="$ F $" src="form_113.png"/> denote the cumulative density function of a standard normal distribution, the Wald <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> is therefore </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ p_i = \Pr(|Z| \geq |z_i|) = 2 \cdot (1 - F( |z_i| )) \]" src="form_114.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ Z $" src="form_115.png"/> is a standard normally distributed random variable.</p>
+<p>The odds ratio for coefficient <img class="formulaInl" alt="$ i $" src="form_33.png"/> is estimated as <img class="formulaInl" alt="$ \exp(c_i) $" src="form_116.png"/>.</p>
+<p>The condition number is computed as <img class="formulaInl" alt="$ \kappa(X^T A X) $" src="form_117.png"/> during the iteration immediately <em>preceding</em> convergence (i.e., <img class="formulaInl" alt="$ A $" src="form_14.png"/> is computed using the coefficients of the previous iteration). A large condition number (say, more than 1000) indicates the presence of significant multicollinearity.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>A somewhat random selection of nice write-ups, with valuable pointers into further literature.</p>
+<p>[1] Cosma Shalizi: Statistics 36-350: Data Mining, Lecture Notes, 18 November 2009, <a href="http://www.stat.cmu.edu/~cshalizi/350/lectures/26/lecture-26.pdf">http://www.stat.cmu.edu/~cshalizi/350/lectures/26/lecture-26.pdf</a></p>
+<p>[2] Thomas P. Minka: A comparison of numerical optimizers for logistic regression, 2003 (revised Mar 26, 2007), <a href="http://research.microsoft.com/en-us/um/people/minka/papers/logreg/minka-logreg.pdf">http://research.microsoft.com/en-us/um/people/minka/papers/logreg/minka-logreg.pdf</a></p>
+<p>[3] Paul Komarek, Andrew W. Moore: Making Logistic Regression A Core Data Mining Tool With TR-IRLS, IEEE International Conference on Data Mining 2005, pp. 685-688, <a href="http://komarix.org/ac/papers/tr-irls.short.pdf">http://komarix.org/ac/papers/tr-irls.short.pdf</a></p>
+<p>[4] D. P. Bertsekas: Incremental gradient, subgradient, and proximal methods for convex optimization: a survey, Technical report, Laboratory for Information and Decision Systems, 2010, <a href="http://web.mit.edu/dimitrib/www/Incremental_Survey_LIDS.pdf">http://web.mit.edu/dimitrib/www/Incremental_Survey_LIDS.pdf</a></p>
+<p>[5] A. Nemirovski, A. Juditsky, G. Lan, and A. Shapiro: Robust stochastic approximation approach to stochastic programming, SIAM Journal on Optimization, 19(4), 2009, <a href="http://www2.isye.gatech.edu/~nemirovs/SIOPT_RSA_2009.pdf">http://www2.isye.gatech.edu/~nemirovs/SIOPT_RSA_2009.pdf</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="logistic_8sql__in.html" title="SQL functions for logistic regression. ">logistic.sql_in</a> documenting the training function</p>
+<p><a class="el" href="logistic_8sql__in.html#a74210a7ef513dfcbdfdd9f3b37bfe428" title="Compute logistic-regression coefficients and diagnostic statistics. ">logregr_train()</a></p>
+<p><a class="el" href="elastic__net_8sql__in.html#a735038a5090c112505c740a90a203e83" title="Interface for elastic net. ">elastic_net_train()</a></p>
+<p><a class="el" href="group__grp__linreg.html">Linear Regression</a></p>
+<p><a class="el" href="group__grp__multinom.html">Multinomial Regression</a></p>
+<p><a class="el" href="group__grp__ordinal.html">Ordinal Regression</a></p>
+<p><a class="el" href="group__grp__robust.html">Robust Variance</a></p>
+<p><a class="el" href="group__grp__clustered__errors.html">Clustered Variance</a></p>
+<p><a class="el" href="group__grp__validation.html">Cross Validation</a></p>
+<p><a class="el" href="group__grp__marginal.html">Marginal Effects</a></p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__marginal.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__marginal.html b/docs/v1.11/group__grp__marginal.html
new file mode 100644
index 0000000..a2faca3
--- /dev/null
+++ b/docs/v1.11/group__grp__marginal.html
@@ -0,0 +1,427 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Marginal Effects</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__marginal.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Marginal Effects<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__regml.html">Regression Models</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#margins">Marginal Effects with Interaction Terms</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#notes">Notes</a> </li>
+<li>
+<a href="#background">Technical Background</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>A marginal effect (ME) or partial effect measures the effect on the conditional mean of <img class="formulaInl" alt="$ y $" src="form_324.png"/> for a change in one of the regressors, say <img class="formulaInl" alt="$X_k$" src="form_367.png"/>. In the linear regression model, the ME equals the relevant slope coefficient, greatly simplifying analysis. For nonlinear models, specialized algorithms are required for calculating ME. The marginal effect computed is the average of the marginal effect at every data point present in the source table.</p>
+<p>MADlib provides marginal effects regression functions for linear, logistic and multinomial logistic regressions.</p>
+<dl class="section warning"><dt>Warning</dt><dd>The <a class="el" href="marginal_8sql__in.html#a9517d679ee4209126895445cbed51fe3">margins_logregr()</a> and <a class="el" href="marginal_8sql__in.html#ae39ad0e1beca060fd153dba35901a4e7">margins_mlogregr()</a> functions have been deprecated in favor of the <a class="el" href="marginal_8sql__in.html#a36fcae5245ca31517723fce38b183c90" title="Marginal effects with default variable_names. ">margins()</a> function.</dd></dl>
+<p><a class="anchor" id="margins"></a></p><dl class="section user"><dt>Marginal Effects with Interaction Terms</dt><dd><pre class="syntax">
+margins( model_table,
+         output_table,
+         x_design,
+         source_table,
+         marginal_vars
+       )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>model_table </dt>
+<dd>VARCHAR. The name of the model table, which is the output of <a class="el" href="logistic_8sql__in.html#a74210a7ef513dfcbdfdd9f3b37bfe428" title="Compute logistic-regression coefficients and diagnostic statistics. ">logregr_train()</a> or <a class="el" href="multilogistic_8sql__in.html#aedc13474e6abbc88451d120ad97e44d4" title="Compute multinomial logistic regression coefficients. ">mlogregr_train()</a>. </dd>
+<dt>output_table </dt>
+<dd>VARCHAR. The name of the result table. The output table has the following columns. <table class="output">
+<tr>
+<th>variables </th><td>INTEGER[]. The indices of the basis variables.  </td></tr>
+<tr>
+<th>margins </th><td>DOUBLE PRECISION[]. The marginal effects.  </td></tr>
+<tr>
+<th>std_err </th><td>DOUBLE PRECISION[]. An array of the standard errors, computed using the delta method.  </td></tr>
+<tr>
+<th>z_stats </th><td>DOUBLE PRECISION[]. An array of the z-stats of the marginal effects.  </td></tr>
+<tr>
+<th>p_values </th><td>DOUBLE PRECISION[]. An array of the Wald p-values of the marginal effects.  </td></tr>
+</table>
+</dd>
+<dt>x_design (optional) </dt>
+<dd><p class="startdd">VARCHAR, default: NULL. The design of independent variables, necessary only if interaction term or indicator (categorical) terms are present. This parameter is necessary since the independent variables in the underlying regression is not parsed to extract the relationship between variables.</p>
+<p>Example: The <em>independent_varname</em> in the regression method can be specified in either of the following ways:</p><ul>
+<li><code> ‘array[1, color_blue, color_green, gender_female, gpa, gpa^2, gender_female*gpa, gender_female*gpa^2, weight]’ </code></li>
+<li><code> ‘x’ </code></li>
+</ul>
+<p>In the second version, the column <em>x</em> is an array containing data identical to that expressed in the first version, computed in a prior data preparation step. Supply an <em>x_design argument</em> to the <a class="el" href="marginal_8sql__in.html#a36fcae5245ca31517723fce38b183c90" title="Marginal effects with default variable_names. ">margins()</a> function in the following way:</p><ul>
+<li><code> ‘1, i.color_blue.color, i.color_green.color, i.gender_female, gpa, gpa^2, gender_female*gpa, gender_female*gpa^2, weight’</code></li>
+</ul>
+<p>The variable names (<em>'gpa', 'weight', ...</em>), referred to here as <em>identifiers</em>, should be unique for each basis variable and need not be the same as the original variable name in <em>independent_varname</em>. They should, however, be in the same order as the corresponding variables in <em>independent_varname</em>. The length of <em>x_design</em> is expected to be the same as the length of <em>independent_varname</em>. Each <em>identifier</em> name can contain only alphanumeric characters and the underscore.</p>
+<p>Indicator (dummy) variables are prefixed with an 'i.' (This is only necessary for the basis term; it is not needed in the interaction terms.) Indicator variables that are obtained from the same categorical variable (for example, 'color_blue' and 'color_green') need to have a common and unique suffix (for example, '.color'). The '.' is used to add the prefix and suffix. If a reference indicator variable is present, it should contain the prefix 'ir.'.</p>
+<p>An identifier may contain alphanumeric characters and underscores. To include other characters, the string must be double-quoted. Escape-characters are not currently supported. </p>
+<p class="enddd"></p>
+</dd>
+<dt>source_table (optional) </dt>
+<dd><p class="startdd">VARCHAR, default: NULL. Name of the data table to apply marginal effects on. If not provided or NULL then the marginal effects are computed on the training table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>marginal_vars (optional) </dt>
+<dd>VARCHAR, default: NULL. Comma-separated string containing specific variable identifiers to calculate marginal effects on. When NULL, marginal effects for all variables are returned. </dd>
+</dl>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>No output will be provided for the reference indicator variable, since the marginal effect for that variable is undefined. If a reference variable is included in the independent variables and <em>marginal_vars</em>, the <a class="el" href="marginal_8sql__in.html#a36fcae5245ca31517723fce38b183c90" title="Marginal effects with default variable_names. ">margins()</a> function will ignore that variable for the output. The variable can still be included in the regression and margins, since it will affect the values for other related indicator variables.</dd></dl>
+<p><a class="anchor" id="logregr_train"></a></p><dl class="section user"><dt>Marginal Effects for Logistic Regression</dt><dd></dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>This function has been deprecated in favor of the <a class="el" href="marginal_8sql__in.html#a36fcae5245ca31517723fce38b183c90" title="Marginal effects with default variable_names. ">margins()</a> function.</dd></dl>
+<pre class="syntax">
+margins_logregr( source_table,
+                 output_table,
+                 dependent_variable,
+                 independent_variable,
+                 grouping_cols,
+                 marginal_vars,
+                 max_iter,
+                 optimizer,
+                 tolerance,
+                 verbose_mode
+               )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd>VARCHAR. The name of the data table. </dd>
+<dt>output_table </dt>
+<dd><p class="startdd">VARCHAR. The name of the result table. The output table has the following columns. </p><table class="output">
+<tr>
+<th>margins </th><td>DOUBLE PRECISION[]. The marginal effects.  </td></tr>
+<tr>
+<th>std_err </th><td>DOUBLE PRECISION[]. An array of the standard errors, using the delta method.  </td></tr>
+<tr>
+<th>z_stats </th><td>DOUBLE PRECISION[]. An array of the z-stats of the marginal effects.  </td></tr>
+<tr>
+<th>p_values </th><td>DOUBLE PRECISION[]. An array of the Wald p-values of the marginal effects.  </td></tr>
+</table>
+<p>A summary table named &lt;output_table&gt;_summary is also created, which is the same as the summary table created by <a class="el" href="logistic_8sql__in.html#a74210a7ef513dfcbdfdd9f3b37bfe428" title="Compute logistic-regression coefficients and diagnostic statistics. ">logregr_train()</a> function. Refer to the documentation for logistic regression for details.</p>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_variable </dt>
+<dd>VARCHAR. The name of the column for dependent variables. </dd>
+<dt>independent_variable </dt>
+<dd>VARCHAR. The name of the column for independent variables. Can be any SQL expression that evaluates to an array. </dd>
+<dt>grouping_cols (optional) </dt>
+<dd>VARCHAR, default: NULL. <em>Not currently implemented. Any non-NULL value is ignored.</em> An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL "GROUP BY" clause. When this value is NULL, no grouping is used and a single result model is generated. </dd>
+<dt>marginal_vars (optional) </dt>
+<dd>INTEGER[], default: NULL. An index list (base 1) representing the independent variables to compute marginal effects on. When NULL, computes marginal effects on all variables. </dd>
+<dt>max_iter (optional) </dt>
+<dd>INTEGER, default: 20. The maximum number of iterations for the logistic regression. </dd>
+<dt>optimizer (optional) </dt>
+<dd>VARCHAR, default: 'irls'. The optimizer to use for the logistic regression: newton/irls, cg, or igd. </dd>
+<dt>tolerance (optional) </dt>
+<dd>DOUBLE PRECISION, default: 1e-4. Termination criterion for logistic regression (relative). </dd>
+<dt>verbose_mode (optional) </dt>
+<dd>BOOLEAN, default FALSE. When TRUE, provides verbose output of the results of training.  </dd>
+</dl>
+<p><a class="anchor" id="mlogregr_train"></a></p><dl class="section user"><dt>Marginal Effects for Multinomial Logistic Regression</dt><dd></dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>This function has been deprecated in favor of the <a class="el" href="marginal_8sql__in.html#a36fcae5245ca31517723fce38b183c90" title="Marginal effects with default variable_names. ">margins()</a> function.</dd></dl>
+<pre class="syntax">
+margins_mlogregr( source_table,
+                  out_table,
+                  dependent_varname,
+                  independent_varname,
+                  ref_category,
+                  grouping_cols,
+                  marginal_vars,
+                  optimizer_params,
+                  verbose_mode
+                )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd>VARCHAR. The name of data table. </dd>
+<dt>out_table </dt>
+<dd><p class="startdd">VARCHAR. The name of result table. The output table has the following columns. </p><table class="output">
+<tr>
+<th>category </th><td>The category.  </td></tr>
+<tr>
+<th>ref_category </th><td>The refererence category used for modeling.  </td></tr>
+<tr>
+<th>margins </th><td>DOUBLE PRECISION[]. The marginal effects.  </td></tr>
+<tr>
+<th>std_err </th><td>DOUBLE PRECISION[]. An array of the standard errors, using the delta method.  </td></tr>
+<tr>
+<th>z_stats </th><td>DOUBLE PRECISION[]. An array of the z-stats of the marginal effects.  </td></tr>
+<tr>
+<th>p_values </th><td>DOUBLE PRECISION[]. An array of the Wald p-values of the marginal effects.  </td></tr>
+</table>
+<p>A summary table named &lt;out_table&gt;_summary is also created, which is the same as the summary table created by <a class="el" href="multilogistic_8sql__in.html#aedc13474e6abbc88451d120ad97e44d4" title="Compute multinomial logistic regression coefficients. ">mlogregr_train()</a> function. Refer to the documentation for multinomial logistic regression for details.</p>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_varname </dt>
+<dd>VARCHAR. The name of the column for dependent variables. </dd>
+<dt>independent_varname </dt>
+<dd>VARCHAR. The name of the column for independent variables. Can be any SQL expression that evaluates to an array. </dd>
+<dt>ref_category (optional) </dt>
+<dd>INTEGER, default: 0. Reference category for the multinomial logistic regression. </dd>
+<dt>grouping_cols (optional) </dt>
+<dd>VARCHAR, default: NULL. <em>Not currently implemented. Any non-NULL value is ignored.</em> An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL "GROUP BY" clause. When this value is NULL, no grouping is used and a single result model is generated. </dd>
+<dt>marginal_vars(optional) </dt>
+<dd>INTEGER[], default: NULL. An index list (base 1) representing the independent variables to compute marginal effects on. When NULL, computes marginal effects on all variables. </dd>
+<dt>optimizer_params (optional) </dt>
+<dd>TEXT, default: NULL, which uses the default values of optimizer parameters: max_iter=20, optimizer='newton', tolerance=1e-4. It should be a string that contains 'key=value' pairs separated by commas. </dd>
+<dt>verbose_mode (optional) </dt>
+<dd>BOOLEAN, default FALSE. When TRUE, provides verbose output of the results of training.  </dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>View online help for the marginal effects function. <pre class="example">
+SELECT madlib.margins();
+</pre></li>
+<li>Create the sample data set. Use the <code>patients</code> dataset from the <a href="group__grp__logreg.html#examples">Logistic Regression examples</a>. <pre class="example">
+SELECT * FROM patients;
+</pre> Result: <pre class="result">
+ id | second_attack | treatment | trait_anxiety
+&#160;---+---------------+-----------+---------------
+  1 |             1 |         1 |            70
+  3 |             1 |         1 |            50
+  5 |             1 |         0 |            40
+  7 |             1 |         0 |            75
+  9 |             1 |         0 |            70
+ 11 |             0 |         1 |            65
+ 13 |             0 |         1 |            45
+ 15 |             0 |         1 |            40
+ 17 |             0 |         0 |            55
+ 19 |             0 |         0 |            50
+  2 |             1 |         1 |            80
+  4 |             1 |         0 |            60
+  6 |             1 |         0 |            65
+  8 |             1 |         0 |            80
+ 10 |             1 |         0 |            60
+ 12 |             0 |         1 |            50
+ 14 |             0 |         1 |            35
+ 16 |             0 |         1 |            50
+ 18 |             0 |         0 |            45
+ 20 |             0 |         0 |            60
+</pre></li>
+<li>Run logistic regression to get the model, compute the marginal effects of all variables, and view the results. <pre class="example">
+DROP TABLE IF EXISTS model_table;
+DROP TABLE IF EXISTS model_table_summary;
+DROP TABLE IF EXISTS margins_table;
+SELECT madlib.logregr_train( 'patients',
+                             'model_table',
+                             'second_attack',
+                             'ARRAY[1, treatment, trait_anxiety, treatment^2, treatment * trait_anxiety]'
+                           );
+SELECT madlib.margins( 'model_table',
+                       'margins_table',
+                       'intercept, treatment, trait_anxiety, treatment^2, treatment*trait_anxiety',
+                       NULL,
+                       NULL
+                     );
+\x ON
+SELECT * FROM margins_table;
+</pre> Result: <pre class="result">
+variables | {intercept, treatment, trait_anxiety}
+margins   | {-0.876046514609573,-0.0648833521465306,0.0177196513589633}
+std_err   | {0.551714275062467,0.373592457067442,0.00458001207971933}
+z_stats   | {-1.58786269307674,-0.173674149247659,3.86890930646828}
+p_values  | {0.112317391159946,0.862121554662231,0.000109323294026272}
+</pre></li>
+<li>Compute the marginal effects of the first variable using the previous model and view the results (using different names in 'x_design'). <pre class="example">
+DROP TABLE IF EXISTS result_table;
+SELECT madlib.margins( 'model_table',
+                       'result_table',
+                       'i, tre, tra, tre^2, tre*tra',
+                       NULL,
+                       'tre'
+                     );
+SELECT * FROM result_table;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]-------------------
+variables | {tre}
+margins   | {-0.110453283517281}
+std_err   | {0.228981529064089}
+z_stats   | {-0.482367656329023}
+p_values  | {0.629544793219806}
+</pre></li>
+<li>Create a sample data set for multinomial logistic regression. (The full dataset has three categories.) Use the dataset from the <a href="group__grp__mlogreg.html#examples">Multinomial Regression example</a>. <pre class="example">
+\x OFF
+SELECT * FROM test3;
+</pre> Result: <pre class="result">
+ feat1 | feat2 | cat
+-------+-------+-----
+     2 |    33 |   0
+     2 |    31 |   1
+     2 |    36 |   1
+     2 |    31 |   1
+     2 |    41 |   1
+     2 |    37 |   1
+     2 |    44 |   1
+     2 |    46 |   1
+     2 |    46 |   2
+     2 |    39 |   0
+     2 |    44 |   1
+     2 |    44 |   0
+     2 |    67 |   2
+     2 |    59 |   2
+     2 |    59 |   0
+...
+</pre></li>
+<li>Run the regression function and then compute the marginal effects of all variables in the regression. <pre class="example">
+DROP TABLE IF EXISTS model_table;
+DROP TABLE IF EXISTS model_table_summary;
+DROP TABLE IF EXISTS result_table;
+SELECT madlib.mlogregr_train('test3', 'model_table', 'cat',
+                             'ARRAY[1, feat1, feat2, feat1*feat2]',
+                             0);
+SELECT madlib.margins('model_table',
+                      'result_table',
+                      'intercept, feat1, feat2, feat1*feat2');
+\x ON
+SELECT * FROM result_table;
+</pre> Result: <pre class="result">
+-[ RECORD 1 ]+-------------------------------------------------------------
+category     | 1
+ref_category | 0
+variables    | {intercept,feat1,feat2}
+margins      | {2.38176571752675,-0.0545733108729351,-0.0147264917310351}
+std_err      | {0.851299967007829,0.0697049196489632,0.00374946341567828}
+z_stats      | {2.79779843748643,-0.782919070099622,-3.92762646235104}
+p_values     | {0.00514522099923651,0.43367463815468,8.57883141882439e-05}
+-[ RECORD 2 ]+-------------------------------------------------------------
+category     | 2
+ref_category | 0
+variables    | {intercept,feat1,feat2}
+margins      | {-1.99279068434949,0.0922540608068343,0.0168049205501686}
+std_err      | {0.742790306495022,0.0690712705200096,0.00202015384479213}
+z_stats      | {-2.68284422524683,1.33563578767686,8.31863404536785}
+p_values     | {0.00729989838349161,0.181668346802398,8.89828265128986e-17}
+</pre></li>
+</ol>
+<p><a class="anchor" id="notes"></a> </p><dl class="section note"><dt>Note</dt><dd>The <em>marginal_vars</em> argument is a list with the names matching those in 'x_design'. If no 'x_design' is present (i.e. no interaction and no indicator variables), then <em>marginal_vars</em> must be the indices (base 1) of variables in 'independent_varname'. Use <em>NULL</em> to use all independent variables. It is important to note that the <em>independent_varname</em> array in the underlying regression is assumed to start with a lower bound index of 1. Arrays that don't follow this would result in an incorrect solution.</dd></dl>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>The standard approach to modeling dichotomous/binary variables (so <img class="formulaInl" alt="$y \in \{0, 1\} $" src="form_368.png"/>) is to estimate a generalized linear model under the assumption that <img class="formulaInl" alt="$ y $" src="form_324.png"/> follows some form of Bernoulli distribution. Thus the expected value of <img class="formulaInl" alt="$ y $" src="form_324.png"/> becomes, </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ y = G(X' \beta), \]" src="form_369.png"/>
+</p>
+<p>where G is the specified binomial distribution. For logistic regression, the function <img class="formulaInl" alt="$ G $" src="form_370.png"/> represents the inverse logit function.</p>
+<p>In logistic regression: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ P = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \dots \beta_j x_j)}} = \frac{1}{1 + e^{-z}} \implies \frac{\partial P}{\partial X_k} = \beta_k \cdot \frac{1}{1 + e^{-z}} \cdot \frac{e^{-z}}{1 + e^{-z}} \\ = \beta_k \cdot P \cdot (1-P) \]" src="form_371.png"/>
+</p>
+<p>There are several methods for calculating the marginal effects for dichotomous dependent variables. This package uses the average of the marginal effects at every sample observation.</p>
+<p>This is calculated as follows: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \frac{\partial y}{\partial x_k} = \beta_k \frac{\sum_{i=1}^n P(y_i = 1)(1-P(y_i = 1))}{n}, \\ \text{where}, P(y_i=1) = g(X^{(i)}\beta) \]" src="form_372.png"/>
+</p>
+<p>We use the delta method for calculating standard errors on the marginal effects.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] mfx function in STATA: <a href="http://www.stata.com/help.cgi?mfx_option">http://www.stata.com/help.cgi?mfx_option</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="marginal_8sql__in.html" title="SQL functions for linear regression. ">marginal.sql_in</a> documenting the SQL functions.</p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[19/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__pca__train.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__pca__train.html b/docs/v1.11/group__grp__pca__train.html
new file mode 100644
index 0000000..d260f4a
--- /dev/null
+++ b/docs/v1.11/group__grp__pca__train.html
@@ -0,0 +1,450 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Principal Component Analysis</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__pca__train.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Principal Component Analysis<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a> &raquo; <a class="el" href="group__grp__pca.html">Dimensionality Reduction</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#notes">Notes</a> </li>
+<li class="level1">
+<a href="#background_pca">Technical Background</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Principal component analysis (PCA) is a mathematical procedure that uses an orthogonal transformation to convert a set of observations of possibly correlated variables into a set of values of linearly uncorrelated variables called principal components. This transformation is defined in such a way that the first principal component has the largest possible variance (i.e., accounts for as much of the variability in the data as possible), and each succeeding component in turn has the highest variance possible under the constraint that it be orthogonal to (i.e., uncorrelated with) the preceding components.</p>
+<p>See the <a class="el" href="group__grp__pca__train.html#background_pca">Technical Background</a> for an introduction to principal component analysis.</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd>The training functions are slightly different for dense and sparse matrices. For dense matrices: <pre class="syntax">
+pca_train( source_table,
+           out_table,
+           row_id,
+           components_param,
+           grouping_cols,
+           lanczos_iter,
+           use_correlation,
+           result_summary_table
+         )
+</pre> For sparse matrices: <pre class="syntax">
+pca_sparse_train( source_table,
+                  out_table,
+                  row_id,
+                  col_id,           -- Sparse matrices only
+                  val_id,           -- Sparse matrices only
+                  row_dim,          -- Sparse matrices only
+                  col_dim,          -- Sparse matrices only
+                  components_param,
+                  grouping_cols,
+                  lanczos_iter,
+                  use_correlation,
+                  result_summary_table
+                )
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. Name of the input table containing the data for PCA training. The input data matrix should have <img class="formulaInl" alt="$ N $" src="form_220.png"/> rows and <img class="formulaInl" alt="$ M $" src="form_175.png"/> columns, where <img class="formulaInl" alt="$ N $" src="form_220.png"/> is the number of data points, and <img class="formulaInl" alt="$ M $" src="form_175.png"/> is the number of features for each data point.</p>
+<p>A dense input table is expected to be in the one of the two standard MADlib dense matrix formats, and a sparse input table should be in the standard MADlib sparse matrix format.</p>
+<p>The two standard MADlib dense matrix formats are: </p><pre>{TABLE|VIEW} <em>source_table</em> (
+    <em>row_id</em> INTEGER,
+    <em>row_vec</em> FLOAT8[],
+)</pre><p> and </p><pre>{TABLE|VIEW} <em>source_table</em> (
+    <em>row_id</em> INTEGER,
+    <em>col1</em> FLOAT8,
+    <em>col2</em> FLOAT8,
+    ...
+)</pre><p>Note that the column name <em>row_id</em> is taken as an input parameter, and should contain a continguous list of row indices (starting at 1) for the input matrix.</p>
+<p>The input table for sparse PCA is expected to be in the form:</p>
+<pre>{TABLE|VIEW} <em>source_table</em> (
+    ...
+    <em>row_id</em> INTEGER,
+    <em>col_id</em> INTEGER,
+    <em>val_id</em> FLOAT8,
+    ...
+)</pre><p>The <em>row_id</em> and <em>col_id</em> columns specify which entries in the matrix are nonzero, and the <em>val_id</em> column defines the values of the nonzero entries.</p>
+<p>Please refer to the <a class="el" href="group__grp__matrix.html">Matrix Operations</a> documentation for more details on defining matrices. </p>
+<p class="enddd"></p>
+</dd>
+<dt>out_table </dt>
+<dd><p class="startdd">TEXT. The name of the table that will contain the output. There are three possible output tables as described below.</p>
+<p>The primary output table (<em>out_table</em>) encodes the principal components with the <em>k</em> highest eigenvalues where <em>k</em> is either directly provided by the user or computed according to the proportion of variance. The table has the following columns: </p><table class="output">
+<tr>
+<th>row_id </th><td>Eigenvalue rank in descending order of the eigenvalue size.  </td></tr>
+<tr>
+<th>principal_components </th><td>Vectors containing elements of the principal components.  </td></tr>
+<tr>
+<th>std_dev </th><td>The standard deviation of each principal component.  </td></tr>
+<tr>
+<th>proportion </th><td>The proportion of variance covered by the principal component.  </td></tr>
+</table>
+<p>The table <em>out_table_mean</em> contains the column means. This table has just one column: </p><table class="output">
+<tr>
+<th>column_mean </th><td>A vector containing the column means for the input matrix.  </td></tr>
+</table>
+<p>The optional table <em>result_summary_table</em> contains information about the performance of the PCA. The contents of this table are described under the <em>result_summary_table</em> argument. </p>
+<p class="enddd"></p>
+</dd>
+<dt>row_id </dt>
+<dd><p class="startdd">TEXT. Column name containing the row IDs in the input source table. The column should be of type INT (or a type that can be cast to INT) and should only contain values between 1 and <em>N</em>. For dense matrix format, it should contain all continguous integers from 1 to <em>N</em> describing the full matrix.</p>
+<p class="enddd"></p>
+</dd>
+<dt>col_id </dt>
+<dd><p class="startdd">TEXT. Column name containing the column IDs in sparse matrix representation. The column should be of type INT (or a type that can be cast to INT) and should only contain values between 1 and <em>M</em>. <em>This parameter applies to sparse matrices only.</em></p>
+<p class="enddd"></p>
+</dd>
+<dt>val_id </dt>
+<dd><p class="startdd">TEXT. Name of 'val_id' column in sparse matrix representation defining the values of the nonzero entries. <em>This parameter applies to sparse matrices only.</em></p>
+<p class="enddd"></p>
+</dd>
+<dt>row_dim </dt>
+<dd><p class="startdd">INTEGER. The actual number of rows in the matrix. That is, if the matrix was transformed into dense format, this is the number of rows it would have. <em>This parameter applies to sparse matrices only.</em></p>
+<p class="enddd"></p>
+</dd>
+<dt>col_dim </dt>
+<dd><p class="startdd">INTEGER. The actual number of columns in the matrix. That is, if the matrix was transformed into dense format, this is the number of columns it would have. <em>This parameter applies to sparse matrices only.</em></p>
+<dl class="section note"><dt>Note</dt><dd>The parameters 'row_dim' and 'col_dim' could actually be inferred from the sparse matrix representation, so they will be removed in the future. For now they are maintained for backward compatability so you must enter them. Making 'row_dim' or 'col_dim' larger than the actual matrix has the effect of padding it with zeros, which is probably not useful.</dd></dl>
+</dd>
+<dt>components_param </dt>
+<dd><p class="startdd">INTEGER or FLOAT. The parameter to control the number of principal components to calculate from the input data. If 'components_param' is INTEGER, it is used to denote the number of principal components (<em>k</em>) to compute. If 'components_param' is FLOAT, the algorithm will return enough principal vectors so that the ratio of the sum of the eigenvalues collected thus far to the sum of all eigenvalues is greater than this parameter (proportion of variance). The value of 'components_param' must be either a positive INTEGER or a FLOAT in the range (0.0,1.0]</p>
+<dl class="section note"><dt>Note</dt><dd>The difference in interpretation between INTEGER and FLOAT was introduced to maintain backward campatibility after the proportion of variance feature was introduced. A special case to be aware of: 'components_param' = 1 (INTEGER) will return 1 principal component, but 'components_param' = 1.0 (FLOAT) will return all principal components, i.e., proportion of variance of 100%. <br />
+ <br />
+Also, please note that the number of principal components (<em>k</em>) is global, even in the case where grouping is used (see 'grouping_cols' below). In the case of grouping, proportion of variance might be a better choice; this could result in different numbers of principal components for different groups.</dd></dl>
+</dd>
+<dt>grouping_cols (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. A comma-separated list of column names, with the source data grouped using the combination of all the columns. An independent PCA model will be computed for each combination of the grouping columns.</p>
+<dl class="section note"><dt>Note</dt><dd>Dense matrices can be different sizes for different groups if desired. Sparse matrices cannot be different sizes for different groups, because the 'row_dim' and 'col_dim' parameters used for sparse matrices are global across all groups.</dd></dl>
+</dd>
+<dt>lanczos_iter (optional) </dt>
+<dd><p class="startdd">INTEGER, default: minimum of {<em>k+40</em>, smallest matrix dimension} where <em>k</em> is the number of principal components specified in the parameter 'components_param'. This parameter defines the number of Lanczos iterations for the SVD calculation. The Lanczos iteration number roughly corresponds to the accuracy of the SVD calculation, and a higher number of iterations corresponds to greater accuracy but longer computation time. The number of iterations must be at least as large as the value of <em>k</em>, but no larger than the smallest dimension of the matrix. If the number of iterations is set to zero, then the default number of iterations will be used.</p>
+<dl class="section note"><dt>Note</dt><dd>If both 'lanczos_iter' and proportion of variance (via the 'components_param' parameter) are defined, 'lanczos_iter' will take precedence in determining the number of principal components (i.e. the number of principal components will not be greater than 'lanczos_iter' even if the target proportion had not been reached).</dd></dl>
+</dd>
+<dt>use_correlation (optional) </dt>
+<dd><p class="startdd">BOOLEAN, default FALSE. Whether to use the correlation matrix for calculating the principal components instead of the covariance matrix. Currently <em>use_correlation</em> is a placeholder for forward compatibility, so this value must be set to false.</p>
+<p class="enddd"></p>
+</dd>
+<dt>result_summary_table (optional) </dt>
+<dd><p class="startdd">TEXT, default NULL. Name of the optional summary table. When NULL, no summary table is generated.</p>
+<p class="enddd">This sumary table has the following columns: </p><table class="output">
+<tr>
+<th>rows_used </th><td>INTEGER. Number of data points in the input.  </td></tr>
+<tr>
+<th>exec_time (ms) </th><td>FLOAT8. Number of milliseconds for the PCA calculation to run.  </td></tr>
+<tr>
+<th>iter </th><td>INTEGER. Number of iterations used in the SVD calculation.  </td></tr>
+<tr>
+<th>recon_error </th><td>FLOAT8. The absolute error in the SVD approximation.  </td></tr>
+<tr>
+<th>relative_recon_error </th><td>FLOAT8. The relative error in the SVD approximation.  </td></tr>
+<tr>
+<th>use_correlation </th><td>BOOLEAN. Indicates if the correlation matrix was used.  </td></tr>
+</table>
+</dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>View online help for the PCA training functions: <pre class="example">
+SELECT madlib.pca_train();
+or
+SELECT madlib.pca_sparse_train();
+</pre></li>
+<li>Create sample data in dense matrix form: <pre class="example">
+DROP TABLE IF EXISTS mat;
+CREATE TABLE mat (id integer,
+                  row_vec double precision[]
+                  );
+INSERT INTO mat VALUES
+(1, '{1,2,3}'),
+(2, '{2,1,2}'),
+(3, '{3,2,1}');
+</pre></li>
+<li>Run the PCA function for a specified number of principal components and view the results: <pre class="example">
+DROP TABLE IF EXISTS result_table, result_table_mean;
+SELECT madlib.pca_train('mat',             -- Source table
+                        'result_table',    -- Output table
+                        'id',              -- Row id of source table
+                         2);               -- Number of principal components
+SELECT * FROM result_table ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |                     principal_components                     |      std_dev      |    proportion     
+--------+--------------------------------------------------------------+-------------------+-------------------
+      1 | {0.707106781186547,-6.93889390390723e-18,-0.707106781186548} |  1.41421356237309 | 0.857142857142244
+      2 | {0,1,0}                                                      | 0.577350269189626 | 0.142857142857041
+(2 rows)
+</pre></li>
+<li>Run the PCA function for a specified proportion of variance and view the results: <pre class="example">
+%sql
+DROP TABLE IF EXISTS result_table, result_table_mean;
+SELECT madlib.pca_train('mat',             -- Source table
+                        'result_table',    -- Output table
+                        'id',              -- Row id of source table
+                         0.9);             -- Proportion of variance
+SELECT * FROM result_table ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |                     principal_components                     |      std_dev      |    proportion     
+--------+--------------------------------------------------------------+-------------------+-------------------
+      1 | {0.707106781186548,-2.77555756156289e-17,-0.707106781186548} |   1.4142135623731 | 0.857142857142245
+      2 | {-1.11022302462516e-16,-1,0}                                 | 0.577350269189626 | 0.142857142857041
+(2 rows)
+</pre></li>
+<li>Now we use grouping in dense form to learn different models for different groups. First, we create sample data in dense matrix form with a grouping column. Note we actually have different matrix sizes for the different groups, which is allowed for dense: <pre class="example">
+DROP TABLE IF EXISTS mat_group;
+CREATE TABLE mat_group (
+    id integer,
+    row_vec double precision[],
+    matrix_id integer
+);
+INSERT INTO mat_group VALUES
+(1, '{1,2,3}', 1),
+(2, '{2,1,2}', 1),
+(3, '{3,2,1}', 1),
+(4, '{1,2,3,4,5}', 2),
+(5, '{2,5,2,4,1}', 2),
+(6, '{5,4,3,2,1}', 2);
+</pre></li>
+<li>Run the PCA function with grouping for a specified proportion of variance and view the results: <pre class="example">
+DROP TABLE IF EXISTS result_table_group, result_table_group_mean;
+SELECT madlib.pca_train('mat_group',             -- Source table
+                        'result_table_group',    -- Output table
+                        'id',                    -- Row id of source table
+                         0.8,                    -- Proportion of variance
+                        'matrix_id');            -- Grouping column
+SELECT * FROM result_table_group ORDER BY matrix_id, row_id;
+</pre> <pre class="result">
+ row_id |                                      principal_components                                      |     std_dev     |    proportion     | matrix_id 
+--------+------------------------------------------------------------------------------------------------+-----------------+-------------------+-----------
+      1 | {0.707106781186548,0,-0.707106781186547}                                                       | 1.4142135623731 | 0.857142857142245 |         1
+      1 | {-0.555378486712784,-0.388303582074091,0.0442457354870796,0.255566375612852,0.688115693174023} | 3.2315220311722 | 0.764102534485173 |         2
+      2 | {0.587384101786277,-0.485138064894743,0.311532046315153,-0.449458074050715,0.347212037159181}  |  1.795531127192 | 0.235897465516047 |         2
+(3 rows)
+</pre></li>
+<li>Now let's look at sparse matrices. Create sample data in sparse matrix form: <pre class="example">
+DROP TABLE IF EXISTS mat_sparse;
+CREATE TABLE mat_sparse (
+    row_id integer,
+    col_id integer,
+    value double precision
+);
+INSERT INTO mat_sparse VALUES
+(1, 1, 1.0),
+(2, 2, 2.0),
+(3, 3, 3.0),
+(4, 4, 4.0),
+(1, 5, 5.0),
+(2, 4, 6.0),
+(3, 2, 7.0),
+(4, 3, 8.0);
+</pre> As an aside, this is what the sparse matrix above looks like when put in dense form: <pre class="example">
+DROP TABLE IF EXISTS mat_dense;
+SELECT madlib.matrix_densify('mat_sparse', 
+                            'row=row_id, col=col_id, val=value', 
+                            'mat_dense');
+SELECT * FROM mat_dense ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |    value    
+--------+-------------
+      1 | {1,0,0,0,5}
+      2 | {0,2,0,6,0}
+      3 | {0,7,3,0,0}
+      4 | {0,0,8,4,0}
+(4 rows)
+</pre></li>
+<li>Run the PCA sparse function for a specified number of principal components and view the results: <pre class="example">DROP TABLE IF EXISTS result_table, result_table_mean;
+SELECT madlib.pca_sparse_train( 'mat_sparse',       -- Source table
+                                'result_table',     -- Output table
+                                'row_id',           -- Row id of source table
+                                'col_id',           -- Column id of source table
+                                'value',            -- Value of matrix at row_id, col_id
+                                4,                  -- Actual number of rows in the matrix
+                                5,                  -- Actual number of columns in the matrix
+                                3);                 -- Number of principal components                            
+SELECT * FROM result_table ORDER BY row_id;
+</pre> Result (with principal components truncated for readability): <pre class="result">
+ row_id |         principal_components                 |     std_dev      |    proportion     
+--------+----------------------------------------------+------------------+-------------------
+      1 | {-0.0876046030186158,-0.0968983772909994,... | 4.21362803829554 | 0.436590030617467
+      2 | {-0.0647272661608605,0.877639526308692,...   | 3.68408023747461 | 0.333748701544697
+      3 | {-0.0780380267884855,0.177956517174911,...   | 3.05606908060098 | 0.229661267837836
+(3 rows)
+</pre></li>
+<li>Now we use grouping in sparse form to learn different models for different groups. First, we create sample data in sparse matrix form with a grouping column: <pre class="example">
+DROP TABLE IF EXISTS mat_sparse_group;
+CREATE TABLE mat_sparse_group (
+    row_id integer,
+    col_id integer,
+    value double precision,
+    matrix_id integer);
+INSERT INTO mat_sparse_group VALUES
+(1, 1, 1.0, 1),
+(2, 2, 2.0, 1),
+(3, 3, 3.0, 1),
+(4, 4, 4.0, 1),
+(1, 5, 5.0, 1),
+(2, 4, 6.0, 2),
+(3, 2, 7.0, 2),
+(4, 3, 8.0, 2);
+</pre></li>
+<li>Run the PCA function with grouping for a specified proportion of variance and view the results: <pre class="example">
+DROP TABLE IF EXISTS result_table_group, result_table_group_mean;
+SELECT madlib.pca_sparse_train( 'mat_sparse_group',   -- Source table
+                                'result_table_group', -- Output table
+                                'row_id',             -- Row id of source table
+                                'col_id',             -- Column id of source table
+                                'value',              -- Value of matrix at row_id, col_id
+                                4,                    -- Actual number of rows in the matrix
+                                5,                    -- Actual number of columns in the matrix
+                                0.8,                  -- Proportion of variance
+                                'matrix_id');
+SELECT * FROM result_table_group ORDER BY matrix_id, row_id;
+</pre> Result (with principal components truncated for readability): <pre class="result">
+ row_id |           principal_components             |     std_dev      |    proportion     | matrix_id 
+--------+--------------------------------------------+------------------+-------------------+-----------
+      1 | {-0.17805696611353,0.0681313257646983,...  | 2.73659933165925 | 0.544652792875481 |         1
+      2 | {-0.0492086814863993,0.149371585357526,... | 2.06058314533194 | 0.308800210823714 |         1
+      1 | {0,-0.479486114660443,...                  | 4.40325305087975 | 0.520500333693473 |         2
+      2 | {0,0.689230898585949,...                   |  3.7435566458567 | 0.376220573442628 |         2
+(4 rows)
+</pre></li>
+</ol>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd></dd></dl>
+<ul>
+<li>Table names can be optionally schema qualified (current_schemas() would be searched if a schema name is not provided) and all table and column names should follow case-sensitivity and quoting rules per the database. (For instance, 'mytable' and 'MyTable' both resolve to the same entity, i.e. 'mytable'. If mixed-case or multi-byte characters are desired for entity names then the string should be double-quoted; in this case the input would be '"MyTable"').</li>
+<li>Because of the centering step in PCA (see <a class="el" href="group__grp__pca__train.html#background_pca">Technical Background</a>), sparse matrices almost always become dense during the training process. Since this implementation automatically densifies sparse matrix input, there should be no expected performance improvement in using sparse matrix input over dense matrix input.</li>
+<li>For the parameter 'components_param', INTEGER and FLOAT are interpreted differently. A special case to be aware of: 'components_param' = 1 (INTEGER) will return 1 principal component, but 'components_param' = 1.0 (FLOAT) will return all principal components, i.e., proportion of variance of 100%.</li>
+<li>If both 'lanczos_iter' and proportion of variance (via the 'components_param' parameter) are defined, 'lanczos_iter' will take precedence in determining the number of principal components (i.e. the number of principal components will not be greater than 'lanczos_iter' even if the target proportion had not been reached).</li>
+</ul>
+<p><a class="anchor" id="background_pca"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>The PCA implemented here uses a distributed SVD decomposition implementation to recover the principal components (as opposed to the directly computing the eigenvectors of the covariance matrix). Let <img class="formulaInl" alt="$ \boldsymbol X $" src="form_221.png"/> be the data matrix, and let <img class="formulaInl" alt="$ \hat{x} $" src="form_222.png"/> be a vector of the column averages of <img class="formulaInl" alt="$ \boldsymbol{X}$" src="form_223.png"/>. PCA computes the matrix <img class="formulaInl" alt="$ \hat{\boldsymbol X} $" src="form_224.png"/> as </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \hat{\boldsymbol X} = {\boldsymbol X} - \vec{e} \hat{x}^T \]" src="form_225.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ \vec{e} $" src="form_226.png"/> is the vector of all ones.</p>
+<p>PCA then computes the SVD matrix factorization </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \hat{\boldsymbol X} = {\boldsymbol U}{\boldsymbol \Sigma}{\boldsymbol V}^T \]" src="form_227.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ {\boldsymbol \Sigma} $" src="form_228.png"/> is a diagonal matrix. The eigenvalues are recovered as the entries of <img class="formulaInl" alt="$ {\boldsymbol \Sigma}/(\sqrt{(N-1)} $" src="form_229.png"/>, and the principal components are the rows of <img class="formulaInl" alt="$ {\boldsymbol V} $" src="form_230.png"/>. The reasoning behind using N − 1 instead of N to calculate the covariance is <a href="https://en.wikipedia.org/wiki/Bessel%27s_correction">Bessel's correction</a>.</p>
+<dl class="section note"><dt>Note</dt><dd>It is important to note that this PCA implementation assumes that the user will use only the principal components that have non-zero eigenvalues. The SVD calculation is done with the Lanczos method, which does not guarantee correctness for singular vectors with zero-valued eigenvalues. Consequently, principal components with zero-valued eigenvalues are not guaranteed to be correct. Generally, this will not be problem unless the user wants to use the principal components for the entire eigenspectrum.</dd></dl>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] Principal Component Analysis. <a href="http://en.wikipedia.org/wiki/Principal_component_analysis">http://en.wikipedia.org/wiki/Principal_component_analysis</a></p>
+<p>[2] Shlens, Jonathon (2009), A Tutorial on Principal Component Analysis</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="pca_8sql__in.html" title="Principal Component Analysis. ">pca.sql_in</a> documenting the SQL functions</p>
+<p><a class="el" href="group__grp__pca__project.html">Principal Component Projection</a> </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__pivot.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__pivot.html b/docs/v1.11/group__grp__pivot.html
new file mode 100644
index 0000000..5f34953
--- /dev/null
+++ b/docs/v1.11/group__grp__pivot.html
@@ -0,0 +1,653 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Pivot</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__pivot.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Pivot<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#pivoting">Pivoting</a> </li>
+<li>
+<a href="#notes">Notes</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+</ul>
+</div><p><a class="anchor" id="pivoting"></a>The goal of the MADlib pivot function is to provide a data summarization tool that can do basic OLAP type operations on data stored in one table and output the summarized data to a second table.</p>
+<pre class="syntax">
+pivot(
+    source_table,
+    output_table,
+    index,
+    pivot_cols,
+    pivot_values,
+    aggregate_func,
+    fill_value,
+    keep_null,
+    output_col_dictionary,
+    output_type
+    )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the source table (or view) containing data to pivot.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">VARCHAR. Name of output table that contains the pivoted data. The output table contains all the columns present in the <em>'index'</em> column list, plus additional columns for each distinct value in <em>'pivot_cols'</em>.</p>
+<dl class="section note"><dt>Note</dt><dd>The names of the columns in the output table are auto-generated. Please see the examples section below to see how this works in practice. The convention used is to concatenate the following strings and separate each by an underscore '_' :<ul>
+<li>name of the value column <em>'pivot_values'</em></li>
+<li>aggregate function</li>
+<li>name of the pivot column <em>'pivot_cols'</em></li>
+<li>values in the pivot column </li>
+</ul>
+</dd></dl>
+</dd>
+<dt>index  </dt>
+<dd><p class="startdd">VARCHAR. Comma-separated columns that will form the index of the output pivot table. By index we mean the values to group by; these are the rows in the output pivot table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>pivot_cols  </dt>
+<dd><p class="startdd">VARCHAR. Comma-separated columns that will form the columns of the output pivot table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>pivot_values  </dt>
+<dd><p class="startdd">VARCHAR. Comma-separated columns that contain the values to be summarized in the output pivot table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>aggregate_func (optional) </dt>
+<dd><p class="startdd">VARCHAR. default: 'AVG'. A comma-separated list of aggregates to be applied to values. These can be PostgreSQL built-in aggregates [1] or UDAs. It is possible to assign a set of aggregates per value column. Please refer to the examples 12-14 below for syntax details.</p>
+<dl class="section note"><dt>Note</dt><dd>Only aggregates with strict transition functions are permitted here. A strict transition function means rows with null values are ignored; the function is not called and the previous state value is retained. If you need some other behavior for null inputs, this should be done prior to calling the pivot function. Aggregates with strict transition functions are described in [2,3].</dd></dl>
+</dd>
+<dt>fill_value (optional) </dt>
+<dd><p class="startdd">VARCHAR. default: NULL. If specified, determines how to fill NULL values resulting from pivot operation. This is a global parameter (not applied per aggregate) and is applied post-aggregation to the output table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>keep_null (optional) </dt>
+<dd><p class="startdd">BOOLEAN. default: FALSE. If TRUE, then pivot columns are created corresponding to NULL categories. If FALSE, then no pivot columns will be created for NULL categories.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_col_dictionary (optional) </dt>
+<dd><p class="startdd">BOOLEAN. default: FALSE. This parameter is used to handle auto-generated column names that exceed the PostgreSQL limit of 63 bytes (could be a common occurrence). If TRUE, column names will be set as numerical IDs and will create a dictionary table called output_table appended with _dictionary. If FALSE, will auto-generate column names in the usual way unless the limit of 63 bytes will be exceeded. In this case, a dictionary output file will be created and a message given to the user. </p>
+<p class="enddd"></p>
+</dd>
+<dt>output_type (optional) </dt>
+<dd><p class="startdd">VARCHAR. default: 'column'. This parameter controls the output format of the pivoted variables. If 'column', a column is created for each pivot variable. PostgreSQL limits the number of columns in a table (250 - 1600 depending on column types). If the total number of output columns exceeds this limit, then make this parameter either 'array' (to combine the output columns into an array) or 'svec' (to cast the array output to <em>'madlib.svec'</em> type). If you have an 'aggregate_func' that has an array return type, it cannot be combined with 'output_type'='array' or 'svec'.</p>
+<p>A dictionary will be created (<em>output_col_dictionary=TRUE</em>) when 'output_type' is 'array' or 'svec' to define each index into the array. </p>
+<p class="enddd"></p>
+</dd>
+</dl>
+<p><a class="anchor" id="notes"></a></p><dl class="section note"><dt>Note</dt><dd><ul>
+<li>NULLs in the index column are treated like any other value.</li>
+<li>NULLs in the pivot column are ignored unless keep_null is TRUE.</li>
+<li>Only strict transition functions are allowed so NULLs are ignored.</li>
+<li>It is not allowed to set the fill_value parameter without setting the aggregate_func parameter due to possible ambiguity. Set aggregate_func to NULL for the default behavior and use fill_value as desired. Please note that full_value must be of the same type as the output of the aggregate_func (or capable of being cast to the same type by PostgreSQL), or else an error will result.</li>
+<li>It is not allowed to set the output_col_dictionary parameter without setting the keep_null parameter due to possible ambiguity. Set keep_null to NULL for the default behavior and use output_col_dictionary as desired.</li>
+<li>Expressions (instead of column names) are not supported. Create a view with the desired expressions and pass it as the input table (see example 3 below).</li>
+<li>It is allowed to pass a partial mapping for the aggregate_func parameter. The missing value columns will be aggregated using the default function (average).</li>
+</ul>
+</dd></dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Create a simple dataset to demonstrate a basic pivot: <pre class="example">
+DROP TABLE IF EXISTS pivset CASCADE; -- View below may depend on table so use CASCADE
+CREATE TABLE pivset(
+                  id INTEGER,
+                  piv INTEGER,
+                  val FLOAT8
+                );
+INSERT INTO pivset VALUES
+    (0, 10, 1),
+    (0, 10, 2),
+    (0, 20, 3),
+    (1, 20, 4),
+    (1, 30, 5),
+    (1, 30, 6),
+    (1, 10, 7),
+    (NULL, 10, 8),
+    (1, NULL, 9),
+    (1, 10, NULL);
+</pre></li>
+<li>Pivot the table: <pre class="example">
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset', 'pivout', 'id', 'piv', 'val');
+SELECT * FROM pivout ORDER BY id;
+</pre> <pre class="result">
+ id | val_avg_piv_10 | val_avg_piv_20 | val_avg_piv_30
+----+----------------+----------------+----------------
+  0 |            1.5 |              3 |
+  1 |              7 |              4 |            5.5
+    |              8 |                |
+</pre> Here NULL is showing as an empty cell in the output.</li>
+<li>Now let's add some more columns to our data set and create a view: <pre class="example">
+DROP VIEW IF EXISTS pivset_ext;
+CREATE VIEW pivset_ext AS
+    SELECT *,
+    COALESCE(id + (val / 3)::integer, 0) AS id2,
+    COALESCE(100*(val / 3)::integer, 0) AS piv2,
+    COALESCE(val + 10, 0) AS val2
+   FROM pivset;
+SELECT id,id2,piv,piv2,val,val2 FROM pivset_ext
+ORDER BY id,id2,piv,piv2,val,val2;
+</pre> <pre class="result">
+ id | id2 | piv | piv2 | val | val2
+----+-----+-----+------+-----+------
+  0 |   0 |  10 |    0 |   1 |   11
+  0 |   1 |  10 |  100 |   2 |   12
+  0 |   1 |  20 |  100 |   3 |   13
+  1 |   0 |  10 |    0 |     |    0
+  1 |   2 |  20 |  100 |   4 |   14
+  1 |   3 |  10 |  200 |   7 |   17
+  1 |   3 |  30 |  200 |   5 |   15
+  1 |   3 |  30 |  200 |   6 |   16
+  1 |   4 |     |  300 |   9 |   19
+    |   0 |  10 |  300 |   8 |   18
+(10 rows)
+</pre></li>
+<li>Let's use a different aggregate function on the view we just created: <pre class="example">
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id', 'piv', 'val', 'sum');
+SELECT * FROM pivout ORDER BY id;
+</pre> <pre class="result">
+ id | val_sum_piv_10 | val_sum_piv_20 | val_sum_piv_30
+----+----------------+----------------+----------------
+  0 |              3 |              3 |
+  1 |              7 |              4 |             11
+    |              8 |                |
+</pre></li>
+<li>Now create a custom aggregate. Note that the aggregate must have a strict transition function: <pre class="example">
+DROP FUNCTION IF EXISTS array_add1 (ANYARRAY, ANYELEMENT) CASCADE;
+CREATE FUNCTION array_add1(ANYARRAY, ANYELEMENT) RETURNS ANYARRAY AS $$
+  SELECT $1 || $2
+$$ LANGUAGE sql STRICT;
+DROP AGGREGATE IF EXISTS array_accum1 (anyelement);
+CREATE AGGREGATE array_accum1 (anyelement) (
+    sfunc = array_add1,
+    stype = anyarray,
+    initcond = '{}'
+);
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id', 'piv', 'val', 'array_accum1');
+SELECT * FROM pivout ORDER BY id;
+</pre> <pre class="result">
+  id | val_array_accum1_piv_10 | val_array_accum1_piv_20 | val_array_accum1_piv_30
+----+-------------------------+-------------------------+-------------------------
+  0 | {1,2}                   | {3}                     | {}
+  1 | {7}                     | {4}                     | {5,6}
+    | {8}                     | {}                      | {}
+</pre></li>
+<li>Keep null values in the pivot column: <pre class="example">
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id', 'piv', 'val', 'sum', True);
+SELECT * FROM pivout ORDER BY id;
+</pre> <pre class="result">
+ id | val_sum_piv_10 | val_sum_piv_20 | val_sum_piv_30 | val_sum_piv_null
+----+----------------+----------------+----------------+------------------
+  0 |              3 |              3 |                |
+  1 |              7 |              4 |             11 |                9
+    |              8 |                |                |
+</pre></li>
+<li>Fill null results with a value of interest: <pre class="example">
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id', 'piv', 'val', 'sum', '111');
+SELECT * FROM pivout ORDER BY id;
+</pre> <pre class="result">
+ id | val_sum_piv_10 | val_sum_piv_20 | val_sum_piv_30
+----+----------------+----------------+----------------
+  0 |              3 |              3 |            111
+  1 |              7 |              4 |             11
+    |              8 |            111 |            111
+</pre></li>
+<li>Use multiple index columns: <pre class="example">
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id,id2', 'piv', 'val');
+SELECT * FROM pivout ORDER BY id,id2;
+</pre> <pre class="result">
+ id | id2 | val_avg_piv_10 | val_avg_piv_20 | val_avg_piv_30
+----+-----+----------------+----------------+----------------
+  0 |   0 |              1 |                |
+  0 |   1 |              2 |              3 |
+  1 |   0 |                |                |
+  1 |   2 |                |              4 |
+  1 |   3 |              7 |                |            5.5
+  1 |   4 |                |                |
+    |   0 |              8 |                |
+</pre></li>
+<li>Use multiple pivot columns with columnar output: <pre class="example">
+\x on
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id', 'piv, piv2', 'val');
+SELECT * FROM pivout ORDER BY id;
+</pre> <pre class="result">
+-[ RECORD 1 ]-----------+----
+id                      | 0
+val_avg_piv_10_piv2_0   | 1
+val_avg_piv_10_piv2_100 | 2
+val_avg_piv_10_piv2_200 |
+val_avg_piv_10_piv2_300 |
+val_avg_piv_20_piv2_0   |
+val_avg_piv_20_piv2_100 | 3
+val_avg_piv_20_piv2_200 |
+val_avg_piv_20_piv2_300 |
+val_avg_piv_30_piv2_0   |
+val_avg_piv_30_piv2_100 |
+val_avg_piv_30_piv2_200 |
+val_avg_piv_30_piv2_300 |
+-[ RECORD 2 ]-----------+----
+id                      | 1
+val_avg_piv_10_piv2_0   |
+val_avg_piv_10_piv2_100 |
+val_avg_piv_10_piv2_200 | 7
+val_avg_piv_10_piv2_300 |
+val_avg_piv_20_piv2_0   |
+val_avg_piv_20_piv2_100 | 4
+val_avg_piv_20_piv2_200 |
+val_avg_piv_20_piv2_300 |
+val_avg_piv_30_piv2_0   |
+val_avg_piv_30_piv2_100 |
+val_avg_piv_30_piv2_200 | 5.5
+val_avg_piv_30_piv2_300 |
+...
+</pre></li>
+<li>Use multiple pivot columns (same as above) with an array output: <pre class="example">
+DROP TABLE IF EXISTS pivout, pivout_dictionary;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id', 'piv, piv2', 'val',
+                    NULL, NULL, FALSE, FALSE, 'array');
+\x off
+SELECT * FROM pivout ORDER BY id;
+</pre> <pre class="result">
+   id   |                          val_avg
+--------+------------------------------------------------------------
+      0 | {1,2,NULL,NULL,NULL,3,NULL,NULL,NULL,NULL,NULL,NULL}
+      1 | {NULL,NULL,7,NULL,NULL,4,NULL,NULL,NULL,NULL,5.5,NULL}
+ [NULL] | {NULL,NULL,NULL,8,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}
+</pre> <pre class="example">
+-- Use the dictionary to understand what each index of an array corresponds to
+SELECT * FROM pivout_dictionary;
+</pre> <pre class="result">
+ __pivot_cid__ | pval | agg | piv | piv2 |         col_name
+---------------+------+-----+-----+------+---------------------------
+ 1             | val  | avg |  10 |    0 | "val_avg_piv_10_piv2_0"
+ 2             | val  | avg |  10 |  100 | "val_avg_piv_10_piv2_100"
+ 3             | val  | avg |  10 |  200 | "val_avg_piv_10_piv2_200"
+ 4             | val  | avg |  10 |  300 | "val_avg_piv_10_piv2_300"
+ 5             | val  | avg |  20 |    0 | "val_avg_piv_20_piv2_0"
+ 6             | val  | avg |  20 |  100 | "val_avg_piv_20_piv2_100"
+ 7             | val  | avg |  20 |  200 | "val_avg_piv_20_piv2_200"
+ 8             | val  | avg |  20 |  300 | "val_avg_piv_20_piv2_300"
+ 9             | val  | avg |  30 |    0 | "val_avg_piv_30_piv2_0"
+ 10            | val  | avg |  30 |  100 | "val_avg_piv_30_piv2_100"
+ 11            | val  | avg |  30 |  200 | "val_avg_piv_30_piv2_200"
+ 12            | val  | avg |  30 |  300 | "val_avg_piv_30_piv2_300"
+</pre></li>
+<li>Use multiple value columns: <pre class="example">
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id', 'piv', 'val, val2');
+\x on
+SELECT * FROM pivout ORDER BY id;
+</pre> <pre class="result">
+-[ RECORD 1 ]---+-----
+id              | 0
+val_avg_piv_10  | 1.5
+val_avg_piv_20  | 3
+val_avg_piv_30  |
+val2_avg_piv_10 | 11.5
+val2_avg_piv_20 | 13
+val2_avg_piv_30 |
+-[ RECORD 2 ]---+-----
+id              | 1
+val_avg_piv_10  | 7
+val_avg_piv_20  | 4
+val_avg_piv_30  | 5.5
+val2_avg_piv_10 | 8.5
+val2_avg_piv_20 | 14
+val2_avg_piv_30 | 15.5
+...
+</pre></li>
+<li>Use multiple aggregate functions on the same value column (cross product): <pre class="example">
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id', 'piv', 'val', 'avg, sum');
+\x on
+SELECT * FROM pivout ORDER BY id;
+</pre> <pre class="result">
+-[ RECORD 1 ]--+----
+id             | 0
+val_avg_piv_10 | 1.5
+val_avg_piv_20 | 3
+val_avg_piv_30 |
+val_sum_piv_10 | 3
+val_sum_piv_20 | 3
+val_sum_piv_30 |
+-[ RECORD 2 ]--+----
+id             | 1
+val_avg_piv_10 | 7
+val_avg_piv_20 | 4
+val_avg_piv_30 | 5.5
+val_sum_piv_10 | 7
+val_sum_piv_20 | 4
+val_sum_piv_30 | 11
+...
+</pre></li>
+<li>Use different aggregate functions for different value columns: <pre class="example">
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id', 'piv', 'val, val2',
+    'val=avg, val2=sum');
+\x on
+SELECT * FROM pivout ORDER BY id;
+</pre> <pre class="result">
+-[ RECORD 1 ]---+----
+id              | 0
+val_avg_piv_10  | 1.5
+val_avg_piv_20  | 3
+val_avg_piv_30  |
+val2_sum_piv_10 | 23
+val2_sum_piv_20 | 13
+val2_sum_piv_30 |
+-[ RECORD 2 ]---+----
+id              | 1
+val_avg_piv_10  | 7
+val_avg_piv_20  | 4
+val_avg_piv_30  | 5.5
+val2_sum_piv_10 | 17
+val2_sum_piv_20 | 14
+val2_sum_piv_30 | 31
+...
+</pre></li>
+<li>Use multiple aggregate functions for different value columns: <pre class="example">
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id', 'piv', 'val, val2',
+    'val=avg, val2=[avg,sum]');
+\x on
+SELECT * FROM pivout ORDER BY id;
+</pre> <pre class="result">
+-[ RECORD 1 ]---+-----
+id              | 0
+val_avg_piv_10  | 1.5
+val_avg_piv_20  | 3
+val_avg_piv_30  |
+val2_avg_piv_10 | 11.5
+val2_avg_piv_20 | 13
+val2_avg_piv_30 |
+val2_sum_piv_10 | 23
+val2_sum_piv_20 | 13
+val2_sum_piv_30 |
+-[ RECORD 2 ]---+-----
+id              | 1
+val_avg_piv_10  | 7
+val_avg_piv_20  | 4
+val_avg_piv_30  | 5.5
+val2_avg_piv_10 | 8.5
+val2_avg_piv_20 | 14
+val2_avg_piv_30 | 15.5
+val2_sum_piv_10 | 17
+val2_sum_piv_20 | 14
+val2_sum_piv_30 | 31
+...
+</pre></li>
+<li>Combine all of the options: <pre class="example">
+DROP TABLE IF EXISTS pivout;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id, id2', 'piv, piv2', 'val, val2',
+    'val=avg, val2=[avg,sum]', '111', True);
+\x on
+SELECT * FROM pivout ORDER BY id,id2;
+</pre> <pre class="result">
+-[ RECORD 1 ]--------------+-----
+id                         | 0
+id2                        | 0
+val_avg_piv_null_piv2_0    | 111
+val_avg_piv_null_piv2_100  | 111
+val_avg_piv_null_piv2_200  | 111
+val_avg_piv_null_piv2_300  | 111
+val_avg_piv_10_piv2_0      | 1
+val_avg_piv_10_piv2_100    | 111
+val_avg_piv_10_piv2_200    | 111
+val_avg_piv_10_piv2_300    | 111
+val_avg_piv_20_piv2_0      | 111
+val_avg_piv_20_piv2_100    | 111
+val_avg_piv_20_piv2_200    | 111
+val_avg_piv_20_piv2_300    | 111
+val_avg_piv_30_piv2_0      | 111
+val_avg_piv_30_piv2_100    | 111
+val_avg_piv_30_piv2_200    | 111
+val_avg_piv_30_piv2_300    | 111
+val2_avg_piv_null_piv2_0   | 111
+val2_avg_piv_null_piv2_100 | 111
+val2_avg_piv_null_piv2_200 | 111
+val2_avg_piv_null_piv2_300 | 111
+val2_avg_piv_10_piv2_0     | 11
+val2_avg_piv_10_piv2_100   | 111
+...
+-[ RECORD 2 ]--------------+-----
+id                         | 0
+id2                        | 1
+val_avg_piv_null_piv2_0    | 111
+val_avg_piv_null_piv2_100  | 111
+val_avg_piv_null_piv2_200  | 111
+val_avg_piv_null_piv2_300  | 111
+val_avg_piv_10_piv2_0      | 111
+val_avg_piv_10_piv2_100    | 2
+val_avg_piv_10_piv2_200    | 111
+val_avg_piv_10_piv2_300    | 111
+val_avg_piv_20_piv2_0      | 111
+val_avg_piv_20_piv2_100    | 3
+val_avg_piv_20_piv2_200    | 111
+val_avg_piv_20_piv2_300    | 111
+val_avg_piv_30_piv2_0      | 111
+val_avg_piv_30_piv2_100    | 111
+val_avg_piv_30_piv2_200    | 111
+val_avg_piv_30_piv2_300    | 111
+val2_avg_piv_null_piv2_0   | 111
+val2_avg_piv_null_piv2_100 | 111
+val2_avg_piv_null_piv2_200 | 111
+val2_avg_piv_null_piv2_300 | 111
+...
+</pre></li>
+<li>Create a dictionary for output column names: <pre class="example">
+DROP TABLE IF EXISTS pivout, pivout_dictionary;
+SELECT madlib.pivot('pivset_ext', 'pivout', 'id, id2', 'piv, piv2', 'val, val2',
+    'val=avg, val2=[avg,sum]', '111', True, True);
+\x off
+SELECT * FROM pivout_dictionary order by __pivot_cid__;
+</pre> <pre class="result">
+__pivot_cid__ | pval | agg |  piv   | piv2 |           col_name
+---------------+------+-----+--------+------+------------------------------
+ __p_1__       | val  | avg | [NULL] |    0 | "val_avg_piv_null_piv2_0"
+ __p_2__       | val  | avg | [NULL] |  100 | "val_avg_piv_null_piv2_100"
+ __p_3__       | val  | avg | [NULL] |  200 | "val_avg_piv_null_piv2_200"
+ __p_4__       | val  | avg | [NULL] |  300 | "val_avg_piv_null_piv2_300"
+ __p_5__       | val  | avg |     10 |    0 | "val_avg_piv_10_piv2_0"
+ __p_6__       | val  | avg |     10 |  100 | "val_avg_piv_10_piv2_100"
+ __p_7__       | val  | avg |     10 |  200 | "val_avg_piv_10_piv2_200"
+ __p_8__       | val  | avg |     10 |  300 | "val_avg_piv_10_piv2_300"
+ __p_9__       | val  | avg |     20 |    0 | "val_avg_piv_20_piv2_0"
+ __p_10__      | val  | avg |     20 |  100 | "val_avg_piv_20_piv2_100"
+ __p_11__      | val  | avg |     20 |  200 | "val_avg_piv_20_piv2_200"
+ __p_12__      | val  | avg |     20 |  300 | "val_avg_piv_20_piv2_300"
+ __p_13__      | val  | avg |     30 |    0 | "val_avg_piv_30_piv2_0"
+ __p_14__      | val  | avg |     30 |  100 | "val_avg_piv_30_piv2_100"
+ __p_15__      | val  | avg |     30 |  200 | "val_avg_piv_30_piv2_200"
+ __p_16__      | val  | avg |     30 |  300 | "val_avg_piv_30_piv2_300"
+ __p_17__      | val2 | avg | [NULL] |    0 | "val2_avg_piv_null_piv2_0"
+ __p_18__      | val2 | avg | [NULL] |  100 | "val2_avg_piv_null_piv2_100"
+ __p_19__      | val2 | avg | [NULL] |  200 | "val2_avg_piv_null_piv2_200"
+ __p_20__      | val2 | avg | [NULL] |  300 | "val2_avg_piv_null_piv2_300"
+ __p_21__      | val2 | avg |     10 |    0 | "val2_avg_piv_10_piv2_0"
+...
+(48 rows)
+</pre> <pre class="example">
+\x on
+SELECT * FROM pivout ORDER BY id,id2;
+</pre> <pre class="result">
+-[ RECORD 1 ]----
+id       | 0
+id2      | 0
+__p_1__  | 111
+__p_2__  | 111
+__p_3__  | 111
+__p_4__  | 111
+__p_5__  | 1
+__p_6__  | 111
+__p_7__  | 111
+__p_8__  | 111
+__p_9__  | 111
+__p_10__ | 111
+__p_11__ | 111
+__p_12__ | 111
+__p_13__ | 111
+...
+-[ RECORD 2 ]----
+id       | 0
+id2      | 1
+__p_1__  | 111
+__p_2__  | 111
+__p_3__  | 111
+__p_4__  | 111
+__p_5__  | 111
+__p_6__  | 2
+__p_7__  | 111
+__p_8__  | 111
+__p_9__  | 111
+__p_10__ | 3
+__p_11__ | 111
+__p_12__ | 111
+__p_13__ | 111
+...
+-[ RECORD 3 ]----
+id       | 1
+id2      | 0
+__p_1__  | 111
+__p_2__  | 111
+__p_3__  | 111
+__p_4__  | 111
+__p_5__  | 111
+__p_6__  | 111
+__p_7__  | 111
+__p_8__  | 111
+__p_9__  | 111
+__p_10__ | 111
+__p_11__ | 111
+__p_12__ | 111
+__p_13__ | 111
+...
+</pre></li>
+</ol>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p><a class="anchor" id="svm-lit-1"></a>[1] <a href="https://www.postgresql.org/docs/8.2/static/functions-aggregate.html">https://www.postgresql.org/docs/8.2/static/functions-aggregate.html</a></p>
+<p>[2] <a href="https://www.postgresql.org/docs/8.2/static/sql-createaggregate.html">https://www.postgresql.org/docs/8.2/static/sql-createaggregate.html</a></p>
+<p>[3] <a href="https://www.postgresql.org/docs/8.2/static/xaggr.html">https://www.postgresql.org/docs/8.2/static/xaggr.html</a> </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__pmml.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__pmml.html b/docs/v1.11/group__grp__pmml.html
new file mode 100644
index 0000000..7242a30
--- /dev/null
+++ b/docs/v1.11/group__grp__pmml.html
@@ -0,0 +1,326 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: PMML Export</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__pmml.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">PMML Export<div class="ingroups"><a class="el" href="group__grp__utility__functions.html">Utility Functions</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b><ul>
+<li class="level1">
+<a href="#function">PMML Export Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#background">Background</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p><a class="anchor" id="function"></a></p><dl class="section user"><dt>PMML Export Function</dt><dd>The PMML export function in MADlib has the following syntax: <pre class="syntax">
+pmml ( model_table,
+       name_spec
+     )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>model_table </dt>
+<dd><p class="startdd">VARCHAR. The name of the table containing the model.</p>
+<p class="enddd"></p>
+</dd>
+<dt>name_spec (optional) </dt>
+<dd>VARCHAR or VARCHAR[]. Names to be used in the Data Dictionary of the PMML. See <a class="el" href="table__to__pmml_8sql__in.html#a9635b6989d9f972497b6b4164b77aa0a" title="Given the model constructed from a data mining algorithm, this function converts the model into PMML ...">pmml()</a> for detailed explanation. </dd>
+</dl>
+</dd></dl>
+<p><b>Output</b> XML. The output of this function is a standard PMML document, some examples of which are covered in the next section. </p>
+<dl class="section note"><dt>Note</dt><dd>In PostgreSQL, users may be required to install their database with XML support in order to use this function.</dd></dl>
+<p>Usually the user wants to export the resulting PMML contents into a PMML file so that external softwares can use it. The following method can be used (Note: the user needs to use unaligned table output mode for psql with '-A' flag. And inside psql client, both '\t' and '\o' should be used):</p>
+<pre class="example">
+&gt; # under bash
+&gt; psql -A my_database
+# -- in psql now
+# \t
+# \o test.pmml -- export to a file
+# select madlib.pmml('tree_out');
+# \o
+# \t
+</pre><p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd><ol type="1">
+<li>Create the training data table. <pre class="example">
+CREATE TABLE patients( id integer NOT NULL,
+                       second_attack integer,
+                       treatment integer,
+                       trait_anxiety integer);
+INSERT INTO patients(id, second_attack, treatment, trait_anxiety) VALUES
+( 1, 1, 1, 70),
+( 3, 1, 1, 50),
+( 5, 1, 0, 40),
+( 7, 1, 0, 75),
+( 9, 1, 0, 70),
+(11, 0, 1, 65),
+(13, 0, 1, 45),
+(15, 0, 1, 40),
+(17, 0, 0, 55),
+(19, 0, 0, 50),
+( 2, 1, 1, 80),
+( 4, 1, 0, 60),
+( 6, 1, 0, 65),
+( 8, 1, 0, 80),
+(10, 1, 0, 60),
+(12, 0, 1, 50),
+(14, 0, 1, 35),
+(16, 0, 1, 50),
+(18, 0, 0, 45),
+(20, 0, 0, 60);
+</pre></li>
+<li>Train a regression model using <a class="el" href="logistic_8sql__in.html#a74210a7ef513dfcbdfdd9f3b37bfe428" title="Compute logistic-regression coefficients and diagnostic statistics. ">logregr_train()</a>. <pre class="example">
+SELECT madlib.logregr_train(
+        'patients',
+        'patients_logregr',
+        'second_attack',
+        'ARRAY[1, treatment, trait_anxiety]');
+</pre></li>
+<li>View the PMML export for this model. <pre class="example">
+SELECT madlib.pmml('patients_logregr');
+</pre> Result: <pre class="result">
+&lt;?xml version="1.0" standalone="yes"?&gt;
+&lt;PMML version="4.1" xmlns="http://www.dmg.org/pmml-v4-1.html"&gt;
+  &lt;Header copyright="redacted for this example"&gt;
+    &lt;Extension extender="MADlib" name="user" value="gpadmin"&gt;
+    &lt;Application name="MADlib" version="1.7"&gt;
+    &lt;Timestamp&gt;
+      2014-06-13 17:30:14.527899 PDT
+    &lt;/Timestamp&gt;
+  &lt;/Header&gt;
+  &lt;DataDictionary numberoffields="4"&gt;
+    &lt;DataField datatype="boolean" name="second_attack_pmml_prediction" optype="categorical"&gt;
+    &lt;DataField datatype="double" name="1" optype="continuous"&gt;
+    &lt;DataField datatype="double" name="treatment" optype="continuous"&gt;
+    &lt;DataField datatype="double" name="trait_anxiety" optype="continuous"&gt;
+  &lt;/DataDictionary&gt;
+  &lt;RegressionModel functionname="classification" normalizationmethod="softmax"&gt;
+    &lt;MiningSchema&gt;
+      &lt;MiningField name="second_attack_pmml_prediction" usagetype="predicted"&gt;
+      &lt;MiningField name="1"&gt;
+      &lt;MiningField name="treatment"&gt;
+      &lt;MiningField name="trait_anxiety"&gt;
+    &lt;/MiningSchema&gt;
+    &lt;RegressionTable intercept="0.0" targetcategory="True"&gt;
+      &lt;NumericPredictor coefficient="-6.36346994178" name="1"&gt;
+      &lt;NumericPredictor coefficient="-1.02410605239" name="treatment"&gt;
+      &lt;NumericPredictor coefficient="0.119044916669" name="trait_anxiety"&gt;
+    &lt;/RegressionTable&gt;
+    &lt;RegressionTable intercept="0.0" targetcategory="False"&gt;
+  &lt;/RegressionModel&gt;
+&lt;/PMML&gt;
+</pre></li>
+</ol>
+</dd></dl>
+<p>Alternatively, the above can also be invoked as below if custom names are needed for fields in the Data Dictionary: </p><pre class="example">
+SELECT madlib.pmml('patients_logregr',
+                   'out_attack~1+in_trait_anxiety+in_treatment');
+</pre><p><b>Note:</b> If the second argument of 'pmml' function is not specified, a default suffix "_pmml_prediction" will be automatically append to the column name to be predicted. This can help avoid name conflicts.</p>
+<p>The following example demonstrates grouping columns in the model table for the same dataset as the previous example.</p>
+<ol type="1">
+<li>Train a different regression model with 'treatment' as the grouping column. <pre class="example">
+SELECT madlib.logregr_train(
+        'patients',
+        'patients_logregr_grouping',
+        'second_attack',
+        'ARRAY[1, trait_anxiety]',
+        'treatment');
+</pre></li>
+<li>View the PMML export for this model. <pre class="example">
+SELECT madlib.pmml('patients_logregr_grouping',
+                   ARRAY['second_attack','1','in_trait_anxiety']);
+</pre> Result: <pre class="result">
+&lt;?xml version="1.0" standalone="yes"?&gt;
+ &lt;PMML version="4.1" xmlns="http://www.dmg.org/pmml-v4-1.html"&gt;
+   &lt;Header copyright="redacted for this example"&gt;
+     &lt;Extension extender="MADlib" name="user" value="gpadmin"&gt;
+     &lt;Application name="MADlib" version="1.7"&gt;
+     &lt;Timestamp&gt;
+       2014-06-13 17:37:55.786307 PDT
+     &lt;/Timestamp&gt;
+   &lt;/Header&gt;
+   &lt;DataDictionary numberoffields="4"&gt;
+     &lt;DataField datatype="boolean" name="second_attack" optype="categorical"&gt;
+     &lt;DataField datatype="double" name="1" optype="continuous"&gt;
+     &lt;DataField datatype="double" name="in_trait_anxiety" optype="continuous"&gt;
+     &lt;DataField datatype="string" name="treatment" optype="categorical"&gt;
+   &lt;/DataDictionary&gt;
+   &lt;MiningModel functionname="classification"&gt;
+     &lt;MiningSchema&gt;
+       &lt;MiningField name="second_attack" usagetype="predicted"&gt;
+       &lt;MiningField name="1"&gt;
+       &lt;MiningField name="in_trait_anxiety"&gt;
+       &lt;MiningField name="treatment"&gt;
+     &lt;/MiningSchema&gt;
+     &lt;Segmentation multiplemodelmethod="selectFirst"&gt;
+       &lt;Segment&gt;
+         &lt;SimplePredicate field="treatment" operator="equal" value="1"&gt;
+         &lt;RegressionModel functionname="classification" normalizationmethod="softmax"&gt;
+           &lt;MiningSchema&gt;
+             &lt;MiningField name="second_attack" usagetype="predicted"&gt;
+             &lt;MiningField name="1"&gt;
+             &lt;MiningField name="in_trait_anxiety"&gt;
+           &lt;/MiningSchema&gt;
+           &lt;RegressionTable intercept="0.0" targetcategory="True"&gt;
+             &lt;NumericPredictor coefficient="-8.02068430057" name="1"&gt;
+             &lt;NumericPredictor coefficient="0.130090428526" name="in_trait_anxiety"&gt;
+           &lt;/RegressionTable&gt;
+           &lt;RegressionTable intercept="0.0" targetcategory="False"&gt;
+         &lt;/RegressionModel&gt;
+       &lt;/Segment&gt;
+       &lt;Segment&gt;
+         &lt;SimplePredicate field="treatment" operator="equal" value="0"&gt;
+         &lt;RegressionModel functionname="classification" normalizationmethod="softmax"&gt;
+           &lt;MiningSchema&gt;
+             &lt;MiningField name="second_attack" usagetype="predicted"&gt;
+             &lt;MiningField name="1"&gt;
+             &lt;MiningField name="in_trait_anxiety"&gt;
+           &lt;/MiningSchema&gt;
+           &lt;RegressionTable intercept="0.0" targetcategory="True"&gt;
+             &lt;NumericPredictor coefficient="-5.75043192191" name="1"&gt;
+             &lt;NumericPredictor coefficient="0.108282446319" name="in_trait_anxiety"&gt;
+           &lt;/RegressionTable&gt;
+           &lt;RegressionTable intercept="0.0" targetcategory="False"&gt;
+         &lt;/RegressionModel&gt;
+       &lt;/Segment&gt;
+     &lt;/Segmentation&gt;
+   &lt;/MiningModel&gt;
+ &lt;/PMML&gt;
+</pre></li>
+</ol>
+<p><b>Note:</b> MADlib currently supports PMML export for Linear Regression, Logistic Regression, Generalized Linear Regression Model, Multinomial Logistic Regression, Ordinal Linear Regression, Decision Tree and Random Forests.</p>
+<p>In Ordinal Regression, the signs of feature coefficients will be different in PMML export and in the default output model table from ordinal(). This is due to the difference of model settings.</p>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Background</dt><dd>The Predictive Model Markup Language (PMML) is an XML-based file format that provides a way for applications to describe and exchange models produced by data mining and machine learning algorithms. A PMML file comprises the following components:<ul>
+<li>Header: Contains general information of the model, such as copyright information and model description.</li>
+<li>Data Dictionary: Contains definitions of fields used in the model.</li>
+<li>Data Transformations: Contains transformations for mapping user data into a form that can be used by the mining model.</li>
+<li>Model: Contains definitions of the data mining model, which includes attributes such as the model name, function name, and algorithm name.</li>
+<li>Mining Schema: Contains specific information for the fields used in the model, which includes the name and usage type.</li>
+<li>Targets: Allows for post-processing of the predicted value.</li>
+<li>Output: Allows for naming of output fields expected from the model.</li>
+</ul>
+</dd></dl>
+<p>MADlib follows the PMML v4.1 standard. For more details about PMML, see <a href="http://www.dmg.org/v4-1/GeneralStructure.html">http://www.dmg.org/v4-1/GeneralStructure.html</a>.</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="table__to__pmml_8sql__in.html">table_to_pmml.sql_in</a> documenting the PMML export functions.</p>
+<p><a class="el" href="group__grp__linreg.html">Linear Regression</a></p>
+<p><a class="el" href="group__grp__logreg.html">Logistic Regression</a></p>
+<p><a class="el" href="group__grp__glm.html">Generalized Linear Models</a></p>
+<p><a class="el" href="group__grp__ordinal.html">Ordinal Regression</a></p>
+<p><a class="el" href="group__grp__multinom.html">Multinomial Regression</a></p>
+<p><a class="el" href="group__grp__decision__tree.html">Decision Tree</a></p>
+<p><a class="el" href="group__grp__random__forest.html">Random Forest</a> </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[49/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/array__ops_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/array__ops_8sql__in.html b/docs/v1.11/array__ops_8sql__in.html
new file mode 100644
index 0000000..4a69b32
--- /dev/null
+++ b/docs/v1.11/array__ops_8sql__in.html
@@ -0,0 +1,1262 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: array_ops.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('array__ops_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">array_ops.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>implementation of array operations in SQL  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a91c8d3715142927b3967f05a4fbf1575"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a91c8d3715142927b3967f05a4fbf1575">array_add</a> (anyarray x, anyarray y)</td></tr>
+<tr class="memdesc:a91c8d3715142927b3967f05a4fbf1575"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds two arrays. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#a91c8d3715142927b3967f05a4fbf1575">More...</a><br /></td></tr>
+<tr class="separator:a91c8d3715142927b3967f05a4fbf1575"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a26e8508a2bae10a6574cec697a270eea"><td class="memItemLeft" align="right" valign="top">aggregate anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a26e8508a2bae10a6574cec697a270eea">sum</a> (anyarray)</td></tr>
+<tr class="memdesc:a26e8508a2bae10a6574cec697a270eea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aggregate, element-wise sum of arrays. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#a26e8508a2bae10a6574cec697a270eea">More...</a><br /></td></tr>
+<tr class="separator:a26e8508a2bae10a6574cec697a270eea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2875a161a01c7dcdea9a4997b074eefc"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a2875a161a01c7dcdea9a4997b074eefc">array_sub</a> (anyarray x, anyarray y)</td></tr>
+<tr class="memdesc:a2875a161a01c7dcdea9a4997b074eefc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtracts two arrays. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#a2875a161a01c7dcdea9a4997b074eefc">More...</a><br /></td></tr>
+<tr class="separator:a2875a161a01c7dcdea9a4997b074eefc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a652d70c480d484c4a1a92ded384b0dd7"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a652d70c480d484c4a1a92ded384b0dd7">array_mult</a> (anyarray x, anyarray y)</td></tr>
+<tr class="memdesc:a652d70c480d484c4a1a92ded384b0dd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element-wise product of two arrays. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#a652d70c480d484c4a1a92ded384b0dd7">More...</a><br /></td></tr>
+<tr class="separator:a652d70c480d484c4a1a92ded384b0dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6cc05e7052495f8b64692faf40219576"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a6cc05e7052495f8b64692faf40219576">array_div</a> (anyarray x, anyarray y)</td></tr>
+<tr class="memdesc:a6cc05e7052495f8b64692faf40219576"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element-wise division of two arrays. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#a6cc05e7052495f8b64692faf40219576">More...</a><br /></td></tr>
+<tr class="separator:a6cc05e7052495f8b64692faf40219576"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acde10964ed23b7c8da515fb84cb8d5e0"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#acde10964ed23b7c8da515fb84cb8d5e0">array_dot</a> (anyarray x, anyarray y)</td></tr>
+<tr class="memdesc:acde10964ed23b7c8da515fb84cb8d5e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dot-product of two arrays. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#acde10964ed23b7c8da515fb84cb8d5e0">More...</a><br /></td></tr>
+<tr class="separator:acde10964ed23b7c8da515fb84cb8d5e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aedf6cb13eb4803bcc12dc4d95ea8ff4e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#aedf6cb13eb4803bcc12dc4d95ea8ff4e">array_contains</a> (anyarray x, anyarray y)</td></tr>
+<tr class="memdesc:aedf6cb13eb4803bcc12dc4d95ea8ff4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether one array contains the other. This function returns TRUE if each non-zero element in the right array equals to the element with the same index in the left array.  <a href="#aedf6cb13eb4803bcc12dc4d95ea8ff4e">More...</a><br /></td></tr>
+<tr class="separator:aedf6cb13eb4803bcc12dc4d95ea8ff4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae891429cc50705c530f3e5ca15541849"><td class="memItemLeft" align="right" valign="top">anyelement&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#ae891429cc50705c530f3e5ca15541849">array_max</a> (anyarray x)</td></tr>
+<tr class="memdesc:ae891429cc50705c530f3e5ca15541849"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function finds the maximum value in the array. NULLs are ignored. Return type is the same as the input type.  <a href="#ae891429cc50705c530f3e5ca15541849">More...</a><br /></td></tr>
+<tr class="separator:ae891429cc50705c530f3e5ca15541849"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa415256a9064aecc600dfb5e377fb7b1"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#aa415256a9064aecc600dfb5e377fb7b1">array_max_index</a> (anyarray x)</td></tr>
+<tr class="memdesc:aa415256a9064aecc600dfb5e377fb7b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function finds the maximum value and corresponding index in the array. NULLs are ignored. Return type is the same as the input type.  <a href="#aa415256a9064aecc600dfb5e377fb7b1">More...</a><br /></td></tr>
+<tr class="separator:aa415256a9064aecc600dfb5e377fb7b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6659bf9d9363eb179fab34f81f8ac59b"><td class="memItemLeft" align="right" valign="top">anyelement&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a6659bf9d9363eb179fab34f81f8ac59b">array_min</a> (anyarray x)</td></tr>
+<tr class="memdesc:a6659bf9d9363eb179fab34f81f8ac59b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function finds the minimum value in the array. NULLs are ignored. Return type is the same as the input type.  <a href="#a6659bf9d9363eb179fab34f81f8ac59b">More...</a><br /></td></tr>
+<tr class="separator:a6659bf9d9363eb179fab34f81f8ac59b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a813a4d9ffc1c18b1b3e18f6ecdb2051f"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a813a4d9ffc1c18b1b3e18f6ecdb2051f">array_min_index</a> (anyarray x)</td></tr>
+<tr class="memdesc:a813a4d9ffc1c18b1b3e18f6ecdb2051f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function finds the minimum value and corresponding index in the array. NULLs are ignored. Return type is the same as the input type.  <a href="#a813a4d9ffc1c18b1b3e18f6ecdb2051f">More...</a><br /></td></tr>
+<tr class="separator:a813a4d9ffc1c18b1b3e18f6ecdb2051f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c98f20e6a737358806f63318daea5ec"><td class="memItemLeft" align="right" valign="top">anyelement&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a4c98f20e6a737358806f63318daea5ec">array_sum</a> (anyarray x)</td></tr>
+<tr class="memdesc:a4c98f20e6a737358806f63318daea5ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function finds the sum of the values in the array. NULLs are ignored. Return type is the same as the input type.  <a href="#a4c98f20e6a737358806f63318daea5ec">More...</a><br /></td></tr>
+<tr class="separator:a4c98f20e6a737358806f63318daea5ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a418de59800833aa95f9b7cbd6b12901c"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a418de59800833aa95f9b7cbd6b12901c">array_sum_big</a> (anyarray x)</td></tr>
+<tr class="memdesc:a418de59800833aa95f9b7cbd6b12901c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function finds the sum of the values in the array. NULLs are ignored. Return type is always FLOAT8 regardless of input. This function is meant to replace <a class="el" href="array__ops_8sql__in.html#a4c98f20e6a737358806f63318daea5ec" title="This function finds the sum of the values in the array. NULLs are ignored. Return type is the same as...">array_sum()</a> in the cases when sum may overflow the element type.  <a href="#a418de59800833aa95f9b7cbd6b12901c">More...</a><br /></td></tr>
+<tr class="separator:a418de59800833aa95f9b7cbd6b12901c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a13c0b0c53e8b0dc4e08c21bb8152ee7d"><td class="memItemLeft" align="right" valign="top">anyelement&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a13c0b0c53e8b0dc4e08c21bb8152ee7d">array_abs_sum</a> (anyarray x)</td></tr>
+<tr class="memdesc:a13c0b0c53e8b0dc4e08c21bb8152ee7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function finds the sum of abs of the values in the array. NULLs are ignored. Return type is the same as the input type.  <a href="#a13c0b0c53e8b0dc4e08c21bb8152ee7d">More...</a><br /></td></tr>
+<tr class="separator:a13c0b0c53e8b0dc4e08c21bb8152ee7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac14e74c10b58f5518cd0e3e56067e5ba"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#ac14e74c10b58f5518cd0e3e56067e5ba">array_abs</a> (anyarray x)</td></tr>
+<tr class="memdesc:ac14e74c10b58f5518cd0e3e56067e5ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array as the input and finds absolute value of each element in the array, returning the resulting array. It requires that all the values are NON-NULL.  <a href="#ac14e74c10b58f5518cd0e3e56067e5ba">More...</a><br /></td></tr>
+<tr class="separator:ac14e74c10b58f5518cd0e3e56067e5ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a407598f9eb70637798b02fd731bfca2c"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a407598f9eb70637798b02fd731bfca2c">array_mean</a> (anyarray x)</td></tr>
+<tr class="memdesc:a407598f9eb70637798b02fd731bfca2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function finds the mean of the values in the array. NULLs are ignored.  <a href="#a407598f9eb70637798b02fd731bfca2c">More...</a><br /></td></tr>
+<tr class="separator:a407598f9eb70637798b02fd731bfca2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b6c2d173a611e6d6b184d825c2b336d"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a3b6c2d173a611e6d6b184d825c2b336d">array_stddev</a> (anyarray x)</td></tr>
+<tr class="memdesc:a3b6c2d173a611e6d6b184d825c2b336d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function finds the standard deviation of the values in the array. NULLs are ignored.  <a href="#a3b6c2d173a611e6d6b184d825c2b336d">More...</a><br /></td></tr>
+<tr class="separator:a3b6c2d173a611e6d6b184d825c2b336d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab066e65a41db78b00b4532996b2a6efc"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#ab066e65a41db78b00b4532996b2a6efc">array_of_float</a> (integer k)</td></tr>
+<tr class="memdesc:ab066e65a41db78b00b4532996b2a6efc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function creates an array of set size (the argument value) of FLOAT8, initializing the values to 0.0;.  <a href="#ab066e65a41db78b00b4532996b2a6efc">More...</a><br /></td></tr>
+<tr class="separator:ab066e65a41db78b00b4532996b2a6efc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab7d8550e66d2e0bd54b8f0997d93880c"><td class="memItemLeft" align="right" valign="top">bigint []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#ab7d8550e66d2e0bd54b8f0997d93880c">array_of_bigint</a> (integer k)</td></tr>
+<tr class="memdesc:ab7d8550e66d2e0bd54b8f0997d93880c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function creates an array of set size (the argument value) of BIGINT, initializing the values to 0;.  <a href="#ab7d8550e66d2e0bd54b8f0997d93880c">More...</a><br /></td></tr>
+<tr class="separator:ab7d8550e66d2e0bd54b8f0997d93880c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a065a5323f3b742be47e39ad8b4c90fc2"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a065a5323f3b742be47e39ad8b4c90fc2">array_fill</a> (anyarray x, anyelement k)</td></tr>
+<tr class="memdesc:a065a5323f3b742be47e39ad8b4c90fc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This functions set every values in the array to some desired value (provided as the argument).  <a href="#a065a5323f3b742be47e39ad8b4c90fc2">More...</a><br /></td></tr>
+<tr class="separator:a065a5323f3b742be47e39ad8b4c90fc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8855869bb9f124c3ff5b10041988610c"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a8855869bb9f124c3ff5b10041988610c">array_cos</a> (anyarray x)</td></tr>
+<tr class="memdesc:a8855869bb9f124c3ff5b10041988610c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array as the input and apply cos function element-wise, returning the resulting array. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#a8855869bb9f124c3ff5b10041988610c">More...</a><br /></td></tr>
+<tr class="separator:a8855869bb9f124c3ff5b10041988610c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae6881cc5c86941b6ffca35d7f3cd5c12"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#ae6881cc5c86941b6ffca35d7f3cd5c12">array_scalar_mult</a> (anyarray x, anyelement k)</td></tr>
+<tr class="memdesc:ae6881cc5c86941b6ffca35d7f3cd5c12"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array as the input and executes element-wise multiplication by the scalar provided as the second argument, returning the resulting array. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#ae6881cc5c86941b6ffca35d7f3cd5c12">More...</a><br /></td></tr>
+<tr class="separator:ae6881cc5c86941b6ffca35d7f3cd5c12"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b6ffe59b12c3dee076c3059f9ab363f"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a0b6ffe59b12c3dee076c3059f9ab363f">array_scalar_add</a> (anyarray x, anyelement k)</td></tr>
+<tr class="memdesc:a0b6ffe59b12c3dee076c3059f9ab363f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array as the input and executes element-wise addition by the scalar provided as the second argument, returning the resulting array. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#a0b6ffe59b12c3dee076c3059f9ab363f">More...</a><br /></td></tr>
+<tr class="separator:a0b6ffe59b12c3dee076c3059f9ab363f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc295a568878940ffc3e2c9a75990efb"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#acc295a568878940ffc3e2c9a75990efb">array_filter</a> (anyarray x, anyelement k, text op)</td></tr>
+<tr class="memdesc:acc295a568878940ffc3e2c9a75990efb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array as the input and keep only elements that satisfy the operator on specified scalar. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#acc295a568878940ffc3e2c9a75990efb">More...</a><br /></td></tr>
+<tr class="separator:acc295a568878940ffc3e2c9a75990efb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0c3c44e81ff158ce8914258aa5604872"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a0c3c44e81ff158ce8914258aa5604872">array_filter</a> (anyarray x, anyelement k)</td></tr>
+<tr class="memdesc:a0c3c44e81ff158ce8914258aa5604872"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array as the input and removes elements that equal to specified scalar. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#a0c3c44e81ff158ce8914258aa5604872">More...</a><br /></td></tr>
+<tr class="separator:a0c3c44e81ff158ce8914258aa5604872"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4490f150ecb7aaab0933c223ccde5bd"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#ac4490f150ecb7aaab0933c223ccde5bd">array_filter</a> (anyarray x)</td></tr>
+<tr class="memdesc:ac4490f150ecb7aaab0933c223ccde5bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array as the input and removes elements that equal to 0. It requires that all the values are NON-NULL. Return type is the same as the input type.  <a href="#ac4490f150ecb7aaab0933c223ccde5bd">More...</a><br /></td></tr>
+<tr class="separator:ac4490f150ecb7aaab0933c223ccde5bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a83451ed0c3ca5a9c62751dba47e45df7"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a83451ed0c3ca5a9c62751dba47e45df7">array_sqrt</a> (anyarray x)</td></tr>
+<tr class="memdesc:a83451ed0c3ca5a9c62751dba47e45df7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array as the input and finds square root of each element in the array, returning the resulting array. It requires that all the values are NON-NULL.  <a href="#a83451ed0c3ca5a9c62751dba47e45df7">More...</a><br /></td></tr>
+<tr class="separator:a83451ed0c3ca5a9c62751dba47e45df7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a761e7ca753a5e1acf26896b37ed8b0bd"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a761e7ca753a5e1acf26896b37ed8b0bd">array_pow</a> (anyarray x, anyelement y)</td></tr>
+<tr class="memdesc:a761e7ca753a5e1acf26896b37ed8b0bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array and a float8 as the input and finds power of each element in the array, returning the resulting array. It requires that all the values are NON-NULL.  <a href="#a761e7ca753a5e1acf26896b37ed8b0bd">More...</a><br /></td></tr>
+<tr class="separator:a761e7ca753a5e1acf26896b37ed8b0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff60f4091bed6374683f047c8a70ef9a"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#aff60f4091bed6374683f047c8a70ef9a">array_square</a> (anyarray x)</td></tr>
+<tr class="memdesc:aff60f4091bed6374683f047c8a70ef9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array as the input and finds square of each element in the array, returning the resulting array. It requires that all the values are NON-NULL.  <a href="#aff60f4091bed6374683f047c8a70ef9a">More...</a><br /></td></tr>
+<tr class="separator:aff60f4091bed6374683f047c8a70ef9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb57ea4521dcb717f9e3148e0acccc74"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#acb57ea4521dcb717f9e3148e0acccc74">normalize</a> (anyarray x)</td></tr>
+<tr class="memdesc:acb57ea4521dcb717f9e3148e0acccc74"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function normalizes an array as sum of squares to be 1.  <a href="#acb57ea4521dcb717f9e3148e0acccc74">More...</a><br /></td></tr>
+<tr class="separator:acb57ea4521dcb717f9e3148e0acccc74"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a86e48d6f0ed7572cfc10576a07f84d25"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a86e48d6f0ed7572cfc10576a07f84d25">array_contains_null</a> (anyarray x)</td></tr>
+<tr class="memdesc:a86e48d6f0ed7572cfc10576a07f84d25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to check if array contains NULL.  <a href="#a86e48d6f0ed7572cfc10576a07f84d25">More...</a><br /></td></tr>
+<tr class="separator:a86e48d6f0ed7572cfc10576a07f84d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a819f395ada41a446dd4941f172d0bfef"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a819f395ada41a446dd4941f172d0bfef">array_cum_sum</a> (anyarray x)</td></tr>
+<tr class="memdesc:a819f395ada41a446dd4941f172d0bfef"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array as the input and computes the cumulative sum with the first element being the same. It requires that all the values are NON-NULL.  <a href="#a819f395ada41a446dd4941f172d0bfef">More...</a><br /></td></tr>
+<tr class="separator:a819f395ada41a446dd4941f172d0bfef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a69642cec81403897436d3c286bf2b36b"><td class="memItemLeft" align="right" valign="top">anyarray&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#a69642cec81403897436d3c286bf2b36b">array_cum_prod</a> (anyarray x)</td></tr>
+<tr class="memdesc:a69642cec81403897436d3c286bf2b36b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes an array as the input and computes the cumulative product with the first element being the same. It requires that all the values are NON-NULL.  <a href="#a69642cec81403897436d3c286bf2b36b">More...</a><br /></td></tr>
+<tr class="separator:a69642cec81403897436d3c286bf2b36b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af057b589f2a2cb1095caa99feaeb3d70"><td class="memItemLeft" align="right" valign="top">set&lt; record &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#af057b589f2a2cb1095caa99feaeb3d70">array_unnest_2d_to_1d</a> (anyarray x, int unnest_row_id, anyarray unnest_result)</td></tr>
+<tr class="memdesc:af057b589f2a2cb1095caa99feaeb3d70"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function takes a 2-D array as the input and unnests it by one level. It returns a set of 1-D arrays that correspond to rows of the input array as well as an ID column containing row positions occupied by those 1-D arrays within the 2-D array (the ID column values start with 1 and not 0)  <a href="#af057b589f2a2cb1095caa99feaeb3d70">More...</a><br /></td></tr>
+<tr class="separator:af057b589f2a2cb1095caa99feaeb3d70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa86efceb2ac80f621db00844bab77553"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="array__ops_8sql__in.html#aa86efceb2ac80f621db00844bab77553">array_unnest_2d_to_1d</a> ()</td></tr>
+<tr class="separator:aa86efceb2ac80f621db00844bab77553"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>April 2011 </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="ac14e74c10b58f5518cd0e3e56067e5ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac14e74c10b58f5518cd0e3e56067e5ba">&#9670;&nbsp;</a></span>array_abs()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_abs </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Absolute value of all elements of x. </dd></dl>
+
+</div>
+</div>
+<a id="a13c0b0c53e8b0dc4e08c21bb8152ee7d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a13c0b0c53e8b0dc4e08c21bb8152ee7d">&#9670;&nbsp;</a></span>array_abs_sum()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyelement array_abs_sum </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Sum of absolute value of x </dd></dl>
+
+</div>
+</div>
+<a id="a91c8d3715142927b3967f05a4fbf1575"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a91c8d3715142927b3967f05a4fbf1575">&#9670;&nbsp;</a></span>array_add()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_add </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">y</td><td>Array y </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Sum of x and y. </dd></dl>
+
+</div>
+</div>
+<a id="aedf6cb13eb4803bcc12dc4d95ea8ff4e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aedf6cb13eb4803bcc12dc4d95ea8ff4e">&#9670;&nbsp;</a></span>array_contains()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bool array_contains </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">y</td><td>Array y </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Returns true if x contains y. </dd></dl>
+
+</div>
+</div>
+<a id="a86e48d6f0ed7572cfc10576a07f84d25"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a86e48d6f0ed7572cfc10576a07f84d25">&#9670;&nbsp;</a></span>array_contains_null()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">boolean array_contains_null </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True if x has NULL value else False. </dd></dl>
+
+</div>
+</div>
+<a id="a8855869bb9f124c3ff5b10041988610c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8855869bb9f124c3ff5b10041988610c">&#9670;&nbsp;</a></span>array_cos()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_cos </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Array with each element of cos(x). </dd></dl>
+
+</div>
+</div>
+<a id="a69642cec81403897436d3c286bf2b36b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a69642cec81403897436d3c286bf2b36b">&#9670;&nbsp;</a></span>array_cum_prod()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_cum_prod </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Cumulative product of the elements in x. </dd></dl>
+
+</div>
+</div>
+<a id="a819f395ada41a446dd4941f172d0bfef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a819f395ada41a446dd4941f172d0bfef">&#9670;&nbsp;</a></span>array_cum_sum()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_cum_sum </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Cumulative sum of the elements in x. </dd></dl>
+
+</div>
+</div>
+<a id="a6cc05e7052495f8b64692faf40219576"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6cc05e7052495f8b64692faf40219576">&#9670;&nbsp;</a></span>array_div()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_div </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">y</td><td>Array y </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Element-wise division of x and y. </dd></dl>
+
+</div>
+</div>
+<a id="acde10964ed23b7c8da515fb84cb8d5e0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acde10964ed23b7c8da515fb84cb8d5e0">&#9670;&nbsp;</a></span>array_dot()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 array_dot </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">y</td><td>Array y </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Dot-product of x and y. </dd></dl>
+
+</div>
+</div>
+<a id="a065a5323f3b742be47e39ad8b4c90fc2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a065a5323f3b742be47e39ad8b4c90fc2">&#9670;&nbsp;</a></span>array_fill()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_fill </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyelement&#160;</td>
+          <td class="paramname"><em>k</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Some array </td></tr>
+    <tr><td class="paramname">k</td><td>Desired value </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Fills array with desired value. </dd></dl>
+
+</div>
+</div>
+<a id="acc295a568878940ffc3e2c9a75990efb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acc295a568878940ffc3e2c9a75990efb">&#9670;&nbsp;</a></span>array_filter() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_filter </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyelement&#160;</td>
+          <td class="paramname"><em>k</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>op</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">k</td><td>Scalar </td></tr>
+    <tr><td class="paramname">op</td><td>Operator </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Filtered array. </dd></dl>
+
+</div>
+</div>
+<a id="a0c3c44e81ff158ce8914258aa5604872"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0c3c44e81ff158ce8914258aa5604872">&#9670;&nbsp;</a></span>array_filter() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_filter </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyelement&#160;</td>
+          <td class="paramname"><em>k</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">k</td><td>Scalar </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Filtered array. </dd></dl>
+
+</div>
+</div>
+<a id="ac4490f150ecb7aaab0933c223ccde5bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac4490f150ecb7aaab0933c223ccde5bd">&#9670;&nbsp;</a></span>array_filter() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_filter </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Filtered array. </dd></dl>
+
+</div>
+</div>
+<a id="ae891429cc50705c530f3e5ca15541849"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae891429cc50705c530f3e5ca15541849">&#9670;&nbsp;</a></span>array_max()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyelement array_max </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Max of x. </dd></dl>
+
+</div>
+</div>
+<a id="aa415256a9064aecc600dfb5e377fb7b1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa415256a9064aecc600dfb5e377fb7b1">&#9670;&nbsp;</a></span>array_max_index()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] array_max_index </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Array as [max, index]. </dd></dl>
+
+</div>
+</div>
+<a id="a407598f9eb70637798b02fd731bfca2c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a407598f9eb70637798b02fd731bfca2c">&#9670;&nbsp;</a></span>array_mean()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 array_mean </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Mean of x. </dd></dl>
+
+</div>
+</div>
+<a id="a6659bf9d9363eb179fab34f81f8ac59b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6659bf9d9363eb179fab34f81f8ac59b">&#9670;&nbsp;</a></span>array_min()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyelement array_min </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Min of x. </dd></dl>
+
+</div>
+</div>
+<a id="a813a4d9ffc1c18b1b3e18f6ecdb2051f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a813a4d9ffc1c18b1b3e18f6ecdb2051f">&#9670;&nbsp;</a></span>array_min_index()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] array_min_index </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Array as [min, index]. </dd></dl>
+
+</div>
+</div>
+<a id="a652d70c480d484c4a1a92ded384b0dd7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a652d70c480d484c4a1a92ded384b0dd7">&#9670;&nbsp;</a></span>array_mult()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_mult </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">y</td><td>Array y </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Element-wise product of x and y. </dd></dl>
+
+</div>
+</div>
+<a id="ab7d8550e66d2e0bd54b8f0997d93880c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab7d8550e66d2e0bd54b8f0997d93880c">&#9670;&nbsp;</a></span>array_of_bigint()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bigint [] array_of_bigint </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">k</td><td>Array size. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Array of size k. </dd></dl>
+
+</div>
+</div>
+<a id="ab066e65a41db78b00b4532996b2a6efc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab066e65a41db78b00b4532996b2a6efc">&#9670;&nbsp;</a></span>array_of_float()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] array_of_float </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">k</td><td>Array size </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Array of size k. </dd></dl>
+
+</div>
+</div>
+<a id="a761e7ca753a5e1acf26896b37ed8b0bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a761e7ca753a5e1acf26896b37ed8b0bd">&#9670;&nbsp;</a></span>array_pow()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_pow </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyelement&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">y</td><td>Desired power </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Power of y for all elements of x. </dd></dl>
+
+</div>
+</div>
+<a id="a0b6ffe59b12c3dee076c3059f9ab363f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0b6ffe59b12c3dee076c3059f9ab363f">&#9670;&nbsp;</a></span>array_scalar_add()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_scalar_add </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyelement&#160;</td>
+          <td class="paramname"><em>k</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">k</td><td>Scalar </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Array with each element of x added by scalar. </dd></dl>
+
+</div>
+</div>
+<a id="ae6881cc5c86941b6ffca35d7f3cd5c12"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae6881cc5c86941b6ffca35d7f3cd5c12">&#9670;&nbsp;</a></span>array_scalar_mult()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_scalar_mult </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyelement&#160;</td>
+          <td class="paramname"><em>k</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">k</td><td>Scalar </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Array with each element of x multiplied by scalar. </dd></dl>
+
+</div>
+</div>
+<a id="a83451ed0c3ca5a9c62751dba47e45df7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a83451ed0c3ca5a9c62751dba47e45df7">&#9670;&nbsp;</a></span>array_sqrt()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] array_sqrt </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Square root of all elements of x. </dd></dl>
+
+</div>
+</div>
+<a id="aff60f4091bed6374683f047c8a70ef9a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aff60f4091bed6374683f047c8a70ef9a">&#9670;&nbsp;</a></span>array_square()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] array_square </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Square of all elements of x. </dd></dl>
+
+</div>
+</div>
+<a id="a3b6c2d173a611e6d6b184d825c2b336d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3b6c2d173a611e6d6b184d825c2b336d">&#9670;&nbsp;</a></span>array_stddev()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 array_stddev </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Standard deviation of x. </dd></dl>
+
+</div>
+</div>
+<a id="a2875a161a01c7dcdea9a4997b074eefc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2875a161a01c7dcdea9a4997b074eefc">&#9670;&nbsp;</a></span>array_sub()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyarray array_sub </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">y</td><td>Array y </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>x-y. </dd></dl>
+
+</div>
+</div>
+<a id="a4c98f20e6a737358806f63318daea5ec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4c98f20e6a737358806f63318daea5ec">&#9670;&nbsp;</a></span>array_sum()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">anyelement array_sum </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Sum of x. </dd></dl>
+
+</div>
+</div>
+<a id="a418de59800833aa95f9b7cbd6b12901c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a418de59800833aa95f9b7cbd6b12901c">&#9670;&nbsp;</a></span>array_sum_big()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 array_sum_big </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Sum of x. </dd></dl>
+
+</div>
+</div>
+<a id="af057b589f2a2cb1095caa99feaeb3d70"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af057b589f2a2cb1095caa99feaeb3d70">&#9670;&nbsp;</a></span>array_unnest_2d_to_1d() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;record&gt; array_unnest_2d_to_1d </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>unnest_row_id</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>unnest_result</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Set of 1-D arrays that corrspond to rows of x and an ID column. </dd></dl>
+
+</div>
+</div>
+<a id="aa86efceb2ac80f621db00844bab77553"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa86efceb2ac80f621db00844bab77553">&#9670;&nbsp;</a></span>array_unnest_2d_to_1d() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text array_unnest_2d_to_1d </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="acb57ea4521dcb717f9e3148e0acccc74"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb57ea4521dcb717f9e3148e0acccc74">&#9670;&nbsp;</a></span>normalize()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] normalize </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Array normalized by its 2-norm. </dd></dl>
+
+</div>
+</div>
+<a id="a26e8508a2bae10a6574cec697a270eea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a26e8508a2bae10a6574cec697a270eea">&#9670;&nbsp;</a></span>sum()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate anyarray sum </td>
+          <td>(</td>
+          <td class="paramtype">anyarray&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td>Array x </td></tr>
+    <tr><td class="paramname">y</td><td>Array y </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Sum of x and y. </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_a3ac5584feaaa1368115abd5f91b8e22.html">array_ops</a></li><li class="navelem"><a class="el" href="dir_a84a9848deb14f7db801b07ed9e6c67a.html">src</a></li><li class="navelem"><a class="el" href="dir_236d722cd8d4ab3240cfd6a99711293a.html">pg_gp</a></li><li class="navelem"><a class="el" href="array__ops_8sql__in.html">array_ops.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/assoc__rules_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/assoc__rules_8sql__in.html b/docs/v1.11/assoc__rules_8sql__in.html
new file mode 100644
index 0000000..ab5ba77
--- /dev/null
+++ b/docs/v1.11/assoc__rules_8sql__in.html
@@ -0,0 +1,402 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: assoc_rules.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('assoc__rules_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">assoc_rules.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>The <a class="el" href="assoc__rules_8sql__in.html#a8362eb54bb0eeb551d5a1aadb96e7092">assoc_rules</a> function computes association rules for a given set of data. The data is assumed to have two dimensions; items (between which we are trying to discover associations), and a transaction id. This tranaction id groups the items by event and could also be a user id, date, etc. depending on the context of the data. This function assumes the data is stored in two columns with one transaction id and one item per row.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a9a872579615586ce478d32ba145cc279"><td class="memItemLeft" align="right" valign="top">set&lt; text[]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="assoc__rules_8sql__in.html#a9a872579615586ce478d32ba145cc279">gen_rules_from_cfp</a> (text, int)</td></tr>
+<tr class="separator:a9a872579615586ce478d32ba145cc279"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ce0222d57332da628eb98220130e905"><td class="memItemLeft" align="right" valign="top">assoc_rules_results&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="assoc__rules_8sql__in.html#a2ce0222d57332da628eb98220130e905">assoc_rules</a> (float8 support, float8 confidence, text tid_col, text item_col, text input_table, text output_schema, boolean verbose, integer max_itemset_size)</td></tr>
+<tr class="separator:a2ce0222d57332da628eb98220130e905"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68a256d98b82ac15bac7df92e806f6f8"><td class="memItemLeft" align="right" valign="top">assoc_rules_results&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="assoc__rules_8sql__in.html#a68a256d98b82ac15bac7df92e806f6f8">assoc_rules</a> (float8 support, float8 confidence, text tid_col, text item_col, text input_table, text output_schema)</td></tr>
+<tr class="memdesc:a68a256d98b82ac15bac7df92e806f6f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The short form of the above function with vobose removed.  <a href="#a68a256d98b82ac15bac7df92e806f6f8">More...</a><br /></td></tr>
+<tr class="separator:a68a256d98b82ac15bac7df92e806f6f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9456adb6dad01e452415b9a0a5371dc"><td class="memItemLeft" align="right" valign="top">assoc_rules_results&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="assoc__rules_8sql__in.html#af9456adb6dad01e452415b9a0a5371dc">assoc_rules</a> (float8 support, float8 confidence, text tid_col, text item_col, text input_table, text output_schema, boolean verbose)</td></tr>
+<tr class="separator:af9456adb6dad01e452415b9a0a5371dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeddb752c12b9af779d796b135f900e38"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="assoc__rules_8sql__in.html#aeddb752c12b9af779d796b135f900e38">assoc_rules</a> (text message)</td></tr>
+<tr class="separator:aeddb752c12b9af779d796b135f900e38"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8362eb54bb0eeb551d5a1aadb96e7092"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="assoc__rules_8sql__in.html#a8362eb54bb0eeb551d5a1aadb96e7092">assoc_rules</a> ()</td></tr>
+<tr class="separator:a8362eb54bb0eeb551d5a1aadb96e7092"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>June 2011 </dd>
+<dd>
+August 2012</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to the association rules implementation, see the module description <a class="el" href="group__grp__assoc__rules.html">Apriori Algorithm</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a2ce0222d57332da628eb98220130e905"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ce0222d57332da628eb98220130e905">&#9670;&nbsp;</a></span>assoc_rules() <span class="overload">[1/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">assoc_rules_results assoc_rules </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>support</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>confidence</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tid_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>item_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>input_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_schema</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_itemset_size</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">support</td><td>minimum level of support needed for each itemset to be included in result </td></tr>
+    <tr><td class="paramname">confidence</td><td>minimum level of confidence needed for each rule to be included in result </td></tr>
+    <tr><td class="paramname">tid_col</td><td>name of the column storing the transaction ids </td></tr>
+    <tr><td class="paramname">item_col</td><td>name of the column storing the products </td></tr>
+    <tr><td class="paramname">input_table</td><td>name of the table where the data is stored </td></tr>
+    <tr><td class="paramname">output_schema</td><td>name of the schema where the final results will be stored </td></tr>
+    <tr><td class="paramname">verbose</td><td>determining if output contains comments</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>The schema and table name containing association rules, and total number of rules found.</dd></dl>
+<p>This function computes the association rules between products in a data set. It reads the name of the table, the column names of the product and ids, and computes ssociation rules using the Apriori algorithm, and subject to the support and confidence constraints as input by the user. This version of association rules has verbose functionality. When verbose is true, output of function includes iteration steps and comments on Apriori algorithm steps. </p>
+
+</div>
+</div>
+<a id="a68a256d98b82ac15bac7df92e806f6f8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a68a256d98b82ac15bac7df92e806f6f8">&#9670;&nbsp;</a></span>assoc_rules() <span class="overload">[2/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">assoc_rules_results assoc_rules </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>support</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>confidence</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tid_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>item_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>input_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_schema</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af9456adb6dad01e452415b9a0a5371dc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af9456adb6dad01e452415b9a0a5371dc">&#9670;&nbsp;</a></span>assoc_rules() <span class="overload">[3/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">assoc_rules_results assoc_rules </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>support</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>confidence</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>tid_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>item_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>input_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_schema</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aeddb752c12b9af779d796b135f900e38"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeddb752c12b9af779d796b135f900e38">&#9670;&nbsp;</a></span>assoc_rules() <span class="overload">[4/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text assoc_rules </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8362eb54bb0eeb551d5a1aadb96e7092"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8362eb54bb0eeb551d5a1aadb96e7092">&#9670;&nbsp;</a></span>assoc_rules() <span class="overload">[5/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text assoc_rules </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9a872579615586ce478d32ba145cc279"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9a872579615586ce478d32ba145cc279">&#9670;&nbsp;</a></span>gen_rules_from_cfp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;text[]&gt; gen_rules_from_cfp </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_e3c5a88cb45d2230a8fc199a8110e02f.html">assoc_rules</a></li><li class="navelem"><a class="el" href="assoc__rules_8sql__in.html">assoc_rules.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[15/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__svd.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__svd.html b/docs/v1.11/group__grp__svd.html
new file mode 100644
index 0000000..beec5ea
--- /dev/null
+++ b/docs/v1.11/group__grp__svd.html
@@ -0,0 +1,411 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Singular Value Decomposition</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__svd.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Singular Value Decomposition<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a> &raquo; <a class="el" href="group__grp__arraysmatrix.html">Arrays and Matrices</a> &raquo; <a class="el" href="group__grp__matrix__factorization.html">Matrix Factorization</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#syntax">SVD Functions</a> </li>
+<li>
+<a href="#output">Output Tables</a> </li>
+<li>
+<a href="#examples">Examples</a></li>
+<li>
+</li>
+<li>
+<a href="#background">Technical Background</a> </li>
+</ul>
+</div><p>In linear algebra, the singular value decomposition (SVD) is a factorization of a real or complex matrix, with many useful applications in signal processing and statistics.</p>
+<p>Let <img class="formulaInl" alt="$A$" src="form_42.png"/> be a <img class="formulaInl" alt="$mxn$" src="form_193.png"/> matrix, where <img class="formulaInl" alt="$m \ge n$" src="form_194.png"/>. Then <img class="formulaInl" alt="$A$" src="form_42.png"/> can be decomposed as follows: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ A = U \Sigma V^T, \]" src="form_195.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$U$" src="form_51.png"/> is a <img class="formulaInl" alt="$m \times n$" src="form_50.png"/> orthonormal matrix, <img class="formulaInl" alt="$\Sigma$" src="form_196.png"/> is a <img class="formulaInl" alt="$n \times n$" src="form_197.png"/> diagonal matrix, and <img class="formulaInl" alt="$V$" src="form_53.png"/> is an <img class="formulaInl" alt="$n \times n$" src="form_197.png"/> orthonormal matrix. The diagonal elements of <img class="formulaInl" alt="$\Sigma$" src="form_196.png"/> are called the <em>singular values</em>.</p>
+<p><a class="anchor" id="syntax"></a></p><dl class="section user"><dt>SVD Functions</dt><dd></dd></dl>
+<p>SVD factorizations are provided for dense and sparse matrices. In addition, a native implementation is provided for very sparse matrices for improved performance.</p>
+<p><b>SVD Function for Dense Matrices</b></p>
+<pre class="syntax">
+svd( source_table,
+     output_table_prefix,
+     row_id,
+     k,
+     n_iterations,
+     result_summary_table
+);
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. Source table name (dense matrix).</p>
+<p class="enddd">The table contains a <code>row_id</code> column that identifies each row, with numbering starting from 1. The other columns contain the data for the matrix. There are two possible dense formats as illustrated by the 2x2 matrix example below. You can use either of these dense formats:</p><ol type="1">
+<li><pre class="example">
+            row_id     col1     col2
+row1         1           1         0
+row2         2           0         1
+    </pre></li>
+<li><pre class="example">
+        row_id     row_vec
+row1        1       {1, 0}
+row2        2       {0, 1}
+    </pre>  </li>
+</ol>
+</dd>
+<dt>output_table_prefix </dt>
+<dd>TEXT. Prefix for output tables. See <a href="#output">Output Tables</a> below for a description of the convention used. </dd>
+<dt>row_id </dt>
+<dd>TEXT. ID for each row. </dd>
+<dt>k </dt>
+<dd>INTEGER. Number of singular values to compute. </dd>
+<dt>n_iterations (optional).  </dt>
+<dd>INTEGER. Number of iterations to run. <dl class="section note"><dt>Note</dt><dd>The number of iterations must be in the range [k, column dimension], where k is number of singular values. </dd></dl>
+</dd>
+<dt>result_summary_table (optional) </dt>
+<dd>TEXT. The name of the table to store the result summary. </dd>
+</dl>
+<hr/>
+<p> <b>SVD Function for Sparse Matrices</b></p>
+<p>Use this function for matrices that are represented in the sparse-matrix format (example below). <b>Note that the input matrix is converted to a dense matrix before the SVD operation, for efficient computation reasons. </b></p>
+<pre class="syntax">
+svd_sparse( source_table,
+            output_table_prefix,
+            row_id,
+            col_id,
+            value,
+            row_dim,
+            col_dim,
+            k,
+            n_iterations,
+            result_summary_table
+          );
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. Source table name (sparse matrix).</p>
+<p>A sparse matrix is represented using the row and column indices for each non-zero entry of the matrix. This representation is useful for matrices containing multiple zero elements. Below is an example of a sparse 4x7 matrix with just 6 out of 28 entries being non-zero. The dimensionality of the matrix is inferred using the max value in <em>row</em> and <em>col</em> columns. Note the last entry is included (even though it is 0) to provide the dimensionality of the matrix, indicating that the 4th row and 7th column contain all zeros. </p><pre class="example">
+ row_id | col_id | value
+--------+--------+-------
+      1 |      1 |     9
+      1 |      5 |     6
+      1 |      6 |     6
+      2 |      1 |     8
+      3 |      1 |     3
+      3 |      2 |     9
+      4 |      7 |     0
+(6 rows)
+</pre> <p class="enddd"></p>
+</dd>
+<dt>output_table_prefix </dt>
+<dd>TEXT. Prefix for output tables. See <a href="#output">Output Tables</a> below for a description of the convention used.  </dd>
+<dt>row_id </dt>
+<dd>TEXT. Name of the column containing the row index for each entry in sparse matrix. </dd>
+<dt>col_id </dt>
+<dd>TEXT. Name of the column containing the column index for each entry in sparse matrix. </dd>
+<dt>value </dt>
+<dd>TEXT. Name of column containing the non-zero values of the sparse matrix. </dd>
+<dt>row_dim </dt>
+<dd>INTEGER. Number of rows in matrix. </dd>
+<dt>col_dim </dt>
+<dd>INTEGER. Number of columns in matrix. </dd>
+<dt>k </dt>
+<dd>INTEGER. Number of singular values to compute. </dd>
+<dt>n_iterations (optional) </dt>
+<dd>INTEGER. Number of iterations to run. <dl class="section note"><dt>Note</dt><dd>The number of iterations must be in the range [k, column dimension], where k is number of singular values. </dd></dl>
+</dd>
+<dt>result_summary_table (optional) </dt>
+<dd>TEXT. The name of the table to store the result summary. </dd>
+</dl>
+<hr/>
+<p> <b>Native Implementation for Sparse Matrices</b></p>
+<p>Use this function for matrices that are represented in the sparse-matrix format (see sparse matrix example above). This function uses the native sparse representation while computing the SVD. </p><dl class="section note"><dt>Note</dt><dd>Note that this function should be favored if the matrix is highly sparse, since it computes very sparse matrices efficiently. </dd></dl>
+<pre class="syntax">
+svd_sparse_native( source_table,
+                   output_table_prefix,
+                   row_id,
+                   col_id,
+                   value,
+                   row_dim,
+                   col_dim,
+                   k,
+                   n_iterations,
+                   result_summary_table
+                 );
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd>TEXT. Source table name (sparse matrix - see example above). </dd>
+<dt>output_table_prefix </dt>
+<dd>TEXT. Prefix for output tables. See <a href="#output">Output Tables</a> below for a description of the convention used. </dd>
+<dt>row_id </dt>
+<dd>TEXT. ID for each row. </dd>
+<dt>col_id </dt>
+<dd>TEXT. ID for each column. </dd>
+<dt>value </dt>
+<dd>TEXT. Non-zero values of the sparse matrix. </dd>
+<dt>row_dim </dt>
+<dd>INTEGER. Row dimension of sparse matrix. </dd>
+<dt>col_dim </dt>
+<dd>INTEGER. Col dimension of sparse matrix. </dd>
+<dt>k </dt>
+<dd>INTEGER. Number of singular values to compute. </dd>
+<dt>n_iterations (optional) </dt>
+<dd>INTEGER. Number of iterations to run. <dl class="section note"><dt>Note</dt><dd>The number of iterations must be in the range [k, column dimension], where k is number of singular values. </dd></dl>
+</dd>
+<dt>result_summary_table (optional) </dt>
+<dd>TEXT. Table name to store result summary. </dd>
+</dl>
+<hr/>
+<p><a class="anchor" id="output"></a></p><dl class="section user"><dt>Output Tables</dt><dd></dd></dl>
+<p>Output for eigenvectors/values is in the following three tables:</p><ul>
+<li>Left singular matrix: Table is named &lt;output_table_prefix&gt;_u (e.g. ‘netflix_u’)</li>
+<li>Right singular matrix: Table is named &lt;output_table_prefix&gt;_v (e.g. ‘netflix_v’)</li>
+<li>Singular values: Table is named &lt;output_table_prefix&gt;_s (e.g. ‘netflix_s’)</li>
+</ul>
+<p>The left and right singular vector tables are of the format: </p><table class="output">
+<tr>
+<th>row_id </th><td>INTEGER. The ID corresponding to each eigenvalue (in decreasing order).  </td></tr>
+<tr>
+<th>row_vec </th><td>FLOAT8[]. Singular vector elements for this row_id. Each array is of size k.  </td></tr>
+</table>
+<p>The singular values table is in sparse table format, since only the diagonal elements of the matrix are non-zero: </p><table class="output">
+<tr>
+<th>row_id </th><td>INTEGER. <em>i</em> for <em>ith</em> eigenvalue.  </td></tr>
+<tr>
+<th>col_id </th><td>INTEGER. <em>i</em> for <em>ith</em> eigenvalue (same as row_id).  </td></tr>
+<tr>
+<th>value </th><td>FLOAT8. Eigenvalue.  </td></tr>
+</table>
+<p>All <code>row_id</code> and <code>col_id</code> in the above tables start from 1.</p>
+<p>The result summary table has the following columns: </p><table class="output">
+<tr>
+<th>rows_used </th><td>INTEGER. Number of rows used for SVD calculation.  </td></tr>
+<tr>
+<th>exec_time </th><td>FLOAT8. Total time for executing SVD.  </td></tr>
+<tr>
+<th>iter </th><td>INTEGER. Total number of iterations run.  </td></tr>
+<tr>
+<th>recon_error </th><td>FLOAT8. Total quality score (i.e. approximation quality) for this set of orthonormal basis.  </td></tr>
+<tr>
+<th>relative_recon_error </th><td>FLOAT8. Relative quality score.  </td></tr>
+</table>
+<p>In the result summary table, the reconstruction error is computed as <img class="formulaInl" alt="$ \sqrt{mean((X - USV^T)_{ij}^2)} $" src="form_198.png"/>, where the average is over all elements of the matrices. The relative reconstruction error is then computed as ratio of the reconstruction error and <img class="formulaInl" alt="$ \sqrt{mean(X_{ij}^2)} $" src="form_199.png"/>.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>View online help for the SVD function. <pre class="example">
+SELECT madlib.svd();
+</pre></li>
+<li>Create an input dataset (dense matrix). <pre class="example">
+DROP TABLE IF EXISTS mat, mat_sparse, svd_summary_table, svd_u, svd_v, svd_s;
+CREATE TABLE mat (
+    row_id integer,
+    row_vec double precision[]
+);
+INSERT INTO mat VALUES
+(1,'{396,840,353,446,318,886,15,584,159,383}'),
+(2,'{691,58,899,163,159,533,604,582,269,390}'), 
+(3,'{293,742,298,75,404,857,941,662,846,2}'),
+(4,'{462,532,787,265,982,306,600,608,212,885}'),
+(5,'{304,151,337,387,643,753,603,531,459,652}'),
+(6,'{327,946,368,943,7,516,272,24,591,204}'),
+(7,'{877,59,260,302,891,498,710,286,864,675}'),
+(8,'{458,959,774,376,228,354,300,669,718,565}'),
+(9,'{824,390,818,844,180,943,424,520,65,913}'),
+(10,'{882,761,398,688,761,405,125,484,222,873}'),
+(11,'{528,1,860,18,814,242,314,965,935,809}'),
+(12,'{492,220,576,289,321,261,173,1,44,241}'),
+(13,'{415,701,221,503,67,393,479,218,219,916}'),
+(14,'{350,192,211,633,53,783,30,444,176,932}'),
+(15,'{909,472,871,695,930,455,398,893,693,838}'),
+(16,'{739,651,678,577,273,935,661,47,373,618}');
+</pre></li>
+<li>Run SVD function for a dense matrix. <pre class="example">
+SELECT madlib.svd( 'mat',       -- Input table
+                   'svd',       -- Output table prefix
+                   'row_id',    -- Column name with row index 
+                   10,          -- Number of singular values to compute
+                   NULL,        -- Use default number of iterations
+                   'svd_summary_table'  -- Result summary table
+                 );
+</pre></li>
+<li>Print out the singular values and the summary table. For the singular values: <pre class="example">
+SELECT * FROM svd_s ORDER BY row_id;
+</pre> Result: <pre class="result">
+ row_id | col_id |      value       
+&#160;--------+--------+------------------
+      1 |      1 | 6475.67225281804
+      2 |      2 | 1875.18065580415
+      3 |      3 | 1483.25228429636
+      4 |      4 | 1159.72262897427
+      5 |      5 | 1033.86092570574
+      6 |      6 | 948.437358703966
+      7 |      7 | 795.379572772455
+      8 |      8 | 709.086240684469
+      9 |      9 | 462.473775959371
+     10 |     10 | 365.875217945698
+     10 |     10 |                 
+(11 rows)
+</pre> For the summary table: <pre class="example">
+SELECT * FROM svd_summary_table;
+</pre> Result: <pre class="result">
+ rows_used | exec_time (ms) | iter |    recon_error    | relative_recon_error 
+&#160;-----------+----------------+------+-------------------+----------------------
+        16 |        1332.47 |   10 | 4.36920148766e-13 |    7.63134130332e-16
+(1 row)
+</pre></li>
+<li>Create a sparse matrix by running the <a class="el" href="matrix__ops_8sql__in.html#a390fb7234f49e17c780e961184873759">matrix_sparsify()</a> utility function on the dense matrix. <pre class="example">
+SELECT madlib.matrix_sparsify('mat', 
+                              'row=row_id, val=row_vec',
+                              'mat_sparse',
+                              'row=row_id, col=col_id, val=value');
+</pre></li>
+<li>Run the SVD function for a sparse matrix. <pre class="example">
+SELECT madlib.svd_sparse( 'mat_sparse',   -- Input table
+                          'svd',          -- Output table prefix
+                          'row_id',       -- Column name with row index 
+                          'col_id',       -- Column name with column index 
+                          'value',        -- Matrix cell value
+                          16,             -- Number of rows in matrix
+                          10,             -- Number of columns in matrix    
+                          10              -- Number of singular values to compute
+                          );
+</pre></li>
+<li>Run the SVD function for a very sparse matrix. <pre class="example">
+SELECT madlib.svd_sparse_native ( 'mat_sparse',   -- Input table
+                          'svd',          -- Output table prefix
+                          'row_id',       -- Column name with row index 
+                          'col_id',       -- Column name with column index 
+                          'value',        -- Matrix cell value
+                          16,             -- Number of rows in matrix
+                          10,             -- Number of columns in matrix    
+                          10              -- Number of singular values to compute
+                          );
+</pre> <a class="anchor" id="background"></a><dl class="section user"><dt>Technical Background</dt><dd>In linear algebra, the singular value decomposition (SVD) is a factorization of a real or complex matrix, with many useful applications in signal processing and statistics. Let <img class="formulaInl" alt="$A$" src="form_42.png"/> be a <img class="formulaInl" alt="$m \times n$" src="form_50.png"/> matrix, where <img class="formulaInl" alt="$m \ge n$" src="form_194.png"/>. Then <img class="formulaInl" alt="$A$" src="form_42.png"/> can be decomposed as follows: <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ A = U \Sigma V^T, \]" src="form_195.png"/>
+</p>
+ where <img class="formulaInl" alt="$U$" src="form_51.png"/> is a <img class="formulaInl" alt="$m \times n$" src="form_50.png"/> orthonormal matrix, <img class="formulaInl" alt="$\Sigma$" src="form_196.png"/> is a <img class="formulaInl" alt="$n \times n$" src="form_197.png"/> diagonal matrix, and <img class="formulaInl" alt="$V$" src="form_53.png"/> is an <img class="formulaInl" alt="$n \times n$" src="form_197.png"/> orthonormal matrix. The diagonal elements of <img class="formulaInl" alt="$\Sigma$" src="form_196.png"/> are called the <em>singular values</em>. It is possible to formulate the problem of computing the singular triplets ( <img class="formulaInl" alt="$\sigma_i, u_i, v_i$" src="form_200.png"/>) of <img class="formulaInl" alt="$A$" src="form_42.png"/> as an eigenvalue problem involving a Hermitian matrix related to <img class="formulaInl" alt="$A$" src="form_42.png"/>. There are two possible ways of achieving this:</dd></dl>
+</li>
+</ol>
+<ul>
+<li>With the cross product matrix, <img class="formulaInl" alt="$A^TA$" src="form_201.png"/> and <img class="formulaInl" alt="$AA^T$" src="form_202.png"/></li>
+<li>With the cyclic matrix <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ H(A) = \begin{bmatrix} 0 &amp; A\\ A^* &amp; 0 \end{bmatrix} \]" src="form_203.png"/>
+</p>
+ The singular values are the nonnegative square roots of the eigenvalues of the cross product matrix. This approach may imply a severe loss of accuracy in the smallest singular values. The cyclic matrix approach is an alternative that avoids this problem, but at the expense of significantly increasing the cost of the computation. Computing the cross product matrix explicitly is not recommended, especially in the case of sparse A. Bidiagonalization was proposed by Golub and Kahan [citation?] as a way of tridiagonalizing the cross product matrix without forming it explicitly. Consider the following decomposition <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ A = P B Q^T, \]" src="form_204.png"/>
+</p>
+ where <img class="formulaInl" alt="$P$" src="form_205.png"/> and <img class="formulaInl" alt="$Q$" src="form_206.png"/> are unitary matrices and <img class="formulaInl" alt="$B$" src="form_207.png"/> is an <img class="formulaInl" alt="$m \times n$" src="form_50.png"/> upper bidiagonal matrix. Then the tridiagonal matrix <img class="formulaInl" alt="$B*B$" src="form_208.png"/> is unitarily similar to <img class="formulaInl" alt="$A*A$" src="form_209.png"/>. Additionally, specific methods exist that compute the singular values of <img class="formulaInl" alt="$B$" src="form_207.png"/> without forming <img class="formulaInl" alt="$B*B$" src="form_208.png"/>. Therefore, after computing the SVD of B, <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ B = X\Sigma Y^T, \]" src="form_210.png"/>
+</p>
+ it only remains to compute the SVD of the original matrix with <img class="formulaInl" alt="$U = PX$" src="form_211.png"/> and <img class="formulaInl" alt="$V = QY$" src="form_212.png"/>. </li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__svec.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__svec.html b/docs/v1.11/group__grp__svec.html
new file mode 100644
index 0000000..50a6bc1
--- /dev/null
+++ b/docs/v1.11/group__grp__svec.html
@@ -0,0 +1,442 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Sparse Vectors</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__svec.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Sparse Vectors<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a> &raquo; <a class="el" href="group__grp__arraysmatrix.html">Arrays and Matrices</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#usage">Using Sparse Vectors</a> </li>
+<li>
+<a href="#vectorization">Document Vectorization into Sparse Vectors</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>This module implements a sparse vector data type, named "svec", which provides compressed storage of vectors that have many duplicate elements.</p>
+<p>Arrays of floating point numbers for various calculations sometimes have long runs of zeros (or some other default value). This is common in applications like scientific computing, retail optimization, and text processing. Each floating point number takes 8 bytes of storage in memory and/or disk, so saving those zeros is often worthwhile. There are also many computations that can benefit from skipping over the zeros.</p>
+<p>Consider, for example, the following array of doubles stored as a Postgres/Greenplum "float8[]" data type:</p>
+<pre class="example">
+'{0, 33,...40,000 zeros..., 12, 22 }'::float8[]
+</pre><p>This array would occupy slightly more than 320KB of memory or disk, most of it zeros. Even if we were to exploit the null bitmap and store the zeros as nulls, we would still end up with a 5KB null bitmap, which is still not nearly as memory efficient as we'd like. Also, as we perform various operations on the array, we do work on 40,000 fields that turn out to be unimportant.</p>
+<p>To solve the problems associated with the processing of vectors discussed above, the svec type employs a simple Run Length Encoding (RLE) scheme to represent sparse vectors as pairs of count-value arrays. For example, the array above would be represented as</p>
+<pre class="example">
+'{1,1,40000,1,1}:{0,33,0,12,22}'::madlib.svec
+</pre><p>which says there is 1 occurrence of 0, followed by 1 occurrence of 33, followed by 40,000 occurrences of 0, etc. This uses just 5 integers and 5 floating point numbers to store the array. Further, it is easy to implement vector operations that can take advantage of the RLE representation to make computations faster. The SVEC module provides a library of such functions.</p>
+<p>The current version only supports sparse vectors of float8 values. Future versions will support other base types.</p>
+<p><a class="anchor" id="usage"></a></p><dl class="section user"><dt>Using Sparse Vectors</dt><dd></dd></dl>
+<p>An SVEC can be constructed directly with a constant expression, as follows: </p><pre class="example">
+SELECT '{n1,n2,...,nk}:{v1,v2,...vk}'::madlib.svec;
+</pre><p> where <code>n1,n2,...,nk</code> specifies the counts for the values <code>v1,v2,...,vk</code>.</p>
+<p>A float array can be cast to an SVEC: </p><pre class="example">
+SELECT ('{v1,v2,...vk}'::float[])::madlib.svec;
+</pre><p>An SVEC can be created with an aggregation: </p><pre class="example">
+SELECT madlib.svec_agg(v1) FROM generate_series(1,k);
+</pre><p>An SVEC can be created using the <code>madlib.svec_cast_positions_float8arr()</code> function by supplying an array of positions and an array of values at those positions: </p><pre class="example">
+SELECT madlib.svec_cast_positions_float8arr(
+    array[n1,n2,...nk],    -- positions of values in vector
+    array[v1,v2,...vk],    -- values at each position
+    length,                -- length of vector
+    base)                  -- value at unspecified positions
+</pre><p> For example, the following expression: </p><pre class="example">
+SELECT madlib.svec_cast_positions_float8arr(
+    array[1,3,5],
+    array[2,4,6],
+    10,
+    0.0)
+</pre><p> produces this SVEC: </p><pre class="result">
+ svec_cast_positions_float8arr
+ &#160;------------------------------
+ {1,1,1,1,1,5}:{2,0,4,0,6,0}
+</pre><p>Add madlib to the search_path to use the svec operators defined in the module.</p>
+<p><a class="anchor" id="vectorization"></a></p><dl class="section user"><dt>Document Vectorization into Sparse Vectors</dt><dd>This module implements an efficient way for document vectorization, converting text documents into sparse vector representation (MADlib.svec), required by various machine learning algorithms in MADlib.</dd></dl>
+<p>The function accepts two tables as input, dictionary table and documents table, and produces the specified output table containing sparse vectors for the represented documents (in documents table).</p>
+<pre class="syntax">
+madlib.gen_doc_svecs(output_tbl,
+                     dictionary_tbl,
+                     dict_id_col,
+                     dict_term_col,
+                     documents_tbl,
+                     doc_id_col,
+                     doc_term_col,
+                     doc_term_info_col
+                    )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>output_tbl </dt>
+<dd><p class="startdd">TEXT. Name of the output table to be created containing the sparse vector representation of the documents. It has the following columns: </p><table class="output">
+<tr>
+<th>doc_id </th><td>__TYPE_DOC__. Document id. <br />
+ __TYPE_DOC__: Column type depends on the type of <code>doc_id_col</code> in <code>documents_tbl</code>.   </td></tr>
+<tr>
+<th>sparse_vector </th><td>MADlib.svec. Corresponding sparse vector representation.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>dictionary_tbl </dt>
+<dd><p class="startdd">TEXT. Name of the dictionary table containing features. </p><table class="output">
+<tr>
+<th>dict_id_col </th><td>TEXT. Name of the id column in the <code>dictionary_tbl</code>. <br />
+ Expected Type: INTEGER or BIGINT. <br />
+ NOTE: Values must be continuous ranging from 0 to total number of elements in the dictionary - 1.  </td></tr>
+<tr>
+<th>dict_term_col </th><td>TEXT. Name of the column containing term (features) in <code>dictionary_tbl</code>.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>documents_tbl </dt>
+<dd>TEXT. Name of the documents table representing documents. <table class="output">
+<tr>
+<th>doc_id_col </th><td>TEXT. Name of the id column in the <code>documents_tbl</code>.  </td></tr>
+<tr>
+<th>doc_term_col </th><td>TEXT. Name of the term column in the <code>documents_tbl</code>.  </td></tr>
+<tr>
+<th>doc_term_info_col </th><td>TEXT. Name of the term info column in <code>documents_tbl</code>. The expected type of this column should be: <br />
+ - INTEGER, BIGINT or DOUBLE PRECISION: Values directly used to populate vector. <br />
+ - ARRAY: Length of the array used to populate the vector. <br />
+ ** For an example use case on using these types of column types, please refer to the example below.   </td></tr>
+</table>
+</dd>
+</dl>
+<p><b>Example:</b> <br />
+ Consider a corpus consisting of set of documents consisting of features (terms) along with doc ids: </p><pre class="example">
+1, {this,is,one,document,in,the,corpus}
+2, {i,am,the,second,document,in,the,corpus}
+3, {being,third,never,really,bothered,me,until,now}
+4, {the,document,before,me,is,the,third,document}
+</pre><ol type="1">
+<li>Prepare documents table in appropriate format. <br />
+ The corpus specified above can be represented by any of the following <code>documents_table:</code> <pre class="example">
+SELECT * FROM documents_table ORDER BY id;
+</pre> Result: <pre class="result">
+  id |   term   | count                 id |   term   | positions
+&#160;----+----------+-------               ----+----------+-----------
+   1 | is       |     1                  1 | is       | {1}
+   1 | in       |     1                  1 | in       | {4}
+   1 | one      |     1                  1 | one      | {2}
+   1 | this     |     1                  1 | this     | {0}
+   1 | the      |     1                  1 | the      | {5}
+   1 | document |     1                  1 | document | {3}
+   1 | corpus   |     1                  1 | corpus   | {6}
+   2 | second   |     1                  2 | second   | {3}
+   2 | document |     1                  2 | document | {4}
+   2 | corpus   |     1                  2 | corpus   | {7}
+   . | ...      |    ..                  . | ...      | ...
+   4 | document |     2                  4 | document | {1,7}
+...
+</pre></li>
+<li>Prepare dictionary table in appropriate format. <pre class="example">
+SELECT * FROM dictionary_table ORDER BY id;
+</pre> Result: <pre class="result">
+  id |   term
+&#160;----+----------
+   0 | am
+   1 | before
+   2 | being
+   3 | bothered
+   4 | corpus
+   5 | document
+   6 | i
+   7 | in
+   8 | is
+   9 | me
+...
+</pre></li>
+<li>Generate sparse vector for the documents using dictionary_table and documents_table. <br />
+ <code>doc_term_info_col</code> <code></code>(count) of type INTEGER: <pre class="example">
+SELECT * FROM madlib.gen_doc_svecs('svec_output', 'dictionary_table', 'id', 'term',
+                            'documents_table', 'id', 'term', 'count');
+</pre> <code>doc_term_info_col</code> <code></code>(positions) of type ARRAY: <pre class="example">
+SELECT * FROM madlib.gen_doc_svecs('svec_output', 'dictionary_table', 'id', 'term',
+                            'documents_table', 'id', 'term', 'positions');
+</pre> Result: <pre class="result">
+                                 gen_doc_svecs
+&#160;--------------------------------------------------------------------------------------
+ Created table svec_output (doc_id, sparse_vector) containing sparse vectors
+(1 row)
+</pre></li>
+<li>Analyze the sparse vectors created. <pre class="example">
+SELECT * FROM svec_output ORDER by doc_id;
+</pre> Result: <pre class="result">
+ doc_id |                  sparse_vector
+&#160;--------+-------------------------------------------------
+      1 | {4,2,1,2,3,1,2,1,1,1,1}:{0,1,0,1,0,1,0,1,0,1,0}
+      2 | {1,3,4,6,1,1,3}:{1,0,1,0,1,2,0}
+      3 | {2,2,5,3,1,1,2,1,1,1}:{0,1,0,1,0,1,0,1,0,1}
+      4 | {1,1,3,1,2,2,5,1,1,2}:{0,1,0,2,0,1,0,2,1,0}
+(4 rows)
+</pre></li>
+</ol>
+<p>See the file <a class="el" href="svec_8sql__in.html" title="SQL type definitions and functions for sparse vector data type svec ">svec.sql_in</a> for complete syntax.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<p>We can use operations with svec type like &lt;, &gt;, *, **, /, =, +, SUM, etc, and they have meanings associated with typical vector operations. For example, the plus (+) operator adds each of the terms of two vectors having the same dimension together. </p><pre class="example">
+SELECT ('{0,1,5}'::float8[]::madlib.svec + '{4,3,2}'::float8[]::madlib.svec)::float8[];
+</pre><p> Result: </p><pre class="result">
+ float8
+&#160;--------
+ {4,4,7}
+</pre><p>Without the casting into float8[] at the end, we get: </p><pre class="example">
+SELECT '{0,1,5}'::float8[]::madlib.svec + '{4,3,2}'::float8[]::madlib.svec;
+</pre><p> Result: </p><pre class="result">
+ ?column?
+&#160;---------
+{2,1}:{4,7}
+</pre><p>A dot product (%*%) between the two vectors will result in a scalar result of type float8. The dot product should be (0*4 + 1*3 + 5*2) = 13, like this: </p><pre class="example">
+SELECT '{0,1,5}'::float8[]::madlib.svec %*% '{4,3,2}'::float8[]::madlib.svec;
+</pre> <pre class="result">
+ ?column?
+&#160;---------
+    13
+</pre><p>Special vector aggregate functions are also available. SUM is self explanatory. SVEC_COUNT_NONZERO evaluates the count of non-zero terms in each column found in a set of n-dimensional svecs and returns an svec with the counts. For instance, if we have the vectors {0,1,5}, {10,0,3},{0,0,3},{0,1,0}, then executing the SVEC_COUNT_NONZERO() aggregate function would result in {1,2,3}:</p>
+<pre class="example">
+CREATE TABLE list (a madlib.svec);
+INSERT INTO list VALUES ('{0,1,5}'::float8[]), ('{10,0,3}'::float8[]), ('{0,0,3}'::float8[]),('{0,1,0}'::float8[]);
+SELECT madlib.svec_count_nonzero(a)::float8[] FROM list;
+</pre><p> Result: </p><pre class="result">
+svec_count_nonzero
+&#160;----------------
+    {1,2,3}
+</pre><p>We do not use null bitmaps in the svec data type. A null value in an svec is represented explicitly as an NVP (No Value Present) value. For example, we have: </p><pre class="example">
+SELECT '{1,2,3}:{4,null,5}'::madlib.svec;
+</pre><p> Result: </p><pre class="result">
+      svec
+&#160;------------------
+ {1,2,3}:{4,NVP,5}
+</pre><p>Adding svecs with null values results in NVPs in the sum: </p><pre class="example">
+SELECT '{1,2,3}:{4,null,5}'::madlib.svec + '{2,2,2}:{8,9,10}'::madlib.svec;
+</pre><p> Result: </p><pre class="result">
+         ?column?
+ &#160;-------------------------
+  {1,2,1,2}:{12,NVP,14,15}
+</pre><p>An element of an svec can be accessed using the <a class="el" href="svec__util_8sql__in.html#a8787222aec691f94d9808d1369aa401c">svec_proj()</a> function, which takes an svec and the index of the element desired. </p><pre class="example">
+SELECT madlib.svec_proj('{1,2,3}:{4,5,6}'::madlib.svec, 1) + madlib.svec_proj('{4,5,6}:{1,2,3}'::madlib.svec, 15);
+</pre><p> Result: </p><pre class="result"> ?column?
+&#160;---------
+    7
+</pre><p>A subvector of an svec can be accessed using the <a class="el" href="svec__util_8sql__in.html#a5cb3446de5fc117befe88ccb1ebb0e4e">svec_subvec()</a> function, which takes an svec and the start and end index of the subvector desired. </p><pre class="example">
+SELECT madlib.svec_subvec('{2,4,6}:{1,3,5}'::madlib.svec, 2, 11);
+</pre><p> Result: </p><pre class="result">   svec_subvec
+&#160;----------------
+ {1,4,5}:{1,3,5}
+</pre><p>The elements/subvector of an svec can be changed using the function <a class="el" href="svec__util_8sql__in.html#a59407764a1cbf1937da39cf39a2f447c">svec_change()</a>. It takes three arguments: an m-dimensional svec sv1, a start index j, and an n-dimensional svec sv2 such that j + n - 1 &lt;= m, and returns an svec like sv1 but with the subvector sv1[j:j+n-1] replaced by sv2. An example follows: </p><pre class="example">
+SELECT madlib.svec_change('{1,2,3}:{4,5,6}'::madlib.svec,3,'{2}:{3}'::madlib.svec);
+</pre><p> Result: </p><pre class="result">     svec_change
+&#160;--------------------
+ {1,1,2,2}:{4,5,3,6}
+</pre><p>There are also higher-order functions for processing svecs. For example, the following is the corresponding function for lapply() in R. </p><pre class="example">
+SELECT madlib.svec_lapply('sqrt', '{1,2,3}:{4,5,6}'::madlib.svec);
+</pre><p> Result: </p><pre class="result">
+                  svec_lapply
+&#160;----------------------------------------------
+ {1,2,3}:{2,2.23606797749979,2.44948974278318}
+</pre><p>The full list of functions available for operating on svecs are available in svec.sql-in.</p>
+<p><b> A More Extensive Example</b></p>
+<p>For a text classification example, let's assume we have a dictionary composed of words in a sorted text array: </p><pre class="example">
+CREATE TABLE features (a text[]);
+INSERT INTO features VALUES
+            ('{am,before,being,bothered,corpus,document,i,in,is,me,
+               never,now,one,really,second,the,third,this,until}');
+</pre><p> We have a set of documents, each represented as an array of words: </p><pre class="example">
+CREATE TABLE documents(a int,b text[]);
+INSERT INTO documents VALUES
+            (1,'{this,is,one,document,in,the,corpus}'),
+            (2,'{i,am,the,second,document,in,the,corpus}'),
+            (3,'{being,third,never,really,bothered,me,until,now}'),
+            (4,'{the,document,before,me,is,the,third,document}');
+</pre><p>Now we have a dictionary and some documents, we would like to do some document categorization using vector arithmetic on word counts and proportions of dictionary words in each document.</p>
+<p>To start this process, we'll need to find the dictionary words in each document. We'll prepare what is called a Sparse Feature Vector or SFV for each document. An SFV is a vector of dimension N, where N is the number of dictionary words, and in each cell of an SFV is a count of each dictionary word in the document.</p>
+<p>Inside the sparse vector library, we have a function that will create an SFV from a document, so we can just do this (For a more efficient way for converting documents into sparse vectors, especially for larger datasets, please refer to <a href="#vectorization">Document Vectorization into Sparse Vectors</a>):</p>
+<pre class="example">
+SELECT madlib.svec_sfv((SELECT a FROM features LIMIT 1),b)::float8[]
+         FROM documents;
+</pre><p> Result: </p><pre class="result">
+                svec_sfv
+&#160;----------------------------------------
+ {0,0,0,0,1,1,0,1,1,0,0,0,1,0,0,1,0,1,0}
+ {0,0,1,1,0,0,0,0,0,1,1,1,0,1,0,0,1,0,1}
+ {1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,2,0,0,0}
+ {0,1,0,0,0,2,0,0,1,1,0,0,0,0,0,2,1,0,0}
+</pre><p>Note that the output of madlib.svec_sfv() is an svec for each document containing the count of each of the dictionary words in the ordinal positions of the dictionary. This can more easily be understood by lining up the feature vector and text like this:</p>
+<pre class="example">
+SELECT madlib.svec_sfv((SELECT a FROM features LIMIT 1),b)::float8[]
+                , b
+         FROM documents;
+</pre><p> Result: </p><pre class="result">
+                svec_sfv                 |                        b
+&#160;----------------------------------------+--------------------------------------------------
+ {1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,2,0,0,0} | {i,am,the,second,document,in,the,corpus}
+ {0,1,0,0,0,2,0,0,1,1,0,0,0,0,0,2,1,0,0} | {the,document,before,me,is,the,third,document}
+ {0,0,0,0,1,1,0,1,1,0,0,0,1,0,0,1,0,1,0} | {this,is,one,document,in,the,corpus}
+ {0,0,1,1,0,0,0,0,0,1,1,1,0,1,0,0,1,0,1} | {being,third,never,really,bothered,me,until,now}
+</pre> <pre class="example">
+SELECT * FROM features;
+</pre> <pre class="result">
+                                                a
+&#160;-------------------------------------------------------------------------------------------------------
+{am,before,being,bothered,corpus,document,i,in,is,me,never,now,one,really,second,the,third,this,until}
+</pre><p>Now when we look at the document "i am the second document in the corpus", its SFV is {1,3*0,1,1,1,1,6*0,1,2}. The word "am" is the first ordinate in the dictionary and there is 1 instance of it in the SFV. The word "before" has no instances in the document, so its value is "0" and so on.</p>
+<p>The function madlib.svec_sfv() can process large numbers of documents into their SFVs in parallel at high speed.</p>
+<p>The rest of the categorization process is all vector math. The actual count is hardly ever used. Instead, it's turned into a weight. The most common weight is called tf/idf for Term Frequency / Inverse Document Frequency. The calculation for a given term in a given document is</p>
+<pre class="example">
+{#Times in document} * log {#Documents / #Documents the term appears in}.
+</pre><p>For instance, the term "document" in document A would have weight 1 * log (4/3). In document D, it would have weight 2 * log (4/3). Terms that appear in every document would have tf/idf weight 0, since log (4/4) = log(1) = 0. (Our example has no term like that.) That usually sends a lot of values to 0.</p>
+<p>For this part of the processing, we'll need to have a sparse vector of the dictionary dimension (19) with the values </p><pre class="example">
+log(#documents/#Documents each term appears in).
+</pre><p> There will be one such vector for the whole list of documents (aka the "corpus"). The #documents is just a count of all of the documents, in this case 4, but there is one divisor for each dictionary word and its value is the count of all the times that word appears in the document. This single vector for the whole corpus can then be scalar product multiplied by each document SFV to produce the Term Frequency/Inverse Document Frequency weights.</p>
+<p>This can be done as follows: </p><pre class="example">
+CREATE TABLE corpus AS
+            (SELECT a, madlib.svec_sfv((SELECT a FROM features LIMIT 1),b) sfv
+         FROM documents);
+CREATE TABLE weights AS
+          (SELECT a docnum, madlib.svec_mult(sfv, logidf) tf_idf
+           FROM (SELECT madlib.svec_log(madlib.svec_div(count(sfv)::madlib.svec,madlib.svec_count_nonzero(sfv))) logidf
+                FROM corpus) foo, corpus ORDER BYdocnum);
+SELECT * FROM weights;
+</pre><p> Result </p><pre class="result">
+docnum |                tf_idf
+&#160;------+----------------------------------------------------------------------
+     1 | {4,1,1,1,2,3,1,2,1,1,1,1}:{0,0.69,0.28,0,0.69,0,1.38,0,0.28,0,1.38,0}
+     2 | {1,3,1,1,1,1,6,1,1,3}:{1.38,0,0.69,0.28,1.38,0.69,0,1.38,0.57,0}
+     3 | {2,2,5,1,2,1,1,2,1,1,1}:{0,1.38,0,0.69,1.38,0,1.38,0,0.69,0,1.38}
+     4 | {1,1,3,1,2,2,5,1,1,2}:{0,1.38,0,0.57,0,0.69,0,0.57,0.69,0}
+</pre><p>We can now get the "angular distance" between one document and the rest of the documents using the ACOS of the dot product of the document vectors: The following calculates the angular distance between the first document and each of the other documents: </p><pre class="example">
+SELECT docnum,
+                180. * ( ACOS( madlib.svec_dmin( 1., madlib.svec_dot(tf_idf, testdoc)
+                    / (madlib.svec_l2norm(tf_idf)*madlib.svec_l2norm(testdoc))))/3.141592654) angular_distance
+         FROM weights,(SELECT tf_idf testdoc FROM weights WHERE docnum = 1 LIMIT 1) foo
+         ORDER BY 1;
+</pre><p> Result: </p><pre class="result">
+docnum | angular_distance
+&#160;-------+------------------
+     1 |                0
+     2 | 78.8235846096986
+     3 | 89.9999999882484
+     4 | 80.0232034288617
+</pre><p>We can see that the angular distance between document 1 and itself is 0 degrees and between document 1 and 3 is 90 degrees because they share no features at all. The angular distance can now be plugged into machine learning algorithms that rely on a distance measure between data points.</p>
+<p>SVEC also provides functionality for declaring array given an array of positions and array of values, intermediate values betweens those are declared to be base value that user provides in the same function call. In the example below the fist array of integers represents the positions for the array two (array of floats). Positions do not need to come in the sorted order. Third value represents desired maximum size of the array. This assures that array is of that size even if last position is not. If max size &lt; 1 that value is ignored and array will end at the last position in the position vector. Final value is a float representing the base value to be used between the declared ones (0 would be a common candidate):</p>
+<pre class="example">
+SELECT madlib.svec_cast_positions_float8arr(ARRAY[1,2,7,5,87],ARRAY[.1,.2,.7,.5,.87],90,0.0);
+</pre><p> Result: </p><pre class="result">
+        svec_cast_positions_float8arr
+&#160;----------------------------------------------------
+{1,1,2,1,1,1,79,1,3}:{0.1,0.2,0,0.5,0,0.7,0,0.87,0}
+(1 row)
+</pre><p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>Other examples of svecs usage can be found in the k-means module, <a class="el" href="group__grp__kmeans.html">k-Means Clustering</a>.</p>
+<p>File <a class="el" href="svec_8sql__in.html" title="SQL type definitions and functions for sparse vector data type svec ">svec.sql_in</a> documenting the SQL functions.</p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[20/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__pagerank.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__pagerank.html b/docs/v1.11/group__grp__pagerank.html
new file mode 100644
index 0000000..be06283
--- /dev/null
+++ b/docs/v1.11/group__grp__pagerank.html
@@ -0,0 +1,329 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: PageRank</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__pagerank.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">PageRank<div class="ingroups"><a class="el" href="group__grp__graph.html">Graph</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#pagerank">PageRank</a> </li>
+<li>
+<a href="#notes">Notes</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+</ul>
+</div><p>Given a graph, the PageRank algorithm outputs a probability distribution representing the likelihood that a person randomly traversing the graph will arrive at any particular vertex. This algorithm was originally used by Google to rank websites where the World Wide Web was modeled as a directed graph with the vertices representing the websites.</p>
+<p><a class="anchor" id="pagerank"></a></p><dl class="section user"><dt>PageRank</dt><dd><pre class="syntax">
+pagerank( vertex_table,
+            vertex_id,
+            edge_table,
+            edge_args,
+            out_table,
+            damping_factor,
+            max_iter,
+            threshold,
+            grouping_cols
+          )
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>vertex_table </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the vertex data for the graph. Must contain the column specified in the 'vertex_id' parameter below.</p>
+<p class="enddd"></p>
+</dd>
+<dt>vertex_id </dt>
+<dd><p class="startdd">TEXT, default = 'id'. Name of the column in 'vertex_table' containing vertex ids. The vertex ids are of type INTEGER with no duplicates. They do not need to be contiguous.</p>
+<p class="enddd"></p>
+</dd>
+<dt>edge_table </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the edge data. The edge table must contain columns for source vertex and destination vertex.</p>
+<p class="enddd"></p>
+</dd>
+<dt>edge_args </dt>
+<dd><p class="startdd">TEXT. A comma-delimited string containing multiple named arguments of the form "name=value". The following parameters are supported for this string argument:</p><ul>
+<li>src (INTEGER): Name of the column containing the source vertex ids in the edge table. Default column name is 'src'.</li>
+<li>dest (INTEGER): Name of the column containing the destination vertex ids in the edge table. Default column name is 'dest'.</li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>out_table </dt>
+<dd><p class="startdd">TEXT. Name of the table to store the result of PageRank. It will contain a row for every vertex from 'vertex_table' with the following columns:</p><ul>
+<li>vertex_id : The id of a vertex. Will use the input parameter 'vertex_id' for column naming.</li>
+<li>pagerank : The vertex's PageRank.</li>
+<li>grouping_cols : Grouping column (if any) values associated with the vertex_id.</li>
+</ul>
+<p>A summary table is also created that contains information regarding the number of iterations required for convergence. It is named by adding the suffix '_summary' to the 'out_table' parameter.</p>
+<p class="enddd"></p>
+</dd>
+<dt>damping_factor </dt>
+<dd><p class="startdd">FLOAT8, default 0.85. The probability, at any step, that a user will continue following the links in a random surfer model.</p>
+<p class="enddd"></p>
+</dd>
+<dt>max_iter </dt>
+<dd><p class="startdd">INTEGER, default: 100. The maximum number of iterations allowed.</p>
+<p class="enddd"></p>
+</dd>
+<dt>threshold </dt>
+<dd><p class="startdd">FLOAT8, default: (1/number of vertices * 100). If the difference between the PageRank of every vertex of two consecutive iterations is smaller than 'threshold', or the iteration number is larger than 'max_iter', the computation stops. If you set the threshold to zero, then you will force the algorithm to run for the full number of iterations specified in 'max_iter'. It is advisable to set threshold to a value lower than 1/(number of vertices in the graph) since the PageRank value of nodes is initialized to that value.</p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_cols (optional) </dt>
+<dd>TEXT, default: NULL. A single column or a list of comma-separated columns that divides the input data into discrete groups, resulting in one distribution per group. When this value is NULL, no grouping is used and a single model is generated for all data. <dl class="section note"><dt>Note</dt><dd>Expressions are not currently supported for 'grouping_cols'.</dd></dl>
+</dd>
+</dl>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd></dd></dl>
+<p>The PageRank algorithm proposed by Larry Page and Sergey Brin is used [1].</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Create vertex and edge tables to represent the graph: <pre class="syntax">
+DROP TABLE IF EXISTS vertex, edge;
+CREATE TABLE vertex(
+        id INTEGER
+        );
+CREATE TABLE edge(
+        src INTEGER,
+        dest INTEGER,
+        user_id INTEGER
+        );
+INSERT INTO vertex VALUES
+(0),
+(1),
+(2),
+(3),
+(4),
+(5),
+(6);
+INSERT INTO edge VALUES
+(0, 1, 1),
+(0, 2, 1),
+(0, 4, 1),
+(1, 2, 1),
+(1, 3, 1),
+(2, 3, 1),
+(2, 5, 1),
+(2, 6, 1),
+(3, 0, 1),
+(4, 0, 1),
+(5, 6, 1),
+(6, 3, 1),
+(0, 1, 2),
+(0, 2, 2),
+(0, 4, 2),
+(1, 2, 2),
+(1, 3, 2),
+(2, 3, 2),
+(3, 0, 2),
+(4, 0, 2),
+(5, 6, 2),
+(6, 3, 2);
+</pre></li>
+<li>Compute the PageRank: <pre class="syntax">
+DROP TABLE IF EXISTS pagerank_out, pagerank_out_summary;
+SELECT madlib.pagerank(
+                         'vertex',             -- Vertex table
+                         'id',                 -- Vertix id column
+                         'edge',               -- Edge table
+                         'src=src, dest=dest', -- Comma delimted string of edge arguments
+                         'pagerank_out');      -- Output table of PageRank
+SELECT * FROM pagerank_out ORDER BY pagerank DESC;
+</pre> <pre class="result">
+ id |      pagerank
+----+-------------------
+  0 |  0.28753749341184
+  3 |  0.21016988901855
+  2 |  0.14662683454062
+  4 |  0.10289614384217
+  1 |  0.10289614384217
+  6 |  0.09728637768887
+  5 |  0.05258711765692
+(7 rows)
+</pre> <pre class="syntax">
+SELECT * FROM pagerank_out_summary;
+</pre> <pre class="result">
+ __iterations__
+ ----------------+
+             16
+(1 row)
+</pre></li>
+<li>Running PageRank with a damping factor of 0.5 results in different final values: <pre class="syntax">
+DROP TABLE IF EXISTS pagerank_out, pagerank_out_summary;
+SELECT madlib.pagerank(
+                         'vertex',             -- Vertex table
+                         'id',                 -- Vertix id column
+                         'edge',               -- Edge table
+                         'src=src, dest=dest', -- Comma delimted string of edge arguments
+                         'pagerank_out',       -- Output table of PageRank
+                         0.5);                 -- Damping factor
+SELECT * FROM pagerank_out ORDER BY pagerank DESC;
+</pre> <pre class="result">
+ id |      pagerank      
+----+--------------------
+  0 |  0.225477161441199
+  3 |  0.199090328586664
+  2 |  0.136261327206477
+  6 |  0.132691559968224
+  4 |  0.109009291409508
+  1 |  0.109009291409508
+  5 | 0.0884610399788161
+(7 rows)
+</pre></li>
+<li>Now compute the PageRank of vertices associated with each user using the grouping feature: <pre class="syntax">
+DROP TABLE IF EXISTS pagerank_out, pagerank_out_summary;
+SELECT madlib.pagerank(
+                         'vertex',             -- Vertex table
+                         'id',                 -- Vertix id column
+                         'edge',               -- Edge table
+                         'src=src, dest=dest', -- Comma delimted string of edge arguments
+                         'pagerank_out',       -- Output table of PageRank
+                         NULL,                 -- Default damping factor (0.85)
+                         NULL,                 -- Default max iters (100)
+                         0.00000001,           -- Threshold
+                         'user_id');           -- Grouping column name
+SELECT * FROM pagerank_out ORDER BY user_id, pagerank DESC;
+</pre> <pre class="result">
+ user_id | id |      pagerank
+---------+----+--------------------
+       1 |  0 |  0.27825488388552
+       1 |  3 |  0.20188114667075
+       1 |  2 |  0.14288112346059
+       1 |  6 |  0.11453637832147
+       1 |  1 |  0.10026745615438
+       1 |  4 |  0.10026745615438
+       1 |  5 |  0.06191155535288
+       2 |  0 |  0.31854625004173
+       2 |  3 |  0.23786686773343
+       2 |  2 |  0.15914876489397
+       2 |  1 |  0.11168334437971
+       2 |  4 |  0.11168334437971
+       2 |  6 |  0.03964285714285
+       2 |  5 |  0.02142857142857
+(14 rows)
+</pre> <pre class="syntax">
+SELECT * FROM pagerank_out_summary ORDER BY user_id;
+</pre> <pre class="result">
+ user_id | __iterations__
+---------+----------------
+       1 |             27
+       2 |             31
+(2 rows)
+</pre></li>
+</ol>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] PageRank algorithm. <a href="https://en.wikipedia.org/wiki/PageRank">https://en.wikipedia.org/wiki/PageRank</a> </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__path.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__path.html b/docs/v1.11/group__grp__path.html
new file mode 100644
index 0000000..576e6cb
--- /dev/null
+++ b/docs/v1.11/group__grp__path.html
@@ -0,0 +1,473 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Path</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__path.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Path<div class="ingroups"><a class="el" href="group__grp__utility__functions.html">Utility Functions</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#syntax">Function Syntax</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#nomenclature">Nomenclature</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+</ul>
+</div><p>The goal of the MADlib path function is to perform regular pattern matching over a sequence of rows, and to extract useful information about the pattern matches. The useful information could be a simple count of matches or something more involved like aggregations or window functions.</p>
+<p>Symbols are used to identify particular rows of interest. Then, standard PostgreSQL pattern matching using symbols can be applied to identify patterns across the rows of interest. (This is similar in concept to regular expressions which match patterns within strings of text.)</p>
+<p>For example, a symbol can be defined for purchase events by on-line shoppers. Then, preceding events that led to the purchase can be identified and operated on, perhaps to find the common actions that resulted in a purchase. Or conversely, to find actions that resulted in an exit without a purchase having been made.</p>
+<p>Steps on how to use path functions:</p>
+<ol type="1">
+<li>Partition input rows.</li>
+<li>Order the partitions.</li>
+<li>Define symbols to match rows of interest.</li>
+<li>Define regular expression of symbols and operators to define patterns to match in your ordered partitions.</li>
+<li>Define an aggregate function to compute for each pattern match.</li>
+<li>If desired, output the pattern matches for inspection or to operate on them with subsequent queries.</li>
+</ol>
+<p><a class="anchor" id="syntax"></a></p><dl class="section user"><dt>Function Syntax</dt><dd><pre class="syntax">
+path(
+    source_table,
+    output_table,
+    partition_expr,
+    order_expr,
+    symbol,
+    pattern,
+    aggregate_func,
+    persist_rows,
+    overlapping_patterns
+)
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the source table, containing data for path analysis.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the result table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>partition_expr </dt>
+<dd><p class="startdd">VARCHAR. The 'partition_expr' can be a single column or a list of comma-separated columns/expressions to divide all rows into groups, or partitions. Matching is applied across the rows that fall into the same partition. This can be NULL or '' to indicate the matching is to be applied to the whole table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>order_expr </dt>
+<dd><p class="startdd">VARCHAR. This expression controls the order in which rows are processed or matched in a partition. For example, time is a common way to order partitions. </p>
+<p class="enddd"></p>
+</dd>
+<dt>symbol </dt>
+<dd><p class="startdd">VARCHAR. Symbols enable you to express patterns of interest in a simple way (see definition of ‘pattern’ argument below). A symbol identifies a row of a particular type that you’re searching for as part of a pattern match. Symbol definition uses the standard PostgreSQL assignment statement 'identifier := expression;' [1]. A given row can only match one symbol. If a row matches multiple symbols, the symbol that comes first in the symbol definition list will take precedence. </p>
+<p class="enddd"></p>
+</dd>
+<dt>pattern </dt>
+<dd><p class="startdd">VARCHAR. The 'pattern' clause defines the pattern that the path algorithm searches for. You express the pattern using symbols and operators following regular PostgreSQL pattern matching syntax and rules [2].</p>
+<p><a class="anchor" id="note"></a></p><dl class="section note"><dt>Note</dt><dd>Symbols defined using more than one (1) character need to be enclosed in parentheses '()' when referenced in the 'pattern' argument. For example:<ul>
+<li>a symbol defined as 'a' in the 'symbol' argument can be used directly in the 'pattern' argument</li>
+<li>a symbol defined as 'abc' in the 'symbol' argument must be written as '(abc)' in the 'pattern' argument</li>
+</ul>
+</dd></dl>
+<p>The following pattern matching metacharacters are supported: </p><ul>
+<li>
+| denotes alternation (either of two alternatives).  </li>
+<li>
+? denotes repetition of the previous item zero or one time.  </li>
+<li>
+* denotes repetition of the previous item zero or more times.  </li>
+<li>
++ denotes repetition of the previous item one or more times.  </li>
+<li>
+{m} denotes repetition of the previous item exactly m times.  </li>
+<li>
+{m,} denotes repetition of the previous item m or more times.  </li>
+<li>
+{m,n} denotes repetition of the previous item at least m and not more than n times.  </li>
+<li>
+Parentheses () can be used to group items into a single logical item. </li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>aggregate_func (optional) </dt>
+<dd><p class="startdd">VARCHAR, default NULL. A comma-separated list of aggregates to be applied to the pattern matches [3]. Please note that window functions cannot currently be used in the parameter 'aggregate_func'. If you want to use a window function [4], output the pattern matches and write a SQL query with a window function over the output tuples (see 'persist_rows' parameter below).</p>
+<p>If you just want to output the pattern matched rows and not compute any aggregates, you can put NULL or '' in the 'aggregate_func' parameter. </p>
+<p class="enddd"></p>
+</dd>
+<dt>persist_rows (optional) </dt>
+<dd><p class="startdd">BOOLEAN, default FALSE. If TRUE the matched rows are persisted in a separate output table. This table is named as &lt;output_table&gt;_tuples (the string "_tuples" is added as suffix to the value of <em>output_table</em>). </p>
+<p class="enddd"></p>
+</dd>
+<dt>overlapping_patterns (optional) </dt>
+<dd><p class="startdd">BOOLEAN, default FALSE. If TRUE find every occurrence of the pattern in the partition, regardless of whether it might have been part of a previously found match. </p>
+<p class="enddd"></p>
+</dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<p>The data set describes shopper behavior on a notional web site that sells beer and wine. A beacon fires an event to a log file when the shopper visits different pages on the site: landing page, beer selection page, wine selection page, and checkout. Other pages on the site like help pages show up in the logs as well. Let’s assume that the log has been sessionized.</p>
+<ol type="1">
+<li>Create the date table: <pre class="example">
+DROP TABLE IF EXISTS eventlog;
+CREATE TABLE eventlog (event_timestamp TIMESTAMP,
+            user_id INT,
+            session_id INT,
+            page TEXT,
+            revenue FLOAT);
+INSERT INTO eventlog VALUES
+('04/15/2015 01:03:00', 100821, 100, 'LANDING', 0),
+('04/15/2015 01:04:00', 100821, 100, 'WINE', 0),
+('04/15/2015 01:05:00', 100821, 100, 'CHECKOUT', 39),
+('04/15/2015 02:06:00', 100821, 101, 'WINE', 0),
+('04/15/2015 02:09:00', 100821, 101, 'WINE', 0),
+('04/15/2015 01:15:00', 101121, 102, 'LANDING', 0),
+('04/15/2015 01:16:00', 101121, 102, 'WINE', 0),
+('04/15/2015 01:17:00', 101121, 102, 'CHECKOUT', 15),
+('04/15/2015 01:18:00', 101121, 102, 'LANDING', 0),
+('04/15/2015 01:19:00', 101121, 102, 'HELP', 0),
+('04/15/2015 01:21:00', 101121, 102, 'WINE', 0),
+('04/15/2015 01:22:00', 101121, 102, 'CHECKOUT', 23),
+('04/15/2015 02:15:00', 101331, 103, 'LANDING', 0),
+('04/15/2015 02:16:00', 101331, 103, 'WINE', 0),
+('04/15/2015 02:17:00', 101331, 103, 'HELP', 0),
+('04/15/2015 02:18:00', 101331, 103, 'WINE', 0),
+('04/15/2015 02:19:00', 101331, 103, 'CHECKOUT', 16),
+('04/15/2015 02:22:00', 101443, 104, 'BEER', 0),
+('04/15/2015 02:25:00', 101443, 104, 'CHECKOUT', 12),
+('04/15/2015 02:29:00', 101881, 105, 'LANDING', 0),
+('04/15/2015 02:30:00', 101881, 105, 'BEER', 0),
+('04/15/2015 01:05:00', 102201, 106, 'LANDING', 0),
+('04/15/2015 01:06:00', 102201, 106, 'HELP', 0),
+('04/15/2015 01:09:00', 102201, 106, 'LANDING', 0),
+('04/15/2015 02:15:00', 102201, 107, 'WINE', 0),
+('04/15/2015 02:16:00', 102201, 107, 'BEER', 0),
+('04/15/2015 02:17:00', 102201, 107, 'WINE', 0),
+('04/15/2015 02:18:00', 102871, 108, 'BEER', 0),
+('04/15/2015 02:19:00', 102871, 108, 'WINE', 0),
+('04/15/2015 02:22:00', 102871, 108, 'CHECKOUT', 21),
+('04/15/2015 02:25:00', 102871, 108, 'LANDING', 0),
+('04/15/2015 02:17:00', 103711, 109, 'BEER', 0),
+('04/15/2015 02:18:00', 103711, 109, 'LANDING', 0),
+('04/15/2015 02:19:00', 103711, 109, 'WINE', 0);
+</pre></li>
+<li>Calculate the revenue by checkout: <pre class="example">
+DROP TABLE IF EXISTS path_output, path_output_tuples;
+SELECT madlib.path(
+     'eventlog',                -- Name of input table
+     'path_output',             -- Table name to store path results
+     'session_id',              -- Partition input table by session
+     'event_timestamp ASC',     -- Order partitions in input table by time
+     'buy:=page=''CHECKOUT''',  -- Define a symbol for checkout events
+     '(buy)',                   -- Pattern search: purchase
+     'sum(revenue) as checkout_rev',    -- Aggregate:  sum revenue by checkout
+     TRUE                       -- Persist matches
+     );
+SELECT * FROM path_output ORDER BY session_id, match_id;
+</pre> Result: <pre class="result">
+ session_id | match_id | checkout_rev
+------------+----------+--------------
+        100 |        1 |           39
+        102 |        1 |           15
+        102 |        2 |           23
+        103 |        1 |           16
+        104 |        1 |           12
+        108 |        1 |           21
+(6 rows)
+</pre> Note that there are 2 checkouts within session 102, which is apparent from the 'match_id' column. This serves to illustrate that the 'aggregate_func' operates on a <em>per pattern match</em> basis, not on a <em>per partition</em> basis. If in fact we wanted revenue by partition ('session_id' in this example), then we could do: <pre class="example">
+SELECT session_id, sum(checkout_rev) FROM path_output GROUP BY session_id ORDER BY session_id;
+</pre> Result: <pre class="result">
+ session_id | sum
+------------+-----
+        100 |  39
+        102 |  38
+        103 |  16
+        104 |  12
+        108 |  21
+(5 rows)
+</pre> Since we set TRUE for 'persist_rows', we can view the associated pattern matches: <pre class="example">
+SELECT * FROM path_output_tuples ORDER BY session_id ASC, event_timestamp ASC;
+</pre> Result: <pre class="result">
+   event_timestamp   | user_id | session_id |   page   | revenue | symbol | match_id
+---------------------+---------+------------+----------+---------+--------+----------
+ 2015-04-15 01:05:00 |  100821 |        100 | CHECKOUT |      39 | buy    |        1
+ 2015-04-15 01:17:00 |  101121 |        102 | CHECKOUT |      15 | buy    |        1
+ 2015-04-15 01:22:00 |  101121 |        102 | CHECKOUT |      23 | buy    |        2
+ 2015-04-15 02:19:00 |  101331 |        103 | CHECKOUT |      16 | buy    |        1
+ 2015-04-15 02:25:00 |  101443 |        104 | CHECKOUT |      12 | buy    |        1
+ 2015-04-15 02:22:00 |  102871 |        108 | CHECKOUT |      21 | buy    |        1
+(6 rows)
+</pre> Notice that the 'symbol' and 'match_id' columns are added to the right of the matched rows.</li>
+<li>We are interested in sessions with an order placed within 4 pages of entering the shopping site via the landing page. We represent this by the regular expression: '(land)[^(land)(buy)]{0,2}(buy)'. In other words, visit to the landing page followed by from 0 to 2 non-entry, non-sale pages, followed by a purchase. The SQL is as follows: <pre class="example">
+DROP TABLE IF EXISTS path_output, path_output_tuples;
+SELECT madlib.path(
+     'eventlog',                -- Name of input table
+     'path_output',             -- Table name to store path results
+     'session_id',              -- Partition input table by session
+     'event_timestamp ASC',     -- Order partitions in input table by time
+     'land:=page=''LANDING'',
+        wine:=page=''WINE'',
+        beer:=page=''BEER'',
+        buy:=page=''CHECKOUT'',
+        other:=page&lt;&gt;''LANDING'' AND page&lt;&gt;''WINE'' AND page&lt;&gt;''BEER'' AND  page&lt;&gt;''CHECKOUT''',    -- Symbols for  page types
+      '(land)[^(land)(buy)]{0,2}(buy)', -- Purchase within 4 pages entering site
+     'sum(revenue) as checkout_rev',    -- Aggregate:  sum revenue by checkout
+     TRUE                       -- Persist matches
+     );
+SELECT * FROM path_output ORDER BY session_id, match_id;
+</pre> Result: <pre class="result">
+ session_id | match_id | session_rev
+------------+----------+-------------
+        100 |        1 |          39
+        102 |        1 |          15
+        102 |        2 |          23
+(3 rows)
+</pre> Now view the associated pattern matches: <pre class="example">
+SELECT * FROM path_output_tuples ORDER BY session_id ASC, event_timestamp ASC;
+</pre> Result: <pre class="result">
+   event_timestamp   | user_id | session_id |   page   | revenue | symbol | match_id
+---------------------+---------+------------+----------+---------+--------+----------
+ 2015-04-15 01:03:00 |  100821 |        100 | LANDING  |       0 | land   |        1
+ 2015-04-15 01:04:00 |  100821 |        100 | WINE     |       0 | wine   |        1
+ 2015-04-15 01:05:00 |  100821 |        100 | CHECKOUT |      39 | buy    |        1
+ 2015-04-15 01:15:00 |  101121 |        102 | LANDING  |       0 | land   |        1
+ 2015-04-15 01:16:00 |  101121 |        102 | WINE     |       0 | wine   |        1
+ 2015-04-15 01:17:00 |  101121 |        102 | CHECKOUT |      15 | buy    |        1
+ 2015-04-15 01:18:00 |  101121 |        102 | LANDING  |       0 | land   |        2
+ 2015-04-15 01:19:00 |  101121 |        102 | HELP     |       0 | other  |        2
+ 2015-04-15 01:21:00 |  101121 |        102 | WINE     |       0 | wine   |        2
+ 2015-04-15 01:22:00 |  101121 |        102 | CHECKOUT |      23 | buy    |        2
+(10 rows)
+</pre></li>
+<li>We may want to use a window function instead of an aggregate. Currently, only aggregates are supported in the core path function in the parameter 'aggregate_func'. However, you can write window functions on the output tuples to achieve the desired result. &#160; Continuing the previous example, let’s say we want to compute average revenue for checkouts within 4 pages of entering the shopping site via the landing page: <pre class="example">
+SELECT DATE(event_timestamp), user_id, session_id, revenue,
+    avg(revenue) OVER (PARTITION BY DATE(event_timestamp)) as avg_checkout_rev
+    FROM path_output_tuples
+    WHERE page='CHECKOUT'
+    ORDER BY user_id, session_id;
+</pre> Result: <pre class="result">
+    date    | user_id | session_id | revenue | avg_checkout_rev
+------------+---------+------------+---------+------------------
+ 2015-04-15 |  100821 |        100 |      39 | 25.6666666666667
+ 2015-04-15 |  101121 |        102 |      15 | 25.6666666666667
+ 2015-04-15 |  101121 |        102 |      23 | 25.6666666666667
+(3 rows)
+</pre> Here we are partitioning the window function by day because we want daily averages, although our sample data set only has a single day.</li>
+<li>Now we want to do a golden path analysis to find the most successful shopper paths through the site. Since our data set is small, we decide this means the most frequently viewed page just before a checkout is made: <pre class="example">
+DROP TABLE IF EXISTS path_output, path_output_tuples;
+SELECT madlib.path(
+     'eventlog',                -- Name of input table
+     'path_output',             -- Table name to store path results
+     'session_id',              -- Partition input table by session
+     'event_timestamp ASC',     -- Order partitions in input table by time
+     'land:=page=''LANDING'',
+        wine:=page=''WINE'',
+        beer:=page=''BEER'',
+        buy:=page=''CHECKOUT'',
+        other:=page&lt;&gt;''LANDING'' AND page&lt;&gt;''WINE'' AND page&lt;&gt;''BEER'' AND  page&lt;&gt;''CHECKOUT''',    -- Symbols for  page types
+      '[^(buy)](buy)',          -- Pattern to match
+     'array_agg(page ORDER BY session_id ASC, event_timestamp ASC) as page_path',    -- Build array with shopper paths
+     FALSE                       -- Don't persist matches
+     );
+</pre> Now count the common paths and print the most frequent: <pre class="example">
+SELECT count(*), page_path from
+    (SELECT * FROM path_output) q
+GROUP BY page_path
+ORDER BY count(*) DESC
+LIMIT 10;
+</pre> Result: <pre class="result">
+ count |    page_path
+-------+-----------------
+     5 | {WINE,CHECKOUT}
+     1 | {BEER,CHECKOUT}
+(2 rows)
+</pre> There are only 2 different paths. The wine page is viewed more frequently than the beer page just before checkout.</li>
+<li>To demonstrate the use of 'overlapping_patterns', consider a pattern with at least one page followed by and ending with a checkout: <pre class="example">
+DROP TABLE IF EXISTS path_output, path_output_tuples;
+SELECT madlib.path(                                                                   
+     'eventlog',                    -- Name of the table                                           
+     'path_output',                 -- Table name to store the path results                         
+     'session_id',                  -- Partition by session                 
+     'event_timestamp ASC',         -- Order partitions in input table by time       
+     $$ nobuy:=page&lt;&gt;'CHECKOUT',
+        buy:=page='CHECKOUT'
+     $$,  -- Definition of symbols used in the pattern definition 
+     '(nobuy)+(buy)',         -- At least one page followed by and ending with a CHECKOUT.
+     'array_agg(page ORDER BY session_id ASC, event_timestamp ASC) as page_path',  
+     FALSE,                        -- Don't persist matches
+     TRUE                          -- Turn on overlapping patterns
+     );
+SELECT * FROM path_output ORDER BY session_id, match_id;
+</pre> Result with overlap turned on: <pre class="result">
+ session_id | match_id |             page_path             
+------------+----------+-----------------------------------
+        100 |        1 | {LANDING,WINE,CHECKOUT}
+        100 |        2 | {WINE,CHECKOUT}
+        102 |        1 | {LANDING,WINE,CHECKOUT}
+        102 |        2 | {WINE,CHECKOUT}
+        102 |        3 | {LANDING,HELP,WINE,CHECKOUT}
+        102 |        4 | {HELP,WINE,CHECKOUT}
+        102 |        5 | {WINE,CHECKOUT}
+        103 |        1 | {LANDING,WINE,HELP,WINE,CHECKOUT}
+        103 |        2 | {WINE,HELP,WINE,CHECKOUT}
+        103 |        3 | {HELP,WINE,CHECKOUT}
+        103 |        4 | {WINE,CHECKOUT}
+        104 |        1 | {BEER,CHECKOUT}
+        108 |        1 | {BEER,WINE,CHECKOUT}
+        108 |        2 | {WINE,CHECKOUT}
+(14 rows)
+</pre> With overlap turned off, the result would be: <pre class="result">
+ session_id | match_id |             page_path             
+------------+----------+-----------------------------------
+        100 |        1 | {LANDING,WINE,CHECKOUT}
+        102 |        1 | {LANDING,WINE,CHECKOUT}
+        102 |        2 | {LANDING,HELP,WINE,CHECKOUT}
+        103 |        1 | {LANDING,WINE,HELP,WINE,CHECKOUT}
+        104 |        1 | {BEER,CHECKOUT}
+        108 |        1 | {BEER,WINE,CHECKOUT}
+(6 rows)
+</pre></li>
+</ol>
+<p><a class="anchor" id="note"></a></p><dl class="section note"><dt>Note</dt><dd>Please note some current limitations of the path algorithm.<ul>
+<li>Window functions cannot currently be used in the parameter 'aggregate_func'. Instead, output the pattern matches and write a SQL query with a window function over the output tuples.</li>
+<li>A given row can only match one symbol. If a row matches multiple symbols, the symbol that comes <em>first</em> in the symbol definition list will take precedence.</li>
+<li>Maximum number of symbols that can be defined is 35.</li>
+<li>The columns 'match_id' and 'symbol' are generated by the path algorithm. If coincidently you have columns in your input data named 'match_id' or 'symbol', the system generated column names will be changed to "__madlib_path_match_id__" and "__madlib_path_symbol__"</li>
+</ul>
+</dd></dl>
+<p><a class="anchor" id="nomenclature"></a></p><dl class="section user"><dt>Nomenclature</dt><dd></dd></dl>
+<p>Partition</p><ul>
+<li>scope of rows to be searched for pattern match</li>
+<li>typical examples: user id, session id, portfolio id</li>
+</ul>
+<p>Order</p><ul>
+<li>sort order of input rows in partition</li>
+<li>typical example: time</li>
+</ul>
+<p>Symbol</p><ul>
+<li>a row of a particular type that you’re searching for, that you want to include in a pattern</li>
+</ul>
+<p>Pattern</p><ul>
+<li>regular PostgreSQL pattern match expression of symbols and operators that you want to match across rows</li>
+</ul>
+<p>Pattern match</p><ul>
+<li>rows that result from a pattern match expression of symbols</li>
+<li>can be multiple matches per partition</li>
+</ul>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] PostgreSQL basic statements/assignment operator, <a href="http://www.postgresql.org/docs/8.2/static/plpgsql-statements.html">http://www.postgresql.org/docs/8.2/static/plpgsql-statements.html</a></p>
+<p>[2] PostgreSQL pattern matching, <a href="http://www.postgresql.org/docs/current/static/functions-matching.html">http://www.postgresql.org/docs/current/static/functions-matching.html</a></p>
+<p>[3] PostgreSQL aggregate functions, <a href="http://www.postgresql.org/docs/8.2/static/tutorial-agg.html">http://www.postgresql.org/docs/8.2/static/tutorial-agg.html</a></p>
+<p>[4] PostgreSQL window functions, <a href="http://www.postgresql.org/docs/8.4/static/tutorial-window.html">http://www.postgresql.org/docs/8.4/static/tutorial-window.html</a> </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__pca.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__pca.html b/docs/v1.11/group__grp__pca.html
new file mode 100644
index 0000000..126ef28
--- /dev/null
+++ b/docs/v1.11/group__grp__pca.html
@@ -0,0 +1,136 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Dimensionality Reduction</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__pca.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Dimensionality Reduction<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods for dimensionality reduction. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__pca__train"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__pca__train.html">Principal Component Analysis</a></td></tr>
+<tr class="memdesc:group__grp__pca__train"><td class="mdescLeft">&#160;</td><td class="mdescRight">Produces a model that transforms a number of (possibly) correlated variables into a (smaller) number of uncorrelated variables called principal components. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__pca__project"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__pca__project.html">Principal Component Projection</a></td></tr>
+<tr class="memdesc:group__grp__pca__project"><td class="mdescLeft">&#160;</td><td class="mdescRight">Projects a higher dimensional data point to a lower dimensional subspace spanned by principal components learned through the PCA training procedure. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__pca.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__pca.js b/docs/v1.11/group__grp__pca.js
new file mode 100644
index 0000000..2863cf8
--- /dev/null
+++ b/docs/v1.11/group__grp__pca.js
@@ -0,0 +1,5 @@
+var group__grp__pca =
+[
+    [ "Principal Component Analysis", "group__grp__pca__train.html", null ],
+    [ "Principal Component Projection", "group__grp__pca__project.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__pca__project.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__pca__project.html b/docs/v1.11/group__grp__pca__project.html
new file mode 100644
index 0000000..50b3d51
--- /dev/null
+++ b/docs/v1.11/group__grp__pca__project.html
@@ -0,0 +1,493 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Principal Component Projection</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__pca__project.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Principal Component Projection<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a> &raquo; <a class="el" href="group__grp__pca.html">Dimensionality Reduction</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#project">Projection Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#notes">Notes</a> </li>
+<li class="level1">
+<a href="#background_project">Technical Background</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Principal component projection is a mathematical procedure that projects high dimensional data onto a lower dimensional space. This lower dimensional space is defined by the <img class="formulaInl" alt="$ k $" src="form_98.png"/> principal components with the highest variance in the training data.</p>
+<p>More details on the mathematics of PCA can be found in <a class="el" href="group__grp__pca__train.html">Principal Component Analysis</a> and some details about principal component projection calculations can be found in the <a class="el" href="group__grp__pca__project.html#background_project">Technical Background</a>.</p>
+<p><a class="anchor" id="project"></a></p><dl class="section user"><dt>Projection Function</dt><dd>The projection functions are slightly different for dense and sparse matrices. For dense matrices: <pre class="syntax">
+madlib.pca_project( source_table,
+                    pc_table,
+                    out_table,
+                    row_id,
+                    residual_table,
+                    result_summary_table
+                  )
+</pre> For sparse matrices: <pre class="syntax">
+madlib.pca_sparse_project( source_table,
+                           pc_table,
+                           out_table,
+                           row_id,
+                           col_id,              -- Sparse matrices only
+                           val_id,              -- Sparse matrices only
+                           row_dim,             -- Sparse matrices only
+                           col_dim,             -- Sparse matrices only
+                           residual_table,
+                           result_summary_table
+                         )
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. Source table name. Identical to <a class="el" href="pca_8sql__in.html#a31abf88e67a446a4f789764aa2c61e85">pca_train</a>, the input data matrix should have <img class="formulaInl" alt="$ N $" src="form_220.png"/> rows and <img class="formulaInl" alt="$ M $" src="form_175.png"/> columns, where <img class="formulaInl" alt="$ N $" src="form_220.png"/> is the number of data points, and <img class="formulaInl" alt="$ M $" src="form_175.png"/> is the number of features for each data point.</p>
+<p>The input table for <em> pca_project </em> is expected to be in the one of the two standard MADlib dense matrix formats, and the sparse input table for <em> pca_sparse_project </em> should be in the standard MADlib sparse matrix format. These formats are described in the documentation for <a class="el" href="group__grp__pca__train.html">Principal Component Analysis</a>.</p>
+<p class="enddd"></p>
+</dd>
+<dt>pc_table </dt>
+<dd><p class="startdd">TEXT. Table name for the table containing principal components. </p>
+<p class="enddd"></p>
+</dd>
+<dt>out_table </dt>
+<dd><p class="startdd">TEXT. Name of the table that will contain the low-dimensional representation of the input data.</p>
+<p>The <em>out_table</em> encodes a dense matrix with the projection onto the principal components. The table has the following columns:</p>
+<table class="output">
+<tr>
+<th>row_id </th><td>Row id of the output matrix.  </td></tr>
+<tr>
+<th>row_vec </th><td>A vector containing elements in the row of the matrix.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>row_id </dt>
+<dd><p class="startdd">TEXT. Column name containing the row IDs in the input source table. The column should be of type INT (or a type that can be cast to INT) and should only contain values between 1 and <em>N</em>. For dense matrix format, it should contain all continguous integers from 1 to <em>N</em> describing the full matrix.</p>
+<p class="enddd"></p>
+</dd>
+<dt>col_id </dt>
+<dd><p class="startdd">TEXT. Column name containing the column IDs in sparse matrix representation. The column should be of type INT (or a type that can be cast to INT) and should only contain values between 1 and <em>M</em>. <em>This parameter applies to sparse matrices only.</em></p>
+<p class="enddd"></p>
+</dd>
+<dt>val_id </dt>
+<dd><p class="startdd">TEXT. Name of 'val_id' column in sparse matrix representation defining the values of the nonzero entries. <em>This parameter applies to sparse matrices only.</em></p>
+<p class="enddd"></p>
+</dd>
+<dt>row_dim </dt>
+<dd><p class="startdd">INTEGER. The actual number of rows in the matrix. That is, if the matrix was transformed into dense format, this is the number of rows it would have. <em>This parameter applies to sparse matrices only.</em></p>
+<p class="enddd"></p>
+</dd>
+<dt>col_dim </dt>
+<dd><p class="startdd">INTEGER. The actual number of columns in the matrix. That is, if the matrix was transformed into dense format, this is the number of columns it would have. <em>This parameter applies to sparse matrices only.</em></p>
+<dl class="section note"><dt>Note</dt><dd>The parameters 'row_dim' and 'col_dim' could actually be inferred from the sparse matrix representation, so they will be removed in the future. For now they are maintained for backward compatability so you must enter them. Making 'row_dim' or 'col_dim' larger than the actual matrix has the effect of padding it with zeros, which is probably not useful.</dd></dl>
+</dd>
+<dt>residual_table (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. Name of the optional residual table.</p>
+<p>The <em>residual_table</em> encodes a dense residual matrix. The table has the following columns:</p>
+<table class="output">
+<tr>
+<th>row_id </th><td>Row id of the output matrix.  </td></tr>
+<tr>
+<th>row_vec </th><td>A vector containing elements in the row of the residual matrix.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>result_summary_table (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. Name of the optional summary table.</p>
+<p class="enddd">The <em>result_summary_table</em> contains information about the performance time of the PCA projection. The table has the following columns: </p><table class="output">
+<tr>
+<th>exec_time </th><td>Elapsed time (ms) for execution of the function.  </td></tr>
+<tr>
+<th>residual_norm </th><td>Absolute error of the residuals.  </td></tr>
+<tr>
+<th>relative_residual_norm </th><td>Relative error of the residuals.  </td></tr>
+</table>
+</dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd><ol type="1">
+<li>View online help for the PCA projection function: <pre class="example">
+SELECT madlib.pca_project();
+</pre></li>
+<li>Create sample data in dense matrix form: <pre class="example">
+DROP TABLE IF EXISTS mat;
+CREATE TABLE mat (id integer,
+                  row_vec double precision[]
+                  );
+INSERT INTO mat VALUES
+(1, '{1,2,3}'),
+(2, '{2,1,2}'),
+(3, '{3,2,1}');
+</pre></li>
+<li>Run the PCA function for a specified number of principal components and view the results: <pre class="example">
+DROP TABLE IF EXISTS result_table, result_table_mean;
+SELECT madlib.pca_train('mat',             -- Source table
+                        'result_table',    -- Output table
+                        'id',              -- Row id of source table
+                         2);               -- Number of principal components
+SELECT * FROM result_table ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |                     principal_components                     |      std_dev      |    proportion     
+--------+--------------------------------------------------------------+-------------------+-------------------
+      1 | {0.707106781186547,-6.93889390390723e-18,-0.707106781186548} |  1.41421356237309 | 0.857142857142244
+      2 | {0,1,0}                                                      | 0.577350269189626 | 0.142857142857041
+(2 rows)
+</pre></li>
+<li>Project the original data to a lower dimensional representation and view the result of the projection: <pre class="example">
+DROP TABLE IF EXISTS residual_table, result_summary_table, out_table;
+SELECT madlib.pca_project( 'mat',
+                           'result_table',
+                           'out_table',
+                           'id',
+                           'residual_table',
+                           'result_summary_table'
+                           );
+SELECT * FROM out_table ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |               row_vec                
+--------+--------------------------------------
+      1 | {-1.41421356237309,-0.33333333333}
+      2 | {2.77555756157677e-17,0.66666666667}
+      3 | {1.41421356237309,-0.33333333333}
+(3 rows)
+</pre> Check the error in the projection: <pre class="example">
+SELECT * FROM result_summary_table;
+</pre> <pre class="result">
+   exec_time   |   residual_norm   | relative_residual_norm 
+---------------+-------------------+------------------------
+ 331.792116165 | 5.89383520611e-16 |      9.68940539229e-17
+(1 row)
+</pre> Check the residuals: <pre class="example">
+SELECT * FROM residual_table ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |                              row_vec                               
+--------+--------------------------------------------------------------------
+      1 | {-2.22044604925031e-16,-1.11022302462516e-16,3.33066907387547e-16}
+      2 | {-1.12243865646685e-18,0,4.7381731349413e-17}
+      3 | {2.22044604925031e-16,1.11022302462516e-16,-3.33066907387547e-16}
+(3 rows)
+</pre></li>
+<li>Now we use grouping in dense form to learn different models for different groups. First, we create sample data in dense matrix form with a grouping column. Note we actually have different matrix sizes for the different groups, which is allowed for dense: <pre class="example">
+DROP TABLE IF EXISTS mat_group;
+CREATE TABLE mat_group (
+    id integer,
+    row_vec double precision[],
+    matrix_id integer
+);
+INSERT INTO mat_group VALUES
+(1, '{1,2,3}', 1),
+(2, '{2,1,2}', 1),
+(3, '{3,2,1}', 1),
+(4, '{1,2,3,4,5}', 2),
+(5, '{2,5,2,4,1}', 2),
+(6, '{5,4,3,2,1}', 2);
+</pre></li>
+<li>Run the PCA function with grouping for a specified proportion of variance and view the results: <pre class="example">
+DROP TABLE IF EXISTS result_table_group, result_table_group_mean;
+SELECT madlib.pca_train('mat_group',             -- Source table
+                        'result_table_group',    -- Output table
+                        'id',                    -- Row id of source table
+                         0.8,                    -- Proportion of variance
+                        'matrix_id');            -- Grouping column
+SELECT * FROM result_table_group ORDER BY matrix_id, row_id;
+</pre> <pre class="result">
+ row_id |                                      principal_components                                      |     std_dev     |    proportion     | matrix_id 
+--------+------------------------------------------------------------------------------------------------+-----------------+-------------------+-----------
+      1 | {0.707106781186548,0,-0.707106781186547}                                                       | 1.4142135623731 | 0.857142857142245 |         1
+      1 | {-0.555378486712784,-0.388303582074091,0.0442457354870796,0.255566375612852,0.688115693174023} | 3.2315220311722 | 0.764102534485173 |         2
+      2 | {0.587384101786277,-0.485138064894743,0.311532046315153,-0.449458074050715,0.347212037159181}  |  1.795531127192 | 0.235897465516047 |         2
+(3 rows)
+</pre></li>
+<li>Run the PCA projection on subsets of an input table based on grouping columns. Note that the parameter 'pc_table' used for projection must be generated in training using the same grouping columns. <pre class="example">
+DROP TABLE IF EXISTS mat_group_projected;
+SELECT madlib.pca_project('mat_group',
+                          'result_table_group',
+                          'mat_group_projected',
+                          'id');
+SELECT * FROM mat_group_projected ORDER BY matrix_id, row_id;
+</pre> <pre class="result">
+ row_id |                row_vec                | matrix_id 
+--------+---------------------------------------+-----------
+      1 | {1.4142135623731}                     |         1
+      2 | {7.40148683087139e-17}                |         1
+      3 | {-1.4142135623731}                    |         1
+      4 | {-3.59290479201926,0.559694003674779} |         2
+      5 | {0.924092949098971,-2.00871628417505} |         2
+      6 | {2.66881184290186,1.44902228049511}   |         2
+(6 rows)
+</pre></li>
+<li>Now let's look at sparse matrices. Create sample data in sparse matrix form: <pre class="example">
+DROP TABLE IF EXISTS mat_sparse;
+CREATE TABLE mat_sparse (
+    row_id integer,
+    col_id integer,
+    value double precision
+);
+INSERT INTO mat_sparse VALUES
+(1, 1, 1.0),
+(2, 2, 2.0),
+(3, 3, 3.0),
+(4, 4, 4.0),
+(1, 5, 5.0),
+(2, 4, 6.0),
+(3, 2, 7.0),
+(4, 3, 8.0);
+</pre> As an aside, this is what the sparse matrix above looks like when put in dense form: <pre class="example">
+DROP TABLE IF EXISTS mat_dense;
+SELECT madlib.matrix_densify('mat_sparse', 
+                            'row=row_id, col=col_id, val=value', 
+                            'mat_dense');
+SELECT * FROM mat_dense ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |    value    
+--------+-------------
+      1 | {1,0,0,0,5}
+      2 | {0,2,0,6,0}
+      3 | {0,7,3,0,0}
+      4 | {0,0,8,4,0}
+(4 rows)
+</pre></li>
+<li>Run the PCA sparse function for a specified number of principal components and view the results: <pre class="example">DROP TABLE IF EXISTS result_table, result_table_mean;
+SELECT madlib.pca_sparse_train( 'mat_sparse',       -- Source table
+                                'result_table',     -- Output table
+                                'row_id',           -- Row id of source table
+                                'col_id',           -- Column id of source table
+                                'value',            -- Value of matrix at row_id, col_id
+                                4,                  -- Actual number of rows in the matrix
+                                5,                  -- Actual number of columns in the matrix
+                                3);                 -- Number of principal components                            
+SELECT * FROM result_table ORDER BY row_id;
+</pre> Result (with principal components truncated for readability): <pre class="result">
+ row_id |         principal_components                 |     std_dev      |    proportion     
+--------+----------------------------------------------+------------------+-------------------
+      1 | {-0.0876046030186158,-0.0968983772909994,... | 4.21362803829554 | 0.436590030617467
+      2 | {-0.0647272661608605,0.877639526308692,...   | 3.68408023747461 | 0.333748701544697
+      3 | {-0.0780380267884855,0.177956517174911,...   | 3.05606908060098 | 0.229661267837836
+(3 rows)
+</pre></li>
+<li>Project the original sparse data to low-dimensional representation: <pre class="example">
+DROP TABLE IF EXISTS mat_sparse_out;
+SELECT madlib.pca_sparse_project(
+                    'mat_sparse',
+                    'result_table',
+                    'mat_sparse_out',
+                    'row_id',
+                    'col_id',
+                    'value',
+                    4,
+                    5
+                    );
+SELECT * FROM mat_sparse_out ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |                         row_vec                         
+--------+---------------------------------------------------------
+      1 | {4.66617015032369,-2.63552220635847,2.1865220849604}
+      2 | {0.228360685652383,-1.21616275892926,-4.46864627611561}
+      3 | {0.672067460100428,5.45249627172823,0.56445525585642}
+      4 | {-5.5665982960765,-1.6008113064405,1.71766893529879}
+(4 rows)
+</pre></li>
+<li>Now we use grouping in sparse form to learn different models for different groups. First, we create sample data in sparse matrix form with a grouping column: <pre class="example">
+DROP TABLE IF EXISTS mat_sparse_group;
+CREATE TABLE mat_sparse_group (
+    row_id integer,
+    col_id integer,
+    value double precision,
+    matrix_id integer);
+INSERT INTO mat_sparse_group VALUES
+(1, 1, 1.0, 1),
+(2, 2, 2.0, 1),
+(3, 3, 3.0, 1),
+(4, 4, 4.0, 1),
+(1, 5, 5.0, 1),
+(2, 4, 6.0, 2),
+(3, 2, 7.0, 2),
+(4, 3, 8.0, 2);
+</pre></li>
+<li>Run the PCA function with grouping for a specified proportion of variance and view the results: <pre class="example">
+DROP TABLE IF EXISTS result_table_group, result_table_group_mean;
+SELECT madlib.pca_sparse_train( 'mat_sparse_group',       -- Source table
+                                'result_table_group',     -- Output table
+                                'row_id',           -- Row id of source table
+                                'col_id',           -- Column id of source table
+                                'value',            -- Value of matrix at row_id, col_id
+                                4,                 -- Actual number of rows in the matrix
+                                5,                 -- Actual number of columns in the matrix
+                                0.8,                 -- Proportion of variance
+                                'matrix_id');
+SELECT * FROM result_table_group ORDER BY matrix_id, row_id;
+</pre> Result (with principal components truncated for readability): <pre class="result">
+ row_id |           principal_components             |     std_dev      |    proportion     | matrix_id 
+--------+--------------------------------------------+------------------+-------------------+-----------
+      1 | {-0.17805696611353,0.0681313257646983,...  | 2.73659933165925 | 0.544652792875481 |         1
+      2 | {-0.0492086814863993,0.149371585357526,... | 2.06058314533194 | 0.308800210823714 |         1
+      1 | {0,-0.479486114660443,...                  | 4.40325305087975 | 0.520500333693473 |         2
+      2 | {0,0.689230898585949,...                   |  3.7435566458567 | 0.376220573442628 |         2
+(4 rows)
+</pre></li>
+<li>Projection in sparse format with grouping: <pre class="example">
+DROP TABLE IF EXISTS mat_sparse_group_projected;
+SELECT madlib.pca_sparse_project(
+    'mat_sparse_group',
+    'result_table_group',
+    'mat_sparse_group_projected',
+    'row_id',
+    'col_id',
+    'value',
+    4,
+    5
+    );
+SELECT * FROM mat_sparse_group_projected ORDER BY matrix_id, row_id;
+</pre> <pre class="result">
+ row_id |                 row_vec                 | matrix_id 
+--------+-----------------------------------------+-----------
+      1 | {-4.00039298524261,-0.626820612715982}  |         1
+      2 | {0.765350785238575,0.951348276645455}   |         1
+      3 | {1.04951017256904,2.22388180170356}     |         1
+      4 | {2.185532027435,-2.54840946563303}      |         1
+      1 | {-0.627846810195469,-0.685031603549092} |         2
+      2 | {-1.64754249747757,-4.7662114622896}    |         2
+      3 | {-3.98424961281857,4.13958468655255}    |         2
+      4 | {6.25963892049161,1.31165837928614}     |         2
+(8 rows)
+</pre></li>
+</ol>
+</dd></dl>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd><ul>
+<li>This function is intended to operate on the principal component tables generated by <em> pca_train </em> or <em> pca_sparse_train</em>. The MADlib PCA functions generate a table containing the column-means in addition to a table containing the principal components. If this table is not found by the MADlib projection function, it will trigger an error. As long the principal component tables are created with MADlib functions, then the column-means table will be automatically found by the MADlib projection functions.</li>
+<li>Because of the centering step in PCA projection (see "Technical Background"), sparse matrices almost always become dense during the projection process. Thus, this implementation automatically densifies sparse matrix input, and there should be no expected performance improvement in using sparse matrix input over dense matrix input.</li>
+<li>Table names can be optionally schema qualified (current_schemas() is searched if a schema name is not provided) and all table and column names should follow case-sensitivity and quoting rules per the database. (For instance, 'mytable' and 'MyTable' both resolve to the same entity, i.e. 'mytable'. If mixed-case or multi-byte characters are desired for entity names then the string should be double-quoted; in this case the input would be '"MyTable"').</li>
+<li>If the input table for pca_project (pca_sparse_project) contains grouping columns, the same grouping columns must be used in the training function used to generate the principal components too.</li>
+</ul>
+</dd></dl>
+<p><a class="anchor" id="background_project"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>Given a table containing some principal components <img class="formulaInl" alt="$ \boldsymbol P $" src="form_231.png"/> and some input data <img class="formulaInl" alt="$ \boldsymbol X $" src="form_221.png"/>, the low-dimensional representation <img class="formulaInl" alt="$ {\boldsymbol X}' $" src="form_232.png"/> is computed as </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\begin{align*} {\boldsymbol {\hat{X}}} &amp; = {\boldsymbol X} - \vec{e} \hat{x}^T \\ {\boldsymbol X}' &amp; = {\boldsymbol {\hat {X}}} {\boldsymbol P}. \end{align*}" src="form_233.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$\hat{x} $" src="form_234.png"/> is the column means of <img class="formulaInl" alt="$ \boldsymbol X $" src="form_221.png"/> and <img class="formulaInl" alt="$ \vec{e} $" src="form_226.png"/> is the vector of all ones. This step is equivalent to centering the data around the origin.</p>
+<p>The residual table <img class="formulaInl" alt="$ \boldsymbol R $" src="form_235.png"/> is a measure of how well the low-dimensional representation approximates the true input data, and is computed as </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ {\boldsymbol R} = {\boldsymbol {\hat{X}}} - {\boldsymbol X}' {\boldsymbol P}^T. \]" src="form_236.png"/>
+</p>
+<p> A residual matrix with entries mostly close to zero indicates a good representation.</p>
+<p>The residual norm <img class="formulaInl" alt="$ r $" src="form_237.png"/> is simply </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ r = \|{\boldsymbol R}\|_F \]" src="form_238.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$ \|\cdot\|_F $" src="form_239.png"/> is the Frobenius norm. The relative residual norm <img class="formulaInl" alt="$ r' $" src="form_240.png"/> is </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ r' = \frac{ \|{\boldsymbol R}\|_F }{\|{\boldsymbol X}\|_F } \]" src="form_241.png"/>
+</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File <a class="el" href="pca__project_8sql__in.html" title="Principal Component Analysis Projection. ">pca_project.sql_in</a> documenting the SQL functions</dd></dl>
+<p><a class="el" href="group__grp__pca__train.html">Principal Component Analysis</a> </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[13/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__unsupervised.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__unsupervised.html b/docs/v1.11/group__grp__unsupervised.html
new file mode 100644
index 0000000..4735d51
--- /dev/null
+++ b/docs/v1.11/group__grp__unsupervised.html
@@ -0,0 +1,136 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Unsupervised Learning</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__unsupervised.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Unsupervised Learning</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods for unsupervised learning tasks </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__association__rules"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__association__rules.html">Association Rules</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__clustering"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__clustering.html">Clustering</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__topic__modelling"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__topic__modelling.html">Topic Modelling</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__unsupervised.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__unsupervised.js b/docs/v1.11/group__grp__unsupervised.js
new file mode 100644
index 0000000..f8c5d23
--- /dev/null
+++ b/docs/v1.11/group__grp__unsupervised.js
@@ -0,0 +1,6 @@
+var group__grp__unsupervised =
+[
+    [ "Association Rules", "group__grp__association__rules.html", "group__grp__association__rules" ],
+    [ "Clustering", "group__grp__clustering.html", "group__grp__clustering" ],
+    [ "Topic Modelling", "group__grp__topic__modelling.html", "group__grp__topic__modelling" ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__utilities.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__utilities.html b/docs/v1.11/group__grp__utilities.html
new file mode 100644
index 0000000..5ed1253
--- /dev/null
+++ b/docs/v1.11/group__grp__utilities.html
@@ -0,0 +1,167 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Developer Database Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__utilities.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Developer Database Functions<div class="ingroups"><a class="el" href="group__grp__utility__functions.html">Utility Functions</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#utilities">Utility Functions</a> </li>
+<li>
+<a href="#rel;ated">Related Topics</a> </li>
+</ul>
+</div><p>The utility module consists of useful utility functions to assist data scientists in using the product. Several of these functions can be used while implementing new algorithms.</p>
+<p><a class="anchor" id="utilities"></a></p><dl class="section user"><dt>Utility Functions</dt><dd></dd></dl>
+<table class="output">
+<tr>
+<th><a class="el" href="utilities_8sql__in.html#a9ce7ffa76acc8a0638e9bc48be99f36a" title="Return MADlib build information. ">version()</a> </th><td><p class="starttd">Return MADlib build information.  </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="utilities_8sql__in.html#a76cfdbed8a6782f37f50710d855434bd" title="Raise an exception if the given condition is not satisfied. ">assert()</a> </th><td><p class="starttd">Raise an exception if the given condition is not satisfied. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="utilities_8sql__in.html#aa90ffaebb43a5cbcb5c48281cbadd3b0" title="Check if a SQL statement raises an error. ">check_if_raises_error()</a> </th><td><p class="starttd">Check if a SQL statement raises an error. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="utilities_8sql__in.html#ac1f509bd94c6309b59eb4d479fb2a470" title="Check if a column exists in a table. ">check_if_col_exists()</a> </th><td><p class="starttd">Check if a column exists in a table. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="utilities_8sql__in.html#a48bed63cab78a5446fa4c122eaae3a40" title="Check if a floating-point number is NaN (not a number) ">isnan()</a> </th><td><p class="starttd">Check if a floating-point number is NaN (not a number) </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="utilities_8sql__in.html#a56501b6f9fabe65d7a6a6beb70a0e000" title="Create the temporary schema if it does not exist yet. ">create_schema_pg_temp()</a> </th><td><p class="starttd">Create the temporary schema if it does not exist yet. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="utilities_8sql__in.html#ab194d6a1222672c314ea39b78aad8fd0" title="Create volatile noop function. ">noop()</a> </th><td><p class="starttd">Create volatile noop function. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="utilities_8sql__in.html#aab5ea2cd6201e38e24ca62b0fb91fb7a" title="Drop all tables matching pattern &#39;madlib_temp&#39; in a given schema. ">cleanup_madlib_temp_tables()</a> </th><td><p class="starttd">Drop all tables matching pattern 'madlib_temp' in a given schema. </p>
+<p class="endtd"></p>
+</td></tr>
+</table>
+<p>Note: If the function <a class="el" href="utilities_8sql__in.html#aab5ea2cd6201e38e24ca62b0fb91fb7a" title="Drop all tables matching pattern &#39;madlib_temp&#39; in a given schema. ">cleanup_madlib_temp_tables()</a> gives an Out-of-memory error, then the number of tables to be dropped is too high to execute in one transaction. In such a case, please follow the instructions provided with the error to execute the command in multiple transactions.</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="utilities_8sql__in.html" title="SQL functions for carrying out routine tasks. ">utilities.sql_in</a> documenting the SQL functions. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__utility__functions.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__utility__functions.html b/docs/v1.11/group__grp__utility__functions.html
new file mode 100644
index 0000000..effb301
--- /dev/null
+++ b/docs/v1.11/group__grp__utility__functions.html
@@ -0,0 +1,145 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Utility Functions</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__utility__functions.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Utility Functions</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__utilities"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__utilities.html">Developer Database Functions</a></td></tr>
+<tr class="memdesc:group__grp__utilities"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a collection of user-defined functions for performing common tasks in the database. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__linear__solver"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__linear__solver.html">Linear Solvers</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__path"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__path.html">Path</a></td></tr>
+<tr class="memdesc:group__grp__path"><td class="mdescLeft">&#160;</td><td class="mdescRight">Path Functions. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__pmml"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__pmml.html">PMML Export</a></td></tr>
+<tr class="memdesc:group__grp__pmml"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements the PMML XML standard to describe and exchange models produced by data mining and machine learning algorithms. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__sessionize"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__sessionize.html">Sessionize</a></td></tr>
+<tr class="memdesc:group__grp__sessionize"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sessionize. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__text__analysis"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__text__analysis.html">Text Analysis</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__utility__functions.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__utility__functions.js b/docs/v1.11/group__grp__utility__functions.js
new file mode 100644
index 0000000..a0ac837
--- /dev/null
+++ b/docs/v1.11/group__grp__utility__functions.js
@@ -0,0 +1,9 @@
+var group__grp__utility__functions =
+[
+    [ "Developer Database Functions", "group__grp__utilities.html", null ],
+    [ "Linear Solvers", "group__grp__linear__solver.html", "group__grp__linear__solver" ],
+    [ "Path", "group__grp__path.html", null ],
+    [ "PMML Export", "group__grp__pmml.html", null ],
+    [ "Sessionize", "group__grp__sessionize.html", null ],
+    [ "Text Analysis", "group__grp__text__analysis.html", "group__grp__text__analysis" ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__validation.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__validation.html b/docs/v1.11/group__grp__validation.html
new file mode 100644
index 0000000..f5df8f2
--- /dev/null
+++ b/docs/v1.11/group__grp__validation.html
@@ -0,0 +1,260 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Cross Validation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__validation.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Cross Validation<div class="ingroups"><a class="el" href="group__grp__mdl.html">Model Evaluation</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#cvfunction">Cross-Validation Function</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#notes">Notes</a> </li>
+<li>
+<a href="#background">Technical Background</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Estimates the fit of a predictive model given a data set and specifications for the training, prediction, and error estimation functions.</p>
+<p>Cross validation, sometimes called rotation estimation, is a technique for assessing how the results of a statistical analysis will generalize to an independent data set. It is mainly used in settings where the goal is prediction, and you want to estimate how accurately a predictive model will perform in practice.</p>
+<p>The cross-validation function provided by this module is very flexible and can work with algorithms you want to cross validate, including algorithms you write yourself. Among the inputs to the cross-validation function are specifications of the modelling, prediction, and error metric functions. These three-part specifications include the name of the function, an array of arguments to pass to the function, and an array of the data types of the arguments. This makes it possible to use functions from other MADlib modules or user-defined functions that you supply.</p>
+<ul>
+<li>The modelling (training) function takes in a given data set with independent and dependent variables and produces a model, which is stored in an output table.</li>
+<li>The prediction function takes in the model generated by the modelling function and a different data set with independent variables, and produces a prediction of the dependent variables based on the model, which is stored in an output table. The prediction function should take a unique ID column name in the data table as one of the inputs, so that the prediction result can be compared with the validation values. Note: Prediction function in some MADlib modules do not save results into an output table. These prediction functions are not suitable for cross-validation.</li>
+<li>The error metric function compares the prediction results with the known values of the dependent variables in the data set that was fed into the prediction function. It computes the error metric using the specified error metric function, storing the results in a table.</li>
+</ul>
+<p>Other inputs include the output table name, k value for the k-fold cross validation, and how many folds to try. For example, you can choose to run a simple validation instead of a full cross validation.</p>
+<p><a class="anchor" id="cvfunction"></a></p><dl class="section user"><dt>Cross-Validation Function</dt><dd></dd></dl>
+<pre class="syntax">
+cross_validation_general( modelling_func,
+                          modelling_params,
+                          modelling_params_type,
+                          param_explored,
+                          explore_values,
+                          predict_func,
+                          predict_params,
+                          predict_params_type,
+                          metric_func,
+                          metric_params,
+                          metric_params_type,
+                          data_tbl,
+                          data_id,
+                          id_is_random,
+                          validation_result,
+                          data_cols,
+                          fold_num
+                        )</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>modelling_func </dt>
+<dd>VARCHAR. The name of the function that trains the model. </dd>
+<dt>modelling_params </dt>
+<dd>VARCHAR[]. An array of parameters to supply to the modelling function. </dd>
+<dt>modelling_params_type </dt>
+<dd>VARCHAR[]. An array of data type names for each of the parameters supplied to the modelling function. </dd>
+<dt>param_explored </dt>
+<dd>VARCHAR. The name of the parameter that will be checked to find the optimum value. The name must appear in the <em>modelling_params</em> array. </dd>
+<dt>explore_values </dt>
+<dd>VARCHAR. The name of the parameter whose values are to be studied. </dd>
+<dt>predict_func </dt>
+<dd>VARCHAR. The name of the prediction function. </dd>
+<dt>predict_params </dt>
+<dd>VARCHAR[]. An array of parameters to supply to the prediction function. </dd>
+<dt>predict_params_type </dt>
+<dd>VARCHAR[]. An array of data type names for each of the parameters supplied to the prediction function. </dd>
+<dt>metric_func </dt>
+<dd>VARCHAR. The name of the function for measuring errors. </dd>
+<dt>metric_params </dt>
+<dd>VARCHAR[]. An array of parameters to supply to the error metric function. </dd>
+<dt>metric_params_type </dt>
+<dd>VARCHAR[]. An array of data type names for each of the parameters supplied to the metric function. </dd>
+<dt>data_tbl </dt>
+<dd>VARCHAR. The name of the data table that will be split into training and validation parts. </dd>
+<dt>data_id </dt>
+<dd><p class="startdd">VARCHAR. The name of the column containing a unique ID associated with each row, or NULL if the table has no such column.</p>
+<p class="enddd">Ideally, the data set has a unique ID for each row, so that it is easier to partition the data set into the training part and the validation part. Set the <em>id_is_random</em> argument to inform the cross-validation function whether the ID value is randomly assigned to each row. If it is not randomly assigned, the cross-validation function generates a random ID for each row.  </p>
+</dd>
+<dt>id_is_random </dt>
+<dd>BOOLEAN. TRUE if the provided ID is randomly assigned to each row. </dd>
+<dt>validation_result </dt>
+<dd>VARCHAR. The name of the table to store the output of the cross-validation function. The output table has the following columns: <table class="output">
+<tr>
+<th>param_explored </th><td>The name of the parameter checked to find the optimum value. This is the same name specified in the <em>param_explored</em> argument of the <em><a class="el" href="cross__validation_8sql__in.html#a2a7791b05f51e8748ab7b6ccf328a7e2">cross_validation_general()</a></em> function.  </td></tr>
+<tr>
+<th>average error </th><td>The average of the errors computed by the error metric function.  </td></tr>
+<tr>
+<th>standard deviation of error </th><td>The standard deviation of the errors.  </td></tr>
+</table>
+</dd>
+<dt>data_cols </dt>
+<dd><p class="startdd">A comma-separated list of names of data columns to use in the calculation. When its value is NULL, the function will automatically figure out all the column names of the data table. This is only used if the <em>data_id</em> argument is NULL, otherwise it is ignored.</p>
+<p>If the data set has no unique ID for each row, the cross-validation function copies the data set to a temporary table with a randomly assigned ID column. Setting this argument to the list of independent and dependent variables that are to be used in the calculation minimizes the copying workload by only copying the required data.</p>
+<p class="enddd">The new temporary table is dropped after the computation has finished.  </p>
+</dd>
+<dt><em>fold_num</em> </dt>
+<dd>INTEGER, default: 10. Value of k. How many folds validation? Each validation uses 1/fold_num fraction of the data for validation. </dd>
+</dl>
+<p>The parameter arrays for the modelling, prediction and metric functions can include the following special keywords:</p>
+<ul>
+<li><em>%data%</em> &ndash; The argument position for training/validation data</li>
+<li><em>%model%</em> &ndash; The argument position for the output/input of modelling/prediction function</li>
+<li><em>%id%</em> &ndash; The argument position of the unique ID column (user-provided or generated by the cross-validation function, as described above)</li>
+<li><em>%prediction%</em> &ndash; The argument position for the output/input of prediction/metric function</li>
+<li><em>%error%</em> &ndash; The argument position for the output of the metric function</li>
+</ul>
+<p><b>Note</b>: If the argument <em>explore_values</em> is NULL or has zero length, then the cross-validation function will only run a data folding.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<p>This example uses cross validation with an elastic net regression to find the best value of the regularization parameter.</p>
+<ol type="1">
+<li>Populate the table <code>cvtest</code> with 101 dimensional independent variables <code>val</code>, and dependent variable <code>dep</code>.</li>
+<li>Run the general cross-validation function. <pre class="example">
+SELECT madlib.cross_validation_general
+    ( 'madlib.elastic_net_train',
+        '{%data%, %model%, dep, indep, gaussian, 1, lambda, TRUE, NULL, fista,
+          "{eta = 2, max_stepsize = 2, use_active_set = t}",
+          NULL, 2000, 1e-6}'::varchar[],
+        '{varchar, varchar, varchar, varchar, varchar, double precision,
+          double precision, boolean, varchar, varchar, varchar, varchar,
+          integer, double precision}'::varchar[],
+      'lambda',
+      '{0.02, 0.04, 0.06, 0.08, 0.10, 0.12, 0.14, 0.16, 0.18, 0.20,
+        0.22, 0.24, 0.26, 0.28, 0.30, 0.32, 0.34, 0.36}'::varchar[],
+      'madlib.elastic_net_predict',
+        '{%model%, %data%, %id%, %prediction%}'::varchar[],
+        '{text, text, text, text}'::varchar[],
+      'madlib.mse_error',
+        '{%prediction%, %data%, %id%, dep, %error%}'::varchar[],
+        '{varchar, varchar, varchar, varchar, varchar}'::varchar[],
+      'cvtest',
+      NULL::varchar,
+      FALSE,
+      'valid_rst_tbl',
+      '{indep, dep}'::varchar[],
+      10
+);
+</pre></li>
+</ol>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd></dd></dl>
+<p><em>max_locks_per_transaction</em>, which usually is set to the default value of 64, limits the number of tables that can be dropped inside a single transaction (the cross-validation function). Thus, the number of different values of <em>param_explored</em> (or the length of the <em>explored_values</em> array) cannot be too large. For 10-fold cross validation, the limit of <code>length(<em>explored_values</em>)</code> is around 40. If the limit is exceeded, you may get an "out of shared memory" error because <em>max_locks_per_transaction</em> is exceeded.</p>
+<p>One way to overcome this limitation is to run the cross-validation function multiple times, with each run covering a different region of values of the parameter.</p>
+<p>In the future, MADlib may implement cross-validation functions for each individual applicable module, where it is possible to optimize the calculation to avoid dropping tables and prevent exceeding the <em>max_locks_per_transaction</em> limitation. Since module-specific cross-validation functions depend upon the implementation details of the modules to perform the optimization, they will not be as flexible as the generalized cross-validation function provided here.</p>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>One round of cross validation involves partitioning a sample of data into complementary subsets, performing the analysis on one subset (called the training set), and validating the analysis on the other subset (called the validation set or testing set). To reduce variability, multiple rounds of cross validation are performed using different partitions, and the validation results are averaged over the rounds.</p>
+<p>In k-fold cross validation, the original sample is randomly partitioned into k equal sized subsamples. Of the k subsamples, a single subsample is retained as the validation data for testing the model, and the remaining k&minus;1 subsamples are used as training data. The cross-validation process is repeated k times (the folds), with each of the k subsamples used exactly once as the validation data. The k results from the folds can be averaged (or otherwise combined) to produce a single estimation. The advantage of this method over repeated random sub-sampling is that all observations are used for both training and validation, and each observation is used for validation exactly once. 10-fold cross validation is commonly used, but in general k remains an unfixed parameter.</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="cross__validation_8sql__in.html" title="SQL functions for cross validation. ">cross_validation.sql_in</a> documenting the SQL functions. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>



[22/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__matrix.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__matrix.html b/docs/v1.11/group__grp__matrix.html
new file mode 100644
index 0000000..8a0a4c3
--- /dev/null
+++ b/docs/v1.11/group__grp__matrix.html
@@ -0,0 +1,881 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Matrix Operations</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__matrix.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Matrix Operations<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a> &raquo; <a class="el" href="group__grp__arraysmatrix.html">Arrays and Matrices</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#description">Description</a> </li>
+<li class="level1">
+<a href="#operations">Matrix Operations</a> </li>
+<li class="level1">
+<a href="#glossary">Glossary of arguments</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p><a class="anchor" id="description"></a>This module provides a set of basic matrix operations for matrices that are too big to fit in memory. We provide two storage formats for a matrix:</p>
+<ul>
+<li>Dense: The matrix is represented as a distributed collection of 1-D arrays. An example 3x10 matrix would be the table below: <pre>
+ row_id |         row_vec
+--------+-------------------------
+   1    | {9,6,5,8,5,6,6,3,10,8}
+   2    | {8,2,2,6,6,10,2,1,9,9}
+   3    | {3,9,9,9,8,6,3,9,5,6}
+</pre></li>
+</ul>
+<p>A '<em>row</em>' column (called <em>row_id</em> above) provides the row number of each row and a '<em>val</em>' column (called <em>row_vec</em> above) provides each row as an array. <b>The <em>row</em> column should contain a series of integers from 1 to <em>N</em> with no duplicates, where <em>N</em> is the row dimensionality</b>.</p>
+<ul>
+<li>Sparse: The matrix is represented using the row and column indices for each non-zero entry of the matrix. This representation is useful for sparse matrices, containing multiple zero elements. Given below is an example of a sparse 4x7 matrix with just 6 out of 28 entries being non-zero. The dimensionality of the matrix is inferred using the max value in <em>row</em> and <em>col</em> columns. Note the last entry is included (even though it is 0) to provide the dimensionality of the matrix, indicating that the 4th row and 7th column contain all zeros. <pre>
+ row_id | col_id | value
+--------+--------+-------
+      1 |      1 |     9
+      1 |      5 |     6
+      1 |      6 |     6
+      2 |      1 |     8
+      3 |      1 |     3
+      3 |      2 |     9
+      4 |      7 |     0
+(6 rows)
+</pre></li>
+</ul>
+<p><b>For sparse matrices, the <em>row</em> and <em>col</em> columns together should not contain a duplicate entry and the <em>val</em> column should be of scalar (non-array) data type</b>. <br />
+ For comparison, the dense representation of this matrix is shown below. Note the dimensionality of the dense matrix is 4 x 7 since the max value of <em>row</em> and <em>col</em> is 4 and 7 respectively, leading to all zeros in the last row and last column. &#160; </p><pre>
+ row_id |         row_vec
+--------+-------------------------
+   1    | {9,0,0,0,6,6,0}
+   2    | {8,0,0,0,0,0,0}
+   3    | {3,9,0,0,0,0,0}
+   4    | {0,0,0,0,0,0,0}
+</pre><dl class="section note"><dt>Note</dt><dd>The functions below support several numeric types (unless otherwise noted) including SMALLINT, INTEGER, BIGINT, DOUBLE PRECISION (FLOAT8), NUMERIC (internally casted into FLOAT8, so loss of precision can happen).</dd></dl>
+<p><a class="anchor" id="operations"></a></p><dl class="section user"><dt>Matrix Operations</dt><dd></dd></dl>
+<p>Below are the supported matrix operations. The meaning of the arguments and other terms are common to all functions and are provided at the end of the list in the glossary.</p>
+<ul>
+<li><b>Representation</b> <pre class="syntax">
+-- Convert to sparse representation
+&#160; <b>matrix_sparsify</b>( matrix_in, in_args, matrix_out, out_args)
+&#160;
+-- Convert to dense representation
+&#160; <b>matrix_densify</b>( matrix_in, in_args, matrix_out, out_args)
+&#160;
+-- Get dimensions of matrix
+&#160; <b>matrix_ndims</b>( matrix_in, in_args )
+</pre></li>
+<li><b>Mathematical operations</b> <pre class="syntax">
+-- Matrix transposition
+&#160; <b>matrix_trans</b>( matrix_in, in_args, matrix_out, out_args)
+&#160;
+-- Matrix addition
+&#160; <b>matrix_add</b>( matrix_a, a_args, matrix_b, b_args, matrix_out, out_args)
+&#160;
+-- Matrix subtraction
+&#160; <b>matrix_sub</b>( matrix_a, a_args, matrix_b, b_args, matrix_out, out_args)
+&#160;
+-- Matrix multiplication
+&#160; <b>matrix_mult</b>( matrix_a, a_args, matrix_b, b_args, matrix_out, out_args)
+&#160;
+-- Element-wise matrix multiplication
+&#160; <b>matrix_elem_mult</b>( matrix_a, a_args, matrix_b, b_args, matrix_out, out_args)
+&#160;
+-- Multiply matrix with scalar
+&#160; <b>matrix_scalar_mult</b>( matrix_in, in_args, scalar, matrix_out, out_args)
+&#160;
+-- Multiply matrix with vector
+&#160; <b>matrix_vec_mult</b>( matrix_in, in_args, vector)
+</pre></li>
+<li><b>Extraction/visitor methods</b> <pre class="syntax">
+-- Extract row from matrix given row index
+&#160; <b>matrix_extract_row</b>( matrix_in, in_args, index)
+&#160;
+-- Extract column from matrix given column index
+&#160; <b>matrix_extract_col</b>( matrix_in, in_args, index)
+&#160;
+-- Extract main (principal) diagonal elements
+&#160; <b>matrix_extract_diag</b>( matrix_in, in_args)
+</pre></li>
+<li><b>Reduction operations (aggregate across specific dimension)</b> <pre class="syntax">
+-- Get max value along dim. Returns corresponding index if <em>fetch_index</em> = True
+&#160; <b>matrix_max</b>( matrix_in, in_args, dim, matrix_out, fetch_index)
+&#160;
+-- Get min value along dim. Returns corresponding index if <em>fetch_index</em> = True
+&#160; <b>matrix_min</b>( matrix_in, in_args, dim, matrix_out, fetch_index)
+&#160;
+-- Get sum value along dimension
+&#160; <b>matrix_sum</b>( matrix_in, in_args, dim)
+&#160;
+-- Get mean value along dimension
+&#160; <b>matrix_mean</b>( matrix_in, in_args, dim)
+&#160;
+-- Get matrix norm
+&#160; <b>matrix_norm</b>( matrix_in, in_args, norm_type)
+</pre></li>
+<li><b>Creation methods</b> <pre class="syntax">
+-- Create a matrix initialized with ones of given row and column dimension
+&#160; <b>matrix_ones</b>( row_dim, col_dim, matrix_out, out_args)
+&#160;
+-- Create a matrix initialized with zeros of given row and column dimension
+&#160; <b>matrix_zeros</b>( row_dim, col_dim, matrix_out, out_args)
+&#160;
+-- Create an square identity matrix of size dim x dim
+&#160; <b>matrix_identity</b>( dim, matrix_out, out_args)
+&#160;
+-- Create a diag matrix initialized with given diagonal elements
+&#160; <b>matrix_diag</b>( diag_elements, matrix_out, out_args)
+-- Create a matrix initialized with values sampled from a distribution
+-- Supported distributions: normal, uniform, bernoulli
+&#160; <b>matrix_random</b>( distribution, row_dim, col_dim, in_args, matrix_out, out_args )
+</pre></li>
+<li><b>Decomposition operations</b> <dl class="section note"><dt>Note</dt><dd>Please note that the decomposition operations below are only implemented for in-memory operations. The matrix data is collected on a single node and the decomposition is computed. This makes the operations applicable to smaller matrices since the calculation is not distributed across multiple nodes.</dd></dl>
+<pre class="syntax">
+-- Matrix inverse
+&#160; <b>matrix_inverse</b>( matrix_in, in_args, matrix_out, out_args)
+&#160;
+-- Matrix generic inverse
+&#160; <b>matrix_pinv</b>( matrix_in, in_args, matrix_out, out_args)
+&#160;
+-- Matrix eigen extraction
+&#160; <b>matrix_eigen</b>( matrix_in, in_args, matrix_out, out_args)
+&#160;
+-- Matrix Cholesky decomposition
+&#160; <b>matrix_cholesky</b>( matrix_in, in_args, matrix_out_prefix, out_args)
+&#160;
+-- Matrix QR decomposition
+&#160; <b>matrix_qr</b>( matrix_in, in_args, matrix_out_prefix, out_args)
+&#160;
+-- Matrix LU decomposition
+&#160; <b>matrix_lu</b>( matrix_in, in_args, matrix_out_prefix, out_args)
+&#160;
+-- Matrix nuclear norm computing
+&#160; <b>matrix_nuclear_norm</b>( matrix_in, in_args)
+&#160;
+-- Matrix rank computing
+&#160; <b>matrix_rank</b>( matrix_in, in_args)
+</pre></li>
+</ul>
+<p><a class="anchor" id="glossary"></a><b>Glossary</b> </p>
+<p>The table below provides a glossary of the terms used in the matrix operations.</p>
+<dl class="arglist">
+<dt>matrix_in, matrix_a, matrix_b </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the input matrix.</p><ul>
+<li>For functions accepting one matrix, <em>matrix_in</em> denotes the input matrix.</li>
+<li>For functions accepting two matrices, <em>matrix_a</em> denotes the first matrix and <em>matrix_b</em> denotes the second matrix. These two matrices can <b>independently</b> be in either dense or sparse format. </li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>in_args, a_args, b_args </dt>
+<dd><p class="startdd">TEXT. A comma-delimited string containing multiple named arguments of the form "name=value". This argument is used as a container for multiple parameters related to a single matrix.</p>
+<p>The following parameters are supported for this string argument: </p><table class="output">
+<tr>
+<th>row </th><td>(Default: 'row_num') Name of the column containing row index of the matrix.   </td></tr>
+<tr>
+<th>col </th><td>(Default: 'col_num') Name of the column containing column index of the matrix.  </td></tr>
+<tr>
+<th>val </th><td>(Default: 'val') Name of the column containing the entries of the matrix.  </td></tr>
+<tr>
+<th>trans </th><td>(Default: False) Boolean flag to indicate if the matrix should be transposed before the operation. This is currently functional only for <em>matrix_mult</em>.  </td></tr>
+</table>
+<p>For example, the string argument with default values will be 'row=row_num, col=col_num, val=val, trans=False'. Alternatively, the string argument can be set to <em>NULL</em> or be blank ('') if default values are to be used. </p>
+<p class="enddd"></p>
+</dd>
+<dt>matrix_out </dt>
+<dd><p class="startdd">TEXT. Name of the table to store the result matrix.</p>
+<p>For Cholesky, QR and LU decompositions, a prefix (<em>matrix_out_prefix</em>) is used as a basis to build the names of the various output tables.</p>
+<p>For Cholesky decomposition ( <img class="formulaInl" alt="$ PA = LDL* $" src="form_190.png"/>), the following suffixes are added to <em>matrix_out_prefix</em>:</p><ul>
+<li><em>_p</em> for row permutation matrix P</li>
+<li><em>_l</em> for lower triangular factor L</li>
+<li><em>_d</em> for diagonal matrix D</li>
+</ul>
+<p>For QR decomposition ( <img class="formulaInl" alt="$ A = QR $" src="form_191.png"/>) the following suffixes are added to <em>matrix_out_prefix</em>:</p><ul>
+<li><em>_q</em> for orthogonal matrix Q</li>
+<li><em>_r</em> for upper triangular factor R</li>
+</ul>
+<p>For LU decomposition with full pivoting ( <img class="formulaInl" alt="$ PAQ = LU $" src="form_192.png"/>), the following suffixes are added to <em>matrix_out_prefix</em>:</p><ul>
+<li><em>_p</em> for row permutation matrix P</li>
+<li><em>_q</em> for column permutation matrix Q</li>
+<li><em>_l</em> for lower triangular factor L</li>
+<li><em>_u</em> for upper triangular factor U </li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>out_args </dt>
+<dd><p class="startdd">TEXT. A comma-delimited string containing named arguments of the form "name=value". This is an <b>optional parameter</b> and the default value is set as follows:</p><ul>
+<li>For functions with one input matrix, default <em>out_args</em> will the be same as specified in <em>in_args</em>.</li>
+<li>For functions with two input matrices, default <em>out_args</em> will be the same as specified in <em>a_args</em>.</li>
+</ul>
+<p>The following parameters are supported for this string argument: </p><table class="output">
+<tr>
+<th>row </th><td>Name of the column containing row index of the matrix.   </td></tr>
+<tr>
+<th>col </th><td>Name of the column containing column index of the matrix.  </td></tr>
+<tr>
+<th>val </th><td>Name of the column containing the entries of the matrix.  </td></tr>
+<tr>
+<th>fmt </th><td>Format of the output matrix. It could be either 'dense' or 'sparse'. When 'fmt' is not provided, the output fmt is inferred from the input matrices.  </td></tr>
+</table>
+<dl class="section note"><dt>Note</dt><dd>One exception is for <em>matrix_eigen</em>: the default output column name is <em>’eigen_values’</em> in the format <em>(real, imaginary)</em>.</dd></dl>
+</dd>
+<dt>index </dt>
+<dd><p class="startdd">INTEGER. An integer representing a row or column index of the matrix. Should be a number from 1 to <em>N</em>, where <em>N</em> is the maximum size of the dimension.</p>
+<p class="enddd"></p>
+</dd>
+<dt>dim </dt>
+<dd><p class="startdd">INTEGER. Should either be 1 or 2. This value indicates the dimension to operate along for the reduction/aggregation operations. <b>The value of <em>dim</em> should be interpreted as the dimension to be flattened i.e. whose length reduces to 1 in the result.</b></p>
+<p>For any reduction function applied on an <em>N x M</em> matrix:</p>
+<ul>
+<li>if <em>dim=1</em>, operation is applied on successive elements in each column; return value is a single vector with <em>M</em> elements (i.e. matrix with 1 row and <em>M</em> columns). <br />
+</li>
+<li>if <em>dim=2</em>, operation is applied on successive elements in each row; return value is a single vector with <em>N</em> elements (i.e. matrix with <em>N</em> rows and 1 column). </li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>row_dim </dt>
+<dd><p class="startdd">INTEGER. Should be greater than 0. This value indicates the row dimension of result matrix. </p>
+<p class="enddd"></p>
+</dd>
+<dt>col_dim </dt>
+<dd><p class="startdd">INTEGER. Should be greater than 0. This value indicates the column dimension of result matrix. </p>
+<p class="enddd"></p>
+</dd>
+<dt>diag_elements </dt>
+<dd><p class="startdd">ARRAY OF FLOAT. Should not be empty. This value indicates the float array which is used to generate diag elements of result output matrix. </p>
+<p class="enddd"></p>
+</dd>
+<dt>norm_type </dt>
+<dd><p class="startdd">TEXT. Optional parameter. Defaults to Frobenius norm. Other supported norms for this string argument:</p>
+<table class="output">
+<tr>
+<th>'one' or 'o' </th><td>1 norm   </td></tr>
+<tr>
+<th>float &gt; 0 </th><td>Element-wise norm  </td></tr>
+<tr>
+<th>'inf' or 'i' </th><td>Infinite norm  </td></tr>
+<tr>
+<th>'max' or 'm' </th><td>Max absolute value norm  </td></tr>
+<tr>
+<th>'fro' or 'f' </th><td>Frobenius norm (default)  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<p>Here are some examples of matrix operations in dense format. Later on this page we will show examples of matrix operations in sparse format.</p>
+<ul>
+<li>First let’s create example data tables in dense format: <pre class="syntax">
+CREATE TABLE "mat_A" (
+        row_id integer,
+        row_vec integer[]
+);
+INSERT INTO "mat_A" (row_id, row_vec) VALUES (1, '{9,6,5,8,5,6,6,3,10,8}');
+INSERT INTO "mat_A" (row_id, row_vec) VALUES (2, '{8,2,2,6,6,10,2,1,9,9}');
+INSERT INTO "mat_A" (row_id, row_vec) VALUES (3, '{3,9,9,9,8,6,3,9,5,6}');
+INSERT INTO "mat_A" (row_id, row_vec) VALUES (4, '{6,4,2,2,2,7,8,8,0,7}');
+INSERT INTO "mat_A" (row_id, row_vec) VALUES (5, '{6,8,9,9,4,6,9,5,7,7}');
+INSERT INTO "mat_A" (row_id, row_vec) VALUES (6, '{4,10,7,3,9,5,9,2,3,4}');
+INSERT INTO "mat_A" (row_id, row_vec) VALUES (7, '{8,10,7,10,1,9,7,9,8,7}');
+INSERT INTO "mat_A" (row_id, row_vec) VALUES (8, '{7,4,5,6,2,8,1,1,4,8}');
+INSERT INTO "mat_A" (row_id, row_vec) VALUES (9, '{8,8,8,5,2,6,9,1,8,3}');
+INSERT INTO "mat_A" (row_id, row_vec) VALUES (10, '{4,6,3,2,6,4,1,2,3,8}');
+
+CREATE TABLE "mat_B" (
+    row_id integer,
+    vector integer[]
+);
+INSERT INTO "mat_B" (row_id, vector) VALUES (1, '{9,10,2,4,6,5,3,7,5,6}');
+INSERT INTO "mat_B" (row_id, vector) VALUES (2, '{5,3,5,2,8,6,9,7,7,6}');
+INSERT INTO "mat_B" (row_id, vector) VALUES (3, '{0,1,2,3,2,7,7,3,10,1}');
+INSERT INTO "mat_B" (row_id, vector) VALUES (4, '{2,9,0,4,3,6,8,6,3,4}');
+INSERT INTO "mat_B" (row_id, vector) VALUES (5, '{3,8,7,7,0,5,3,9,2,10}');
+INSERT INTO "mat_B" (row_id, vector) VALUES (6, '{5,3,1,7,6,3,5,3,6,4}');
+INSERT INTO "mat_B" (row_id, vector) VALUES (7, '{4,8,4,4,2,7,10,0,3,3}');
+INSERT INTO "mat_B" (row_id, vector) VALUES (8, '{4,6,0,1,3,1,6,6,9,8}');
+INSERT INTO "mat_B" (row_id, vector) VALUES (9, '{6,5,1,7,2,7,10,6,0,6}');
+INSERT INTO "mat_B" (row_id, vector) VALUES (10, '{1,4,4,4,8,5,2,8,5,5}');
+</pre></li>
+<li>Transpose a matrix <pre class="syntax">
+SELECT madlib.matrix_trans('"mat_B"', 'row=row_id, val=vector',
+                           'mat_r');
+SELECT * FROM mat_r ORDER BY row_id;
+</pre> <pre class="result">
+-- Note that the result matrix has inherited 'vector' as the name of the value column by default
+ row_id |         vector
+--------+-------------------------
+      1 | {9,5,0,2,3,5,4,4,6,1}
+      2 | {10,3,1,9,8,3,8,6,5,4}
+      3 | {2,5,2,0,7,1,4,0,1,4}
+      4 | {4,2,3,4,7,7,4,1,7,4}
+      5 | {6,8,2,3,0,6,2,3,2,8}
+      6 | {5,6,7,6,5,3,7,1,7,5}
+      7 | {3,9,7,8,3,5,10,6,10,2}
+      8 | {7,7,3,6,9,3,0,6,6,8}
+      9 | {5,7,10,3,2,6,3,9,0,5}
+      10 | {6,6,1,4,10,4,3,8,6,5}
+(10 rows)
+</pre></li>
+<li>Extract main diagonal of a matrix <pre class="syntax">
+SELECT madlib.matrix_extract_diag('"mat_B"', 'row=row_id, val=vector');
+</pre> <pre class="result">
+-- Note the result is an array
+         matrix_extract_diag
+---------------------------------
+{9,3,2,4,0,3,10,6,0,5}
+(1 row)
+</pre></li>
+<li>Add two matrices <pre class="syntax">
+SELECT madlib.matrix_add('"mat_A"', 'row=row_id, val=row_vec',
+                         '"mat_B"', 'row=row_id, val=vector',
+                         'mat_r', 'val=vector, fmt=dense');
+SELECT * FROM mat_r ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |            vector
+--------+-------------------------------
+      1 | {18,16,7,12,11,11,9,10,15,14}
+      2 | {13,5,7,8,14,16,11,8,16,15}
+      3 | {3,10,11,12,10,13,10,12,15,7}
+      4 | {8,13,2,6,5,13,16,14,3,11}
+      5 | {9,16,16,16,4,11,12,14,9,17}
+      6 | {9,13,8,10,15,8,14,5,9,8}
+      7 | {12,18,11,14,3,16,17,9,11,10}
+      8 | {11,10,5,7,5,9,7,7,13,16}
+      9 | {14,13,9,12,4,13,19,7,8,9}
+      10 | {5,10,7,6,14,9,3,10,8,13}
+(10 rows)
+</pre></li>
+<li>Multiply two matrices <pre class="syntax">
+SELECT madlib.matrix_mult('"mat_A"', 'row=row_id, val=row_vec',
+                          '"mat_B"', 'row=row_id, val=vector, trans=true',
+                          'mat_r');
+SELECT * FROM mat_r ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |                  row_vec
+--------+-------------------------------------------
+     1  | {380,373,251,283,341,303,302,309,323,281}
+     2  | {318,318,222,221,269,259,236,249,264,248}
+     3  | {382,366,216,300,397,276,277,270,313,338}
+     4  | {275,284,154,244,279,183,226,215,295,204}
+     5  | {381,392,258,319,394,298,342,302,360,300}
+     6  | {321,333,189,276,278,232,300,236,281,250}
+     7  | {443,411,282,365,456,318,360,338,406,330}
+     8  | {267,240,150,186,270,194,210,184,233,193}
+     9  | {322,328,234,264,291,245,317,253,291,219}
+     10 | {246,221,109,173,222,164,167,185,181,189}
+(10 rows)
+</pre></li>
+<li>Create a diagonal matrix <pre class="syntax">
+SELECT madlib.matrix_diag(array[9,6,3,10],
+                          'mat_r', 'row=row_id, col=col_id, val=val');
+SELECT * FROM mat_r ORDER BY row_id::bigint;
+</pre> <pre class="result">
+ row_id | col_id  |  val
+--------+---------+--------
+      1 |       1 |      9
+      2 |       2 |      6
+      3 |       3 |      3
+      4 |       4 |     10
+(11 rows)
+</pre></li>
+<li>Create an identity matrix <pre class="syntax">
+SELECT madlib.matrix_identity(4, 'mat_r', 'row=row_id,col=col_id,val=val');
+SELECT * FROM mat_r ORDER BY row_id;
+</pre> <pre class="result">
+ row_id | col_id  |  val
+--------+---------+--------
+      1 |       1 |      1
+      2 |       2 |      1
+      3 |       3 |      1
+      4 |       4 |      1
+(5 rows)
+</pre></li>
+<li>Extract row and column from a matrix by specifying index <pre class="syntax">
+SELECT madlib.matrix_extract_row('"mat_A"', 'row=row_id, val=row_vec', 2) as row,
+       madlib.matrix_extract_col('"mat_A"', 'row=row_id, val=row_vec', 3) as col;
+</pre> <pre class="result">
+          row           |          col
+------------------------+-----------------------
+ {8,2,2,6,6,10,2,1,9,9} | {5,2,9,2,9,7,7,5,8,3}
+(1 rows)
+</pre></li>
+<li>Get min and max values along a specific dimension, as well as the corresponding indices. Note that in this example <em>dim=2</em> implies that the min and max is computed on each row, returning a column vector i.e. the column (dim=2) is flattened. <pre class="syntax">
+SELECT madlib.matrix_max('"mat_A"', 'row=row_id, val=row_vec', 2, 'mat_max_r', true),
+       madlib.matrix_min('"mat_A"', 'row=row_id, val=row_vec', 2, 'mat_min_r', true);
+SELECT * from mat_max_r;
+SELECT * from mat_min_r;
+</pre> <pre class="result">
+         index         |            max
+-----------------------+---------------------------
+ {9,6,2,7,3,2,2,6,7,10} | {10,10,9,8,9,10,10,8,9,8}
+(1 rows)
+&#160;
+         index         |          min
+-----------------------+-----------------------
+ {8,8,1,9,5,8,5,7,8,7} | {3,1,3,0,4,2,1,1,1,1}
+(1 rows)
+</pre></li>
+<li>Initialize matrix with zeros in sparse format <pre class="syntax">
+SELECT madlib.matrix_zeros(5, 4, 'mat_r', 'row=row_id, col=col_id, val=entry');
+SELECT * FROM mat_r;
+</pre> <pre class="result">
+ row_id |  col_id | entry
+--------+---------+--------
+      5 |       4 |    0
+(1 rows)
+</pre></li>
+<li>Initialize matrix with zeros in dense format  <pre class="syntax">
+SELECT madlib.matrix_zeros(5, 4, 'mat_r', 'fmt=dense');
+SELECT * FROM mat_r ORDER BY row;
+</pre> <pre class="result">
+  row |    val
+-----+-----------
+   1 | {0,0,0,0}
+   2 | {0,0,0,0}
+   3 | {0,0,0,0}
+   4 | {0,0,0,0}
+   5 | {0,0,0,0}
+(5 rows)
+</pre></li>
+<li>Initialize matrix with ones  <pre class="syntax">
+SELECT madlib.matrix_ones(5, 4, 'mat_r', 'row=row,col=col, val=val');
+SELECT * FROM mat_r;
+</pre> <pre class="result">
+ row | col | val
+-----+-----+-----
+   1 |   1 |   1
+   1 |   2 |   1
+   1 |   3 |   1
+   1 |   4 |   1
+   2 |   1 |   1
+   2 |   2 |   1
+   2 |   3 |   1
+   2 |   4 |   1
+   3 |   1 |   1
+   3 |   2 |   1
+   3 |   3 |   1
+   3 |   4 |   1
+   4 |   1 |   1
+   4 |   2 |   1
+   4 |   3 |   1
+   4 |   4 |   1
+   5 |   1 |   1
+   5 |   2 |   1
+   5 |   3 |   1
+   5 |   4 |   1
+(20 rows)
+</pre></li>
+<li>Initialize matrix with ones in dense format  <pre class="syntax">
+SELECT madlib.matrix_ones(5, 4, 'mat_r', 'fmt=dense');
+SELECT * FROM mat_r ORDER BY row;
+</pre> <pre class="result">
+  row |    val
+-----+-----------
+   1 | {1,1,1,1}
+   2 | {1,1,1,1}
+   3 | {1,1,1,1}
+   4 | {1,1,1,1}
+   5 | {1,1,1,1}
+(5 rows)
+</pre></li>
+<li>Element-wise multiplication between two matrices <pre class="syntax">
+SELECT madlib.matrix_elem_mult('"mat_A"', 'row=row_id, val=row_vec',
+                               '"mat_B"', 'row=row_id, val=vector',
+                               'mat_r', 'val=vector');
+SELECT * FROM mat_r ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |             vector
+--------+---------------------------------
+     1  | {81,60,10,32,30,30,18,21,50,48}
+     2  | {40,6,10,12,48,60,18,7,63,54}
+     3  | {0,9,18,27,16,42,21,27,50,6}
+     4  | {12,36,0,8,6,42,64,48,0,28}
+     5  | {18,64,63,63,0,30,27,45,14,70}
+     6  | {20,30,7,21,54,15,45,6,18,16}
+     7  | {32,80,28,40,2,63,70,0,24,21}
+     8  | {28,24,0,6,6,8,6,6,36,64}
+     9  | {48,40,8,35,4,42,90,6,0,18}
+     10 | {4,24,12,8,48,20,2,16,15,40}
+</pre></li>
+<li>Get sum values along a dimension. In this example, the sum is computed for each row (i.e. column is flattened since dim=2). <pre class="syntax">
+SELECT madlib.matrix_sum('"mat_A"', 'row=row_id, val=row_vec', 2);
+</pre> <pre class="result">
+           matrix_sum
+---------------------------------
+ {66,55,67,46,70,56,76,46,58,39}
+(1 rows)
+</pre></li>
+<li>Get mean values along dimension <pre class="syntax">
+SELECT madlib.matrix_mean('"mat_A"', 'row=row_id, val=row_vec', 2);
+</pre> <pre class="result">
+               matrix_mean
+-----------------------------------------
+ {6.6,5.5,6.7,4.6,7,5.6,7.6,4.6,5.8,3.9}
+(1 rows)
+</pre></li>
+<li>Compute matrix norm. In this example, we ask for the Euclidean norm: <pre class="syntax">
+SELECT madlib.matrix_norm('"mat_A"', 'row=row_id, val=row_vec', '2');
+</pre> <pre class="result">
+  matrix_norm
+---------------
+ 64.1014820421
+(1 row)
+</pre></li>
+<li>Multiply matrix with scalar <pre class="syntax">
+SELECT madlib.matrix_scalar_mult('"mat_A"', 'row=row_id, val=row_vec', 3, 'mat_r');
+SELECT * FROM mat_r ORDER BY row_id;
+</pre> <pre class="result">
+ row_id |             row_vec
+--------+---------------------------------
+      1 | {27,18,15,24,15,18,18,9,30,24}
+      2 | {24,6,6,18,18,30,6,3,27,27}
+      3 | {9,27,27,27,24,18,9,27,15,18}
+      4 | {18,12,6,6,6,21,24,24,0,21}
+      5 | {18,24,27,27,12,18,27,15,21,21}
+      6 | {12,30,21,9,27,15,27,6,9,12}
+      7 | {24,30,21,30,3,27,21,27,24,21}
+      8 | {21,12,15,18,6,24,3,3,12,24}
+      9 | {24,24,24,15,6,18,27,3,24,9}
+     10 | {12,18,9,6,18,12,3,6,9,24}
+(10 rows)
+</pre></li>
+<li>Get the row dimension and column dimension of matrix <pre class="syntax">
+SELECT madlib.matrix_ndims('"mat_A"', 'row=row_id, val=row_vec');
+</pre> <pre class="result">
+ matrix_ndims
+--------------
+ {10,10}
+(1 row)
+</pre></li>
+<li>Multiply matrix with vector <pre class="syntax">
+SELECT madlib.matrix_vec_mult('"mat_A"', 'row=row_id, val=row_vec',
+                              array[1,2,3,4,5,6,7,8,9,10]);
+</pre> <pre class="result">
+              matrix_vec_mult
+-------------------------------------------
+ {365,325,358,270,377,278,411,243,287,217}
+(10 rows)
+</pre></li>
+<li>Inverse of matrix <pre class="syntax">
+SELECT madlib.matrix_inverse('"mat_A"', 'row=row_id, val=row_vec', 'mat_r');
+SELECT row_vec FROM mat_r ORDER BY row_id;
+</pre></li>
+<li>Generic inverse of matrix <pre class="syntax">
+SELECT madlib.matrix_pinv('"mat_A"', 'row=row_id, val=row_vec', 'mat_r');
+SELECT row_vec FROM mat_r ORDER BY row_id;
+</pre></li>
+<li>Eigen values of matrix (note default column name of eigenvalues) <pre class="syntax">
+SELECT madlib.matrix_eigen('"mat_A"', 'row=row_id, val=row_vec', 'mat_r');
+SELECT eigen_values FROM mat_r ORDER BY row_id;
+</pre></li>
+<li>Cholesky decomposition of matrix <pre class="syntax">
+SELECT madlib.matrix_cholesky('"mat_A"', 'row=row_id, val=row_vec', 'matrix_out_prefix');
+SELECT row_vec FROM matrix_out_prefix_p ORDER BY row_id;
+SELECT row_vec FROM matrix_out_prefix_l ORDER BY row_id;
+SELECT row_vec FROM matrix_out_prefix_d ORDER BY row_id;
+</pre></li>
+<li>QR decomposition of matrix <pre class="syntax">
+SELECT madlib.matrix_qr('"mat_A"', 'row=row_id, val=row_vec', 'matrix_out_prefix');
+SELECT row_vec FROM matrix_out_prefix_q ORDER BY row_id;
+SELECT row_vec FROM matrix_out_prefix_r ORDER BY row_id;
+</pre></li>
+<li>LU decomposition of matrix <pre class="syntax">
+SELECT madlib.matrix_lu('"mat_A"', 'row=row_id, val=row_vec', 'matrix_out_prefix');
+SELECT row_vec FROM matrix_out_prefix_l ORDER BY row_id;
+SELECT row_vec FROM matrix_out_prefix_u ORDER BY row_id;
+SELECT row_vec FROM matrix_out_prefix_p ORDER BY row_id;
+SELECT row_vec FROM matrix_out_prefix_q ORDER BY row_id;
+</pre></li>
+<li>Nuclear norm of matrix <pre class="syntax">
+SELECT madlib.matrix_nuclear_norm('"mat_A"', 'row=row_id, val=row_vec');
+</pre> <pre class="result">
+ matrix_nuclear_norm
+---------------------
+       118.852685995
+(1 row)
+</pre></li>
+<li>Rank of matrix <pre class="syntax">
+SELECT madlib.matrix_rank('"mat_A"', 'row=row_id, val=row_vec');
+</pre> <pre class="result">
+ matrix_rank
+-------------
+          10
+(1 row)
+</pre></li>
+</ul>
+<p>Below are some examples of matrix operations in sparse format.</p>
+<ul>
+<li>Convert a matrix from dense to sparse format <pre class="syntax">
+SELECT madlib.matrix_sparsify('"mat_B"', 'row=row_id, val=vector',
+                              '"mat_B_sparse"', 'col=col_id, val=val');
+SELECT * FROM "mat_B_sparse" ORDER BY row_id, col_id;
+</pre></li>
+<li>Create a matrix in sparse format. <pre class="syntax">
+CREATE TABLE "mat_A_sparse" (
+    "rowNum" integer,
+    col_num integer,
+    entry integer
+);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (1, 1, 9);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (1, 2, 6);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (1, 7, 3);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (1, 8, 10);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (1, 9, 8);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (2, 1, 8);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (2, 2, 2);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (2, 3, 6);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (3, 5, 6);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (3, 6, 3);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (7, 1, 7);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (8, 2, 8);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (8, 3, 5);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (9, 1, 6);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (9, 2, 3);
+INSERT INTO "mat_A_sparse" ("rowNum", col_num, entry) VALUES (10, 10, 0);
+</pre></li>
+<li>Get the row_dims and col_dims of a matrix in sparse format <pre class="syntax">
+SELECT madlib.matrix_ndims('"mat_A_sparse"', 'row="rowNum", val=entry')
+</pre> <pre class="result">
+ matrix_ndims
+--------------
+ {10,10}
+(1 row)
+</pre></li>
+<li>Transpose a matrix in sparse format <pre class="syntax">
+-- Note the double quotes for "rowNum" are required as per PostgreSQL rules since “N” is capitalized
+SELECT madlib.matrix_trans('"mat_A_sparse"', 'row="rowNum", val=entry',
+                           'matrix_r_sparse');
+SELECT "rowNum", col_num, entry FROM matrix_r_sparse ORDER BY col_num;
+</pre> <pre class="result">
+ rowNum | col_num | entry
+--------+---------+-------
+      1 |       1 |     9
+      2 |       1 |     6
+      7 |       1 |     3
+      8 |       1 |    10
+      9 |       1 |     8
+      1 |       2 |     8
+      2 |       2 |     2
+      3 |       2 |     6
+      5 |       3 |     6
+      6 |       3 |     3
+      1 |       7 |     7
+      2 |       8 |     8
+      3 |       8 |     5
+      1 |       9 |     6
+      2 |       9 |     3
+     10 |      10 |     0
+(16 rows)
+</pre></li>
+<li>Main diagonal of a matrix in sparse format <pre class="syntax">
+SELECT madlib.matrix_extract_diag('"mat_A_sparse"', 'row="rowNum", val=entry');
+</pre> <pre class="result">
+ matrix_extract_diag
+-----------------
+{9,2,0,0,0,0,0,0,0,0}
+(1 row)
+</pre></li>
+<li>Add two sparse matrices then convert to dense format <pre class="syntax">
+SELECT madlib.matrix_add('"mat_A_sparse"', 'row="rowNum", val=entry',
+                         '"mat_B_sparse"', 'row=row_id, col=col_id, val=val',
+                         'matrix_r_sparse', 'col=col_out');
+SELECT madlib.matrix_densify('matrix_r_sparse', 'row="rowNum", col=col_out, val=entry',
+                             'matrix_r');
+SELECT * FROM matrix_r ORDER BY "rowNum";
+</pre> <pre class="result">
+ rowNum |           entry
+--------+---------------------------
+      1 | {18,16,2,4,6,5,6,17,13,6}
+      2 | {13,5,11,2,8,6,9,7,7,6}
+      3 | {0,1,2,3,8,10,7,3,10,1}
+      4 | {2,9,0,4,3,6,8,6,3,4}
+      5 | {3,8,7,7,0,5,3,9,2,10}
+      6 | {5,3,1,7,6,3,5,3,6,4}
+      7 | {11,8,4,4,2,7,10,0,3,3}
+      8 | {4,14,5,1,3,1,6,6,9,8}
+      9 | {12,8,1,7,2,7,10,6,0,6}
+     10 | {1,4,4,4,8,5,2,8,5,5}
+(10 rows)
+</pre></li>
+<li>Multiply two sparse matrices <pre class="syntax">
+SELECT madlib.matrix_mult('"mat_A_sparse"', 'row="rowNum", col=col_num, val=entry',
+                          '"mat_B_sparse"', 'row=row_id, col=col_id, val=val, trans=true',
+                          'matrix_r');
+SELECT * FROM matrix_r ORDER BY "rowNum";
+</pre> <pre class="result">
+ rowNum |                   entry
+--------+-------------------------------------------
+      1 | {260,216,137,180,190,156,138,222,174,159}
+      2 | {104,76,14,34,82,52,72,44,64,40}
+      3 | {51,66,33,36,15,45,33,21,33,63}
+      4 | {0,0,0,0,0,0,0,0,0,0}
+      5 | {0,0,0,0,0,0,0,0,0,0}
+      6 | {0,0,0,0,0,0,0,0,0,0}
+      7 | {63,35,0,14,21,35,28,28,42,7}
+      8 | {90,49,18,72,99,29,84,48,45,52}
+      9 | {84,39,3,39,42,39,48,42,51,18}
+     10 | {0,0,0,0,0,0,0,0,0,0}
+(10 rows)
+</pre></li>
+<li>Initialize matrix with ones  <pre class="syntax">
+SELECT madlib.matrix_ones(5, 4, 'mat_r', 'row=row,col=col, val=val');
+SELECT * FROM mat_r ORDER BY row, col;
+</pre> <pre class="result">
+ row | col | val
+-----+-----+-----
+   1 |   1 |   1
+   1 |   2 |   1
+   1 |   3 |   1
+   1 |   4 |   1
+   2 |   1 |   1
+   2 |   2 |   1
+   2 |   3 |   1
+   2 |   4 |   1
+   3 |   1 |   1
+   3 |   2 |   1
+   3 |   3 |   1
+   3 |   4 |   1
+   4 |   1 |   1
+   4 |   2 |   1
+   4 |   3 |   1
+   4 |   4 |   1
+   5 |   1 |   1
+   5 |   2 |   1
+   5 |   3 |   1
+   5 |   4 |   1
+(20 rows)
+</pre></li>
+<li>Initialize matrix with zeros in sparse format  <pre class="syntax">
+SELECT madlib.matrix_zeros(5, 4, 'mat_r', 'row=row_id, col=col_id, val=entry');
+SELECT * FROM mat_r;
+</pre> <pre class="result">
+ row_id |  col_id | entry
+--------+---------+--------
+      5 |       4 |    0
+(1 rows)
+</pre></li>
+<li>Compute matrix norm on sparse matrix. In this example, we ask for the Euclidean norm: <pre class="syntax">
+SELECT madlib.matrix_norm('"mat_A_sparse"', 'row="rowNum", col=col_num, val=entry', '2');
+</pre> <pre class="result">
+  matrix_norm
+---------------
+ 24.9399278267
+(1 row)
+</pre></li>
+</ul>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="array__ops_8sql__in.html" title="implementation of array operations in SQL ">array_ops.sql_in</a> documents the array operations <a class="el" href="group__grp__array.html">Array Operations</a></p>
+<p>File <a class="el" href="matrix__ops_8sql__in.html" title="Implementation of matrix operations in SQL. ">matrix_ops.sql_in</a> for list of functions and usage. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__matrix__factorization.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__matrix__factorization.html b/docs/v1.11/group__grp__matrix__factorization.html
new file mode 100644
index 0000000..adefca0
--- /dev/null
+++ b/docs/v1.11/group__grp__matrix__factorization.html
@@ -0,0 +1,135 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Matrix Factorization</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__matrix__factorization.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Matrix Factorization<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a> &raquo; <a class="el" href="group__grp__arraysmatrix.html">Arrays and Matrices</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__lmf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__lmf.html">Low-rank Matrix Factorization</a></td></tr>
+<tr class="memdesc:group__grp__lmf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs low-rank matrix factorization for an incomplete matrix. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__svd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__svd.html">Singular Value Decomposition</a></td></tr>
+<tr class="memdesc:group__grp__svd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs factorization of dense and sparse matrices. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__matrix__factorization.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__matrix__factorization.js b/docs/v1.11/group__grp__matrix__factorization.js
new file mode 100644
index 0000000..51d5bbd
--- /dev/null
+++ b/docs/v1.11/group__grp__matrix__factorization.js
@@ -0,0 +1,5 @@
+var group__grp__matrix__factorization =
+[
+    [ "Low-rank Matrix Factorization", "group__grp__lmf.html", null ],
+    [ "Singular Value Decomposition", "group__grp__svd.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__mdl.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__mdl.html b/docs/v1.11/group__grp__mdl.html
new file mode 100644
index 0000000..0ce1b14
--- /dev/null
+++ b/docs/v1.11/group__grp__mdl.html
@@ -0,0 +1,136 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Model Evaluation</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__mdl.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Model Evaluation</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>Contains functions for evaluating accuracy and validation of predictive methods. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__validation"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__validation.html">Cross Validation</a></td></tr>
+<tr class="memdesc:group__grp__validation"><td class="mdescLeft">&#160;</td><td class="mdescRight">Estimates the fit of a predictive model given a data set and specifications for the training, prediction, and error estimation functions. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__pred"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__pred.html">Prediction Metrics</a></td></tr>
+<tr class="memdesc:group__grp__pred"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides various prediction accuracy metrics. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__mdl.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__mdl.js b/docs/v1.11/group__grp__mdl.js
new file mode 100644
index 0000000..f2e3c69
--- /dev/null
+++ b/docs/v1.11/group__grp__mdl.js
@@ -0,0 +1,5 @@
+var group__grp__mdl =
+[
+    [ "Cross Validation", "group__grp__validation.html", null ],
+    [ "Prediction Metrics", "group__grp__pred.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__mfvsketch.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__mfvsketch.html b/docs/v1.11/group__grp__mfvsketch.html
new file mode 100644
index 0000000..460b5d4
--- /dev/null
+++ b/docs/v1.11/group__grp__mfvsketch.html
@@ -0,0 +1,170 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: MFV (Most Frequent Values)</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__mfvsketch.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">MFV (Most Frequent Values)<div class="ingroups"><a class="el" href="group__grp__early__stage.html">Early Stage Development</a> &raquo; <a class="el" href="group__grp__sketches.html">Cardinality Estimators</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#syntax">Syntax</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><dl class="section warning"><dt>Warning</dt><dd><em> This MADlib method is still in early stage development. There may be some issues that will be addressed in a future version. Interface and implementation is subject to change. </em></dd></dl>
+<p>MFVSketch: Most Frequent Values variant of CountMin sketch, implemented as a UDA.</p>
+<p>Produces an n-bucket histogram for a column where each bucket counts one of the most frequent values in the column. The output is an array of doubles {value, count} in descending order of frequency; counts are approximated via CountMin sketches. Ties are handled arbitrarily.</p>
+<p><a class="anchor" id="syntax"></a> </p><pre class="syntax">
+mfvsketch_top_histogram( col_name,
+                         n
+                       )
+</pre><p>The MFV frequent-value UDA comes in two different versions:</p><ul>
+<li>a faithful implementation that preserves the approximation guarantees of Cormode/Muthukrishnan,</li>
+<li>and a "quick and dirty" version that can do parallel aggregation in Greenplum at the expense of missing some of the most frequent values.</li>
+</ul>
+<p>In PostgreSQL the two UDAs are identical. In Greenplum, the quick version should produce good results unless the number of values requested is very small, or the distribution is very flat.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Generate some data. <pre class="example">
+CREATE TABLE data(class INT, a1 INT);
+INSERT INTO data SELECT 1,1 FROM generate_series(1,10000);
+INSERT INTO data SELECT 1,2 FROM generate_series(1,15000);
+INSERT INTO data SELECT 1,3 FROM generate_series(1,10000);
+INSERT INTO data SELECT 2,5 FROM generate_series(1,1000);
+INSERT INTO data SELECT 2,6 FROM generate_series(1,1000);
+</pre></li>
+<li>Produce a histogram of 5 bins and return the most frequent value and associated count in each bin. <pre class="example">
+SELECT mfvsketch_top_histogram( a1,
+                                5
+                              )
+FROM data;
+</pre> Result: <pre class="result">
+                mfvsketch_top_histogram
+&#160;-------------------------------------------------------------
+[0:4][0:1]={{2,15000},{1,10000},{3,10000},{5,1000},{6,1000}}
+(1 row)
+</pre></li>
+</ol>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd>This method is not usually called an MFV sketch in the literature; it is a natural extension of the CountMin sketch.</dd></dl>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="sketch_8sql__in.html" title="SQL functions for sketch-based approximations of descriptive statistics. ">sketch.sql_in</a> documenting the SQL functions.</p>
+<p>Module <a class="el" href="group__grp__countmin.html">CountMin (Cormode-Muthukrishnan)</a>. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[32/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/glm_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/glm_8sql__in.html b/docs/v1.11/glm_8sql__in.html
new file mode 100644
index 0000000..b13bc97
--- /dev/null
+++ b/docs/v1.11/glm_8sql__in.html
@@ -0,0 +1,1913 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: glm.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('glm_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">glm.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for GLM (Poisson)  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ace09cf40c436db6c065ef2606781cc93"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#ace09cf40c436db6c065ef2606781cc93">__glm_merge_states</a> (bytea8 state1, bytea8 state2)</td></tr>
+<tr class="separator:ace09cf40c436db6c065ef2606781cc93"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e32144641562f061625c4d211912a01"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a7e32144641562f061625c4d211912a01">__glm_final</a> (bytea8 state)</td></tr>
+<tr class="separator:a7e32144641562f061625c4d211912a01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48ccc5647dc8d0b6211ae3445d7d533e"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a48ccc5647dc8d0b6211ae3445d7d533e">__glm_poisson_log_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:a48ccc5647dc8d0b6211ae3445d7d533e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a504fa161f5dde9155dd962456597a5c6"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a504fa161f5dde9155dd962456597a5c6">__glm_poisson_log_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a504fa161f5dde9155dd962456597a5c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a041ee0e1e80ea5cf07f39b8c13f8accb"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a041ee0e1e80ea5cf07f39b8c13f8accb">__glm_poisson_identity_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:a041ee0e1e80ea5cf07f39b8c13f8accb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aff5070482e51bf7ce3704febfa8f3b58"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#aff5070482e51bf7ce3704febfa8f3b58">__glm_poisson_identity_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:aff5070482e51bf7ce3704febfa8f3b58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa6b93dd92e49df7e3202db15d9e50c6c"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#aa6b93dd92e49df7e3202db15d9e50c6c">__glm_poisson_sqrt_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:aa6b93dd92e49df7e3202db15d9e50c6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a051510c3a79c019749fd3f04db41c438"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a051510c3a79c019749fd3f04db41c438">__glm_poisson_sqrt_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a051510c3a79c019749fd3f04db41c438"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa181df655a47f71f0ce0388ce112282b"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#aa181df655a47f71f0ce0388ce112282b">__glm_gaussian_identity_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:aa181df655a47f71f0ce0388ce112282b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33377c70ad934fdcea9206a9ef2ccf1c"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a33377c70ad934fdcea9206a9ef2ccf1c">__glm_gaussian_identity_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a33377c70ad934fdcea9206a9ef2ccf1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6aa9b05a9e74e3bf5e9121ec58bffe4f"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a6aa9b05a9e74e3bf5e9121ec58bffe4f">__glm_gaussian_log_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:a6aa9b05a9e74e3bf5e9121ec58bffe4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1dfe1977eb90fb628cbc0b722bb29403"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a1dfe1977eb90fb628cbc0b722bb29403">__glm_gaussian_log_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a1dfe1977eb90fb628cbc0b722bb29403"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a695c305abf7d59e224b7c7a05364b534"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a695c305abf7d59e224b7c7a05364b534">__glm_gaussian_inverse_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:a695c305abf7d59e224b7c7a05364b534"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0328f64e64a88cc82c09b4b05ee4256a"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a0328f64e64a88cc82c09b4b05ee4256a">__glm_gaussian_inverse_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a0328f64e64a88cc82c09b4b05ee4256a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a904065c82d2d2275413377a28115853f"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a904065c82d2d2275413377a28115853f">__glm_gamma_log_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:a904065c82d2d2275413377a28115853f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7d6f215077e51c95a193880edf67f574"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a7d6f215077e51c95a193880edf67f574">__glm_gamma_log_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a7d6f215077e51c95a193880edf67f574"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaa373b5854856d2b4761cc843ab5011a"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#aaa373b5854856d2b4761cc843ab5011a">__glm_gamma_inverse_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:aaa373b5854856d2b4761cc843ab5011a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2177e1ed1d58d238528a407fce6d52fb"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a2177e1ed1d58d238528a407fce6d52fb">__glm_gamma_inverse_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a2177e1ed1d58d238528a407fce6d52fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a64e74bd1f88b9e42db89a00edac0373a"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a64e74bd1f88b9e42db89a00edac0373a">__glm_gamma_identity_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:a64e74bd1f88b9e42db89a00edac0373a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adfbdbca61a165aff83ef53356da73a3e"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#adfbdbca61a165aff83ef53356da73a3e">__glm_gamma_identity_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:adfbdbca61a165aff83ef53356da73a3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0680d2db1d03d34a39c3e2e7100a52e7"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a0680d2db1d03d34a39c3e2e7100a52e7">__glm_binomial_probit_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:a0680d2db1d03d34a39c3e2e7100a52e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3bdd5b1c8b963488bc9633807295630"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#ae3bdd5b1c8b963488bc9633807295630">__glm_binomial_probit_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:ae3bdd5b1c8b963488bc9633807295630"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4a613bda22c8686a28afb47260ccabc9"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a4a613bda22c8686a28afb47260ccabc9">__glm_inverse_gaussian_identity_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:a4a613bda22c8686a28afb47260ccabc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd34074de9267aff541ff3207907cc3a"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#afd34074de9267aff541ff3207907cc3a">__glm_binomial_logit_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:afd34074de9267aff541ff3207907cc3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6e5d4b66896ec8b10d0aff46d4de50ce"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a6e5d4b66896ec8b10d0aff46d4de50ce">__glm_binomial_logit_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a6e5d4b66896ec8b10d0aff46d4de50ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fb8358e0b92c9d9883eaea281a1ba5f"><td class="memItemLeft" align="right" valign="top">__glm_result_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a0fb8358e0b92c9d9883eaea281a1ba5f">__glm_result_z_stats</a> (bytea8 state)</td></tr>
+<tr class="separator:a0fb8358e0b92c9d9883eaea281a1ba5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63f861e73f6ffe5f4a92e4d3bd75cc84"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a63f861e73f6ffe5f4a92e4d3bd75cc84">__glm_inverse_gaussian_identity_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a63f861e73f6ffe5f4a92e4d3bd75cc84"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f4c78c4c52b01251307f24e077e92ff"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a3f4c78c4c52b01251307f24e077e92ff">__glm_inverse_gaussian_log_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:a3f4c78c4c52b01251307f24e077e92ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a68be2c4fabab9720636435dcebed5c10"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a68be2c4fabab9720636435dcebed5c10">__glm_inverse_gaussian_log_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a68be2c4fabab9720636435dcebed5c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8473dca909f252c2a7d60368ffbb5977"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a8473dca909f252c2a7d60368ffbb5977">__glm_inverse_gaussian_inverse_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:a8473dca909f252c2a7d60368ffbb5977"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a60fb24d4a39f4f98666320b8fc11965c"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a60fb24d4a39f4f98666320b8fc11965c">__glm_inverse_gaussian_inverse_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a60fb24d4a39f4f98666320b8fc11965c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5d4b8d33917e42124a44b30db557940a"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a5d4b8d33917e42124a44b30db557940a">__glm_inverse_gaussian_sqr_inverse_transition</a> (bytea8, float8, float8[], bytea8)</td></tr>
+<tr class="separator:a5d4b8d33917e42124a44b30db557940a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b884108c457cb5881770176115f2661"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a9b884108c457cb5881770176115f2661">__glm_inverse_gaussian_sqr_inverse_agg</a> (float8 y, float8[] x, bytea8 previous_state)</td></tr>
+<tr class="separator:a9b884108c457cb5881770176115f2661"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b7f6999ae949831f33e355ec28b1f79"><td class="memItemLeft" align="right" valign="top">__glm_result_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a3b7f6999ae949831f33e355ec28b1f79">__glm_result_t_stats</a> (bytea8 state)</td></tr>
+<tr class="separator:a3b7f6999ae949831f33e355ec28b1f79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e84e1d4351a72ea9ecc61db175891ea"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a7e84e1d4351a72ea9ecc61db175891ea">__glm_loglik_diff</a> (bytea8 state1, bytea8 state2)</td></tr>
+<tr class="separator:a7e84e1d4351a72ea9ecc61db175891ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f8eb219013e05675626acb8cf4612cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a3f8eb219013e05675626acb8cf4612cc">glm</a> (varchar source_table, varchar model_table, varchar dependent_varname, varchar independent_varname, varchar family_params, varchar grouping_col, varchar optim_params, boolean verbose)</td></tr>
+<tr class="separator:a3f8eb219013e05675626acb8cf4612cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79c8b3660f49977fd3537de1db2e60ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a79c8b3660f49977fd3537de1db2e60ba">glm</a> (varchar source_table, varchar model_table, varchar dependent_varname, varchar independent_varname, varchar family_params, varchar grouping_col, varchar optim_params)</td></tr>
+<tr class="separator:a79c8b3660f49977fd3537de1db2e60ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98f75815c048dd6ec06842f00ef08f2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a98f75815c048dd6ec06842f00ef08f2a">glm</a> (varchar source_table, varchar model_table, varchar dependent_varname, varchar independent_varname, varchar family_params, varchar grouping_col)</td></tr>
+<tr class="separator:a98f75815c048dd6ec06842f00ef08f2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4938524efbef7684ce8a8e2646f126ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a4938524efbef7684ce8a8e2646f126ef">glm</a> (varchar source_table, varchar model_table, varchar dependent_varname, varchar independent_varname, varchar family_params)</td></tr>
+<tr class="separator:a4938524efbef7684ce8a8e2646f126ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5887e1ae0feabbbfc93e67ab4447f4bd"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a5887e1ae0feabbbfc93e67ab4447f4bd">glm</a> (text message)</td></tr>
+<tr class="separator:a5887e1ae0feabbbfc93e67ab4447f4bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac70223628f2b8fc5e86e295f9d6512ae"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#ac70223628f2b8fc5e86e295f9d6512ae">glm</a> ()</td></tr>
+<tr class="separator:ac70223628f2b8fc5e86e295f9d6512ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93d7d8b202654b86917bf9e997d0ad6f"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a93d7d8b202654b86917bf9e997d0ad6f">glm_predict</a> (float8[] coef, float8[] col_ind_var, text link)</td></tr>
+<tr class="memdesc:a93d7d8b202654b86917bf9e997d0ad6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Predict the estimated mean value for the response variable given a specific predictor variable value in a generalized linear model.  <a href="#a93d7d8b202654b86917bf9e997d0ad6f">More...</a><br /></td></tr>
+<tr class="separator:a93d7d8b202654b86917bf9e997d0ad6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac645a2cc2aa22eac90dee923593eb72d"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#ac645a2cc2aa22eac90dee923593eb72d">glm_predict_binomial</a> (float8[] coef, float8[] col_ind_var, text link)</td></tr>
+<tr class="memdesc:ac645a2cc2aa22eac90dee923593eb72d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Predict the output category for the response variable given a specific predictor variable value in a generalized linear model.  <a href="#ac645a2cc2aa22eac90dee923593eb72d">More...</a><br /></td></tr>
+<tr class="separator:ac645a2cc2aa22eac90dee923593eb72d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a941d49196e573048852def804c5ce4c4"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a941d49196e573048852def804c5ce4c4">glm_predict_poisson</a> (float8[] coef, float8[] col_ind_var, text link)</td></tr>
+<tr class="memdesc:a941d49196e573048852def804c5ce4c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Predict the estimated count for the response variable given a specific predictor variable value in a generalized linear model.  <a href="#a941d49196e573048852def804c5ce4c4">More...</a><br /></td></tr>
+<tr class="separator:a941d49196e573048852def804c5ce4c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add7c22acc8eaaa3eace7089eadc5f367"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#add7c22acc8eaaa3eace7089eadc5f367">glm_predict</a> (text message)</td></tr>
+<tr class="separator:add7c22acc8eaaa3eace7089eadc5f367"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa42b3ee4e9c39132154dfa81f96ed4ff"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#aa42b3ee4e9c39132154dfa81f96ed4ff">glm_predict</a> ()</td></tr>
+<tr class="separator:aa42b3ee4e9c39132154dfa81f96ed4ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb1962c5b1bdd12ae3111bc93fa2967e"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#aeb1962c5b1bdd12ae3111bc93fa2967e">glm_predict_poisson</a> (text message)</td></tr>
+<tr class="separator:aeb1962c5b1bdd12ae3111bc93fa2967e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a468186034a936c3997cad22b03cafe"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html#a9a468186034a936c3997cad22b03cafe">glm_predict_binomial</a> (text message)</td></tr>
+<tr class="separator:a9a468186034a936c3997cad22b03cafe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>June 2014</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to GLM (Poisson), see the module description grp_poisson. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a6e5d4b66896ec8b10d0aff46d4de50ce"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6e5d4b66896ec8b10d0aff46d4de50ce">&#9670;&nbsp;</a></span>__glm_binomial_logit_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_binomial_logit_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afd34074de9267aff541ff3207907cc3a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afd34074de9267aff541ff3207907cc3a">&#9670;&nbsp;</a></span>__glm_binomial_logit_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_binomial_logit_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae3bdd5b1c8b963488bc9633807295630"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae3bdd5b1c8b963488bc9633807295630">&#9670;&nbsp;</a></span>__glm_binomial_probit_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_binomial_probit_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0680d2db1d03d34a39c3e2e7100a52e7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0680d2db1d03d34a39c3e2e7100a52e7">&#9670;&nbsp;</a></span>__glm_binomial_probit_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_binomial_probit_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7e32144641562f061625c4d211912a01"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7e32144641562f061625c4d211912a01">&#9670;&nbsp;</a></span>__glm_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_final </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="adfbdbca61a165aff83ef53356da73a3e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adfbdbca61a165aff83ef53356da73a3e">&#9670;&nbsp;</a></span>__glm_gamma_identity_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_gamma_identity_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a64e74bd1f88b9e42db89a00edac0373a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a64e74bd1f88b9e42db89a00edac0373a">&#9670;&nbsp;</a></span>__glm_gamma_identity_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_gamma_identity_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2177e1ed1d58d238528a407fce6d52fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2177e1ed1d58d238528a407fce6d52fb">&#9670;&nbsp;</a></span>__glm_gamma_inverse_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_gamma_inverse_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aaa373b5854856d2b4761cc843ab5011a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaa373b5854856d2b4761cc843ab5011a">&#9670;&nbsp;</a></span>__glm_gamma_inverse_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_gamma_inverse_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7d6f215077e51c95a193880edf67f574"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7d6f215077e51c95a193880edf67f574">&#9670;&nbsp;</a></span>__glm_gamma_log_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_gamma_log_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a904065c82d2d2275413377a28115853f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a904065c82d2d2275413377a28115853f">&#9670;&nbsp;</a></span>__glm_gamma_log_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_gamma_log_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a33377c70ad934fdcea9206a9ef2ccf1c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a33377c70ad934fdcea9206a9ef2ccf1c">&#9670;&nbsp;</a></span>__glm_gaussian_identity_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_gaussian_identity_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa181df655a47f71f0ce0388ce112282b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa181df655a47f71f0ce0388ce112282b">&#9670;&nbsp;</a></span>__glm_gaussian_identity_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_gaussian_identity_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0328f64e64a88cc82c09b4b05ee4256a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0328f64e64a88cc82c09b4b05ee4256a">&#9670;&nbsp;</a></span>__glm_gaussian_inverse_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_gaussian_inverse_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a695c305abf7d59e224b7c7a05364b534"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a695c305abf7d59e224b7c7a05364b534">&#9670;&nbsp;</a></span>__glm_gaussian_inverse_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_gaussian_inverse_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1dfe1977eb90fb628cbc0b722bb29403"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1dfe1977eb90fb628cbc0b722bb29403">&#9670;&nbsp;</a></span>__glm_gaussian_log_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_gaussian_log_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6aa9b05a9e74e3bf5e9121ec58bffe4f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6aa9b05a9e74e3bf5e9121ec58bffe4f">&#9670;&nbsp;</a></span>__glm_gaussian_log_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_gaussian_log_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a63f861e73f6ffe5f4a92e4d3bd75cc84"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63f861e73f6ffe5f4a92e4d3bd75cc84">&#9670;&nbsp;</a></span>__glm_inverse_gaussian_identity_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_inverse_gaussian_identity_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4a613bda22c8686a28afb47260ccabc9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4a613bda22c8686a28afb47260ccabc9">&#9670;&nbsp;</a></span>__glm_inverse_gaussian_identity_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_inverse_gaussian_identity_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a60fb24d4a39f4f98666320b8fc11965c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a60fb24d4a39f4f98666320b8fc11965c">&#9670;&nbsp;</a></span>__glm_inverse_gaussian_inverse_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_inverse_gaussian_inverse_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8473dca909f252c2a7d60368ffbb5977"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8473dca909f252c2a7d60368ffbb5977">&#9670;&nbsp;</a></span>__glm_inverse_gaussian_inverse_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_inverse_gaussian_inverse_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a68be2c4fabab9720636435dcebed5c10"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a68be2c4fabab9720636435dcebed5c10">&#9670;&nbsp;</a></span>__glm_inverse_gaussian_log_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_inverse_gaussian_log_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3f4c78c4c52b01251307f24e077e92ff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3f4c78c4c52b01251307f24e077e92ff">&#9670;&nbsp;</a></span>__glm_inverse_gaussian_log_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_inverse_gaussian_log_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9b884108c457cb5881770176115f2661"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9b884108c457cb5881770176115f2661">&#9670;&nbsp;</a></span>__glm_inverse_gaussian_sqr_inverse_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_inverse_gaussian_sqr_inverse_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5d4b8d33917e42124a44b30db557940a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5d4b8d33917e42124a44b30db557940a">&#9670;&nbsp;</a></span>__glm_inverse_gaussian_sqr_inverse_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_inverse_gaussian_sqr_inverse_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7e84e1d4351a72ea9ecc61db175891ea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7e84e1d4351a72ea9ecc61db175891ea">&#9670;&nbsp;</a></span>__glm_loglik_diff()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 __glm_loglik_diff </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ace09cf40c436db6c065ef2606781cc93"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ace09cf40c436db6c065ef2606781cc93">&#9670;&nbsp;</a></span>__glm_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aff5070482e51bf7ce3704febfa8f3b58"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aff5070482e51bf7ce3704febfa8f3b58">&#9670;&nbsp;</a></span>__glm_poisson_identity_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_poisson_identity_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a041ee0e1e80ea5cf07f39b8c13f8accb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a041ee0e1e80ea5cf07f39b8c13f8accb">&#9670;&nbsp;</a></span>__glm_poisson_identity_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_poisson_identity_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a504fa161f5dde9155dd962456597a5c6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a504fa161f5dde9155dd962456597a5c6">&#9670;&nbsp;</a></span>__glm_poisson_log_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_poisson_log_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a48ccc5647dc8d0b6211ae3445d7d533e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a48ccc5647dc8d0b6211ae3445d7d533e">&#9670;&nbsp;</a></span>__glm_poisson_log_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_poisson_log_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a051510c3a79c019749fd3f04db41c438"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a051510c3a79c019749fd3f04db41c438">&#9670;&nbsp;</a></span>__glm_poisson_sqrt_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 __glm_poisson_sqrt_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa6b93dd92e49df7e3202db15d9e50c6c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa6b93dd92e49df7e3202db15d9e50c6c">&#9670;&nbsp;</a></span>__glm_poisson_sqrt_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 __glm_poisson_sqrt_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3b7f6999ae949831f33e355ec28b1f79"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3b7f6999ae949831f33e355ec28b1f79">&#9670;&nbsp;</a></span>__glm_result_t_stats()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__glm_result_type __glm_result_t_stats </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0fb8358e0b92c9d9883eaea281a1ba5f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0fb8358e0b92c9d9883eaea281a1ba5f">&#9670;&nbsp;</a></span>__glm_result_z_stats()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__glm_result_type __glm_result_z_stats </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3f8eb219013e05675626acb8cf4612cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3f8eb219013e05675626acb8cf4612cc">&#9670;&nbsp;</a></span>glm() <span class="overload">[1/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void glm </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>family_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optim_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a79c8b3660f49977fd3537de1db2e60ba"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a79c8b3660f49977fd3537de1db2e60ba">&#9670;&nbsp;</a></span>glm() <span class="overload">[2/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void glm </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>family_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optim_params</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a98f75815c048dd6ec06842f00ef08f2a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a98f75815c048dd6ec06842f00ef08f2a">&#9670;&nbsp;</a></span>glm() <span class="overload">[3/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void glm </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>family_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_col</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4938524efbef7684ce8a8e2646f126ef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4938524efbef7684ce8a8e2646f126ef">&#9670;&nbsp;</a></span>glm() <span class="overload">[4/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void glm </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>family_params</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5887e1ae0feabbbfc93e67ab4447f4bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5887e1ae0feabbbfc93e67ab4447f4bd">&#9670;&nbsp;</a></span>glm() <span class="overload">[5/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text glm </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac70223628f2b8fc5e86e295f9d6512ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac70223628f2b8fc5e86e295f9d6512ae">&#9670;&nbsp;</a></span>glm() <span class="overload">[6/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text glm </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a93d7d8b202654b86917bf9e997d0ad6f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a93d7d8b202654b86917bf9e997d0ad6f">&#9670;&nbsp;</a></span>glm_predict() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 glm_predict </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>link</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">coef</td><td>Coefficients obtained by running generalized linear model. </td></tr>
+    <tr><td class="paramname">col_ind</td><td>Predictor variable array </td></tr>
+    <tr><td class="paramname">link</td><td>Link function used in training. Can be one of probit/logit </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Numeric value of the predicted mean</dd></dl>
+<p>This function computes the dot product of the independent variables and the coefficients. This requires the length of the two vectors to be the same. </p>
+
+</div>
+</div>
+<a id="add7c22acc8eaaa3eace7089eadc5f367"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#add7c22acc8eaaa3eace7089eadc5f367">&#9670;&nbsp;</a></span>glm_predict() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text glm_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa42b3ee4e9c39132154dfa81f96ed4ff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa42b3ee4e9c39132154dfa81f96ed4ff">&#9670;&nbsp;</a></span>glm_predict() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text glm_predict </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac645a2cc2aa22eac90dee923593eb72d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac645a2cc2aa22eac90dee923593eb72d">&#9670;&nbsp;</a></span>glm_predict_binomial() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">boolean glm_predict_binomial </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>link</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">coef</td><td>Coefficients obtained by running generalized linear model. </td></tr>
+    <tr><td class="paramname">col_ind</td><td>Predictor variable array </td></tr>
+    <tr><td class="paramname">link</td><td>Link function used in training. Can be one of probit/logit. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>True/False Boolean value corresponding to output category True if predicted probability &gt;= 0.5, False otherwise</dd></dl>
+<p>This function computes the dot product of the independent variables and the coefficients. This requires the length of the two vectors to be the same. </p>
+
+</div>
+</div>
+<a id="a9a468186034a936c3997cad22b03cafe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9a468186034a936c3997cad22b03cafe">&#9670;&nbsp;</a></span>glm_predict_binomial() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text glm_predict_binomial </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a941d49196e573048852def804c5ce4c4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a941d49196e573048852def804c5ce4c4">&#9670;&nbsp;</a></span>glm_predict_poisson() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 glm_predict_poisson </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>link</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">coef</td><td>Coefficients obtained by running generalized linear model. </td></tr>
+    <tr><td class="paramname">col_ind</td><td>Predictor variable array </td></tr>
+    <tr><td class="paramname">link</td><td>Link function used in training </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Numeric value of the predicted count, obtained by rounding the predicted mean to the nearest integral value.</dd></dl>
+<p>This function computes the dot product of the independent variables and the coefficients. This requires the length of the two vectors to be the same. </p>
+
+</div>
+</div>
+<a id="aeb1962c5b1bdd12ae3111bc93fa2967e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb1962c5b1bdd12ae3111bc93fa2967e">&#9670;&nbsp;</a></span>glm_predict_poisson() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text glm_predict_poisson </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_346f5a65e673d18ebb88fcd994972902.html">glm</a></li><li class="navelem"><a class="el" href="glm_8sql__in.html">glm.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[37/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_e2aaed6e1ab0079c9b997d45b783e833.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_e2aaed6e1ab0079c9b997d45b783e833.html b/docs/v1.11/dir_e2aaed6e1ab0079c9b997d45b783e833.html
new file mode 100644
index 0000000..ad2b558
--- /dev/null
+++ b/docs/v1.11/dir_e2aaed6e1ab0079c9b997d45b783e833.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: pg_gp Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_e2aaed6e1ab0079c9b997d45b783e833.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">pg_gp Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:svec__util_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="svec__util_8sql__in.html">svec_util.sql_in</a></td></tr>
+<tr class="memdesc:svec__util_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL utility functions for sparse vector data type <code>svec</code> <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></li><li class="navelem"><a class="el" href="dir_25068098bc33cf5efdba96ef1f982a7e.html">svec_util</a></li><li class="navelem"><a class="el" href="dir_9d92da3085fea9988335208d7a790048.html">src</a></li><li class="navelem"><a class="el" href="dir_e2aaed6e1ab0079c9b997d45b783e833.html">pg_gp</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_e3c5a88cb45d2230a8fc199a8110e02f.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_e3c5a88cb45d2230a8fc199a8110e02f.html b/docs/v1.11/dir_e3c5a88cb45d2230a8fc199a8110e02f.html
new file mode 100644
index 0000000..3f96dc6
--- /dev/null
+++ b/docs/v1.11/dir_e3c5a88cb45d2230a8fc199a8110e02f.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: assoc_rules Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_e3c5a88cb45d2230a8fc199a8110e02f.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">assoc_rules Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:assoc__rules_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="assoc__rules_8sql__in.html">assoc_rules.sql_in</a></td></tr>
+<tr class="memdesc:assoc__rules_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="assoc__rules_8sql__in.html#a8362eb54bb0eeb551d5a1aadb96e7092">assoc_rules</a> function computes association rules for a given set of data. The data is assumed to have two dimensions; items (between which we are trying to discover associations), and a transaction id. This tranaction id groups the items by event and could also be a user id, date, etc. depending on the context of the data. This function assumes the data is stored in two columns with one transaction id and one item per row. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_e3c5a88cb45d2230a8fc199a8110e02f.html">assoc_rules</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_ff78ec617a20167dfb17882205d627df.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_ff78ec617a20167dfb17882205d627df.html b/docs/v1.11/dir_ff78ec617a20167dfb17882205d627df.html
new file mode 100644
index 0000000..92431d9
--- /dev/null
+++ b/docs/v1.11/dir_ff78ec617a20167dfb17882205d627df.html
@@ -0,0 +1,144 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: regress Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_ff78ec617a20167dfb17882205d627df.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">regress Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:clustered__variance_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="clustered__variance_8sql__in.html">clustered_variance.sql_in</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:linear_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="linear_8sql__in.html">linear.sql_in</a></td></tr>
+<tr class="memdesc:linear_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for linear regression. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:logistic_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html">logistic.sql_in</a></td></tr>
+<tr class="memdesc:logistic_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for logistic regression. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:marginal_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html">marginal.sql_in</a></td></tr>
+<tr class="memdesc:marginal_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for linear regression. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:multilogistic_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html">multilogistic.sql_in</a></td></tr>
+<tr class="memdesc:multilogistic_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for multinomial logistic regression. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:robust_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="robust_8sql__in.html">robust.sql_in</a></td></tr>
+<tr class="memdesc:robust_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for robust variance linear and logistic regression. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_ff78ec617a20167dfb17882205d627df.html">regress</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/distribution_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/distribution_8sql__in.html b/docs/v1.11/distribution_8sql__in.html
new file mode 100644
index 0000000..e6ca6ff
--- /dev/null
+++ b/docs/v1.11/distribution_8sql__in.html
@@ -0,0 +1,317 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: distribution.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('distribution_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">distribution.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for collecting distributions.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:abc7f8816bbdb1467435e5ba17a7d08f1"><td class="memItemLeft" align="right" valign="top">float8 [][]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="distribution_8sql__in.html#abc7f8816bbdb1467435e5ba17a7d08f1">vectorized_distribution_transition</a> (float8[][] distribution, integer[] indices, integer[] levels)</td></tr>
+<tr class="separator:abc7f8816bbdb1467435e5ba17a7d08f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6bca924e0d2a49b101253f3ca9dc4a58"><td class="memItemLeft" align="right" valign="top">float8 [][]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="distribution_8sql__in.html#a6bca924e0d2a49b101253f3ca9dc4a58">vectorized_distribution_final</a> (float8[][] state)</td></tr>
+<tr class="separator:a6bca924e0d2a49b101253f3ca9dc4a58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4608a56578c7e93615e6d5b558d0bf9"><td class="memItemLeft" align="right" valign="top">aggregate float8 [][]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="distribution_8sql__in.html#aa4608a56578c7e93615e6d5b558d0bf9">vectorized_distribution_agg</a> (integer[], integer[])</td></tr>
+<tr class="separator:aa4608a56578c7e93615e6d5b558d0bf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7e45a9ebd2b5ad656e61aa9276116d3"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="distribution_8sql__in.html#aa7e45a9ebd2b5ad656e61aa9276116d3">discrete_distribution_transition</a> (float8[] distribution, integer ind, float8 weight, integer level)</td></tr>
+<tr class="separator:aa7e45a9ebd2b5ad656e61aa9276116d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99a03822b9063a37df8641cfcf2e450b"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="distribution_8sql__in.html#a99a03822b9063a37df8641cfcf2e450b">discrete_distribution_final</a> (float8[] state)</td></tr>
+<tr class="separator:a99a03822b9063a37df8641cfcf2e450b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9418a44cb502919d54c59e909e19606"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="distribution_8sql__in.html#af9418a44cb502919d54c59e909e19606">discrete_distribution_agg</a> (integer, float8, integer)</td></tr>
+<tr class="separator:af9418a44cb502919d54c59e909e19606"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="af9418a44cb502919d54c59e909e19606"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af9418a44cb502919d54c59e909e19606">&#9670;&nbsp;</a></span>discrete_distribution_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] discrete_distribution_agg </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a99a03822b9063a37df8641cfcf2e450b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a99a03822b9063a37df8641cfcf2e450b">&#9670;&nbsp;</a></span>discrete_distribution_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] discrete_distribution_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa7e45a9ebd2b5ad656e61aa9276116d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7e45a9ebd2b5ad656e61aa9276116d3">&#9670;&nbsp;</a></span>discrete_distribution_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] discrete_distribution_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>distribution</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ind</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>weight</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>level</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa4608a56578c7e93615e6d5b558d0bf9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa4608a56578c7e93615e6d5b558d0bf9">&#9670;&nbsp;</a></span>vectorized_distribution_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [][] vectorized_distribution_agg </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6bca924e0d2a49b101253f3ca9dc4a58"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6bca924e0d2a49b101253f3ca9dc4a58">&#9670;&nbsp;</a></span>vectorized_distribution_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [][] vectorized_distribution_final </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>state</em>[][]</td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abc7f8816bbdb1467435e5ba17a7d08f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abc7f8816bbdb1467435e5ba17a7d08f1">&#9670;&nbsp;</a></span>vectorized_distribution_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [][] vectorized_distribution_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>distribution</em>[][], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>levels</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_997c3e15c9d18078f134bb6226e9c9a5.html">stats</a></li><li class="navelem"><a class="el" href="distribution_8sql__in.html">distribution.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/doc.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/doc.png b/docs/v1.11/doc.png
new file mode 100644
index 0000000..17edabf
Binary files /dev/null and b/docs/v1.11/doc.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/doxygen.css
----------------------------------------------------------------------
diff --git a/docs/v1.11/doxygen.css b/docs/v1.11/doxygen.css
new file mode 100644
index 0000000..4f1ab91
--- /dev/null
+++ b/docs/v1.11/doxygen.css
@@ -0,0 +1,1596 @@
+/* The standard CSS for doxygen 1.8.13 */
+
+body, table, div, p, dl {
+	font: 400 14px/22px Roboto,sans-serif;
+}
+
+p.reference, p.definition {
+	font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+	font-size: 150%;
+}
+
+.title {
+	font: 400 14px/28px Roboto,sans-serif;
+	font-size: 150%;
+	font-weight: bold;
+	margin: 10px 2px;
+}
+
+h2.groupheader {
+	border-bottom: 1px solid #879ECB;
+	color: #354C7B;
+	font-size: 150%;
+	font-weight: normal;
+	margin-top: 1.75em;
+	padding-top: 8px;
+	padding-bottom: 4px;
+	width: 100%;
+}
+
+h3.groupheader {
+	font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+	-webkit-transition: text-shadow 0.5s linear;
+	-moz-transition: text-shadow 0.5s linear;
+	-ms-transition: text-shadow 0.5s linear;
+	-o-transition: text-shadow 0.5s linear;
+	transition: text-shadow 0.5s linear;
+	margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+	text-shadow: 0 0 15px cyan;
+}
+
+dt {
+	font-weight: bold;
+}
+
+div.multicol {
+	-moz-column-gap: 1em;
+	-webkit-column-gap: 1em;
+	-moz-column-count: 3;
+	-webkit-column-count: 3;
+}
+
+p.startli, p.startdd {
+	margin-top: 2px;
+}
+
+p.starttd {
+	margin-top: 0px;
+}
+
+p.endli {
+	margin-bottom: 0px;
+}
+
+p.enddd {
+	margin-bottom: 4px;
+}
+
+p.endtd {
+	margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+	font-weight: bold;
+}
+
+span.legend {
+        font-size: 70%;
+        text-align: center;
+}
+
+h3.version {
+        font-size: 90%;
+        text-align: center;
+}
+
+div.qindex, div.navtab{
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+}
+
+div.qindex, div.navpath {
+	width: 100%;
+	line-height: 140%;
+}
+
+div.navtab {
+	margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+	color: #3D578C;
+	font-weight: normal;
+	text-decoration: none;
+}
+
+.contents a:visited {
+	color: #4665A2;
+}
+
+a:hover {
+	text-decoration: underline;
+}
+
+a.qindex {
+	font-weight: bold;
+}
+
+a.qindexHL {
+	font-weight: bold;
+	background-color: #9CAFD4;
+	color: #ffffff;
+	border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+        color: #ffffff;
+}
+
+a.el {
+	font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+	color: #4665A2; 
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+	color: #4665A2; 
+}
+
+/* @end */
+
+dl.el {
+	margin-left: -1cm;
+}
+
+pre.fragment {
+        border: 1px solid #C4CFE5;
+        background-color: #FBFCFD;
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+        overflow: auto;
+        word-wrap: break-word;
+        font-size:  9pt;
+        line-height: 125%;
+        font-family: monospace, fixed;
+        font-size: 105%;
+}
+
+div.fragment {
+        padding: 0px;
+        margin: 4px 8px 4px 2px;
+	background-color: #FBFCFD;
+	border: 1px solid #C4CFE5;
+}
+
+div.line {
+	font-family: monospace, fixed;
+        font-size: 13px;
+	min-height: 13px;
+	line-height: 1.0;
+	text-wrap: unrestricted;
+	white-space: -moz-pre-wrap; /* Moz */
+	white-space: -pre-wrap;     /* Opera 4-6 */
+	white-space: -o-pre-wrap;   /* Opera 7 */
+	white-space: pre-wrap;      /* CSS3  */
+	word-wrap: break-word;      /* IE 5.5+ */
+	text-indent: -53px;
+	padding-left: 53px;
+	padding-bottom: 0px;
+	margin: 0px;
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+div.line:after {
+    content:"\000A";
+    white-space: pre;
+}
+
+div.line.glow {
+	background-color: cyan;
+	box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+	padding-right: 4px;
+	text-align: right;
+	border-right: 2px solid #0F0;
+	background-color: #E8E8E8;
+        white-space: pre;
+}
+span.lineno a {
+	background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+	background-color: #C8C8C8;
+}
+
+.lineno {
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+div.ah, span.ah {
+	background-color: black;
+	font-weight: bold;
+	color: #ffffff;
+	margin-bottom: 3px;
+	margin-top: 3px;
+	padding: 0.2em;
+	border: solid thin #333;
+	border-radius: 0.5em;
+	-webkit-border-radius: .5em;
+	-moz-border-radius: .5em;
+	box-shadow: 2px 2px 3px #999;
+	-webkit-box-shadow: 2px 2px 3px #999;
+	-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+	background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+	background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
+}
+
+div.classindex ul {
+        list-style: none;
+        padding-left: 0;
+}
+
+div.classindex span.ai {
+        display: inline-block;
+}
+
+div.groupHeader {
+	margin-left: 16px;
+	margin-top: 12px;
+	font-weight: bold;
+}
+
+div.groupText {
+	margin-left: 16px;
+	font-style: italic;
+}
+
+body {
+	background-color: white;
+	color: black;
+        margin: 0;
+}
+
+div.contents {
+	margin-top: 10px;
+	margin-left: 12px;
+	margin-right: 8px;
+}
+
+td.indexkey {
+	background-color: #EBEFF6;
+	font-weight: bold;
+	border: 1px solid #C4CFE5;
+	margin: 2px 0px 2px 0;
+	padding: 2px 10px;
+        white-space: nowrap;
+        vertical-align: top;
+}
+
+td.indexvalue {
+	background-color: #EBEFF6;
+	border: 1px solid #C4CFE5;
+	padding: 2px 10px;
+	margin: 2px 0px;
+}
+
+tr.memlist {
+	background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+	text-align: center;
+}
+
+img.formulaDsp {
+	
+}
+
+img.formulaInl {
+	vertical-align: middle;
+}
+
+div.center {
+	text-align: center;
+        margin-top: 0px;
+        margin-bottom: 0px;
+        padding: 0px;
+}
+
+div.center img {
+	border: 0px;
+}
+
+address.footer {
+	text-align: right;
+	padding-right: 12px;
+}
+
+img.footer {
+	border: 0px;
+	vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+	color: #008000
+}
+
+span.keywordtype {
+	color: #604020
+}
+
+span.keywordflow {
+	color: #e08000
+}
+
+span.comment {
+	color: #800000
+}
+
+span.preprocessor {
+	color: #806020
+}
+
+span.stringliteral {
+	color: #002080
+}
+
+span.charliteral {
+	color: #008080
+}
+
+span.vhdldigit { 
+	color: #ff00ff 
+}
+
+span.vhdlchar { 
+	color: #000000 
+}
+
+span.vhdlkeyword { 
+	color: #700070 
+}
+
+span.vhdllogic { 
+	color: #ff0000 
+}
+
+blockquote {
+        background-color: #F7F8FB;
+        border-left: 2px solid #9CAFD4;
+        margin: 0 24px 0 4px;
+        padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+	color: #003399;
+	font-weight: bold;
+}
+
+form.search {
+	margin-bottom: 0px;
+	margin-top: 0px;
+}
+
+input.search {
+	font-size: 75%;
+	color: #000080;
+	font-weight: normal;
+	background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+	font-size: 75%;
+}
+
+.dirtab {
+	padding: 4px;
+	border-collapse: collapse;
+	border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+	background: #EBEFF6;
+	font-weight: bold;
+}
+
+hr {
+	height: 0px;
+	border: none;
+	border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+	height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+	border-spacing: 0px;
+	padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+	-webkit-transition-property: background-color, box-shadow;
+	-webkit-transition-duration: 0.5s;
+	-moz-transition-property: background-color, box-shadow;
+	-moz-transition-duration: 0.5s;
+	-ms-transition-property: background-color, box-shadow;
+	-ms-transition-duration: 0.5s;
+	-o-transition-property: background-color, box-shadow;
+	-o-transition-duration: 0.5s;
+	transition-property: background-color, box-shadow;
+	transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+	background-color: cyan;
+	box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+	background-color: #F9FAFC;
+	border: none;
+	margin: 4px;
+	padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+	padding: 0px 8px 4px 8px;
+	color: #555;
+}
+
+.memSeparator {
+        border-bottom: 1px solid #DEE4F0;
+        line-height: 1px;
+        margin: 0px;
+        padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+        white-space: nowrap;
+}
+
+.memItemRight {
+	width: 100%;
+}
+
+.memTemplParams {
+	color: #4665A2;
+        white-space: nowrap;
+	font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtitle {
+	padding: 8px;
+	border-top: 1px solid #A8B8D9;
+	border-left: 1px solid #A8B8D9;
+	border-right: 1px solid #A8B8D9;
+	border-top-right-radius: 4px;
+	border-top-left-radius: 4px;
+	margin-bottom: -1px;
+	background-image: url('nav_f.png');
+	background-repeat: repeat-x;
+	background-color: #E2E8F2;
+	line-height: 1.25;
+	font-weight: 300;
+	float:left;
+}
+
+.permalink
+{
+        font-size: 65%;
+        display: inline-block;
+        vertical-align: middle;
+}
+
+.memtemplate {
+	font-size: 80%;
+	color: #4665A2;
+	font-weight: normal;
+	margin-left: 9px;
+}
+
+.memnav {
+	background-color: #EBEFF6;
+	border: 1px solid #A3B4D7;
+	text-align: center;
+	margin: 2px;
+	margin-right: 15px;
+	padding: 2px;
+}
+
+.mempage {
+	width: 100%;
+}
+
+.memitem {
+	padding: 0;
+	margin-bottom: 10px;
+	margin-right: 5px;
+        -webkit-transition: box-shadow 0.5s linear;
+        -moz-transition: box-shadow 0.5s linear;
+        -ms-transition: box-shadow 0.5s linear;
+        -o-transition: box-shadow 0.5s linear;
+        transition: box-shadow 0.5s linear;
+        display: table !important;
+        width: 100%;
+}
+
+.memitem.glow {
+         box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+        font-weight: 400;
+        margin-left: 6px;
+}
+
+.memname td {
+	vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+        border-top: 1px solid #A8B8D9;
+        border-left: 1px solid #A8B8D9;
+        border-right: 1px solid #A8B8D9;
+        padding: 6px 0px 6px 0px;
+        color: #253555;
+        font-weight: bold;
+        text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+        background-color: #DFE5F1;
+        /* opera specific markup */
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        border-top-right-radius: 4px;
+        /* firefox specific markup */
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        -moz-border-radius-topright: 4px;
+        /* webkit specific markup */
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        -webkit-border-top-right-radius: 4px;
+
+}
+
+.overload {
+        font-family: "courier new",courier,monospace;
+	font-size: 65%;
+}
+
+.memdoc, dl.reflist dd {
+        border-bottom: 1px solid #A8B8D9;      
+        border-left: 1px solid #A8B8D9;      
+        border-right: 1px solid #A8B8D9; 
+        padding: 6px 10px 2px 10px;
+        background-color: #FBFCFD;
+        border-top-width: 0;
+        background-image:url('nav_g.png');
+        background-repeat:repeat-x;
+        background-color: #FFFFFF;
+        /* opera specific markup */
+        border-bottom-left-radius: 4px;
+        border-bottom-right-radius: 4px;
+        box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+        /* firefox specific markup */
+        -moz-border-radius-bottomleft: 4px;
+        -moz-border-radius-bottomright: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+        /* webkit specific markup */
+        -webkit-border-bottom-left-radius: 4px;
+        -webkit-border-bottom-right-radius: 4px;
+        -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+        padding: 5px;
+}
+
+dl.reflist dd {
+        margin: 0px 0px 10px 0px;
+        padding: 5px;
+}
+
+.paramkey {
+	text-align: right;
+}
+
+.paramtype {
+	white-space: nowrap;
+}
+
+.paramname {
+	color: #602020;
+	white-space: nowrap;
+}
+.paramname em {
+	font-style: normal;
+}
+.paramname code {
+        line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+        margin-left: 0px;
+        padding-left: 0px;
+}       
+
+.params .paramname, .retval .paramname {
+        font-weight: bold;
+        vertical-align: top;
+}
+        
+.params .paramtype {
+        font-style: italic;
+        vertical-align: top;
+}       
+        
+.params .paramdir {
+        font-family: "courier new",courier,monospace;
+        vertical-align: top;
+}
+
+table.mlabels {
+	border-spacing: 0px;
+}
+
+td.mlabels-left {
+	width: 100%;
+	padding: 0px;
+}
+
+td.mlabels-right {
+	vertical-align: bottom;
+	padding: 0px;
+	white-space: nowrap;
+}
+
+span.mlabels {
+        margin-left: 8px;
+}
+
+span.mlabel {
+        background-color: #728DC1;
+        border-top:1px solid #5373B4;
+        border-left:1px solid #5373B4;
+        border-right:1px solid #C4CFE5;
+        border-bottom:1px solid #C4CFE5;
+	text-shadow: none;
+	color: white;
+	margin-right: 4px;
+	padding: 2px 3px;
+	border-radius: 3px;
+	font-size: 7pt;
+	white-space: nowrap;
+	vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+        margin: 10px 0px;
+        border-top: 1px solid #9CAFD4;
+        border-bottom: 1px solid #9CAFD4;
+        width: 100%;
+}
+
+.directory table {
+        border-collapse:collapse;
+}
+
+.directory td {
+        margin: 0px;
+        padding: 0px;
+	vertical-align: top;
+}
+
+.directory td.entry {
+        white-space: nowrap;
+        padding-right: 6px;
+	padding-top: 3px;
+}
+
+.directory td.entry a {
+        outline:none;
+}
+
+.directory td.entry a img {
+        border: none;
+}
+
+.directory td.desc {
+        width: 100%;
+        padding-left: 6px;
+	padding-right: 6px;
+	padding-top: 3px;
+	border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+	padding-left: 6px;
+	background-color: #F7F8FB;
+}
+
+.directory img {
+	vertical-align: -30%;
+}
+
+.directory .levels {
+        white-space: nowrap;
+        width: 100%;
+        text-align: right;
+        font-size: 9pt;
+}
+
+.directory .levels span {
+        cursor: pointer;
+        padding-left: 2px;
+        padding-right: 2px;
+	color: #3D578C;
+}
+
+.arrow {
+    color: #9CAFD4;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    cursor: pointer;
+    font-size: 80%;
+    display: inline-block;
+    width: 16px;
+    height: 22px;
+}
+
+.icon {
+    font-family: Arial, Helvetica;
+    font-weight: bold;
+    font-size: 12px;
+    height: 14px;
+    width: 16px;
+    display: inline-block;
+    background-color: #728DC1;
+    color: white;
+    text-align: center;
+    border-radius: 4px;
+    margin-left: 2px;
+    margin-right: 2px;
+}
+
+.icona {
+    width: 24px;
+    height: 22px;
+    display: inline-block;
+}
+
+.iconfopen {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderopen.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.iconfclosed {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('folderclosed.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+.icondoc {
+    width: 24px;
+    height: 18px;
+    margin-bottom: 4px;
+    background-image:url('doc.png');
+    background-position: 0px -4px;
+    background-repeat: repeat-y;
+    vertical-align:top;
+    display: inline-block;
+}
+
+table.directory {
+    font: 400 14px Roboto,sans-serif;
+}
+
+/* @end */
+
+div.dynheader {
+        margin-top: 8px;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+address {
+	font-style: normal;
+	color: #2A3D61;
+}
+
+table.doxtable caption {
+	caption-side: top;
+}
+
+table.doxtable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+table.fieldtable {
+        /*width: 100%;*/
+        margin-bottom: 10px;
+        border: 1px solid #A8B8D9;
+        border-spacing: 0px;
+        -moz-border-radius: 4px;
+        -webkit-border-radius: 4px;
+        border-radius: 4px;
+        -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+        -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+        box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+        padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+        white-space: nowrap;
+        border-right: 1px solid #A8B8D9;
+        border-bottom: 1px solid #A8B8D9;
+        vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+        padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+        border-bottom: 1px solid #A8B8D9;
+        /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+        margin-top: 0px;
+}       
+        
+.fieldtable td.fielddoc p:last-child {
+        margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+        border-bottom: none;
+}
+
+.fieldtable th {
+        background-image:url('nav_f.png');
+        background-repeat:repeat-x;
+        background-color: #E2E8F2;
+        font-size: 90%;
+        color: #253555;
+        padding-bottom: 4px;
+        padding-top: 5px;
+        text-align:left;
+        font-weight: 400;
+        -moz-border-radius-topleft: 4px;
+        -moz-border-radius-topright: 4px;
+        -webkit-border-top-left-radius: 4px;
+        -webkit-border-top-right-radius: 4px;
+        border-top-left-radius: 4px;
+        border-top-right-radius: 4px;
+        border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+	top: 0px;
+	left: 10px;
+	height: 36px;
+	background-image: url('tab_b.png');
+	z-index: 101;
+	overflow: hidden;
+	font-size: 13px;
+}
+
+.navpath ul
+{
+	font-size: 11px;
+	background-image:url('tab_b.png');
+	background-repeat:repeat-x;
+	background-position: 0 -5px;
+	height:30px;
+	line-height:30px;
+	color:#8AA0CC;
+	border:solid 1px #C2CDE4;
+	overflow:hidden;
+	margin:0px;
+	padding:0px;
+}
+
+.navpath li
+{
+	list-style-type:none;
+	float:left;
+	padding-left:10px;
+	padding-right:15px;
+	background-image:url('bc_s.png');
+	background-repeat:no-repeat;
+	background-position:right;
+	color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+	height:32px;
+	display:block;
+	text-decoration: none;
+	outline: none;
+	color: #283A5D;
+	font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+	text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+	text-decoration: none;        
+}
+
+.navpath li.navelem a:hover
+{
+	color:#6884BD;
+}
+
+.navpath li.footer
+{
+        list-style-type:none;
+        float:right;
+        padding-left:10px;
+        padding-right:15px;
+        background-image:none;
+        background-repeat:no-repeat;
+        background-position:right;
+        color:#364D7C;
+        font-size: 8pt;
+}
+
+
+div.summary
+{
+	float: right;
+	font-size: 8pt;
+	padding-right: 5px;
+	width: 50%;
+	text-align: right;
+}       
+
+div.summary a
+{
+	white-space: nowrap;
+}
+
+table.classindex
+{
+        margin: 10px;
+        white-space: nowrap;
+        margin-left: 3%;
+        margin-right: 3%;
+        width: 94%;
+        border: 0;
+        border-spacing: 0; 
+        padding: 0;
+}
+
+div.ingroups
+{
+	font-size: 8pt;
+	width: 50%;
+	text-align: left;
+}
+
+div.ingroups a
+{
+	white-space: nowrap;
+}
+
+div.header
+{
+        background-image:url('nav_h.png');
+        background-repeat:repeat-x;
+	background-color: #F9FAFC;
+	margin:  0px;
+	border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+	padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+        padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+	margin-left: 0px;
+	padding-left: 0px;
+}
+
+dl.note
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #00D000;
+}
+
+dl.deprecated
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #505050;
+}
+
+dl.todo
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #00C0E0;
+}
+
+dl.test
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #3030E0;
+}
+
+dl.bug
+{
+        margin-left:-7px;
+        padding-left: 3px;
+        border-left:4px solid;
+        border-color: #C08050;
+}
+
+dl.section dd {
+	margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+	text-align: center;
+	vertical-align: bottom;
+	border-collapse: separate;
+}
+ 
+#projectlogo img
+{ 
+	border: 0px none;
+}
+ 
+#projectalign
+{
+        vertical-align: middle;
+}
+
+#projectname
+{
+	font: 300% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 2px 0px;
+}
+    
+#projectbrief
+{
+	font: 120% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#projectnumber
+{
+	font: 50% Tahoma, Arial,sans-serif;
+	margin: 0px;
+	padding: 0px;
+}
+
+#titlearea
+{
+	padding: 0px;
+	margin: 0px;
+	width: 100%;
+	border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+        text-align: center;
+}
+
+.dotgraph
+{
+        text-align: center;
+}
+
+.mscgraph
+{
+        text-align: center;
+}
+
+.plantumlgraph
+{
+        text-align: center;
+}
+
+.diagraph
+{
+        text-align: center;
+}
+
+.caption
+{
+	font-weight: bold;
+}
+
+div.zoom
+{
+	border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+        margin-bottom:50px;
+}
+
+dl.citelist dt {
+        color:#334975;
+        float:left;
+        font-weight:bold;
+        margin-right:10px;
+        padding:5px;
+}
+
+dl.citelist dd {
+        margin:2px 0;
+        padding:5px 0;
+}
+
+div.toc {
+        padding: 14px 25px;
+        background-color: #F4F6FA;
+        border: 1px solid #D8DFEE;
+        border-radius: 7px 7px 7px 7px;
+        float: right;
+        height: auto;
+        margin: 0 8px 10px 10px;
+        width: 200px;
+}
+
+div.toc li {
+        background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+        font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+        margin-top: 5px;
+        padding-left: 10px;
+        padding-top: 2px;
+}
+
+div.toc h3 {
+        font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+	color: #4665A2;
+        border-bottom: 0 none;
+        margin: 0;
+}
+
+div.toc ul {
+        list-style: none outside none;
+        border: medium none;
+        padding: 0px;
+}       
+
+div.toc li.level1 {
+        margin-left: 0px;
+}
+
+div.toc li.level2 {
+        margin-left: 15px;
+}
+
+div.toc li.level3 {
+        margin-left: 30px;
+}
+
+div.toc li.level4 {
+        margin-left: 45px;
+}
+
+.inherit_header {
+        font-weight: bold;
+        color: gray;
+        cursor: pointer;
+	-webkit-touch-callout: none;
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+}
+
+.inherit_header td {
+        padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+        display: none;
+}
+
+tr.heading h2 {
+        margin-top: 12px;
+        margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+        position: absolute;
+        display: none;
+}
+
+#powerTip {
+	cursor: default;
+	white-space: nowrap;
+	background-color: white;
+	border: 1px solid gray;
+	border-radius: 4px 4px 4px 4px;
+	box-shadow: 1px 1px 7px gray;
+	display: none;
+	font-size: smaller;
+	max-width: 80%;
+	opacity: 0.9;
+	padding: 1ex 1em 1em;
+	position: absolute;
+	z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+        color: grey;
+	font-style: italic;
+}
+
+#powerTip div.ttname a {
+        font-weight: bold;
+}
+
+#powerTip div.ttname {
+        font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+        color: #006318;
+}
+
+#powerTip div {
+        margin: 0px;
+        padding: 0px;
+        font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+	content: "";
+	position: absolute;
+	margin: 0px;
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.w:after,  #powerTip.w:before,
+#powerTip.e:after,  #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	border: solid transparent;
+	content: " ";
+	height: 0;
+	width: 0;
+	position: absolute;
+}
+
+#powerTip.n:after,  #powerTip.s:after,
+#powerTip.w:after,  #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+	border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before,  #powerTip.s:before,
+#powerTip.w:before,  #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+	border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after,  #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+	top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+	border-top-color: #ffffff;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+#powerTip.n:before {
+	border-top-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+	left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+	right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+	left: 14px;
+}
+
+#powerTip.s:after,  #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+	bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+	border-bottom-color: #ffffff;
+	border-width: 10px;
+	margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+	border-bottom-color: #808080;
+	border-width: 11px;
+	margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+	left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+	right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+	left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+	left: 100%;
+}
+#powerTip.e:after {
+	border-left-color: #ffffff;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.e:before {
+	border-left-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+	right: 100%;
+}
+#powerTip.w:after {
+	border-right-color: #ffffff;
+	border-width: 10px;
+	top: 50%;
+	margin-top: -10px;
+}
+#powerTip.w:before {
+	border-right-color: #808080;
+	border-width: 11px;
+	top: 50%;
+	margin-top: -11px;
+}
+
+@media print
+{
+  #top { display: none; }
+  #side-nav { display: none; }
+  #nav-path { display: none; }
+  body { overflow:visible; }
+  h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+  .summary { display: none; }
+  .memitem { page-break-inside: avoid; }
+  #doc-content
+  {
+    margin-left:0 !important;
+    height:auto !important;
+    width:auto !important;
+    overflow:inherit;
+    display:inline;
+  }
+}
+
+/* @group Markdown */
+
+/*
+table.markdownTable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.markdownTableHead tr {
+}
+
+table.markdownTableBodyLeft td, table.markdownTable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+th.markdownTableHeadLeft {
+	text-align: left
+}
+
+th.markdownTableHeadRight {
+	text-align: right
+}
+
+th.markdownTableHeadCenter {
+	text-align: center
+}
+*/
+
+table.markdownTable {
+	border-collapse:collapse;
+        margin-top: 4px;
+        margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+	border: 1px solid #2D4068;
+	padding: 3px 7px 2px;
+}
+
+table.markdownTable tr {
+}
+
+th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
+	background-color: #374F7F;
+	color: #FFFFFF;
+	font-size: 110%;
+	padding-bottom: 4px;
+	padding-top: 5px;
+}
+
+th.markdownTableHeadLeft, td.markdownTableBodyLeft {
+	text-align: left
+}
+
+th.markdownTableHeadRight, td.markdownTableBodyRight {
+	text-align: right
+}
+
+th.markdownTableHeadCenter, td.markdownTableBodyCenter {
+	text-align: center
+}
+
+
+/* @end */

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/doxygen.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/doxygen.png b/docs/v1.11/doxygen.png
new file mode 100644
index 0000000..3ff17d8
Binary files /dev/null and b/docs/v1.11/doxygen.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dynsections.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/dynsections.js b/docs/v1.11/dynsections.js
new file mode 100644
index 0000000..85e1836
--- /dev/null
+++ b/docs/v1.11/dynsections.js
@@ -0,0 +1,97 @@
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+   content.hide();
+   summary.show();
+   $(linkObj).addClass('closed').removeClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+   content.show();
+   summary.hide();
+   $(linkObj).removeClass('closed').addClass('opened');
+   $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ } 
+ return false;
+}
+
+function updateStripes()
+{
+  $('table.directory tr').
+       removeClass('even').filter(':visible:even').addClass('even');
+}
+
+function toggleLevel(level)
+{
+  $('table.directory tr').each(function() {
+    var l = this.id.split('_').length-1;
+    var i = $('#img'+this.id.substring(3));
+    var a = $('#arr'+this.id.substring(3));
+    if (l<level+1) {
+      i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
+      a.html('&#9660;');
+      $(this).show();
+    } else if (l==level+1) {
+      i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
+      a.html('&#9658;');
+      $(this).show();
+    } else {
+      $(this).hide();
+    }
+  });
+  updateStripes();
+}
+
+function toggleFolder(id)
+{
+  // the clicked row
+  var currentRow = $('#row_'+id);
+
+  // all rows after the clicked row
+  var rows = currentRow.nextAll("tr");
+
+  var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
+
+  // only match elements AFTER this one (can't hide elements before)
+  var childRows = rows.filter(function() { return this.id.match(re); });
+
+  // first row is visible we are HIDING
+  if (childRows.filter(':first').is(':visible')===true) {
+    // replace down arrow by right arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    currentRowSpans.filter(".arrow").html('&#9658;');
+    rows.filter("[id^=row_"+id+"]").hide(); // hide all children
+  } else { // we are SHOWING
+    // replace right arrow by down arrow for current row
+    var currentRowSpans = currentRow.find("span");
+    currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
+    currentRowSpans.filter(".arrow").html('&#9660;');
+    // replace down arrows by right arrows for child rows
+    var childRowsSpans = childRows.find("span");
+    childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
+    childRowsSpans.filter(".arrow").html('&#9658;');
+    childRows.show(); //show all children
+  }
+  updateStripes();
+}
+
+
+function toggleInherit(id)
+{
+  var rows = $('tr.inherit.'+id);
+  var img = $('tr.inherit_header.'+id+' img');
+  var src = $(img).attr('src');
+  if (rows.filter(':first').is(':visible')===true) {
+    rows.css('display','none');
+    $(img).attr('src',src.substring(0,src.length-8)+'closed.png');
+  } else {
+    rows.css('display','table-row'); // using show() causes jump in firefox
+    $(img).attr('src',src.substring(0,src.length-10)+'open.png');
+  }
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/eigen_navtree_hacks.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/eigen_navtree_hacks.js b/docs/v1.11/eigen_navtree_hacks.js
new file mode 100644
index 0000000..ee72246
--- /dev/null
+++ b/docs/v1.11/eigen_navtree_hacks.js
@@ -0,0 +1,236 @@
+var arrowRight = '&#9658;';
+
+// generate a table of contents in the side-nav based on the h1/h2 tags of the current page.
+function generate_autotoc() {
+  var headers = $("h1, h2");
+  if(headers.length > 1) {
+    var toc = $("#side-nav").append('<div id="nav-toc" class="toc"><h3>Table of contents</h3></div>');
+    toc = $("#nav-toc");
+    var footerHeight = footer.height();
+    toc = toc.append('<ul></ul>');
+    toc = toc.find('ul');
+    var indices = new Array();
+    indices[0] = 0;
+    indices[1] = 0;
+
+    var h1counts = $("h1").length;
+    headers.each(function(i) {
+      var current = $(this);
+      var levelTag = current[0].tagName.charAt(1);
+      if(h1counts==0)
+        levelTag--;
+      var cur_id = current.attr("id");
+
+      indices[levelTag-1]+=1;
+      var prefix = indices[0];
+      if (levelTag >1) {
+        prefix+="."+indices[1];
+      }
+
+      // Uncomment to add number prefixes
+      // current.html(prefix + "   " + current.html());
+      for(var l = levelTag; l < 2; ++l){
+          indices[l] = 0;
+      }
+
+      if(cur_id == undefined) {
+        current.attr('id', 'title' + i);
+        current.addClass('anchor');
+        toc.append("<li class='level" + levelTag + "'><a id='link" + i + "' href='#title" +
+                    i + "' title='" + current.prop("tagName") + "'>" + current.text() + "</a></li>");
+      } else {
+        toc.append("<li class='level" + levelTag + "'><a id='" + cur_id + "' href='#title" +
+                    i + "' title='" + current.prop("tagName") + "'>" + current.text() + "</a></li>");
+      }
+    });
+    resizeHeight();
+  }
+}
+
+
+var global_navtree_object;
+
+// Overloaded to remove links to sections/subsections
+function getNode(o, po)
+{
+  po.childrenVisited = true;
+  var l = po.childrenData.length-1;
+  for (var i in po.childrenData) {
+    var nodeData = po.childrenData[i];
+    if((!nodeData[1]) ||  (nodeData[1].indexOf('#')==-1)) // <- we added this line
+      po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2], i==l);
+  }
+}
+
+// Overloaded to adjust the size of the navtree wrt the toc
+function resizeHeight()
+{
+  var toc = $("#nav-toc");
+  var tocHeight = toc.height();  // <- we added this line
+  var headerHeight = header.height();
+  var footerHeight = footer.height();
+  var windowHeight = $(window).height() - headerHeight - footerHeight;
+  content.css({height:windowHeight + "px"});
+  navtree.css({height:(windowHeight-tocHeight) + "px"}); // <- we modified this line
+  sidenav.css({height:(windowHeight) + "px",top: headerHeight+"px"});
+}
+
+// Overloaded to save the root node into global_navtree_object
+function initNavTree(toroot,relpath)
+{
+  var o = new Object();
+  global_navtree_object = o; // <- we added this line
+  o.toroot = toroot;
+  o.node = new Object();
+  o.node.li = document.getElementById("nav-tree-contents");
+  o.node.childrenData = NAVTREE;
+  o.node.children = new Array();
+  o.node.childrenUL = document.createElement("ul");
+  o.node.getChildrenUL = function() { return o.node.childrenUL; };
+  o.node.li.appendChild(o.node.childrenUL);
+  o.node.depth = 0;
+  o.node.relpath = relpath;
+  o.node.expanded = false;
+  o.node.isLast = true;
+  o.node.plus_img = document.createElement("span");
+  o.node.plus_img.className = 'arrow';
+  o.node.plus_img.innerHTML = arrowRight;
+
+  if (localStorageSupported()) {
+    var navSync = $('#nav-sync');
+    if (cachedLink()) {
+      showSyncOff(navSync,relpath);
+      navSync.removeClass('sync');
+    } else {
+      showSyncOn(navSync,relpath);
+    }
+    navSync.click(function(){ toggleSyncButton(relpath); });
+  }
+
+  navTo(o,toroot,window.location.hash,relpath);
+
+  $(window).bind('hashchange', function(){
+     if (window.location.hash && window.location.hash.length>1){
+       var a;
+       if ($(location).attr('hash')){
+         var clslink=stripPath($(location).attr('pathname'))+':'+
+                               $(location).attr('hash').substring(1);
+         a=$('.item a[class$="'+clslink+'"]');
+       }
+       if (a==null || !$(a).parent().parent().hasClass('selected')){
+         $('.item').removeClass('selected');
+         $('.item').removeAttr('id');
+       }
+       var link=stripPath2($(location).attr('pathname'));
+       navTo(o,link,$(location).attr('hash'),relpath);
+     } else if (!animationInProgress) {
+       $('#doc-content').scrollTop(0);
+       $('.item').removeClass('selected');
+       $('.item').removeAttr('id');
+       navTo(o,toroot,window.location.hash,relpath);
+     }
+  })
+
+  $(window).load(showRoot);
+}
+
+// return false if the the node has no children at all, or has only section/subsection children
+function checkChildrenData(node) {
+  if (!(typeof(node.childrenData)==='string')) {
+    for (var i in node.childrenData) {
+      var url = node.childrenData[i][1];
+      if(url.indexOf("#")==-1)
+        return true;
+    }
+    return false;
+  }
+  return (node.childrenData);
+}
+
+// Modified to:
+// 1 - remove the root node
+// 2 - remove the section/subsection children
+function createIndent(o,domNode,node,level)
+{
+  var level=-2; // <- we replaced level=-1 by level=-2
+  var n = node;
+  while (n.parentNode) { level++; n=n.parentNode; }
+  if (checkChildrenData(node)) { // <- we modified this line to use checkChildrenData(node) instead of node.childrenData
+    var imgNode = document.createElement("span");
+    imgNode.className = 'arrow';
+    imgNode.style.paddingLeft=(16*level).toString()+'px';
+    imgNode.innerHTML = arrowRight;
+
+    node.plus_img = imgNode;
+    node.expandToggle = document.createElement("a");
+    node.expandToggle.href = "javascript:void(0)";
+    node.expandToggle.onclick = function() {
+      if (node.expanded) {
+        $(node.getChildrenUL()).slideUp("fast");
+        node.plus_img.innerHTML = arrowRight;
+        node.expanded = false;
+      } else {
+        expandNode(o, node, false, false);
+      }
+    }
+    node.expandToggle.appendChild(imgNode);
+    domNode.appendChild(node.expandToggle);
+  } else {
+      var span = document.createElement("span");
+      span.className = 'arrow';
+      span.style.width   = 16*(level+1)+'px';
+      span.innerHTML = '&#160;';
+      domNode.appendChild(span);
+  }
+}
+
+// Overloaded to automatically expand the selected node
+function selectAndHighlight(hash,n)
+{
+  var a;
+  if (hash) {
+    var link=stripPath($(location).attr('pathname'))+':'+hash.substring(1);
+    a=$('.item a[class$="'+link+'"]');
+  }
+  if (a && a.length) {
+    a.parent().parent().addClass('selected');
+    a.parent().parent().attr('id','selected');
+    highlightAnchor();
+  } else if (n) {
+    $(n.itemDiv).addClass('selected');
+    $(n.itemDiv).attr('id','selected');
+  }
+  if ($('#nav-tree-contents .item:first').hasClass('selected')) {
+    $('#nav-sync').css('top','30px');
+  } else {
+    $('#nav-sync').css('top','5px');
+  }
+  expandNode(global_navtree_object, n, true, true); // <- we added this line
+  showRoot();
+}
+
+
+$(document).ready(function() {
+
+  (function (){ // wait until the first "selected" element has been created
+    try {
+
+      // this line will triger an exception if there is no #selected element, i.e., before the tree structure is complete.
+      document.getElementById("selected").className = "item selected";
+
+      // ok, the default tree has been created, we can keep going...
+
+      // we want to expand the function list by default
+      expandNode(global_navtree_object, global_navtree_object.node.children[0].children[0], true, true);
+
+      // Hide the root node "MADlib"
+      // $(document.getElementsByClassName('index.html')[0]).parent().parent().css({display:"none"});
+
+      // Hide the "modules" node
+      $(document.getElementsByClassName('modules.html')[0]).parent().parent().css({display:"none"});
+
+    } catch (err) {
+      setTimeout(arguments.callee, 10);
+    }
+  })();
+});


[11/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/jquery.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/jquery.js b/docs/v1.11/jquery.js
new file mode 100644
index 0000000..f5343ed
--- /dev/null
+++ b/docs/v1.11/jquery.js
@@ -0,0 +1,87 @@
+/*!
+ * jQuery JavaScript Library v1.7.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Nov 21 21:11:03 2011 -0500
+ */
+(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="bo
 dy"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",
 jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},pus
 h:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b4<b3;b4++){if((b9=arguments[b4])!=null){for(b2 in b9){b0=b5[b2];b1=b9[b2];if(b5===b1){continue}if(b8&&b1&&(bF.isPlainObject(b1)||(b6=bF.isArray(b1)))){if(b6){b6=false;b7=b0&&bF.isArray(b0)?b0:[]}else{b7=b0&&bF.isPlainObject(b0)?b0:{}}b5[b2]=bF.extend(b8,b7,b1)}else{if(b1!==L){b5[b2]=b1}}}}}return b5};bF.extend({noConflict:function(b0){if(bb.$===bF){bb.$=bH}if(b0&&bb.jQuery===bF){bb.jQuery=bU}return bF},isReady:false,readyWait:1,holdReady:function(b0){if(b0){bF.readyWait++}else{bF.ready(true)}},ready:function(b0){if((b0===true&&!--bF.readyWait)||(b0!==true&&!bF.isReady)){if(!av.body){return setTimeout(bF.ready,1)}bF.isReady=true;if(b0!==true&&--bF.readyWait>0){return}bC.fireWit
 h(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&
 &!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replac
 e(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b4<b5;){if(b6.apply(b3[b4++],b2)===false){break}}}}else{if(b0){for(b1 in b3){if(b6.call(b3[b1],b1,b3[b1])===false){break}}}else{for(;b4<b5;){if(b6.call(b3[b4],b4,b3[b4++])===false){break}}}}return b3},trim:bO?function(b0){return b0==null?"":bO.call(b0)}:function(b0){return b0==null?"":b0.toString().replace(bI,"").replace(bE,"")},makeArray:function(b3,b1){var b0=b1||[];if(b3!=null){var b2=bF.type(b3);if(b3.length==null||b2==="string"||b2==="function"||b2==="regexp"||bF.isWindow(b3)){bz.call(b0,b3)}else{bF.merge(b0,b3)}}return b0},inArray:function(b2,b3,b1){var b0;if(b3){if(bv){return bv.call(b3,b2,b1)}b0=b3.length;b1=b1?b1<0?Math.max(0,b0+b1):b1:0;for(;b1<b0;b1++){if(b1 in b3&&b3[b1]===b2){return b1}}}return -1},m
 erge:function(b4,b2){var b3=b4.length,b1=0;if(typeof b2.length==="number"){for(var b0=b2.length;b1<b0;b1++){b4[b3++]=b2[b1]}}else{while(b2[b1]!==L){b4[b3++]=b2[b1++]}}b4.length=b3;return b4},grep:function(b1,b6,b0){var b2=[],b5;b0=!!b0;for(var b3=0,b4=b1.length;b3<b4;b3++){b5=!!b6(b1[b3],b3);if(b0!==b5){b2.push(b1[b3])}}return b2},map:function(b0,b7,b8){var b5,b6,b4=[],b2=0,b1=b0.length,b3=b0 instanceof bF||b1!==L&&typeof b1==="number"&&((b1>0&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b2<b1;b2++){b5=b7(b0[b2],b2,b8);if(b5!=null){b4[b4.length]=b5}}}else{for(b6 in b0){b5=b7(b0[b6],b6,b8);if(b5!=null){b4[b4.length]=b5}}}return b4.concat.apply([],b4)},guid:1,proxy:function(b4,b3){if(typeof b3==="string"){var b2=b4[b3];b3=b4;b4=b2}if(!bF.isFunction(b4)){return L}var b0=bK.call(arguments,2),b1=function(){return b4.apply(b3,b0.concat(bK.call(arguments)))};b1.guid=b4.guid=b4.guid||b1.guid||bF.guid++;return b1},access:function(b0,b8,b6,b2,b5,b7){var b1=b0.length;if(typeof b8==="
 object"){for(var b3 in b8){bF.access(b0,b3,b8[b3],b2,b5,b6)}return b0}if(b6!==L){b2=!b7&&b2&&bF.isFunction(b6);for(var b4=0;b4<b1;b4++){b5(b0[b4],b8,b2?b6.call(b0[b4],b4,b5(b0[b4],b8)):b6,b7)}return b0}return b1?b5(b0[0],b8):L},now:function(){return(new Date()).getTime()},uaMatch:function(b1){b1=b1.toLowerCase();var b0=by.exec(b1)||bR.exec(b1)||bQ.exec(b1)||b1.indexOf("compatible")<0&&bS.exec(b1)||[];return{browser:b0[1]||"",version:b0[2]||"0"}},sub:function(){function b0(b3,b4){return new b0.fn.init(b3,b4)}bF.extend(true,b0,this);b0.superclass=this;b0.fn=b0.prototype=this();b0.fn.constructor=b0;b0.sub=this.sub;b0.fn.init=function b2(b3,b4){if(b4&&b4 instanceof bF&&!(b4 instanceof b0)){b4=b0(b4)}return bF.fn.init.call(this,b3,b4,b1)};b0.fn.init.prototype=b0.fn;var b1=b0(av);return b0},browser:{}});bF.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(b1,b0){bx["[object "+b0+"]"]=b0.toLowerCase()});bV=bF.uaMatch(bX);if(bV.browser){bF.browser[bV.browser
 ]=true;bF.browser.version=bV.version}if(bF.browser.webkit){bF.browser.safari=true}if(bM.test("\xA0")){bI=/^[\s\xA0]+/;bE=/[\s\xA0]+$/}bD=bF(av);if(av.addEventListener){e=function(){av.removeEventListener("DOMContentLoaded",e,false);bF.ready()}}else{if(av.attachEvent){e=function(){if(av.readyState==="complete"){av.detachEvent("onreadystatechange",e);bF.ready()}}}}function bw(){if(bF.isReady){return}try{av.documentElement.doScroll("left")}catch(b0){setTimeout(bw,1);return}bF.ready()}return bF})();var a2={};function X(e){var bv=a2[e]={},bw,bx;e=e.split(/\s+/);for(bw=0,bx=e.length;bw<bx;bw++){bv[e[bw]]=true}return bv}b.Callbacks=function(bw){bw=bw?(a2[bw]||X(bw)):{};var bB=[],bC=[],bx,by,bv,bz,bA,bE=function(bF){var bG,bJ,bI,bH,bK;for(bG=0,bJ=bF.length;bG<bJ;bG++){bI=bF[bG];bH=b.type(bI);if(bH==="array"){bE(bI)}else{if(bH==="function"){if(!bw.unique||!bD.has(bI)){bB.push(bI)}}}}},e=function(bG,bF){bF=bF||[];bx=!bw.memory||[bG,bF];by=true;bA=bv||0;bv=0;bz=bB.length;for(;bB&&bA<bz;bA++){i
 f(bB[bA].apply(bG,bF)===false&&bw.stopOnFalse){bx=true;break}}by=false;if(bB){if(!bw.once){if(bC&&bC.length){bx=bC.shift();bD.fireWith(bx[0],bx[1])}}else{if(bx===true){bD.disable()}else{bB=[]}}}},bD={add:function(){if(bB){var bF=bB.length;bE(arguments);if(by){bz=bB.length}else{if(bx&&bx!==true){bv=bF;e(bx[0],bx[1])}}}return this},remove:function(){if(bB){var bF=arguments,bH=0,bI=bF.length;for(;bH<bI;bH++){for(var bG=0;bG<bB.length;bG++){if(bF[bH]===bB[bG]){if(by){if(bG<=bz){bz--;if(bG<=bA){bA--}}}bB.splice(bG--,1);if(bw.unique){break}}}}}return this},has:function(bG){if(bB){var bF=0,bH=bB.length;for(;bF<bH;bF++){if(bG===bB[bF]){return true}}}return false},empty:function(){bB=[];return this},disable:function(){bB=bC=bx=L;return this},disabled:function(){return !bB},lock:function(){bC=L;if(!bx||bx===true){bD.disable()}return this},locked:function(){return !bC},fireWith:function(bG,bF){if(bC){if(by){if(!bw.once){bC.push([bG,bF])}}else{if(!(bw.once&&bx)){e(bG,bF)}}}return this},fire:fun
 ction(){bD.fireWith(this,arguments);return this},fired:function(){return !!bx}};return bD};var aJ=[].slice;b.extend({Deferred:function(by){var bx=b.Callbacks("once memory"),bw=b.Callbacks("once memory"),bv=b.Callbacks("memory"),e="pending",bA={resolve:bx,reject:bw,notify:bv},bC={done:bx.add,fail:bw.add,progress:bv.add,state:function(){return e},isResolved:bx.fired,isRejected:bw.fired,then:function(bE,bD,bF){bB.done(bE).fail(bD).progress(bF);return this},always:function(){bB.done.apply(bB,arguments).fail.apply(bB,arguments);return this},pipe:function(bF,bE,bD){return b.Deferred(function(bG){b.each({done:[bF,"resolve"],fail:[bE,"reject"],progress:[bD,"notify"]},function(bI,bL){var bH=bL[0],bK=bL[1],bJ;if(b.isFunction(bH)){bB[bI](function(){bJ=bH.apply(this,arguments);if(bJ&&b.isFunction(bJ.promise)){bJ.promise().then(bG.resolve,bG.reject,bG.notify)}else{bG[bK+"With"](this===bB?bG:this,[bJ])}})}else{bB[bI](bG[bK])}})}).promise()},promise:function(bE){if(bE==null){bE=bC}else{for(var bD 
 in bC){bE[bD]=bC[bD]}}return bE}},bB=bC.promise({}),bz;for(bz in bA){bB[bz]=bA[bz].fire;bB[bz+"With"]=bA[bz].fireWith}bB.done(function(){e="resolved"},bw.disable,bv.lock).fail(function(){e="rejected"},bx.disable,bv.lock);if(by){by.call(bB,bB)}return bB},when:function(bA){var bx=aJ.call(arguments,0),bv=0,e=bx.length,bB=new Array(e),bw=e,by=e,bC=e<=1&&bA&&b.isFunction(bA.promise)?bA:b.Deferred(),bE=bC.promise();function bD(bF){return function(bG){bx[bF]=arguments.length>1?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv<e;bv++){if(bx[bv]&&bx[bv].promise&&b.isFunction(bx[bv].promise)){bx[bv].promise().then(bD(bv),bC.reject,bz(bv))}else{--bw}}if(!bw){bC.resolveWith(bC,bx)}}else{if(bC!==bA){bC.resolveWith(bC,e?[bA]:[])}}return bE}});b.support=(function(){var bJ,bI,bF,bG,bx,bE,bA,bD,bz,bK,bB,by,bw,bv=av.createElement("div"),bH=av.documentElement;bv.setAttr
 ibute("className","t");bv.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayo
 ut:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent)
 {for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="<div "+e+"><div></div></div><table "+e+" cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].
 offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="<div style='width:4px;'></div>";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,ex
 pando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cac
 he:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA<bz;bA++){delete bB[bv[bA]]}if(!(by?S:b.isEmptyObject)(bB)){return}}}if(!by){delete e[bw].data;if(!S(e[bw])){return}}if(b.support.deleteExpando||!e.setInterval){delete e[bw]}else{e[bw]=null}if(bD){if(b.support.deleteExpando){delete bx[bC]}else{if(bx.removeAttribute){bx.removeAttribute(bC)}else{bx[bC]=null}}}},_data:function(bv,e,bw){return b.data(bv,e,bw,true)},acceptData:function(bv){if(bv.nodeName){var e=b.noData[bv.nodeName.toLowerCase()];if(e){return !(e===true||bv.getAttribute("classid")!==e)}}return true}});b.fn.extend({data:function(by,bA){var bB,e,bw,bz=null;if(typeof by==="undefined"){if(this.length){bz=b.data(this[0]);if(this[0].nodeType===1&&!b._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var bx=0,bv=e.length;bx<bv;bx++){bw=e[bx].name;if(bw.indexOf("data-"
 )===0){bw=b.camelCase(bw.substring(5));a5(this[0],bw,bz[bw])}}b._data(this[0],"parsedAttrs",true)}}return bz}else{if(typeof by==="object"){return this.each(function(){b.data(this,by)})}}bB=by.split(".");bB[1]=bB[1]?"."+bB[1]:"";if(bA===L){bz=this.triggerHandler("getData"+bB[1]+"!",[bB[0]]);if(bz===L&&this.length){bz=b.data(this[0],by);bz=a5(this[0],by,bz)}return bz===L&&bB[1]?this.data(bB[0]):bz}else{return this.each(function(){var bC=b(this),bD=[bB[0],bA];bC.triggerHandler("setData"+bB[1]+"!",bD);b.data(this,by,bA);bC.triggerHandler("changeData"+bB[1]+"!",bD)})}},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function a5(bx,bw,by){if(by===L&&bx.nodeType===1){var bv="data-"+bw.replace(aA,"-$1").toLowerCase();by=bx.getAttribute(bv);if(typeof by==="string"){try{by=by==="true"?true:by==="false"?false:by==="null"?null:b.isNumeric(by)?parseFloat(by):aS.test(by)?b.parseJSON(by):by}catch(bz){}b.data(bx,bw,by)}else{by=L}}return by}function S(bv){for(var e in bv
 ){if(e==="data"&&b.isEmptyObject(bv[e])){continue}if(e!=="toJSON"){return false}}return true}function bi(by,bx,bA){var bw=bx+"defer",bv=bx+"queue",e=bx+"mark",bz=b._data(by,bw);if(bz&&(bA==="queue"||!b._data(by,bv))&&(bA==="mark"||!b._data(by,e))){setTimeout(function(){if(!b._data(by,bv)&&!b._data(by,e)){b.removeData(by,bw,true);bz.fire()}},0)}}b.extend({_mark:function(bv,e){if(bv){e=(e||"fx")+"mark";b._data(bv,e,(b._data(bv,e)||0)+1)}},_unmark:function(by,bx,bv){if(by!==true){bv=bx;bx=by;by=false}if(bx){bv=bv||"fx";var e=bv+"mark",bw=by?0:((b._data(bx,e)||1)-1);if(bw){b._data(bx,e,bw)}else{b.removeData(bx,e,true);bi(bx,bv,"mark")}}},queue:function(bv,e,bx){var bw;if(bv){e=(e||"fx")+"queue";bw=b._data(bv,e);if(bx){if(!bw||b.isArray(bx)){bw=b._data(bv,e,b.makeArray(bx))}else{bw.push(bx)}}return bw||[]}},dequeue:function(by,bx){bx=bx||"fx";var bv=b.queue(by,bx),bw=bv.shift(),e={};if(bw==="inprogress"){bw=bv.shift()}if(bw){if(bx==="fx"){bv.unshift("inprogress")}b._data(by,bx+".run",e);
 bw.call(by,function(){b.dequeue(by,bx)},e)}if(!bv.length){b.removeData(by,bx+"queue "+bx+".run",true);bi(by,bx,"queue")}}});b.fn.extend({queue:function(e,bv){if(typeof e!=="string"){bv=e;e="fx"}if(bv===L){return b.queue(this[0],e)}return this.each(function(){var bw=b.queue(this,e,bv);if(e==="fx"&&bw[0]!=="inprogress"){b.dequeue(this,e)}})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(bv,e){bv=b.fx?b.fx.speeds[bv]||bv:bv;e=e||"fx";return this.queue(e,function(bx,bw){var by=setTimeout(bx,bv);bw.stop=function(){clearTimeout(by)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(bD,bw){if(typeof bD!=="string"){bw=bD;bD=L}bD=bD||"fx";var e=b.Deferred(),bv=this,by=bv.length,bB=1,bz=bD+"defer",bA=bD+"queue",bC=bD+"mark",bx;function bE(){if(!(--bB)){e.resolveWith(bv,[bv])}}while(by--){if((bx=b.data(bv[by],bz,L,true)||(b.data(bv[by],bA,L,true)||b.data(bv[by],bC,L,true))&&b.data(bv[by],bz,b.Callbacks("once memory"),true))){bB++;bx
 .add(bE)}}bE();return e.promise()}});var aP=/[\n\t\r]/g,af=/\s+/,aU=/\r/g,g=/^(?:button|input)$/i,D=/^(?:button|input|object|select|textarea)$/i,l=/^a(?:rea)?$/i,ao=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,F=b.support.getSetAttribute,be,aY,aF;b.fn.extend({attr:function(e,bv){return b.access(this,e,bv,true,b.attr)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,bv){return b.access(this,e,bv,true,b.prop)},removeProp:function(e){e=b.propFix[e]||e;return this.each(function(){try{this[e]=L;delete this[e]}catch(bv){}})},addClass:function(by){var bA,bw,bv,bx,bz,bB,e;if(b.isFunction(by)){return this.each(function(bC){b(this).addClass(by.call(this,bC,this.className))})}if(by&&typeof by==="string"){bA=by.split(af);for(bw=0,bv=this.length;bw<bv;bw++){bx=this[bw];if(bx.nodeType===1){if(!bx.className&&bA.length===1){bx.className=by}else{bz=" "+bx.className+" ";for(bB=0
 ,e=bA.length;bB<e;bB++){if(!~bz.indexOf(" "+bA[bB]+" ")){bz+=bA[bB]+" "}}bx.className=b.trim(bz)}}}}return this},removeClass:function(bz){var bA,bw,bv,by,bx,bB,e;if(b.isFunction(bz)){return this.each(function(bC){b(this).removeClass(bz.call(this,bC,this.className))})}if((bz&&typeof bz==="string")||bz===L){bA=(bz||"").split(af);for(bw=0,bv=this.length;bw<bv;bw++){by=this[bw];if(by.nodeType===1&&by.className){if(bz){bx=(" "+by.className+" ").replace(aP," ");for(bB=0,e=bA.length;bB<e;bB++){bx=bx.replace(" "+bA[bB]+" "," ")}by.className=b.trim(bx)}else{by.className=""}}}}return this},toggleClass:function(bx,bv){var bw=typeof bx,e=typeof bv==="boolean";if(b.isFunction(bx)){return this.each(function(by){b(this).toggleClass(bx.call(this,by,this.className,bv),bv)})}return this.each(function(){if(bw==="string"){var bA,bz=0,by=b(this),bB=bv,bC=bx.split(af);while((bA=bC[bz++])){bB=e?bB:!by.hasClass(bA);by[bB?"addClass":"removeClass"](bA)}}else{if(bw==="undefined"||bw==="boolean"){if(this.class
 Name){b._data(this,"__className__",this.className)}this.className=this.className||bx===false?"":b._data(this,"__className__")||""}}})},hasClass:function(e){var bx=" "+e+" ",bw=0,bv=this.length;for(;bw<bv;bw++){if(this[bw].nodeType===1&&(" "+this[bw].className+" ").replace(aP," ").indexOf(bx)>-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}}
 )}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv<bz;bv++){bx=bC[bv];if(bx.selected&&(b.support.optDisabled?!bx.disabled:bx.getAttribute("disabled")===null)&&(!bx.parentNode.disabled||!b.nodeName(bx.parentNode,"optgroup"))){bA=b(bx).val();if(bw){return bA}bB.push(bA)}}if(bw&&!bB.length&&bC.length){return b(bC[by]).val()}return bB},set:function(bv,bw){var e=b.makeArray(bw);b(bv).find("option").each(function(){this.selected=b.inArray(b(this).val(),e)>=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="unde
 fined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw<e;bw++){bv=bA[bw];if(bv){by=b.propFix[bv]||bv;b.attr(bx,bv,"");bx.removeAttribute(F?bv:by);if(ao.test(bv)&&by in bx){bx[by]=false}}}}},attrHooks:{type:{set:function(e,bv){if(g.test(e.nodeName)&&e.parentNode){b.error("type property can't be changed")}else{if(!b.support.radioValue&&bv==="radio"&&b.nodeName(e,"input")){var bw=e.value;e.setAttribute("type",bv);if(bw){e.value=bw}return bv}}}},value:{get:function(bv,e){if(be&&b.nodeName(bv,"button")){return be.get(bv,e)}return e
  in bv?bv.value:null},set:function(bv,bw,e){if(be&&b.nodeName(bv,"button")){return be.set(bv,bw,e)}bv.value=bw}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(bz,bx,bA){var bw,e,by,bv=bz.nodeType;if(!bz||bv===3||bv===8||bv===2){return}by=bv!==1||!b.isXMLDoc(bz);if(by){bx=b.propFix[bx]||bx;e=b.propHooks[bx]}if(bA!==L){if(e&&"set" in e&&(bw=e.set(bz,bA,bx))!==L){return bw}else{return(bz[bx]=bA)}}else{if(e&&"get" in e&&(bw=e.get(bz,bx))!==null){return bw}else{return bz[bx]}}},propHooks:{tabIndex:{get:function(bv){var e=bv.getAttributeNode("tabindex");return e&&e.specified?parseInt(e.value,10):D.test(bv.nodeName)||l.test(bv.nodeName)&&bv.href?0:L}}}});b.attrHooks.tabindex=b.propHooks.tabIndex;aY={get:function(bv,e){var bx,bw=b.prop(bv,e);return bw===
 true||typeof bw!=="boolean"&&(bx=bv.getAttributeNode(e))&&bx.nodeValue!==false?e.toLowerCase():L},set:function(bv,bx,e){var bw;if(bx===false){b.removeAttr(bv,e)}else{bw=b.propFix[e]||e;if(bw in bv){bv[bw]=true}bv.setAttribute(e,e.toLowerCase())}return e}};if(!F){aF={name:true,id:true};be=b.valHooks.button={get:function(bw,bv){var e;e=bw.getAttributeNode(bv);return e&&(aF[bv]?e.nodeValue!=="":e.specified)?e.nodeValue:L},set:function(bw,bx,bv){var e=bw.getAttributeNode(bv);if(!e){e=av.createAttribute(bv);bw.setAttributeNode(e)}return(e.nodeValue=bx+"")}};b.attrHooks.tabindex.set=be.set;b.each(["width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{set:function(bw,bx){if(bx===""){bw.setAttribute(e,"auto");return bx}}})});b.attrHooks.contenteditable={get:be.get,set:function(bv,bw,e){if(bw===""){bw="false"}be.set(bv,bw,e)}}}if(!b.support.hrefNormalized){b.each(["href","src","width","height"],function(bv,e){b.attrHooks[e]=b.extend(b.attrHooks[e],{get:function(bx){var bw=
 bx.getAttribute(e,2);return bw===null?L:bw}})})}if(!b.support.style){b.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||L},set:function(e,bv){return(e.style.cssText=""+bv)}}}if(!b.support.optSelected){b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(bv){var e=bv.parentNode;if(e){e.selectedIndex;if(e.parentNode){e.parentNode.selectedIndex}}return null}})}if(!b.support.enctype){b.propFix.enctype="encoding"}if(!b.support.checkOn){b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}})}b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,bv){if(b.isArray(bv)){return(e.checked=b.inArray(b(e).val(),bv)>=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var 
 bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI<bC.length;bI++){bH=n.exec(bC[bI])||[];bF=bH[1];e=(bH[2]||"").split(".").sort();bE=b.event.special[bF]||{};bF=(by?bE.delegateType:bE.bindType)||bF;bE=b.event
 .special[bF]||{};bG=b.extend({type:bF,origType:bH[1],data:bA,handler:bJ,guid:bJ.guid,selector:by,quick:Y(by),namespace:e.join(".")},bv);bw=bK[bF];if(!bw){bw=bK[bF]=[];bw.delegateCount=0;if(!bE.setup||bE.setup.call(bx,bA,e,bB)===false){if(bx.addEventListener){bx.addEventListener(bF,bB,false)}else{if(bx.attachEvent){bx.attachEvent("on"+bF,bB)}}}}if(bE.add){bE.add.call(bx,bG);if(!bG.handler.guid){bG.handler.guid=bJ.guid}}if(by){bw.splice(bw.delegateCount++,0,bG)}else{bw.push(bG)}b.event.global[bF]=true}bx=null},global:{},remove:function(bJ,bE,bv,bH,bB){var bI=b.hasData(bJ)&&b._data(bJ),bF,bx,bz,bL,bC,bA,bG,bw,by,bK,bD,e;if(!bI||!(bw=bI.events)){return}bE=b.trim(bt(bE||"")).split(" ");for(bF=0;bF<bE.length;bF++){bx=n.exec(bE[bF])||[];bz=bL=bx[1];bC=bx[2];if(!bz){for(bz in bw){b.event.remove(bJ,bz+bE[bF],bv,bH,true)}continue}by=b.event.special[bz]||{};bz=(bH?by.delegateType:by.bindType)||bz;bD=bw[bz]||[];bA=bD.length;bC=bC?new RegExp("(^|\\.)"+bC.split(".").sort().join("\\.(?:.*\\.)?")+"
 (\\.|$)"):null;for(bG=0;bG<bD.length;bG++){e=bD[bG];if((bB||bL===e.origType)&&(!bv||bv.guid===e.guid)&&(!bC||bC.test(e.namespace))&&(!bH||bH===e.selector||bH==="**"&&e.selector)){bD.splice(bG--,1);if(e.selector){bD.delegateCount--}if(by.remove){by.remove.call(bJ,e)}}}if(bD.length===0&&bA!==bD.length){if(!by.teardown||by.teardown.call(bJ,bC)===false){b.removeEvent(bJ,bz,bI.handle)}delete bw[bz]}}if(b.isEmptyObject(bw)){bK=bI.handle;if(bK){bK.elem=null}b.removeData(bJ,["events","handle"],true)}},customEvent:{getData:true,setData:true,changeData:true},trigger:function(bv,bD,bA,bJ){if(bA&&(bA.nodeType===3||bA.nodeType===8)){return}var bG=bv.type||bv,bx=[],e,bw,bC,bH,bz,by,bF,bE,bB,bI;if(T.test(bG+b.event.triggered)){return}if(bG.indexOf("!")>=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.is
 Trigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bC<bB.length&&!bv.isPropagationStopped();bC++){bH=bB[bC][0];bv.type=bB[bC][1];bE=(b._data(bH,"events")||{})[bv.type]&&b._data(bH,"handle");if(bE){bE.apply(bH,bD)}bE=by&&bH[by];if(bE&&b.acceptData(bH)&&bE.apply(bH,bD)===false){bv.preventDefault()}}bv.type=bG;if(!
 bJ&&!bv.isDefaultPrevented()){if((!bF._default||bF._default.apply(bA.ownerDocument,bD)===false)&&!(bG==="click"&&b.nodeName(bA,"a"))&&b.acceptData(bA)){if(by&&bA[bG]&&((bG!=="focus"&&bG!=="blur")||bv.target.offsetWidth!==0)&&!b.isWindow(bA)){bz=bA[by];if(bz){bA[by]=null}b.event.triggered=bG;bA[bG]();b.event.triggered=L;if(bz){bA[by]=bz}}}}return bv.result},dispatch:function(e){e=b.event.fix(e||bb.event);var bz=((b._data(this,"events")||{})[e.type]||[]),bA=bz.delegateCount,bG=[].slice.call(arguments,0),by=!e.exclusive&&!e.namespace,bH=[],bC,bB,bK,bx,bF,bE,bv,bD,bI,bw,bJ;bG[0]=e;e.delegateTarget=this;if(bA&&!e.target.disabled&&!(e.button&&e.type==="click")){bx=b(this);bx.context=this.ownerDocument||this;for(bK=e.target;bK!=this;bK=bK.parentNode||this){bE={};bD=[];bx[0]=bK;for(bC=0;bC<bA;bC++){bI=bz[bC];bw=bI.selector;if(bE[bw]===L){bE[bw]=(bI.quick?j(bK,bI.quick):bx.is(bw))}if(bE[bw]){bD.push(bI)}}if(bD.length){bH.push({elem:bK,matches:bD})}}}if(bz.length>bA){bH.push({elem:this,matche
 s:bz.slice(bA)})}for(bC=0;bC<bH.length&&!e.isPropagationStopped();bC++){bv=bH[bC];e.currentTarget=bv.elem;for(bB=0;bB<bv.matches.length&&!e.isImmediatePropagationStopped();bB++){bI=bv.matches[bB];if(by||(!e.namespace&&!bI.namespace)||e.namespace_re&&e.namespace_re.test(bI.namespace)){e.data=bI.data;e.handleObj=bI;bF=((b.event.special[bI.origType]||{}).handle||bI.handler).apply(bv.elem,bG);if(bF!==L){e.result=bF;if(bF===false){e.preventDefault();e.stopPropagation()}}}}}return e.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(bv,e){if(bv.which==null){bv.which=e.charCode!=null?e.charCode:e.keyCode}return bv}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(bx,bw){var by,bz
 ,e,bv=bw.button,bA=bw.fromElement;if(bx.pageX==null&&bw.clientX!=null){by=bx.target.ownerDocument||av;bz=by.documentElement;e=by.body;bx.pageX=bw.clientX+(bz&&bz.scrollLeft||e&&e.scrollLeft||0)-(bz&&bz.clientLeft||e&&e.clientLeft||0);bx.pageY=bw.clientY+(bz&&bz.scrollTop||e&&e.scrollTop||0)-(bz&&bz.clientTop||e&&e.clientTop||0)}if(!bx.relatedTarget&&bA){bx.relatedTarget=bA===bx.target?bw.toElement:bA}if(!bx.which&&bv!==L){bx.which=(bv&1?1:(bv&2?3:(bv&4?2:0)))}return bx}},fix:function(bw){if(bw[b.expando]){return bw}var bv,bz,e=bw,bx=b.event.fixHooks[bw.type]||{},by=bx.props?this.props.concat(bx.props):this.props;bw=b.Event(e);for(bv=by.length;bv;){bz=by[--bv];bw[bz]=e[bz]}if(!bw.target){bw.target=e.srcElement||av}if(bw.target.nodeType===3){bw.target=bw.target.parentNode}if(bw.metaKey===L){bw.metaKey=bw.ctrlKey}return bx.filter?bx.filter(bw,e):bw},special:{ready:{setup:b.bindReady},load:{noBubble:true},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:
 function(bw,bv,e){if(b.isWindow(this)){this.onbeforeunload=e}},teardown:function(bv,e){if(this.onbeforeunload===e){this.onbeforeunload=null}}}},simulate:function(bw,by,bx,bv){var bz=b.extend(new b.Event(),bx,{type:bw,isSimulated:true,originalEvent:{}});if(bv){b.event.trigger(bz,null,by)}else{b.event.dispatch.call(by,bz)}if(bz.isDefaultPrevented()){bx.preventDefault()}}};b.event.handle=b.event.dispatch;b.removeEvent=av.removeEventListener?function(bv,e,bw){if(bv.removeEventListener){bv.removeEventListener(e,bw,false)}}:function(bv,e,bw){if(bv.detachEvent){bv.detachEvent("on"+e,bw)}};b.Event=function(bv,e){if(!(this instanceof b.Event)){return new b.Event(bv,e)}if(bv&&bv.type){this.originalEvent=bv;this.type=bv.type;this.isDefaultPrevented=(bv.defaultPrevented||bv.returnValue===false||bv.getPreventDefault&&bv.getPreventDefault())?i:bk}else{this.type=bv}if(e){b.extend(this,e)}this.timeStamp=bv&&bv.timeStamp||b.now();this[b.expando]=true};function bk(){return false}function i(){return t
 rue}b.Event.prototype={preventDefault:function(){this.isDefaultPrevented=i;var bv=this.originalEvent;if(!bv){return}if(bv.preventDefault){bv.preventDefault()}else{bv.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=i;var bv=this.originalEvent;if(!bv){return}if(bv.stopPropagation){bv.stopPropagation()}bv.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=i;this.stopPropagation()},isDefaultPrevented:bk,isPropagationStopped:bk,isImmediatePropagationStopped:bk};b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(bv,e){b.event.special[bv]={delegateType:e,bindType:e,handle:function(bz){var bB=this,bA=bz.relatedTarget,by=bz.handleObj,bw=by.selector,bx;if(!bA||(bA!==bB&&!b.contains(bB,bA))){bz.type=by.origType;bx=by.handler.apply(this,arguments);bz.type=e}return bx}}});if(!b.support.submitBubbles){b.event.special.submit={setup:function(){if(b.nodeName(this,"form")){return false}b.event.add(this,"click._submit keypress
 ._submit",function(bx){var bw=bx.target,bv=b.nodeName(bw,"input")||b.nodeName(bw,"button")?bw.form:L;if(bv&&!bv._submit_attached){b.event.add(bv,"submit._submit",function(e){if(this.parentNode&&!e.isTrigger){b.event.simulate("submit",this.parentNode,e,true)}});bv._submit_attached=true}})},teardown:function(){if(b.nodeName(this,"form")){return false}b.event.remove(this,"._submit")}}}if(!b.support.changeBubbles){b.event.special.change={setup:function(){if(bd.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){b.event.add(this,"propertychange._change",function(e){if(e.originalEvent.propertyName==="checked"){this._just_changed=true}});b.event.add(this,"click._change",function(e){if(this._just_changed&&!e.isTrigger){this._just_changed=false;b.event.simulate("change",this,e,true)}})}return false}b.event.add(this,"beforeactivate._change",function(bw){var bv=bw.target;if(bd.test(bv.nodeName)&&!bv._change_attached){b.event.add(bv,"change._change",function(e){if(this.parentNo
 de&&!e.isSimulated&&!e.isTrigger){b.event.simulate("change",this.parentNode,e,true)}});bv._change_attached=true}})},handle:function(bv){var e=bv.target;if(this!==e||bv.isSimulated||bv.isTrigger||(e.type!=="radio"&&e.type!=="checkbox")){return bv.handleObj.handler.apply(this,arguments)}},teardown:function(){b.event.remove(this,"._change");return bd.test(this.nodeName)}}}if(!b.support.focusinBubbles){b.each({focus:"focusin",blur:"focusout"},function(bx,e){var bv=0,bw=function(by){b.event.simulate(e,by.target,b.event.fix(by),true)};b.event.special[e]={setup:function(){if(bv++===0){av.addEventListener(bx,bw,true)}},teardown:function(){if(--bv===0){av.removeEventListener(bx,bw,true)}}}})}b.fn.extend({on:function(bw,e,bz,by,bv){var bA,bx;if(typeof bw==="object"){if(typeof e!=="string"){bz=e;e=L}for(bx in bw){this.on(bx,e,bz,bw[bx],bv)}return this}if(bz==null&&by==null){by=e;bz=e=L}else{if(by==null){if(typeof e==="string"){by=bz;bz=L}else{by=bz;bz=e;e=L}}}if(by===false){by=bk}else{if(!by){
 return this}}if(bv===1){bA=by;by=function(bB){b().off(bB);return bA.apply(this,arguments)};by.guid=bA.guid||(bA.guid=b.guid++)}return this.each(function(){b.event.add(this,bw,by,bz,e)})},one:function(bv,e,bx,bw){return this.on.call(this,bv,e,bx,bw,1)},off:function(bw,e,by){if(bw&&bw.preventDefault&&bw.handleObj){var bv=bw.handleObj;b(bw.delegateTarget).off(bv.namespace?bv.type+"."+bv.namespace:bv.type,bv.selector,bv.handler);return this}if(typeof bw==="object"){for(var bx in bw){this.off(bx,e,bw[bx])}return this}if(e===false||typeof e==="function"){by=e;e=L}if(by===false){by=bk}return this.each(function(){b.event.remove(this,bw,by,e)})},bind:function(e,bw,bv){return this.on(e,null,bw,bv)},unbind:function(e,bv){return this.off(e,null,bv)},live:function(e,bw,bv){b(this.context).on(e,this.selector,bw,bv);return this},die:function(e,bv){b(this.context).off(e,this.selector||"**",bv);return this},delegate:function(e,bv,bx,bw){return this.on(bv,e,bx,bw)},undelegate:function(e,bv,bw){return
  arguments.length==1?this.off(e,"**"):this.off(bv,e,bw)},trigger:function(e,bv){return this.each(function(){b.event.trigger(e,bv,this)})},triggerHandler:function(e,bv){if(this[0]){return b.event.trigger(e,bv,this[0],true)}},toggle:function(bx){var bv=arguments,e=bx.guid||b.guid++,bw=0,by=function(bz){var bA=(b._data(this,"lastToggle"+bx.guid)||0)%bw;b._data(this,"lastToggle"+bx.guid,bA+1);bz.preventDefault();return bv[bA].apply(this,arguments)||false};by.guid=e;while(bw<bv.length){bv[bw++].guid=e}return this.click(by)},hover:function(e,bv){return this.mouseenter(e).mouseleave(bv||e)}});b.each(("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu").split(" "),function(bv,e){b.fn[e]=function(bx,bw){if(bw==null){bw=bx;bx=null}return arguments.length>0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.even
 t.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
+/*!
+ * Sizzle CSS Selector Engine
+ *  Copyright 2011, The Dojo Foundation
+ *  Released under the MIT, BSD, and GPL Licenses.
+ *  More information: http://sizzlejs.com/
+ */
+(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.fi
 lter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e<bR.length;e++){if(bR[e]===bR[e-1]){bR.splice(e--,1)}}}}return bR};by.matches=function(e,bR){return by(e,null,null,bR)};by.matchesSelecto
 r=function(e,bR){return by(bR,null,null,[e]).length>0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS<bU;bS++){bV=bE.order[bS];if((bT=bE.leftMatch[bV].exec(bX))){bR=bT[1];bT.splice(1,1);if(bR.substr(bR.length-1)!=="\\"){bT[1]=(bT[1]||"").replace(bK,"");bW=bE.find[bV](bT,e,bY);if(bW!=null){bX=bX.replace(bE.match[bV],"");break}}}}if(!bW){bW=typeof e.getElementsByTagName!=="undefined"?e.getElementsByTagName("*"):[]}return{set:bW,expr:bX}};by.filter=function(b1,b0,b4,bU){var bW,e,bZ,b6,b3,bR,bT,bV,b2,bS=b1,b5=[],bY=b0,bX=b0&&b0[0]&&by.isXML(b0[0]);while(b1&&b0.length){for(bZ in bE.filter){if((bW=bE.leftMatch[bZ].exec(b1))!=null&&bW[2]){bR=bE.filter[bZ];bT=bW[1];e=false;bW.splice(1,1);if(bT.substr(bT.length-1)==="\\"){continue}if(bY===b5){b5=[]}if(bE.preFilter[bZ]){bW=bE.preFilter[bZ](bW,bY,b4,b5,bU,bX);if(!bW){e=b6=true}else{if(bW===true){continue}}}if(bW){for(bV=0;(b3=bY[bV])!=null;bV++){if(b3){b6=bR(b3,bW,bV,bY);b2=bU^b6;if(b4&&b6!=null
 ){if(b2){e=true}else{bY[bV]=false}}else{if(b2){b5.push(b3);e=true}}}}}if(b6!==L){if(!b4){bY=b5}b1=b1.replace(bE.match[bZ],"");if(!e){return[]}break}}}if(b1===bS){if(e==null){by.error(b1)}else{break}}bS=b1}return bY};by.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var bw=by.getText=function(bU){var bS,bT,e=bU.nodeType,bR="";if(e){if(e===1||e===9){if(typeof bU.textContent==="string"){return bU.textContent}else{if(typeof bU.innerText==="string"){return bU.innerText.replace(bO,"")}else{for(bU=bU.firstChild;bU;bU=bU.nextSibling){bR+=bw(bU)}}}}else{if(e===3||e===4){return bU.nodeValue}}}else{for(bS=0;(bT=bU[bS]);bS++){if(bT.nodeType!==8){bR+=bw(bT)}}}return bR};var bE=by.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)
 \s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(bW,bR){var bT=typeof bR==="string",bV=bT&&!bQ.test(bR),bX=bT&&!bV;if(bV){bR=bR.toLowerCase()}for(var bS=0,e=bW.length,bU;bS<e;bS++){if((bU=bW[bS])){while((bU=bU.previousSibling)&&bU.nodeType!==1){}bW[bS]=bX||bU&&bU.nodeName.toLowerCase()===bR?bU||false:bU===bR}}if(bX){by.filter(bR,bW,true)}},">":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS<e;bS++){bV=bW[bS];if(bV){var bT=bV.parentNode;bW[bS]=bT.nodeName.toLowerCase()===bR?b
 T:false}}}else{for(;bS<e;bS++){bV=bW[bS];if(bV){bW[bS]=bU?bV.parentNode:bV.parentNode===bR}}if(bU){by.filter(bR,bW,true)}}},"":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("parentNode",bR,bS,bT,bU,bV)},"~":function(bT,bR,bV){var bU,bS=bI++,e=bN;if(typeof bR==="string"&&!bQ.test(bR)){bR=bR.toLowerCase();bU=bR;e=bv}e("previousSibling",bR,bS,bT,bU,bV)}},find:{ID:function(bR,bS,bT){if(typeof bS.getElementById!=="undefined"&&!bT){var e=bS.getElementById(bR[1]);return e&&e.parentNode?[e]:[]}},NAME:function(bS,bV){if(typeof bV.getElementsByName!=="undefined"){var bR=[],bU=bV.getElementsByName(bS[1]);for(var bT=0,e=bU.length;bT<e;bT++){if(bU[bT].getAttribute("name")===bS[1]){bR.push(bU[bT])}}return bR.length===0?null:bR}},TAG:function(e,bR){if(typeof bR.getElementsByTagName!=="undefined"){return bR.getElementsByTagName(e[1])}}},preFilter:{CLASS:function(bT,bR,bS,e,bW,bX){bT=" "+bT[1].replace(bK,"")+" ";if(bX){return bT}for(va
 r bU=0,bV;(bV=bR[bU])!=null;bU++){if(bV){if(bW^(bV.className&&(" "+bV.className+" ").replace(/[\t\n\r]/g," ").indexOf(bT)>=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}r
 eturn false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeN
 ame.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bR<e[3]-0},gt:function(bS,bR,e){return bR>e[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR
 (bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV<bU;bV++){if(bT[bV]===bS){return false}}return true}else{by.error(e)}}}},CHILD:function(bS,bU){var bT,b0,bW,bZ,e,bV,bY,bX=bU[1],bR=bS;switch(bX){case"only":case"first":while((bR=bR.previousSibling)){if(bR.nodeType===1){return false}}if(bX==="first"){return true}bR=bS;case"last":while((bR=bR.nextSibling)){if(bR.nodeType===1){return false}}return true;case"nth":bT=bU[2];b0=bU[3];if(bT===1&&b0===0){return true}bW=bU[0];bZ=bS.parentNode;if(bZ&&(bZ[bC]!==bW||!bS.nodeIndex)){bV=0;for(bR=bZ.firstChild;bR;bR=bR.nextSibling){if(bR.nodeType===1){bR.nodeIndex=++bV}}bZ[bC]=bW}bY=bS.nodeIndex-b0;if(bT===0){return bY===0}else{return(bY%bT===0&&bY/bT>=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:funct
 ion(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}retur
 n bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS<e;bS++){bR.push(bU[bS])}}else{for(;bU[bS];bS++){bR.push(bU[bS])}}}return bR}}var bJ,bG;if(av.documentElement.compareDocumentPosition){bJ=function(bR,e){if(bR===e){bB=true;return 0}if(!bR.compareDocumentPosition||!e.compareDocumentPosition){return bR.compareDocumentPosition?-1:1}return bR.compareDocumentPosition(e)&4?-1:1}}else{bJ=function(bY,bX){if(bY===bX){bB=true;return 0}else{if(bY.sourceIndex&&bX.sourceIndex){return bY.sourceIndex-bX.sourceIndex}}var bV,bR,bS=[],e=[],bU=bY.parentNode,bW=bX.parentNode,bZ=bU;if(bU===bW){return bG(bY,bX)}else{if(!bU){return -1}else{if(!bW){return 1}}}while(bZ){bS.unshift(bZ);bZ=bZ.parentNode}bZ=bW;while(bZ){e.unshift(bZ);bZ=bZ.parentNode}bV=bS.length;bR=e.length;for(var bT=0;bT<bV&&bT<bR;bT++){
 if(bS[bT]!==e[bT]){return bG(bS[bT],e[bT])}}return bT===bV?bG(bY,e[bT],-1):bG(bS[bT],bX,1)};bG=function(bR,e,bS){if(bR===e){return bS}var bT=bR.nextSibling;while(bT){if(bT===e){return -1}bT=bT.nextSibling}return 1}}(function(){var bR=av.createElement("div"),bS="script"+(new Date()).getTime(),e=av.documentElement;bR.innerHTML="<a name='"+bS+"'/>";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagNa
 me(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="<p class='TEST'></p>";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2
 [3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&
 &bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1&&!bY){e[bC]=bV;e.sizset=bT}if(e.nodeName.toLowerCase()===bW){bU=e;break}e=e[bR]}bZ[bT]=bU}}}function bN(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT<bS;bT++){var e=bZ[bT];if(e){var bU=false;e=e[bR];while(e){if(e[bC]===bV){bU=bZ[e.sizset];break}if(e.nodeType===1){if(!bY){e[bC]=bV;e.sizset=b
 T}if(typeof bW!=="string"){if(e===bW){bU=true;break}}else{if(by.filter(bW,[e]).length>0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT<bR;bT++){by(bS,bY[bT],bX,bW)}return by.filter(bU,bX)};by.attr=b.attr;by.selectors.attrMap={};b.find=by;b.expr=by.selectors;b.expr[":"]=b.expr.filters;b.unique=by.uniqueSort;b.text=by.getText;b.isXMLDoc=by.isXML;b.contains=by.contains})();var ab=/Until$/,aq=/^(?:parents|prevUntil|prevAll)/
 ,a9=/,/,bp=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,H=b.expr.match.POS,ay={children:true,contents:true,next:true,prev:true};b.fn.extend({find:function(e){var bw=this,by,bv;if(typeof e!=="string"){return b(e).filter(function(){for(by=0,bv=bw.length;by<bv;by++){if(b.contains(bw[by],this)){return true}}})}var bx=this.pushStack("","find",e),bA,bB,bz;for(by=0,bv=this.length;by<bv;by++){bA=bx.length;b.find(e,this[by],bx);if(by>0){for(bB=bA;bB<bx.length;bB++){for(bz=0;bz<bA;bz++){if(bx[bz]===bx[bB]){bx.splice(bB--,1);break}}}}}return bx},has:function(bv){var e=b(bv);return this.filter(function(){for(var bx=0,bw=e.length;bx<bw;bx++){if(b.contains(this,e[bx])){return true}}})},not:function(e){return this.pushStack(aG(this,e,false),"not",e)},filter:function(e){return this.pushStack(aG(this,e,true),"filter",e)},is:function(e){return !!e&&(typeof e==="string"?H.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,
 bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw<by.length;bw++){if(b(bz).is(by[bw])){bv.push({selector:by[bw],elem:bz,level:bB})}}bz=bz.parentNode;bB++}return bv}var bA=H.test(by)||typeof by!=="string"?b(by,bx||this.context):0;for(bw=0,e=this.length;bw<e;bw++){bz=this[bw];while(bz){if(bA?bA.index(bz)>-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||
 e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>
 1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.
 grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/<tbody/i,W=/<|&#?\w+;/,ae=/<(?:script|style)/i,O=/<(?:script|object|embed|option|style)/i,ah=new RegExp("<(?:"+aR+")","i"),o=/checked\s*(?:[^=]|=\s*.checked.)/i,bm=/\/(java|ecma)script/i,aN=/^\s*<!(?:\[CDATA\[|\-\-)/,ax={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area
 :[1,"<map>","</map>"],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div<div>","</div>"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.leng
 th){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"
 after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1></$2>");try{for(var bw=0,bv=this.length;bw<bv;bw++){if(this[bw].nodeType===1){b.cleanData(this[bw].getElementsByTagName("*"));this[bw
 ].innerHTML=bx}}}catch(by){this.empty().append(bx)}}else{if(b.isFunction(bx)){this.each(function(bz){var e=b(this);e.html(bx.call(this,bz,e.html()))})}else{this.empty().append(bx)}}}return this},replaceWith:function(e){if(this[0]&&this[0].parentNode){if(b.isFunction(e)){return this.each(function(bx){var bw=b(this),bv=bw.html();bw.replaceWith(e.call(this,bx,bv))})}if(typeof e!=="string"){e=b(e).detach()}return this.each(function(){var bw=this.nextSibling,bv=this.parentNode;b(this).remove();if(bw){b(bw).before(e)}else{b(bv).append(e)}})}else{return this.length?this.pushStack(b(b.isFunction(e)?e():e),"replaceWith",e):this}},detach:function(e){return this.remove(e,true)},domManip:function(bB,bF,bE){var bx,by,bA,bD,bC=bB[0],bv=[];if(!b.support.checkClone&&arguments.length===3&&typeof bC==="string"&&o.test(bC)){return this.each(function(){b(this).domManip(bB,bF,bE,true)})}if(b.isFunction(bC)){return this.each(function(bH){var bG=b(this);bB[0]=bC.call(this,bH,bF?bG.html():L);bG.domManip(bB
 ,bF,bE)})}if(this[0]){bD=bC&&bC.parentNode;if(b.support.parentNode&&bD&&bD.nodeType===11&&bD.childNodes.length===this.length){bx={fragment:bD}}else{bx=b.buildFragment(bB,this,bv)}bA=bx.fragment;if(bA.childNodes.length===1){by=bA=bA.firstChild}else{by=bA.firstChild}if(by){bF=bF&&b.nodeName(by,"tr");for(var bw=0,e=this.length,bz=e-1;bw<e;bw++){bE.call(bF?ba(this[bw],by):this[bw],bx.cacheable||(e>1&&bw<bz)?b.clone(bA,true,true):bA)}}if(bv.length){b.each(bv,bo)}}return this}});function ba(e,bv){return b.nodeName(e,"table")?(e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody"))):e}function t(bB,bv){if(bv.nodeType!==1||!b.hasData(bB)){return}var by,bx,e,bA=b._data(bB),bz=b._data(bv,bA),bw=bA.events;if(bw){delete bz.handle;bz.events={};for(by in bw){for(bx=0,e=bw[by].length;bx<e;bx++){b.event.add(bv,by+(bw[by][bx].namespace?".":"")+bw[by][bx].namespace,bw[by][bx],bw[by][bx].data)}}}if(bz.data){bz.data=b.extend({},bz.data)}}function ai(bv,e){var bw;if(e.n
 odeType!==1){return}if(e.clearAttributes){e.clearAttributes()}if(e.mergeAttributes){e.mergeAttributes(bv)}bw=e.nodeName.toLowerCase();if(bw==="object"){e.outerHTML=bv.outerHTML}else{if(bw==="input"&&(bv.type==="checkbox"||bv.type==="radio")){if(bv.checked){e.defaultChecked=e.checked=bv.checked}if(e.value!==bv.value){e.value=bv.value}}else{if(bw==="option"){e.selected=bv.defaultSelected}else{if(bw==="input"||bw==="textarea"){e.defaultValue=bv.defaultValue}}}}e.removeAttribute(b.expando)}b.buildFragment=function(bz,bx,bv){var by,e,bw,bA,bB=bz[0];if(bx&&bx[0]){bA=bx[0].ownerDocument||bx[0]}if(!bA.createDocumentFragment){bA=av}if(bz.length===1&&typeof bB==="string"&&bB.length<512&&bA===av&&bB.charAt(0)==="<"&&!O.test(bB)&&(b.support.checkClone||!o.test(bB))&&(b.support.html5Clone||!ah.test(bB))){e=true;bw=b.fragments[bB];if(bw&&bw!==1){by=bw}}if(!by){by=bA.createDocumentFragment();b.clean(bz,bA,by,bv)}if(e){b.fragments[bB]=bw?by:1}return{fragment:by,cacheable:e}};b.fragments={};b.each({
 appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,bv){b.fn[e]=function(bw){var bz=[],bC=b(bw),bB=this.length===1&&this[0].parentNode;if(bB&&bB.nodeType===11&&bB.childNodes.length===1&&bC.length===1){bC[bv](this[0]);return this}else{for(var bA=0,bx=bC.length;bA<bx;bA++){var by=(bA>0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.inne
 rHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1></$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD-
 -){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]==="<table>"&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB<bG;bB++){E(bz[bB])}}else{E(bz)}}if(bz.nodeType){bI.push(bz)}else{bI=b.merge(bI,bz)}}if(bH){bF=function(bL){return !bL.type||bm.test(bL.type)};for(bE=0;bI[bE];bE++){if(bA&&b.nodeName(bI[bE],"script")&&(!bI[bE].type||bI[bE].type.toLowerCase()==="text/javascript")){bA.push(bI[bE].parentNode?bI[bE].parentNode.removeChild(bI[bE]):bI[bE])}else{if(bI[bE].nodeType===1){var bJ=b.grep(bI[bE].getElementsByTagName("script"),bF);bI.splice.apply(bI,[bE+1,0].concat(bJ))}bH.appendChild(bI[bE])}}}return 
 bI},cleanData:function(bv){var by,bw,e=b.cache,bB=b.event.special,bA=b.support.deleteExpando;for(var bz=0,bx;(bx=bv[bz])!=null;bz++){if(bx.nodeName&&b.noData[bx.nodeName.toLowerCase()]){continue}bw=bx[b.expando];if(bw){by=e[bw];if(by&&by.events){for(var bC in by.events){if(bB[bC]){b.event.remove(bx,bC)}else{b.removeEvent(bx,bC,by.handle)}}if(by.handle){by.handle.elem=null}}if(bA){delete bx[b.expando]}else{if(bx.removeAttribute){bx.removeAttribute(b.expando)}}delete e[bw]}}}});function bo(e,bv){if(bv.src){b.ajax({url:bv.src,async:false,dataType:"script"})}else{b.globalEval((bv.text||bv.textContent||bv.innerHTML||"").replace(aN,"/*$0*/"))}if(bv.parentNode){bv.parentNode.removeChild(bv)}}var ak=/alpha\([^)]*\)/i,au=/opacity=([^)]*)/,z=/([A-Z]|^ms)/g,bc=/^-?\d+(?:px)?$/i,bn=/^-?\d/,I=/^([\-+])=([\-+.\de]+)/,a7={position:"absolute",visibility:"hidden",display:"block"},an=["Left","Right"],a1=["Top","Bottom"],Z,aI,aX;b.fn.css=function(e,bv){if(arguments.length===2&&bv===L){return this}retu
 rn b.access(this,e,bv,true,function(bx,bw,by){return by!==L?b.style(bx,bw,by):b.css(bx,bw)})};b.extend({cssHooks:{opacity:{get:function(bw,bv){if(bv){var e=Z(bw,"opacity","opacity");return e===""?"1":e}else{return bw.style.opacity}}}},cssNumber:{fillOpacity:true,fontWeight:true,lineHeight:true,opacity:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(bx,bw,bD,by){if(!bx||bx.nodeType===3||bx.nodeType===8||!bx.style){return}var bB,bC,bz=b.camelCase(bw),bv=bx.style,bE=b.cssHooks[bz];bw=b.cssProps[bz]||bz;if(bD!==L){bC=typeof bD;if(bC==="string"&&(bB=I.exec(bD))){bD=(+(bB[1]+1)*+bB[2])+parseFloat(b.css(bx,bw));bC="number"}if(bD==null||bC==="number"&&isNaN(bD)){return}if(bC==="number"&&!b.cssNumber[bz]){bD+="px"}if(!bE||!("set" in bE)||(bD=bE.set(bx,bD))!==L){try{bv[bw]=bD}catch(bA){}}}else{if(bE&&"get" in bE&&(bB=bE.get(bx,false,by))!==L){return bB}return bv[bw]}},css:function(by,bx,bv){var bw,e;bx=b.camelCa
 se(bx);e=b.cssHooks[bx];bx=b.cssProps[bx]||bx;if(bx==="cssFloat"){bx="float"}if(e&&"get" in e&&(bw=e.get(by,true,bv))!==L){return bw}else{if(Z){return Z(by,bx)}}},swap:function(bx,bw,by){var e={};for(var bv in bw){e[bv]=bx.style[bv];bx.style[bv]=bw[bv]}by.call(bx);for(bv in bw){bx.style[bv]=e[bv]}}});b.curCSS=b.css;b.each(["height","width"],function(bv,e){b.cssHooks[e]={get:function(by,bx,bw){var bz;if(bx){if(by.offsetWidth!==0){return p(by,e,bw)}else{b.swap(by,a7,function(){bz=p(by,e,bw)})}return bz}},set:function(bw,bx){if(bc.test(bx)){bx=parseFloat(bx);if(bx>=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute
 ("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.ru
 ntimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx<e;bx++){if(!bv){bA-=parseFloat(b.css(by,"padding"+bz[bx]))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}else{bA-=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}}}return bA+"px"}bA=Z(by,bw,bw);if(bA<0||bA==null){bA=by.style[bw]||0}bA=parseFloat(bA)||0;if(bv){for(;bx<e;bx++){bA+=parseFloat(b.css(by,"padding"+bz[bx]))||0;if(bv!=="padding"){bA+=parseFloat(b.css(by,"border"+bz[bx]+"Width"))||0}if(bv==="margin"){bA+=parseFloat(b.css(by,bv+bz[bx]))||0}}}return bA+"px"}if(b.expr&&b.expr.filters){b.expr.filters.hidden=function(bw){var bv=bw.offsetWidth,e=bw.offsetHeight;return(bv===0&&e===0)||(!b.support.reliableHiddenOffsets&&((bw.style&&bw.style.display)||b.css(bw,"display"))==="none")};b.expr.filters.visible=function(e){return !b.expr.filters.hidden(e)}}var k=/%20/g,ap=/\[\]$
 /,bs=/\r?\n/g,bq=/#.*$/,aD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,aZ=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,aM=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,aQ=/^(?:GET|HEAD)$/,c=/^\/\//,M=/\?/,a6=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw<bz;bw++){bv=bx[bw];bC=/^\+/.test(bv);if(bC){bv=bv.substr(1)||"*"}bB=e[bv]=e[bv]||[];bB[bC?"unshift":"push"](bA)}}}}function aW(bv,bE,bz,bD,bB,bx){bB=bB||bE.dataTypes[0];bx=bx||{};bx[bB]=true;var bA=bv[bB],bw=0,e=bA?bA.length:0,by=(bv===aa),bC;for
 (;bw<e&&(by||!bC);bw++){bC=bA[bw](bE,bz,bD);if(typeof bC==="string"){if(!by||bx[bC]){bC=L}else{bE.dataTypes.unshift(bC);bC=aW(bv,bE,bz,bD,bC,bx)}}}if((by||!bC)&&!bx["*"]){bC=aW(bv,bE,bz,bD,"*",bx)}return bC}function am(bw,bx){var bv,e,by=b.ajaxSettings.flatOptions||{};for(bv in bx){if(bx[bv]!==L){(by[bv]?bw:(e||(e={})))[bv]=bx[bv]}}if(e){b.extend(true,bw,e)}}b.fn.extend({load:function(bw,bz,bA){if(typeof bw!=="string"&&A){return A.apply(this,arguments)}else{if(!this.length){return this}}var by=bw.indexOf(" ");if(by>=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("<div>").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return 
 b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv}
 ,ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},get
 ResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[
 bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.
 url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(
 -1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)
 ){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA<bw;bA++){if(bA===1){for(bE in bH.converters){if(typeof bE==="string"){bG[bE.toLowerCase()]=bH.converters[bE]}}}bx=bC;bC=bD[bA];if(bC==="*"){bC=bx}else{if(bx!=="*"&&bx!==bC){by=bx+" "+bC;bF=bG[by]||bG["* "+bC];if(!bF){e=L;for(bv in bG){bB=bv.split(" ");if(bB[0]===bx||bB[0]==="*"){e=bG[bB[1]+" "+bC];if(e){bv=bG[bv];if(bv===true){bF=e}else{if(e===true){bF=bv}}break}}}}if(!(bF||e)){b.error("No conversion from "+by.replace(" "," to "))}if(bF!==true){bz=bF?bF(bz):e(bv(bz))}}}}return bz}var aC=b.now(),u=/(\=)\?(&|$)|\?\?/i;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return b.expando+"_"+(aC++)}});b.ajaxPrefilter("json jsonp",function(bD,b
 A,bC){var bx=bD.contentType==="application/x-www-form-urlencoded"&&(typeof bD.data==="string");if(bD.dataTypes[0]==="jsonp"||bD.jsonp!==false&&(u.test(bD.url)||bx&&u.test(bD.data))){var bB,bw=bD.jsonpCallback=b.isFunction(bD.jsonpCallback)?bD.jsonpCallback():bD.jsonpCallback,bz=bb[bw],e=bD.url,by=bD.data,bv="$1"+bw+"$2";if(bD.jsonp!==false){e=e.replace(u,bv);if(bD.url===e){if(bx){by=by.replace(u,bv)}if(bD.data===by){e+=(/\?/.test(e)?"&":"?")+bD.jsonp+"="+bw}}}bD.url=e;bD.data=by;bb[bw]=function(bE){bB=[bE]};bC.always(function(){bb[bw]=bz;if(bB&&b.isFunction(bz)){bb[bw](bB[0])}});bD.converters["script json"]=function(){if(!bB){b.error(bw+" was not called")}return bB[0]};bD.dataTypes[0]="json";return"script"}});b.ajaxSetup({accepts:{script:"text/javascript, applicati

<TRUNCATED>


[25/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__graph.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__graph.html b/docs/v1.11/group__grp__graph.html
new file mode 100644
index 0000000..0e86c7c
--- /dev/null
+++ b/docs/v1.11/group__grp__graph.html
@@ -0,0 +1,136 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Graph</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__graph.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Graph</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>Contains graph algorithms. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__pagerank"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__pagerank.html">PageRank</a></td></tr>
+<tr class="memdesc:group__grp__pagerank"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find the PageRank of all vertices in a directed graph. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__sssp"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__sssp.html">Single Source Shortest Path</a></td></tr>
+<tr class="memdesc:group__grp__sssp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the shortest path from a single source vertex to every other vertex in a given graph. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__graph.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__graph.js b/docs/v1.11/group__grp__graph.js
new file mode 100644
index 0000000..4c72a24
--- /dev/null
+++ b/docs/v1.11/group__grp__graph.js
@@ -0,0 +1,5 @@
+var group__grp__graph =
+[
+    [ "PageRank", "group__grp__pagerank.html", null ],
+    [ "Single Source Shortest Path", "group__grp__sssp.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__indicator.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__indicator.html b/docs/v1.11/group__grp__indicator.html
new file mode 100644
index 0000000..b85d387
--- /dev/null
+++ b/docs/v1.11/group__grp__indicator.html
@@ -0,0 +1,244 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Create Indicator Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__indicator.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Create Indicator Variables<div class="ingroups"><a class="el" href="group__grp__deprecated.html">Deprecated Modules</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<dl class="section warning"><dt>Warning</dt><dd><em> This version of encoding categorical variables has been deprecated. The new module with more capability can be found here <a class="el" href="group__grp__encode__categorical.html">Encoding Categorical Variables</a></em></dd></dl>
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#categorical">Coding systems for categorical variables</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+</ul>
+</div><p><a class="anchor" id="categorical"></a></p><dl class="section user"><dt>Coding systems for categorical variables</dt><dd>Categorical variables require special attention in regression analysis because, unlike dichotomous or continuous variables, they cannot be entered into the regression equation just as they are. For example, if you have a variable called race that is coded 1 = Hispanic, 2 = Asian, 3 = Black, 4 = White, then entering race in your regression will look at the linear effect of race, which is probably not what you intended. Instead, categorical variables like this need to be recoded into a series of indicator variables which can then be entered into the regression model. There are a variety of coding systems (also called as contrasts) that can be used when coding categorical variables. including dummy, effects, orthogonal, and helmert coding.</dd></dl>
+<p>We currently only support the dummy coding technique. Dummy coding is used when a researcher wants to compare other groups of the predictor variable with one specific group of the predictor variable. Often, the specific group to compare with is called the reference group.</p>
+<pre class="syntax">
+create_indicator_variables(
+    source_table,
+    output_table,
+    categorical_cols,
+    keep_null,
+    distributed_by
+    )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd>VARCHAR. Name of the source table, containing data for categorical variables. </dd>
+<dt>output_table </dt>
+<dd>VARCHAR. Name of result table. The output table has the same columns as the original table, adding new indicator variable columns for each categorical column. The column name for the indicator variable is <em>'categorical column name'</em>_<em>'categorical value'</em>.  </dd>
+<dt>categorical_cols  </dt>
+<dd>VARCHAR. Comma-separated string of column names of categorical variables that need to be dummy-coded. </dd>
+<dt>keep_null (optional) </dt>
+<dd>BOOLEAN. default: FALSE. Whether 'NULL' should be treated as one of the categories of the categorical variable. If True, then an indicator variable is created corresponding to the NULL value. If False, then all indicator variables for that record will be set to NULL.  </dd>
+<dt>distributed_by (optional) </dt>
+<dd>VARCHAR. default: NULL. Columns to use for the distribution policy of the output table. When NULL, the distribution policy of 'source_table' will be used. This argument is not available for POSTGRESQL platforms. </dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Use a subset of the abalone dataset. <pre class="example">
+DROP TABLE IF EXISTS abalone;
+CREATE TABLE abalone (
+    sex character varying,
+    length double precision,
+    diameter double precision,
+    height double precision
+);
+COPY abalone (sex, length, diameter, height) FROM stdin WITH DELIMITER '|' NULL as '@';
+M| 0.455 |   0.365 | 0.095
+F| 0.53  |   0.42  | 0.135
+M| 0.35  |   0.265 | 0.09
+F| 0.53  |   0.415 | 0.15
+M| 0.44  |   0.365 | 0.125
+F| 0.545 |   0.425 | 0.125
+I| 0.33  |   0.255 | 0.08
+F| 0.55  |   0.44  | 0.15
+I| 0.425 |   0.30  | 0.095
+F| 0.525 |   0.38  | 0.140
+M| 0.475 |   0.37  | 0.125
+F| 0.535 |   0.405 | 0.145
+M| 0.43  |   0.358 | 0.11
+F| 0.47  |   0.355 | 0.100
+M| 0.49  |   0.38  | 0.135
+F| 0.44  |   0.340 | 0.100
+M| 0.5   |   0.400 | 0.13
+F| 0.565 |   0.44  | 0.155
+I| 0.355 |   0.280 | 0.085
+F| 0.550 |   0.415 | 0.135
+| 0.475 |   0.37  | 0.125
+\.
+</pre></li>
+<li>Create new table with dummy-coded indicator variables <pre class="example">
+drop table if exists abalone_out;
+select madlib.create_indicator_variables ('abalone', 'abalone_out', 'sex');
+select * from abalone_out;
+</pre> <pre class="result">
+ sex  | length | diameter | height | sex_F  | sex_I  | sex_M
+&#160; -----+--------+----------+--------+--------+--------+-------
+ F    |   0.53 |     0.42 |  0.135 |      1 |      0 |     0
+ F    |   0.53 |    0.415 |   0.15 |      1 |      0 |     0
+ F    |  0.545 |    0.425 |  0.125 |      1 |      0 |     0
+ F    |   0.55 |     0.44 |   0.15 |      1 |      0 |     0
+ F    |  0.525 |     0.38 |   0.14 |      1 |      0 |     0
+ F    |  0.535 |    0.405 |  0.145 |      1 |      0 |     0
+ F    |   0.47 |    0.355 |    0.1 |      1 |      0 |     0
+ F    |   0.44 |     0.34 |    0.1 |      1 |      0 |     0
+ F    |  0.565 |     0.44 |  0.155 |      1 |      0 |     0
+ F    |   0.55 |    0.415 |  0.135 |      1 |      0 |     0
+ M    |  0.455 |    0.365 |  0.095 |      0 |      0 |     1
+ M    |   0.35 |    0.265 |   0.09 |      0 |      0 |     0
+ M    |   0.44 |    0.365 |  0.125 |      0 |      0 |     0
+ I    |   0.33 |    0.255 |   0.08 |      0 |      1 |     0
+ I    |  0.425 |      0.3 |  0.095 |      0 |      1 |     0
+ M    |  0.475 |     0.37 |  0.125 |      0 |      0 |     0
+ M    |   0.43 |    0.358 |   0.11 |      0 |      0 |     0
+ M    |   0.49 |     0.38 |  0.135 |      0 |      0 |     0
+ M    |    0.5 |      0.4 |   0.13 |      0 |      0 |     0
+ I    |  0.355 |     0.28 |  0.085 |      0 |      1 |     0
+ NULL |   0.55 |    0.415 |  0.135 |   NULL |   NULL |  NULL
+</pre></li>
+<li>Create indicator variable for 'NULL' value (note the additional column '"sex_NULL"') <pre class="example">
+drop table if exists abalone_out;
+select madlib.create_indicator_variables'abalone', 'abalone_out', 'sex', True);
+select * from abalone_out;
+</pre> <pre class="result">
+ sex  | length | diameter | height | sex_F  | sex_I  | sex_M | sex_NULL
+&#160; ---&mdash;+-----&mdash;+-------&mdash;+-----&mdash;+-----&mdash;+-----&mdash;+----&mdash;+----&mdash;
+ F    |   0.53 |     0.42 |  0.135 |      1 |      0 |     0 |     0
+ F    |   0.53 |    0.415 |   0.15 |      1 |      0 |     0 |     0
+ F    |  0.545 |    0.425 |  0.125 |      1 |      0 |     0 |     0
+ F    |   0.55 |     0.44 |   0.15 |      1 |      0 |     0 |     0
+ F    |  0.525 |     0.38 |   0.14 |      1 |      0 |     0 |     0
+ F    |  0.535 |    0.405 |  0.145 |      1 |      0 |     0 |     0
+ F    |   0.47 |    0.355 |    0.1 |      1 |      0 |     0 |     0
+ F    |   0.44 |     0.34 |    0.1 |      1 |      0 |     0 |     0
+ F    |  0.565 |     0.44 |  0.155 |      1 |      0 |     0 |     0
+ F    |   0.55 |    0.415 |  0.135 |      1 |      0 |     0 |     0
+ M    |  0.455 |    0.365 |  0.095 |      0 |      0 |     1 |     0
+ M    |   0.35 |    0.265 |   0.09 |      0 |      0 |     0 |     0
+ M    |   0.44 |    0.365 |  0.125 |      0 |      0 |     0 |     0
+ I    |   0.33 |    0.255 |   0.08 |      0 |      1 |     0 |     0
+ I    |  0.425 |      0.3 |  0.095 |      0 |      1 |     0 |     0
+ M    |  0.475 |     0.37 |  0.125 |      0 |      0 |     0 |     0
+ M    |   0.43 |    0.358 |   0.11 |      0 |      0 |     0 |     0
+ M    |   0.49 |     0.38 |  0.135 |      0 |      0 |     0 |     0
+ M    |    0.5 |      0.4 |   0.13 |      0 |      0 |     0 |     0
+ I    |  0.355 |     0.28 |  0.085 |      0 |      1 |     0 |     0
+ NULL |   0.55 |    0.415 |  0.135 |      0 |      0 |     0 |     1
+</pre> </li>
+</ol>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__inf__stats.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__inf__stats.html b/docs/v1.11/group__grp__inf__stats.html
new file mode 100644
index 0000000..ec70075
--- /dev/null
+++ b/docs/v1.11/group__grp__inf__stats.html
@@ -0,0 +1,133 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Inferential Statistics</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__inf__stats.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Inferential Statistics<div class="ingroups"><a class="el" href="group__grp__stats.html">Statistics</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>A collection of methods to compute inferential statistics on a dataset. </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__stats__tests"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__stats__tests.html">Hypothesis Tests</a></td></tr>
+<tr class="memdesc:group__grp__stats__tests"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides functions to perform statistical hypothesis tests. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__inf__stats.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__inf__stats.js b/docs/v1.11/group__grp__inf__stats.js
new file mode 100644
index 0000000..7bfc14a
--- /dev/null
+++ b/docs/v1.11/group__grp__inf__stats.js
@@ -0,0 +1,4 @@
+var group__grp__inf__stats =
+[
+    [ "Hypothesis Tests", "group__grp__stats__tests.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__kmeans.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__kmeans.html b/docs/v1.11/group__grp__kmeans.html
new file mode 100644
index 0000000..70c13fb
--- /dev/null
+++ b/docs/v1.11/group__grp__kmeans.html
@@ -0,0 +1,479 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: k-Means Clustering</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__kmeans.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">k-Means Clustering<div class="ingroups"><a class="el" href="group__grp__unsupervised.html">Unsupervised Learning</a> &raquo; <a class="el" href="group__grp__clustering.html">Clustering</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#output">Output Format</a> </li>
+<li class="level1">
+<a href="#assignment">Cluster Assignment</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#notes">Notes</a> </li>
+<li class="level1">
+<a href="#background">Technical Background</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Clustering refers to the problem of partitioning a set of objects according to some problem-dependent measure of <em>similarity</em>. In the k-means variant, given <img class="formulaInl" alt="$ n $" src="form_11.png"/> points <img class="formulaInl" alt="$ x_1, \dots, x_n \in \mathbb R^d $" src="form_139.png"/>, the goal is to position <img class="formulaInl" alt="$ k $" src="form_98.png"/> centroids <img class="formulaInl" alt="$ c_1, \dots, c_k \in \mathbb R^d $" src="form_140.png"/> so that the sum of <em>distances</em> between each point and its closest centroid is minimized. Each centroid represents a cluster that consists of all points to which this centroid is closest.</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd></dd></dl>
+<p>The k-means algorithm can be invoked in four ways, depending on the source of the initial set of centroids:</p>
+<ul>
+<li>Use the random centroid seeding method. <pre class="syntax">
+kmeans_random( rel_source,
+               expr_point,
+               k,
+               fn_dist,
+               agg_centroid,
+               max_num_iterations,
+               min_frac_reassigned
+             )
+</pre></li>
+<li>Use the kmeans++ centroid seeding method. <pre class="syntax">
+kmeanspp( rel_source,
+          expr_point,
+          k,
+          fn_dist,
+          agg_centroid,
+          max_num_iterations,
+          min_frac_reassigned,
+          seeding_sample_ratio
+        )
+</pre></li>
+<li>Supply an initial centroid set in a relation identified by the <em>rel_initial_centroids</em> argument. <pre class="syntax">
+kmeans( rel_source,
+        expr_point,
+        rel_initial_centroids,
+        expr_centroid,
+        fn_dist,
+        agg_centroid,
+        max_num_iterations,
+        min_frac_reassigned
+      )
+</pre></li>
+<li>Provide an initial centroid set as an array expression in the <em>initial_centroids</em> argument. <pre class="syntax">
+kmeans( rel_source,
+        expr_point,
+        initial_centroids,
+        fn_dist,
+        agg_centroid,
+        max_num_iterations,
+        min_frac_reassigned
+      )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>rel_source </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the input data points.</p>
+<p>Data points and predefined centroids (if used) are expected to be stored row-wise, in a column of type <code><a class="el" href="group__grp__svec.html">SVEC</a></code> (or any type convertible to <code><a class="el" href="group__grp__svec.html">SVEC</a></code>, like <code>FLOAT[]</code> or <code>INTEGER[]</code>). Data points with non-finite values (NULL, NaN, infinity) in any component are skipped during analysis. </p>
+<p class="enddd"></p>
+</dd>
+<dt>expr_point </dt>
+<dd><p class="startdd">TEXT. The name of the column with point coordinates or an array expression.</p>
+<p class="enddd"></p>
+</dd>
+<dt>k </dt>
+<dd><p class="startdd">INTEGER. The number of centroids to calculate.</p>
+<p class="enddd"></p>
+</dd>
+<dt>fn_dist (optional) </dt>
+<dd><p class="startdd">TEXT, default: squared_dist_norm2'. The name of the function to use to calculate the distance from a data point to a centroid.</p>
+<p>The following distance functions can be used (computation of barycenter/mean in parentheses): </p><ul>
+<li>
+<b><a class="el" href="linalg_8sql__in.html#aad193850e79c4b9d811ca9bc53e13476">dist_norm1</a></b>: 1-norm/Manhattan (element-wise median [Note that MADlib does not provide a median aggregate function for support and performance reasons.]) </li>
+<li>
+<b><a class="el" href="linalg_8sql__in.html#aa58e51526edea6ea98db30b6f250adb4">dist_norm2</a></b>: 2-norm/Euclidean (element-wise mean) </li>
+<li>
+<b><a class="el" href="linalg_8sql__in.html#a00a08e69f27524f2096032214e15b668">squared_dist_norm2</a></b>: squared Euclidean distance (element-wise mean) </li>
+<li>
+<b><a class="el" href="linalg_8sql__in.html#a8c7b9281a72ff22caf06161701b27e84">dist_angle</a></b>: angle (element-wise mean of normalized points) </li>
+<li>
+<b><a class="el" href="linalg_8sql__in.html#afa13b4c6122b99422d666dedea136c18">dist_tanimoto</a></b>: tanimoto (element-wise mean of normalized points <a href="#kmeans-lit-5">[5]</a>) </li>
+<li>
+<b>user defined function</b> with signature <code>DOUBLE PRECISION[] x, DOUBLE PRECISION[] y -&gt; DOUBLE PRECISION</code></li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>agg_centroid (optional) </dt>
+<dd><p class="startdd">TEXT, default: 'avg'. The name of the aggregate function used to determine centroids.</p>
+<p>The following aggregate functions can be used:</p><ul>
+<li>
+<b><a class="el" href="linalg_8sql__in.html#a1aa37f73fb1cd8d7d106aa518dd8c0b4">avg</a></b>: average (Default) </li>
+<li>
+<b><a class="el" href="linalg_8sql__in.html#a0b04663ca206f03e66aed5ea2b4cc461">normalized_avg</a></b>: normalized average</li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>max_num_iterations (optional) </dt>
+<dd><p class="startdd">INTEGER, default: 20. The maximum number of iterations to perform.</p>
+<p class="enddd"></p>
+</dd>
+<dt>min_frac_reassigned (optional) </dt>
+<dd><p class="startdd">DOUBLE PRECISION, default: 0.001. The minimum fraction of centroids reassigned to continue iterating. When fewer than this fraction of centroids are reassigned in an iteration, the calculation completes.</p>
+<p class="enddd"></p>
+</dd>
+<dt>seeding_sample_ratio (optional) </dt>
+<dd><p class="startdd">DOUBLE PRECISION, default: 1.0. The proportion of subsample of original dataset to use for kmeans++ centroid seeding method. Kmeans++ scans through the data sequentially 'k' times and can be too slow for big datasets. When 'seeding_sample_ratio' is greater than 0 (thresholded to be maximum value of 1.0), the seeding is run on an uniform random subsample of the data. Note: the final K-means algorithm is run on the complete dataset. This parameter only builds a subsample for the seeding and is only available for kmeans++.</p>
+<p class="enddd"></p>
+</dd>
+<dt>rel_initial_centroids </dt>
+<dd><p class="startdd">TEXT. The set of initial centroids. </p>
+<p class="enddd"></p>
+</dd>
+<dt>expr_centroid </dt>
+<dd><p class="startdd">TEXT. The name of the column (or the array expression) in the <em>rel_initial_centroids</em> relation that contains the centroid coordinates.</p>
+<p class="enddd"></p>
+</dd>
+<dt>initial_centroids </dt>
+<dd>TEXT. A string containing a DOUBLE PRECISION array expression with the initial centroid coordinates. </dd>
+</dl>
+</li>
+</ul>
+<p><a class="anchor" id="output"></a></p><dl class="section user"><dt>Output Format</dt><dd></dd></dl>
+<p>The output of the k-means module is a composite type with the following columns: </p><table class="output">
+<tr>
+<th>centroids </th><td>DOUBLE PRECISION[][]. The final centroid positions.  </td></tr>
+<tr>
+<th>cluster_variance </th><td>DOUBLE PRECISION[]. The value of the objective function per cluster.  </td></tr>
+<tr>
+<th>objective_fn </th><td>DOUBLE PRECISION. The value of the objective function.  </td></tr>
+<tr>
+<th>frac_reassigned </th><td>DOUBLE PRECISION. The fraction of points reassigned in the last iteration.  </td></tr>
+<tr>
+<th>num_iterations </th><td>INTEGER. The total number of iterations executed.  </td></tr>
+</table>
+<p><a class="anchor" id="assignment"></a></p><dl class="section user"><dt>Cluster Assignment</dt><dd></dd></dl>
+<p>After training, the cluster assignment for each data point can be computed with the help of the following function:</p>
+<pre class="syntax">
+closest_column( m, x )
+</pre><p><b>Argument</b> </p><dl class="arglist">
+<dt>m </dt>
+<dd>DOUBLE PRECISION[][]. The learned centroids from the training function. </dd>
+<dt>x </dt>
+<dd>DOUBLE PRECISION[]. The data point. </dd>
+</dl>
+<p><b>Output format</b> </p><table class="output">
+<tr>
+<th>column_id </th><td>INTEGER. The cluster assignment (zero-based). </td></tr>
+<tr>
+<th>distance </th><td>DOUBLE PRECISION. The distance to the cluster centroid. </td></tr>
+</table>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<p>Note: Your results may not be exactly the same as below due to the nature of the k-means algorithm.</p>
+<ol type="1">
+<li>Prepare some input data: <pre class="example">
+DROP TABLE IF EXISTS km_sample;
+CREATE TABLE km_sample(pid int, points double precision[]);
+INSERT INTO km_sample VALUES
+(1,  '{14.23, 1.71, 2.43, 15.6, 127, 2.8, 3.0600, 0.2800, 2.29, 5.64, 1.04, 3.92, 1065}'),
+(2,  '{13.2, 1.78, 2.14, 11.2, 1, 2.65, 2.76, 0.26, 1.28, 4.38, 1.05, 3.49, 1050}'),
+(3,  '{13.16, 2.36,  2.67, 18.6, 101, 2.8,  3.24, 0.3, 2.81, 5.6799, 1.03, 3.17, 1185}'),
+(4,  '{14.37, 1.95, 2.5, 16.8, 113, 3.85, 3.49, 0.24, 2.18, 7.8, 0.86, 3.45, 1480}'),
+(5,  '{13.24, 2.59, 2.87, 21, 118, 2.8, 2.69, 0.39, 1.82, 4.32, 1.04, 2.93, 735}'),
+(6,  '{14.2, 1.76, 2.45, 15.2, 112, 3.27, 3.39, 0.34, 1.97, 6.75, 1.05, 2.85, 1450}'),
+(7,  '{14.39, 1.87, 2.45, 14.6, 96, 2.5, 2.52, 0.3, 1.98, 5.25, 1.02, 3.58, 1290}'),
+(8,  '{14.06, 2.15, 2.61, 17.6, 121, 2.6, 2.51, 0.31, 1.25, 5.05, 1.06, 3.58, 1295}'),
+(9,  '{14.83, 1.64, 2.17, 14, 97, 2.8, 2.98, 0.29, 1.98, 5.2, 1.08, 2.85, 1045}'),
+(10, '{13.86, 1.35, 2.27, 16, 98, 2.98, 3.15, 0.22, 1.8500, 7.2199, 1.01, 3.55, 1045}');
+</pre></li>
+<li>Run k-means clustering using kmeans++ for centroid seeding: <pre class="example">
+DROP TABLE IF EXISTS km_result;
+-- Run kmeans algorithm
+CREATE TABLE km_result AS
+SELECT * FROM madlib.kmeanspp('km_sample', 'points', 2,
+                           'madlib.squared_dist_norm2',
+                           'madlib.avg', 20, 0.001);
+\x on;
+SELECT * FROM km_result;
+</pre> Result: <pre class="result">
+centroids        | {{14.036,2.018,2.536,16.56,108.6,3.004,3.03,0.298,2.038,6.10598,1.004,3.326,1340},{13.872,1.814,2.376,15.56,88.2,2.806,2.928,0.288,1.844,5.35198,1.044,3.348,988}}
+cluster_variance | {60672.638245208,90512.324426408}
+objective_fn     | 151184.962671616
+frac_reassigned  | 0
+num_iterations   | 2
+</pre></li>
+<li>Calculate the simplified silhouette coefficient: <pre class="example">
+SELECT * FROM madlib.simple_silhouette( 'km_sample',
+                                        'points',
+                                        (SELECT centroids FROM km_result),
+                                        'madlib.dist_norm2'
+                                      );
+</pre> Result: <pre class="result">
+simple_silhouette | 0.68978804882941
+</pre></li>
+<li>Find the cluster assignment for each point: <pre class="example">
+\x off;
+-- Get point assignment
+SELECT data.*,  (madlib.closest_column(centroids, points)).column_id as cluster_id
+FROM km_sample as data, km_result
+ORDER BY data.pid;
+</pre> Result: <pre class="result">
+ pid |                               points                               | cluster_id
+-----+--------------------------------------------------------------------+------------
+   1 | {14.23,1.71,2.43,15.6,127,2.8,3.06,0.28,2.29,5.64,1.04,3.92,1065}  |          1
+   2 | {13.2,1.78,2.14,11.2,1,2.65,2.76,0.26,1.28,4.38,1.05,3.49,1050}    |          1
+   3 | {13.16,2.36,2.67,18.6,101,2.8,3.24,0.3,2.81,5.6799,1.03,3.17,1185} |          0
+   4 | {14.37,1.95,2.5,16.8,113,3.85,3.49,0.24,2.18,7.8,0.86,3.45,1480}   |          0
+   5 | {13.24,2.59,2.87,21,118,2.8,2.69,0.39,1.82,4.32,1.04,2.93,735}     |          1
+   6 | {14.2,1.76,2.45,15.2,112,3.27,3.39,0.34,1.97,6.75,1.05,2.85,1450}  |          0
+   7 | {14.39,1.87,2.45,14.6,96,2.5,2.52,0.3,1.98,5.25,1.02,3.58,1290}    |          0
+   8 | {14.06,2.15,2.61,17.6,121,2.6,2.51,0.31,1.25,5.05,1.06,3.58,1295}  |          0
+   9 | {14.83,1.64,2.17,14,97,2.8,2.98,0.29,1.98,5.2,1.08,2.85,1045}      |          1
+  10 | {13.86,1.35,2.27,16,98,2.98,3.15,0.22,1.85,7.2199,1.01,3.55,1045}  |          1
+(10 rows)
+</pre></li>
+<li>Unnest the cluster centroids 2-D array to get a set of 1-D centroid arrays: <pre class="example">
+DROP TABLE IF EXISTS km_centroids_unnest;
+-- Run unnest function
+CREATE TABLE km_centroids_unnest AS
+SELECT (madlib.array_unnest_2d_to_1d(centroids)).*
+FROM km_result;
+SELECT * FROM km_centroids_unnest ORDER BY 1;
+</pre> Result: <pre class="result">
+ unnest_row_id |                                  unnest_result
+---------------+----------------------------------------------------------------------------------
+             1 | {14.036,2.018,2.536,16.56,108.6,3.004,3.03,0.298,2.038,6.10598,1.004,3.326,1340}
+             2 | {13.872,1.814,2.376,15.56,88.2,2.806,2.928,0.288,1.844,5.35198,1.044,3.348,988}
+(2 rows)
+</pre> Note that the ID column returned by <a class="el" href="array__ops_8sql__in.html#af057b589f2a2cb1095caa99feaeb3d70" title="This function takes a 2-D array as the input and unnests it by one level. It returns a set of 1-D arr...">array_unnest_2d_to_1d()</a> is not guaranteed to be the same as the cluster ID assigned by k-means. See below to create the correct cluster IDs.</li>
+<li>Create cluster IDs for 1-D centroid arrays so that cluster ID for any centroid can be matched to the cluster assignment for the data points: <pre class="example">
+SELECT cent.*,  (madlib.closest_column(centroids, unnest_result)).column_id as cluster_id
+FROM km_centroids_unnest as cent, km_result
+ORDER BY cent.unnest_row_id;
+</pre> Result: <pre class="result">
+ unnest_row_id |                                  unnest_result                                   | cluster_id
+---------------+----------------------------------------------------------------------------------+------------
+             1 | {14.036,2.018,2.536,16.56,108.6,3.004,3.03,0.298,2.038,6.10598,1.004,3.326,1340} |          0
+             2 | {13.872,1.814,2.376,15.56,88.2,2.806,2.928,0.288,1.844,5.35198,1.044,3.348,988}  |          1
+(2 rows)
+</pre></li>
+<li>Run the same example as above, but using array input. Create the input table: <pre class="example">
+DROP TABLE IF EXISTS km_arrayin CASCADE;
+CREATE TABLE km_arrayin(pid int, 
+                        p1 float, 
+                        p2 float, 
+                        p3 float,
+                        p4 float, 
+                        p5 float, 
+                        p6 float,
+                        p7 float, 
+                        p8 float, 
+                        p9 float,
+                        p10 float, 
+                        p11 float, 
+                        p12 float,
+                        p13 float);
+INSERT INTO km_arrayin VALUES
+(1,  14.23, 1.71, 2.43, 15.6, 127, 2.8, 3.0600, 0.2800, 2.29, 5.64, 1.04, 3.92, 1065),
+(2,  13.2, 1.78, 2.14, 11.2, 1, 2.65, 2.76, 0.26, 1.28, 4.38, 1.05, 3.49, 1050),
+(3,  13.16, 2.36,  2.67, 18.6, 101, 2.8,  3.24, 0.3, 2.81, 5.6799, 1.03, 3.17, 1185),
+(4,  14.37, 1.95, 2.5, 16.8, 113, 3.85, 3.49, 0.24, 2.18, 7.8, 0.86, 3.45, 1480),
+(5,  13.24, 2.59, 2.87, 21, 118, 2.8, 2.69, 0.39, 1.82, 4.32, 1.04, 2.93, 735),
+(6,  14.2, 1.76, 2.45, 15.2, 112, 3.27, 3.39, 0.34, 1.97, 6.75, 1.05, 2.85, 1450),
+(7,  14.39, 1.87, 2.45, 14.6, 96, 2.5, 2.52, 0.3, 1.98, 5.25, 1.02, 3.58, 1290),
+(8,  14.06, 2.15, 2.61, 17.6, 121, 2.6, 2.51, 0.31, 1.25, 5.05, 1.06, 3.58, 1295),
+(9,  14.83, 1.64, 2.17, 14, 97, 2.8, 2.98, 0.29, 1.98, 5.2, 1.08, 2.85, 1045),
+(10, 13.86, 1.35, 2.27, 16, 98, 2.98, 3.15, 0.22, 1.8500, 7.2199, 1.01, 3.55, 1045);
+</pre> Now find the cluster assignment for each point: <pre class="example">
+DROP TABLE IF EXISTS km_result;
+-- Run kmeans algorithm
+CREATE TABLE km_result AS
+SELECT * FROM madlib.kmeans_random('km_arrayin', 
+                                'ARRAY[p1, p2, p3, p4, p5, p6, 
+                                      p7, p8, p9, p10, p11, p12, p13]', 
+                                2,
+                                'madlib.squared_dist_norm2',
+                                'madlib.avg', 
+                                20, 
+                                0.001);
+-- Get point assignment
+SELECT data.*,  (madlib.closest_column(centroids, 
+                                       ARRAY[p1, p2, p3, p4, p5, p6, 
+                                      p7, p8, p9, p10, p11, p12, p13])).column_id as cluster_id                                    
+FROM km_arrayin as data, km_result
+ORDER BY data.pid;
+</pre> This produces the result in column format: <pre class="result">
+ pid |  p1   |  p2  |  p3  |  p4  | p5  |  p6  |  p7  |  p8  |  p9  |  p10   | p11  | p12  | p13  | cluster_id 
+-----+-------+------+------+------+-----+------+------+------+------+--------+------+------+------+------------
+   1 | 14.23 | 1.71 | 2.43 | 15.6 | 127 |  2.8 | 3.06 | 0.28 | 2.29 |   5.64 | 1.04 | 3.92 | 1065 |          0
+   2 |  13.2 | 1.78 | 2.14 | 11.2 |   1 | 2.65 | 2.76 | 0.26 | 1.28 |   4.38 | 1.05 | 3.49 | 1050 |          0
+   3 | 13.16 | 2.36 | 2.67 | 18.6 | 101 |  2.8 | 3.24 |  0.3 | 2.81 | 5.6799 | 1.03 | 3.17 | 1185 |          0
+   4 | 14.37 | 1.95 |  2.5 | 16.8 | 113 | 3.85 | 3.49 | 0.24 | 2.18 |    7.8 | 0.86 | 3.45 | 1480 |          1
+   5 | 13.24 | 2.59 | 2.87 |   21 | 118 |  2.8 | 2.69 | 0.39 | 1.82 |   4.32 | 1.04 | 2.93 |  735 |          0
+   6 |  14.2 | 1.76 | 2.45 | 15.2 | 112 | 3.27 | 3.39 | 0.34 | 1.97 |   6.75 | 1.05 | 2.85 | 1450 |          1
+   7 | 14.39 | 1.87 | 2.45 | 14.6 |  96 |  2.5 | 2.52 |  0.3 | 1.98 |   5.25 | 1.02 | 3.58 | 1290 |          1
+   8 | 14.06 | 2.15 | 2.61 | 17.6 | 121 |  2.6 | 2.51 | 0.31 | 1.25 |   5.05 | 1.06 | 3.58 | 1295 |          1
+   9 | 14.83 | 1.64 | 2.17 |   14 |  97 |  2.8 | 2.98 | 0.29 | 1.98 |    5.2 | 1.08 | 2.85 | 1045 |          0
+  10 | 13.86 | 1.35 | 2.27 |   16 |  98 | 2.98 | 3.15 | 0.22 | 1.85 | 7.2199 | 1.01 | 3.55 | 1045 |          0
+(10 rows)
+</pre></li>
+</ol>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd></dd></dl>
+<p>The algorithm stops when one of the following conditions is met:</p><ul>
+<li>The fraction of updated points is smaller than the convergence threshold (<em>min_frac_reassigned</em> argument). (Default: 0.001).</li>
+<li>The algorithm reaches the maximum number of allowed iterations (<em>max_num_iterations</em> argument). (Default: 20).</li>
+</ul>
+<p>A popular method to assess the quality of the clustering is the <em>silhouette coefficient</em>, a simplified version of which is provided as part of the k-means module. Note that for large data sets, this computation is expensive.</p>
+<p>The silhouette function has the following syntax: </p><pre class="syntax">
+simple_silhouette( rel_source,
+                   expr_point,
+                   centroids,
+                   fn_dist
+                 )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>rel_source </dt>
+<dd>TEXT. The name of the relation containing the input point. </dd>
+<dt>expr_point </dt>
+<dd>TEXT. An expression evaluating to point coordinates for each row in the relation. </dd>
+<dt>centroids </dt>
+<dd>TEXT. An expression evaluating to an array of centroids.  </dd>
+<dt>fn_dist (optional) </dt>
+<dd>TEXT, default 'dist_norm2', The name of a function to calculate the distance of a point from a centroid. See the <em>fn_dist</em> argument of the k-means training function. </dd>
+</dl>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>Formally, we wish to minimize the following objective function: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ (c_1, \dots, c_k) \mapsto \sum_{i=1}^n \min_{j=1}^k \operatorname{dist}(x_i, c_j) \]" src="form_141.png"/>
+</p>
+<p> In the most common case, <img class="formulaInl" alt="$ \operatorname{dist} $" src="form_142.png"/> is the square of the Euclidean distance.</p>
+<p>This problem is computationally difficult (NP-hard), yet the local-search heuristic proposed by Lloyd [4] performs reasonably well in practice. In fact, it is so ubiquitous today that it is often referred to as the <em>standard algorithm</em> or even just the <em>k-means algorithm</em> [1]. It works as follows:</p>
+<ol type="1">
+<li>Seed the <img class="formulaInl" alt="$ k $" src="form_98.png"/> centroids (see below)</li>
+<li>Repeat until convergence:<ol type="a">
+<li>Assign each point to its closest centroid</li>
+<li>Move each centroid to a position that minimizes the sum of distances in this cluster</li>
+</ol>
+</li>
+<li>Convergence is achieved when no points change their assignments during step 2a.</li>
+</ol>
+<p>Since the objective function decreases in every step, this algorithm is guaranteed to converge to a local optimum.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p><a class="anchor" id="kmeans-lit-1"></a>[1] Wikipedia, K-means Clustering, <a href="http://en.wikipedia.org/wiki/K-means_clustering">http://en.wikipedia.org/wiki/K-means_clustering</a></p>
+<p><a class="anchor" id="kmeans-lit-2"></a>[2] David Arthur, Sergei Vassilvitskii: k-means++: the advantages of careful seeding, Proceedings of the 18th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA'07), pp. 1027-1035, <a href="http://www.stanford.edu/~darthur/kMeansPlusPlus.pdf">http://www.stanford.edu/~darthur/kMeansPlusPlus.pdf</a></p>
+<p><a class="anchor" id="kmeans-lit-3"></a>[3] E. R. Hruschka, L. N. C. Silva, R. J. G. B. Campello: Clustering Gene-Expression Data: A Hybrid Approach that Iterates Between k-Means and Evolutionary Search. In: Studies in Computational Intelligence - Hybrid Evolutionary Algorithms. pp. 313-335. Springer. 2007.</p>
+<p><a class="anchor" id="kmeans-lit-4"></a>[4] Lloyd, Stuart: Least squares quantization in PCM. Technical Note, Bell Laboratories. Published much later in: IEEE Transactions on Information Theory 28(2), pp. 128-137. 1982.</p>
+<p><a class="anchor" id="kmeans-lit-5"></a>[5] Leisch, Friedrich: A Toolbox for K-Centroids Cluster Analysis. In: Computational Statistics and Data Analysis, 51(2). pp. 526-544. 2006.</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="kmeans_8sql__in.html" title="Set of functions for k-means clustering. ">kmeans.sql_in</a> documenting the k-Means SQL functions</p>
+<p><a class="el" href="group__grp__svec.html">Sparse Vectors</a></p>
+<p>simple_silhouette()</p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__knn.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__knn.html b/docs/v1.11/group__grp__knn.html
new file mode 100644
index 0000000..cb2730b
--- /dev/null
+++ b/docs/v1.11/group__grp__knn.html
@@ -0,0 +1,291 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: k-Nearest Neighbors</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__knn.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">k-Nearest Neighbors<div class="ingroups"><a class="el" href="group__grp__early__stage.html">Early Stage Development</a> &raquo; <a class="el" href="group__grp__nene.html">Nearest Neighbors</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li class="level1">
+<a href="#knn">K-Nearest Neighbors</a> </li>
+<li class="level1">
+<a href="#usage">Usage</a> </li>
+<li class="level1">
+<a href="#output">Output Format</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#background">Technical Background</a> </li>
+<li class="level1">
+<a href="#literature">Literature</a> </li>
+</ul>
+</div><dl class="section warning"><dt>Warning</dt><dd><em> This MADlib method is still in early stage development. There may be some issues that will be addressed in a future version. Interface and implementation are subject to change. </em></dd></dl>
+<p><a class="anchor" id="knn"></a> K-nearest neighbors is a method for finding the k closest points to a given data point in terms of a given metric. Its input consists of data points as features from testing examples, and it looks for k closest points in the training set for each of the data points in test set. The output of KNN depends on the type of task. For classification, the output is the majority vote of the classes of the k nearest data points. That is, the testing example gets assigned the most popular class from the nearest neighbors. For regression, the output is the average of the values of k nearest neighbors of the given test point.</p>
+<p><a class="anchor" id="usage"></a></p><dl class="section user"><dt>Usage</dt><dd><pre class="syntax">
+knn( point_source,
+     point_column_name,
+     label_column_name,
+     test_source,
+     test_column_name,
+     id_column_name,
+     output_table,
+     operation,
+     k
+   )
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>point_source </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the training data points.</p>
+<p>Training data points are expected to be stored row-wise in a column of type <code>DOUBLE PRECISION[]</code>. </p>
+<p class="enddd"></p>
+</dd>
+<dt>point_column_name </dt>
+<dd><p class="startdd">TEXT. Name of the column with training data points.</p>
+<p class="enddd"></p>
+</dd>
+<dt>label_column_name </dt>
+<dd><p class="startdd">TEXT. Name of the column with labels/values of training data points.</p>
+<p class="enddd"></p>
+</dd>
+<dt>test_source </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the test data points.</p>
+<p>Testing data points are expected to be stored row-wise in a column of type <code>DOUBLE PRECISION[]</code>. </p>
+<p class="enddd"></p>
+</dd>
+<dt>test_column_name </dt>
+<dd><p class="startdd">TEXT. Name of the column with testing data points.</p>
+<p class="enddd"></p>
+</dd>
+<dt>id_column_name </dt>
+<dd><p class="startdd">TEXT. Name of the column having ids of data points in test data table.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. Name of the table to store final results.</p>
+<p class="enddd"></p>
+</dd>
+<dt>operation </dt>
+<dd><p class="startdd">TEXT. Type of task: 'r' for regression and 'c' for classification.</p>
+<p class="enddd"></p>
+</dd>
+<dt>k (optional) </dt>
+<dd><p class="startdd">INTEGER. default: 1. Number of nearest neighbors to consider. For classification, should be an odd number to break ties.</p>
+<p class="enddd"></p>
+</dd>
+</dl>
+<p><a class="anchor" id="output"></a></p><dl class="section user"><dt>Output Format</dt><dd></dd></dl>
+<p>The output of the KNN module is a table with the following columns: </p><table class="output">
+<tr>
+<th>id </th><td>INTEGER. The ids of test data points.  </td></tr>
+<tr>
+<th>test_column_name </th><td>DOUBLE PRECISION[]. The test data points.  </td></tr>
+<tr>
+<th>prediction </th><td>INTEGER. Label in case of classification, average value in case of regression.  </td></tr>
+</table>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Prepare some training data: <pre class="example">
+DROP TABLE IF EXISTS knn_train_data;
+CREATE TABLE knn_train_data (
+                    id integer, 
+                    data integer[], 
+                    label float
+                    );
+INSERT INTO knn_train_data VALUES
+(1, '{1,1}', 1.0),
+(2, '{2,2}', 1.0),
+(3, '{3,3}', 1.0),
+(4, '{4,4}', 1.0),
+(5, '{4,5}', 1.0),
+(6, '{20,50}', 0.0),
+(7, '{10,31}', 0.0),
+(8, '{81,13}', 0.0),
+(9, '{1,111}', 0.0);
+</pre></li>
+<li>Prepare some testing data: <pre class="example">
+DROP TABLE IF EXISTS knn_test_data;
+CREATE TABLE knn_test_data (
+                    id integer, 
+                    data integer[]
+                    );
+INSERT INTO knn_test_data VALUES
+(1, '{2,1}'),
+(2, '{2,6}'),
+(3, '{15,40}'),
+(4, '{12,1}'),
+(5, '{2,90}'),
+(6, '{50,45}');
+</pre></li>
+<li>Run KNN for classification: <pre class="example">
+DROP TABLE IF EXISTS madlib_knn_result_classification;
+SELECT * FROM madlib.knn( 
+                'knn_train_data',      -- Table of training data
+                'data',                -- Col name of training data
+                'label',               -- Training labels
+                'knn_test_data',       -- Table of test data
+                'data',                -- Col name of test data
+                'id',                  -- Col name of id in test data 
+                'madlib_knn_result_classification',  -- Output table
+                'c',                   -- Classification
+                 3                     -- Number of nearest neighbours
+                );
+SELECT * from madlib_knn_result_classification ORDER BY id;
+</pre> Result: <pre class="result">
+ id |  data   | prediction 
+----+---------+------------
+  1 | {2,1}   |          1
+  2 | {2,6}   |          1
+  3 | {15,40} |          0
+  4 | {12,1}  |          1
+  5 | {2,90}  |          0
+  6 | {50,45} |          0
+(6 rows)
+</pre></li>
+<li>Run KNN for regression: <pre class="example">
+DROP TABLE IF EXISTS madlib_knn_result_regression;
+SELECT * FROM madlib.knn( 
+                'knn_train_data',      -- Table of training data
+                'data',                -- Col name of training data
+                'label',               -- Training labels
+                'knn_test_data',       -- Table of test data
+                'data',                -- Col name of test data
+                'id',                  -- Col name of id in test data 
+                'madlib_knn_result_regression',  -- Output table
+                'r',                   -- Regressions
+                 3                     -- Number of nearest neighbours
+                );
+SELECT * from madlib_knn_result_regression ORDER BY id;
+</pre> Result: <pre class="result">
+ id |  data   |    prediction     
+----+---------+-------------------
+  1 | {2,1}   |                 1
+  2 | {2,6}   |                 1
+  3 | {15,40} | 0.333333333333333
+  4 | {12,1}  |                 1
+  5 | {2,90}  |                 0
+  6 | {50,45} |                 0
+(6 rows)
+</pre></li>
+</ol>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>The training data points are vectors in a multidimensional feature space, each with a class label. The training phase of the algorithm consists only of storing the feature vectors and class labels of the training points.</p>
+<p>In the classification phase, k is a user-defined constant, and an unlabeled vector (a test point) is classified by assigning the label which is most frequent among the k training samples nearest to that test point. In case of regression, average of the values of these k training samples is assigned to the test point. The only distance metric supported in this version is MADlib's squared_dist_norm2. Other distance metrics will be added in a future release of this module.</p>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p><a class="anchor" id="knn-lit-1"></a>[1] Wikipedia, k-nearest neighbors algorithm, <a href="https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm">https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm</a></p>
+<p><a class="anchor" id="knn-lit-2"></a>[2] N. S. Altman: An Introduction to Kernel and Nearest-Neighbor Nonparametric Regression <a href="http://www.stat.washington.edu/courses/stat527/s13/readings/Altman_AmStat_1992.pdf">http://www.stat.washington.edu/courses/stat527/s13/readings/Altman_AmStat_1992.pdf</a></p>
+<p><a class="anchor" id="knn-lit-3"></a>[3] Gongde Guo1, Hui Wang, David Bell, Yaxin Bi, Kieran Greer: KNN Model-Based Approach in Classification, <a href="https://ai2-s2-pdfs.s3.amazonaws.com/a7e2/814ec5db800d2f8c4313fd436e9cf8273821.pdf">https://ai2-s2-pdfs.s3.amazonaws.com/a7e2/814ec5db800d2f8c4313fd436e9cf8273821.pdf</a></p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[16/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__sssp.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__sssp.html b/docs/v1.11/group__grp__sssp.html
new file mode 100644
index 0000000..27e6008
--- /dev/null
+++ b/docs/v1.11/group__grp__sssp.html
@@ -0,0 +1,357 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Single Source Shortest Path</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__sssp.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Single Source Shortest Path<div class="ingroups"><a class="el" href="group__grp__graph.html">Graph</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#sssp">SSSP</a> </li>
+<li>
+<a href="#notes">Notes</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+</ul>
+</div><p>Given a graph and a source vertex, the single source shortest path (SSSP) algorithm finds a path from the source vertex to every other vertex in the graph, such that the sum of the weights of the path edges is minimized.</p>
+<p><a class="anchor" id="sssp"></a></p><dl class="section user"><dt>SSSP</dt><dd><pre class="syntax">
+graph_sssp( vertex_table,
+            vertex_id,
+            edge_table,
+            edge_args,
+            source_vertex,
+            out_table,
+            grouping_cols
+          )
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>vertex_table </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the vertex data for the graph. Must contain the column specified in the 'vertex_id' parameter below.</p>
+<p class="enddd"></p>
+</dd>
+<dt>vertex_id </dt>
+<dd><p class="startdd">TEXT, default = 'id'. Name of the column in 'vertex_table' containing vertex ids. The vertex ids are of type INTEGER with no duplicates. They do not need to be contiguous.</p>
+<p class="enddd"></p>
+</dd>
+<dt>edge_table </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the edge data. The edge table must contain columns for source vertex, destination vertex and edge weight. Column naming convention is described below in the 'edge_args' parameter.</p>
+<p class="enddd"></p>
+</dd>
+<dt>edge_args </dt>
+<dd><p class="startdd">TEXT. A comma-delimited string containing multiple named arguments of the form "name=value". The following parameters are supported for this string argument:</p><ul>
+<li>src (INTEGER): Name of the column containing the source vertex ids in the edge table. Default column name is 'src'.</li>
+<li>dest (INTEGER): Name of the column containing the destination vertex ids in the edge table. Default column name is 'dest'.</li>
+<li>weight (FLOAT8): Name of the column containing the edge weights in the edge table. Default column name is 'weight'.</li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>source_vertex </dt>
+<dd><p class="startdd">INTEGER. The source vertex id for the algorithm to start. This vertex id must exist in the 'vertex_id' column of 'vertex_table'.</p>
+<p class="enddd"></p>
+</dd>
+<dt>out_table </dt>
+<dd><p class="startdd">TEXT. Name of the table to store the result of SSSP. It contains a row for every vertex of every group and have the following columns (in addition to the grouping columns):</p><ul>
+<li>vertex_id : The id for the destination. Will use the input parameter 'vertex_id' for column naming.</li>
+<li>weight : The total weight of the shortest path from the source vertex to this particular vertex. Will use the input parameter 'weight' for column naming.</li>
+<li>parent : The parent of this vertex in the shortest path from source. Will use 'parent' for column naming.</li>
+</ul>
+<p>A summary table named &lt;out_table&gt;_summary is also created. This is an internal table that keeps a record of the input parameters and is used by the path function described below. </p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_cols </dt>
+<dd>TEXT, default = NULL. List of columns used to group the input into discrete subgraphs. These columns must exist in the edge table. When this value is null, no grouping is used and a single SSSP result is generated.  </dd>
+</dl>
+<dl class="section user"><dt>Path Retrieval</dt><dd></dd></dl>
+<p>The path retrieval function returns the shortest path from the source vertex to a specified desination vertex.</p>
+<pre class="syntax">
+graph_sssp_get_path( sssp_table,
+                     dest_vertex,
+                     path_table
+                    )
+</pre><p><b>Arguments</b> </p><dl class="arglist">
+<dt>sssp_table </dt>
+<dd><p class="startdd">TEXT. Name of the table that contains the SSSP output.</p>
+<p class="enddd"></p>
+</dd>
+<dt>dest_vertex </dt>
+<dd><p class="startdd">INTEGER. The vertex that will be the destination of the desired path.</p>
+<p class="enddd"></p>
+</dd>
+<dt>path_table </dt>
+<dd><p class="startdd">TEXT. Name of the output table that contains the path. It contains a row for every group and has the following columns:</p><ul>
+<li>grouping_cols : The grouping columns given in the creation of the SSSP table. If there are no grouping columns, these columns will not exist and the table will have a single row.</li>
+<li>path (ARRAY) : The shortest path from the source vertex (as specified in the SSSP execution) to the destination vertex. </li>
+</ul>
+<p class="enddd"></p>
+</dd>
+</dl>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd></dd></dl>
+<p>The Bellman-Ford algorithm [1] is used to implement SSSP. This algorithm allows negative edges but not negative cycles. In the case of graphs with negative cycles, an error will be given and no output table will be generated.</p>
+<p>Also see the Grail project [2] for more background on graph analytics processing in relational databases.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Create vertex and edge tables to represent the graph: <pre class="syntax">
+DROP TABLE IF EXISTS vertex, edge;
+CREATE TABLE vertex(
+        id INTEGER
+        );
+CREATE TABLE edge(
+        src INTEGER,
+        dest INTEGER,
+        weight FLOAT8
+        );
+INSERT INTO vertex VALUES
+(0),
+(1),
+(2),
+(3),
+(4),
+(5),
+(6),
+(7);
+INSERT INTO edge VALUES
+(0, 1, 1.0),
+(0, 2, 1.0),
+(0, 4, 10.0),
+(1, 2, 2.0),
+(1, 3, 10.0),
+(2, 3, 1.0),
+(2, 5, 1.0),
+(2, 6, 3.0),
+(3, 0, 1.0),
+(4, 0, -2.0),
+(5, 6, 1.0),
+(6, 7, 1.0);
+</pre></li>
+<li>Calculate the shortest paths from vertex 0: <pre class="syntax">
+DROP TABLE IF EXISTS out, out_summary;
+SELECT madlib.graph_sssp(
+                         'vertex',      -- Vertex table
+                         NULL,          -- Vertix id column (NULL means use default naming)
+                         'edge',        -- Edge table
+                         NULL,          -- Edge arguments (NULL means use default naming)
+                         0,             -- Source vertex for path calculation
+                         'out');        -- Output table of shortest paths
+SELECT * FROM out ORDER BY id;
+</pre> <pre class="result">
+ id | weight | parent
+----+--------+--------
+  0 |      0 |      0
+  1 |      1 |      0
+  2 |      1 |      0
+  3 |      2 |      2
+  4 |     10 |      0
+  5 |      2 |      2
+  6 |      3 |      5
+  7 |      4 |      6
+(8 rows)
+</pre></li>
+<li>Get the shortest path to vertex 5: <pre class="syntax">
+DROP TABLE IF EXISTS out_path;
+SELECT madlib.graph_sssp_get_path('out',5,'out_path');
+SELECT * FROM out_path;
+</pre> <pre class="result">
+  path
+---------
+ {0,2,5}
+</pre></li>
+<li>Now let's do a similar example except using different column names in the tables (i.e., not the defaults). Create the vertex and edge tables: <pre class="syntax">
+DROP TABLE IF EXISTS vertex_alt, edge_alt;
+CREATE TABLE vertex_alt AS SELECT id AS v_id FROM vertex;
+CREATE TABLE edge_alt AS SELECT src AS e_src, dest, weight AS e_weight FROM edge;
+</pre></li>
+<li>Get the shortest path from vertex 1: <pre class="syntax">
+DROP TABLE IF EXISTS out_alt, out_alt_summary;
+SELECT madlib.graph_sssp(
+                         'vertex_alt',                  -- Vertex table
+                         'v_id',                        -- Vertex id column (NULL means use default naming)
+                         'edge_alt',                    -- Edge table
+                         'src=e_src, weight=e_weight',  -- Edge arguments (NULL means use default naming)
+                         1,                             -- Source vertex for path calculation
+                         'out_alt');                    -- Output table of shortest paths
+SELECT * FROM out_alt ORDER BY v_id;
+</pre> <pre class="result">
+ v_id | e_weight | parent
+------+----------+--------
+    0 |        4 |      3
+    1 |        0 |      1
+    2 |        2 |      1
+    3 |        3 |      2
+    4 |       14 |      0
+    5 |        3 |      2
+    6 |        4 |      5
+    7 |        5 |      6
+(8 rows)
+</pre></li>
+<li>Create a graph with 2 groups: <pre class="syntax">
+DROP TABLE IF EXISTS edge_gr;
+CREATE TABLE edge_gr AS
+(
+  SELECT *, 0 AS grp FROM edge
+  UNION
+  SELECT *, 1 AS grp FROM edge WHERE src &lt; 6 AND dest &lt; 6
+);
+INSERT INTO edge_gr VALUES
+(4,5,-20,1);
+</pre></li>
+<li>Find SSSP for all groups <pre class="syntax">
+DROP TABLE IF EXISTS out_gr, out_gr_summary;
+SELECT madlib.graph_sssp(
+                         'vertex',      -- Vertex table
+                         NULL,          -- Vertex id column (NULL means use default naming)
+                         'edge_gr',     -- Edge table
+                         NULL,          -- Edge arguments (NULL means use default naming)
+                         0,             -- Source vertex for path calculation
+                         'out_gr',      -- Output table of shortest paths
+                         'grp'          -- Grouping columns
+);
+SELECT * FROM out_gr ORDER BY grp,id;
+</pre> <pre class="result">
+ grp | id | weight | parent
+-----+----+--------+--------
+   0 |  0 |      0 |      0
+   0 |  1 |      1 |      0
+   0 |  2 |      1 |      0
+   0 |  3 |      2 |      2
+   0 |  4 |     10 |      0
+   0 |  5 |      2 |      2
+   0 |  6 |      3 |      5
+   0 |  7 |      4 |      6
+   1 |  0 |      0 |      0
+   1 |  1 |      1 |      0
+   1 |  2 |      1 |      0
+   1 |  3 |      2 |      2
+   1 |  4 |     10 |      0
+   1 |  5 |    -10 |      4
+</pre></li>
+<li>Find the path to vertex 5 in every group <pre class="syntax">
+DROP TABLE IF EXISTS out_gr_path;
+SELECT madlib.graph_sssp_get_path('out_gr',5,'out_gr_path');
+SELECT * FROM out_gr_path ORDER BY grp;
+</pre> <pre class="result">
+ grp |  path
+-----+---------
+   0 | {0,2,5}
+   1 | {0,4,5}
+</pre></li>
+</ol>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] Bellman–Ford algorithm. <a href="https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm">https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm</a></p>
+<p>[2] The case against specialized graph analytics engines, J. Fan, G. Soosai Raj, and J. M. Patel. CIDR 2015. <a href="http://cidrdb.org/cidr2015/Papers/CIDR15_Paper20.pdf">http://cidrdb.org/cidr2015/Papers/CIDR15_Paper20.pdf</a> </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__stats.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__stats.html b/docs/v1.11/group__grp__stats.html
new file mode 100644
index 0000000..3bc2ddf
--- /dev/null
+++ b/docs/v1.11/group__grp__stats.html
@@ -0,0 +1,137 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Statistics</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__stats.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Statistics</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>Contains statistics modules </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__desc__stats"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__desc__stats.html">Descriptive Statistics</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__inf__stats"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__inf__stats.html">Inferential Statistics</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__prob"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__prob.html">Probability Functions</a></td></tr>
+<tr class="memdesc:group__grp__prob"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides cumulative distribution, density/mass, and quantile functions for a wide range of probability distributions. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__stats.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__stats.js b/docs/v1.11/group__grp__stats.js
new file mode 100644
index 0000000..0828141
--- /dev/null
+++ b/docs/v1.11/group__grp__stats.js
@@ -0,0 +1,6 @@
+var group__grp__stats =
+[
+    [ "Descriptive Statistics", "group__grp__desc__stats.html", "group__grp__desc__stats" ],
+    [ "Inferential Statistics", "group__grp__inf__stats.html", "group__grp__inf__stats" ],
+    [ "Probability Functions", "group__grp__prob.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__stats__tests.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__stats__tests.html b/docs/v1.11/group__grp__stats__tests.html
new file mode 100644
index 0000000..43857ee
--- /dev/null
+++ b/docs/v1.11/group__grp__stats__tests.html
@@ -0,0 +1,535 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Hypothesis Tests</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__stats__tests.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Hypothesis Tests<div class="ingroups"><a class="el" href="group__grp__stats.html">Statistics</a> &raquo; <a class="el" href="group__grp__inf__stats.html">Inferential Statistics</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#input">Input</a> </li>
+<li>
+<a href="#usage">Usage</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Hypothesis tests are used to confirm or reject a <em>null hypothesis</em> <img class="formulaInl" alt="$ H_0 $" src="form_397.png"/> about the distribution of random variables, given realizations of these random variables. Since in general it is not possible to make statements with certainty, one is interested in the probability <img class="formulaInl" alt="$ p $" src="form_111.png"/> of seeing random variates at least as extreme as the ones observed, assuming that <img class="formulaInl" alt="$ H_0 $" src="form_397.png"/> is true. If this probability <img class="formulaInl" alt="$ p $" src="form_111.png"/> is small, <img class="formulaInl" alt="$ H_0 $" src="form_397.png"/> will be rejected by the test with <em>significance level</em> <img class="formulaInl" alt="$ p $" src="form_111.png"/>. Falsifying <img class="formulaInl" alt="$ H_0 $" src="form_397.png"/> is the canonic goal when employing a hypothesis test. That is, hypothesis tests are typically used in order to sub
 stantiate that instead the <em>alternative hypothesis</em> <img class="formulaInl" alt="$ H_1 $" src="form_398.png"/> is true.</p>
+<p>Hypothesis tests may be divided into parametric and non-parametric tests. A parametric test assumes certain distributions and makes inferences about parameters of the distributions (e.g., the mean of a normal distribution). Formally, there is a given domain of possible parameters <img class="formulaInl" alt="$ \Gamma $" src="form_399.png"/> and the null hypothesis <img class="formulaInl" alt="$ H_0 $" src="form_397.png"/> is the event that the true parameter <img class="formulaInl" alt="$ \gamma_0 \in \Gamma_0 $" src="form_400.png"/>, where <img class="formulaInl" alt="$ \Gamma_0 \subsetneq \Gamma $" src="form_401.png"/>. Non-parametric tests, on the other hand, do not assume any particular distribution of the sample (e.g., a non-parametric test may simply test if two distributions are similar).</p>
+<p>The first step of a hypothesis test is to compute a <em>test statistic</em>, which is a function of the random variates, i.e., a random variate itself. A hypothesis test relies on the distribution of the test statistic being (approximately) known. Now, the <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value is the probability of seeing a test statistic at least as extreme as the one observed, assuming that <img class="formulaInl" alt="$ H_0 $" src="form_397.png"/> is true. In a case where the null hypothesis corresponds to a family of distributions (e.g., in a parametric test where <img class="formulaInl" alt="$ \Gamma_0 $" src="form_402.png"/> is not a singleton set), the <img class="formulaInl" alt="$ p $" src="form_111.png"/>-value is the supremum, over all possible distributions according to the null hypothesis, of these probabilities.</p>
+<dl class="section note"><dt>Note</dt><dd>Please refer to <a class="el" href="hypothesis__tests_8sql__in.html">hypothesis_tests.sql_in</a> for additional technical information on the MADlib implementation of hypothesis tests, and for detailed function signatures for all tests.</dd></dl>
+<p><a class="anchor" id="input"></a></p><dl class="section user"><dt>Input</dt><dd></dd></dl>
+<p>Input data is assumed to be normalized with all values stored row-wise. In general, the following inputs are expected.</p>
+<p><b>One-sample tests</b> expect the following form: </p><pre>{TABLE|VIEW} <em>source</em> (
+    ...
+    <em>value</em> DOUBLE PRECISION
+    ...
+)</pre><p><b>Two-sample tests</b> expect the following form: </p><pre>{TABLE|VIEW} <em>source</em> (
+    ...
+    <em>first</em> BOOLEAN,
+    <em>value</em> DOUBLE PRECISION
+    ...
+)</pre><p> The <code>first</code> column indicates whether a value is from the first sample (if <code>TRUE</code>) or the second sample (if <code>FALSE</code>).</p>
+<p><b>Many-sample tests</b> expect the following form: </p><pre>{TABLE|VIEW} <em>source</em> (
+    ...
+    <em>group</em> INTEGER,
+    <em>value</em> DOUBLE PRECISION
+    ...
+)</pre><p><a class="anchor" id="usage"></a></p><dl class="section user"><dt>Usage</dt><dd></dd></dl>
+<p>All tests are implemented as aggregate functions. The non-parametric (rank-based) tests are implemented as ordered aggregate functions and thus necessitate an <code>ORDER BY</code> clause. In the following, the most simple forms of usage are given. Specific function signatures, as described in <a class="el" href="hypothesis__tests_8sql__in.html">hypothesis_tests.sql_in</a>, may require more arguments or a different <code>ORDER BY</code> clause.</p>
+<ul>
+<li>Run a parametric one-sample test: <pre>SELECT <em>test</em>(<em>value</em>) FROM <em>source</em></pre> where '<em>test</em>' can be one of<ul>
+<li><code>t_test_one</code> (one-sample or dependent paired Student's t-test)</li>
+<li><code>chi2_gof_test</code> (Pearson's chi-squared goodness of fit test, also used for chi-squared independence test as shown in example section below)</li>
+</ul>
+</li>
+<li>Run a parametric two-sample/multi-sample test: <pre>SELECT <em>test</em>(<em>first/group</em>, <em>value</em>) FROM <em>source</em></pre> where '<em>test</em>' can be one of<ul>
+<li><code>f_test</code> (Fisher F-test)</li>
+<li><code>t_test_two_pooled</code> (two-sample pooled Student’s t-test, i.e. equal variances)</li>
+<li><code>t_test_two_unpooled</code> (two-sample unpooled t-test, i.e., unequal variances, also known as Welch's t-test)</li>
+<li><code>one_way_anova</code> (one-way analysis of variance, multi-sample)</li>
+</ul>
+</li>
+<li><p class="startli">Run a non-parametric two-sample/multi-sample test: </p><pre>SELECT <em>test</em>(<em>first/group</em>, <em>value</em> ORDER BY <em>value</em>) FROM <em>source</em></pre><p> where '<em>test</em>' can be one of</p><ul>
+<li><code>ks_test</code> (Kolmogorov-Smirnov test)</li>
+<li><code>mw_test</code> (Mann-Whitney test)</li>
+<li><code>wsr_test</code> (Wilcoxon signed-rank test, multi-sample)</li>
+</ul>
+<p class="startli"><b>Note on non-parametric tests:</b> Kolomogov-Smirnov two-sample test is based on the asymptotic theory. The p-value is given by comparing the test statistics with the Kolomogov distribution. The p-value is also adjusted for data with heavy tail distribution, which may give different results than those given by R function's ks.test. See [3] for a detailed explanation. The literature is not unanimous about the definitions of the Wilcoxon rank sum and Mann-Whitney tests. There are two possible definitions for the statistic; MADlib outputs the minimum of the two and uses it for significance testing. This might give different results for both mw_test and wsr_test compared to statistical functions in other popular packages (like R's wilcox.test function). See [4] for a detailed explanation.</p>
+</li>
+</ul>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ul>
+<li><b>One-sample and two-sample t-test</b> (data is subset of mpg data from <a href="http://www.itl.nist.gov/div898/handbook/eda/section3/eda352.htm">NIST/SEMATECH</a>)</li>
+</ul>
+<pre class="example">
+-- Load data
+DROP TABLE IF EXISTS auto83b;
+CREATE TABLE auto83b (
+    id SERIAL,
+    mpg_us DOUBLE PRECISION,
+    mpg_j DOUBLE PRECISION
+);
+COPY auto83b (mpg_us, mpg_j) FROM stdin DELIMITER '|';
+18|24
+15|27
+18|27
+16|25
+17|31
+15|35
+14|24
+14|19
+21|31
+10|32
+10|24
+11|26
+9| 9
+\N|32
+\N|37
+\N|38
+\N|34
+\N|34
+\N|32
+\N|33
+\N|32
+\N|25
+\N|24
+\N|37
+13|\N
+12|\N
+18|\N
+21|\N
+19|\N
+21|\N
+15|\N
+16|\N
+15|\N
+11|\N
+20|\N
+21|\N
+19|\N
+15|\N
+\.
+</pre><pre class="example">
+-- Create table for one sample tests
+DROP TABLE IF EXISTS auto83b_one_sample;
+CREATE TABLE auto83b_one_sample AS
+    SELECT mpg_us AS mpg
+    FROM auto83b
+    WHERE mpg_us is not NULL;
+-- Print table
+SELECT * FROM auto83b_one_sample;
+</pre><pre class="result">
+mpg 
+  18
+  15
+  18
+  16
+  17
+  15
+  14
+  14
+  21
+  10
+  10
+  11
+   9
+  13
+  12
+  18
+  21
+  19
+  21
+  15
+  16
+  15
+  11
+  20
+  21
+  19
+  15
+(27 rows)
+</pre> <pre class="example">
+-- Create table for two sample tests
+DROP TABLE IF EXISTS auto83b_two_sample;
+CREATE TABLE auto83b_two_sample AS
+SELECT TRUE AS is_us, mpg_us AS mpg
+    FROM auto83b
+    WHERE mpg_us is not NULL
+    UNION ALL
+    SELECT FALSE, mpg_j
+    FROM auto83b
+    WHERE mpg_j is not NULL;
+-- Print table
+SELECT * FROM auto83b_two_sample;
+</pre> <pre class="result">
+ is_us | mpg 
+-------+-----
+ t     |  18
+ t     |  15
+ t     |  18
+ t     |  16
+ t     |  17
+ t     |  15
+ t     |  14
+ t     |  14
+ t     |  21
+ t     |  10
+ t     |  10
+ t     |  11
+ t     |   9
+ t     |  13
+ t     |  12
+ t     |  18
+ t     |  21
+ t     |  19
+ t     |  21
+ t     |  15
+ t     |  16
+ t     |  15
+ t     |  11
+ t     |  20
+ t     |  21
+ t     |  19
+ t     |  15
+ f     |  24
+ f     |  27
+ f     |  27
+ f     |  25
+ f     |  31
+ f     |  35
+ f     |  24
+ f     |  19
+ f     |  31
+ f     |  32
+ f     |  24
+ f     |  26
+ f     |   9
+ f     |  32
+ f     |  37
+ f     |  38
+ f     |  34
+ f     |  34
+ f     |  32
+ f     |  33
+ f     |  32
+ f     |  25
+ f     |  24
+ f     |  37
+(51 rows)
+</pre> <pre class="example">
+-- One sample tests
+SELECT (madlib.t_test_one(mpg - 20)).* FROM auto83b_one_sample;  -- test rejected for mean = 20
+</pre><pre class="result">
+     statistic     | df | p_value_one_sided |  p_value_two_sided
+ ------------------+----+-------------------+----------------------
+  -6.0532478722666 | 26 | 0.999998926789141 | 2.14642171769697e-06
+ </pre><pre class="example">
+SELECT (madlib.t_test_one(mpg - 15.7)).* FROM auto83b_one_sample;  -- test not rejected
+</pre><pre class="result">
+       statistic      | df | p_value_one_sided | p_value_two_sided
+ ---------------------+----+-------------------+-------------------
+  0.00521831713126531 | 26 | 0.497938118950661 | 0.995876237901321
+</pre><pre class="example">
+-- Two sample tests
+SELECT (madlib.t_test_two_pooled(is_us, mpg)).* FROM auto83b_two_sample;
+</pre> <pre class="result">
+     statistic     | df | p_value_one_sided |  p_value_two_sided
+ -------------------+----+-------------------+----------------------
+  -8.89342267075968 | 49 | 0.999999999995748 | 8.50408632402377e-12
+ </pre><pre class="example">
+SELECT (madlib.t_test_two_unpooled(is_us, mpg)).* FROM auto83b_two_sample;
+</pre><pre class="result">
+      statistic     |        df        | p_value_one_sided |  p_value_two_sided
+ -------------------+------------------+-------------------+----------------------
+  -8.61746388524314 | 35.1283818346179 | 0.999999999821218 | 3.57563867403599e-10
+</pre><ul>
+<li><b>F-Test</b> (Uses same data as above t-test)</li>
+</ul>
+<pre class="example">
+SELECT (madlib.f_test(is_us, mpg)).* FROM auto83b_two_sample;
+-- Test result indicates that the two distributions have different variances
+</pre> <pre class="result">
+      statistic     | df1 | df2 | p_value_one_sided |  p_value_two_sided
+ -------------------+-----+-----+-------------------+---------------------
+  0.311786921089247 |  26 |  23 | 0.997559863672441 | 0.00488027265511803
+</pre><ul>
+<li><b>Chi-squared goodness-of-fit test</b> (<a href="http://www.statsdirect.com/help/default.htm#nonparametric_methods/chisq_goodness_fit.htm">Data source</a>)</li>
+</ul>
+<pre class="example">
+CREATE TABLE chi2_test_blood_group (
+    id SERIAL,
+    blood_group VARCHAR,
+    observed BIGINT,
+    expected DOUBLE PRECISION
+);
+INSERT INTO chi2_test_blood_group(blood_group, observed, expected) VALUES
+    ('O', 67, 82.28),
+    ('A', 83, 84.15),
+    ('B', 29, 14.96),
+    ('AB', 8, 5.61);
+SELECT (madlib.chi2_gof_test(observed, expected)).* FROM chi2_test_blood_group;
+</pre> <pre class="result">
+     statistic     |       p_value        | df |       phi        | contingency_coef
+ ------------------+----------------------+----+------------------+-------------------
+  17.0481013341976 | 0.000690824622923826 |  3 | 2.06446732440826 | 0.899977280680593
+ </pre><ul>
+<li><b>Chi-squared independence test</b> (<a href="http://itl.nist.gov/div898/software/dataplot/refman1/auxillar/chistest.htm">Data source</a>)</li>
+</ul>
+<p>The Chi-squared independence test uses the Chi-squared goodness-of-fit function, as shown in the example below. The expected value needs to be computed and passed to the goodness-of-fit function. The expected value for MADlib is computed as <em>sum of rows * sum of columns</em>, for each element of the input matrix. For e.g., expected value for element (2,1) would be <em>sum of row 2 * sum of column 1</em>.</p>
+<pre class="example">
+CREATE TABLE chi2_test_friendly (
+    id_x SERIAL,
+    values INTEGER[]
+);
+INSERT INTO chi2_test_friendly(values) VALUES
+    (array[5, 29, 14, 16]),
+    (array[15, 54, 14, 10]),
+    (array[20, 84, 17, 94]),
+    (array[68, 119, 26, 7]);</pre><pre class="example">-- Input table is expected to be unpivoted, so need to pivot it
+CREATE TABLE chi2_test_friendly_unpivoted AS
+SELECT id_x, id_y, values[id_y] AS observed
+FROM
+    chi2_test_friendly,
+    generate_series(1,4) AS id_y;</pre><pre class="example">-- Compute Chi-squared independence statistic, by calculating expected value in the SQL and calling the goodness-of-fit function
+SELECT (madlib.chi2_gof_test(observed, expected, deg_freedom)).*
+FROM (
+    -- Compute expected values and degrees of freedom
+    SELECT
+        observed,
+        sum(observed) OVER (PARTITION BY id_x)::DOUBLE PRECISION *
+        sum(observed) OVER (PARTITION BY id_y) AS expected
+    FROM chi2_test_friendly_unpivoted
+) p, (
+    SELECT
+        (count(DISTINCT id_x) - 1) * (count(DISTINCT id_y) - 1) AS deg_freedom
+    FROM chi2_test_friendly_unpivoted
+) q;
+</pre> <pre class="result">
+     statistic     |       p_value        | df |       phi        | contingency_coef
+ ------------------+----------------------+----+------------------+-------------------
+  138.289841626008 | 2.32528678709871e-25 |  9 | 2.93991753313346 | 0.946730727519112
+ </pre><ul>
+<li><b>ANOVA test</b> (<a href="http://www.itl.nist.gov/div898/handbook/prc/section4/prc433.htm">Data source</a>)</li>
+</ul>
+<pre class="example">
+CREATE TABLE nist_anova_test (
+    id SERIAL,
+    resistance FLOAT8[]
+);
+INSERT INTO nist_anova_test(resistance) VALUES
+    (array[6.9,8.3,8.0]),
+    (array[5.4,6.8,10.5]),
+    (array[5.8,7.8,8.1]),
+    (array[4.6,9.2,6.9]),
+    (array[4.0,6.5,9.3]);</pre><pre class="example">SELECT (madlib.one_way_anova(level, value)).* FROM (
+    SELECT level, resistance[level] AS value
+    FROM
+        nist_anova_test, (SELECT * FROM generate_series(1,3) level) q1
+) q2;
+</pre> <pre class="result">
+  sum_squares_between | sum_squares_within | df_between | df_within | mean_squares_between | mean_squares_within |    statistic     |      p_value
+ ---------------------+--------------------+------------+-----------+----------------------+---------------------+------------------+--------------------
+     27.8973333333333 |             17.452 |          2 |        12 |     13.9486666666667 |    1.45433333333333 | 9.59110703644281 | 0.0032482226008593
+</pre><ul>
+<li><b>Kolmogorov-Smirnov test</b> (<a href="http://www.physics.csbsju.edu/stats/KS-test.html">Data source</a>)</li>
+</ul>
+<pre class="example">
+CREATE TABLE ks_sample_1 AS
+SELECT
+    TRUE AS first,
+    unnest(ARRAY[0.22, -0.87, -2.39, -1.79, 0.37, -1.54, 1.28, -0.31, -0.74, 1.72, 0.38, -0.17, -0.62, -1.10, 0.30, 0.15, 2.30, 0.19, -0.50, -0.09]) AS value
+UNION ALL
+SELECT
+    FALSE,
+    unnest(ARRAY[-5.13, -2.19, -2.43, -3.83, 0.50, -3.25, 4.32, 1.63, 5.18, -0.43, 7.11, 4.87, -3.10, -5.81, 3.76, 6.31, 2.58, 0.07, 5.76, 3.50]);</pre><pre class="example">SELECT (madlib.ks_test(first, value,
+    (SELECT count(value) FROM ks_sample_1 WHERE first),
+    (SELECT count(value) FROM ks_sample_1 WHERE NOT first)
+    ORDER BY value)).*
+FROM ks_sample_1;
+</pre> <pre class="result">
+  statistic |   k_statistic   |      p_value
+ -----------+-----------------+--------------------
+       0.45 | 1.4926782214936 | 0.0232132758544496
+</pre><ul>
+<li><b>Mann-Whitney test</b> (use same data as t-test)</li>
+</ul>
+<pre class="example">
+SELECT (madlib.mw_test(is_us, mpg ORDER BY mpg)).* from auto83b_two_sample;
+-- Note first parameter above is BOOLEAN
+</pre> <pre class="result">
+      statistic     | u_statistic | p_value_one_sided |  p_value_two_sided
+ -------------------+-------------+-------------------+----------------------
+  -5.50097925755249 |        32.5 | 0.999999981115618 | 3.77687645883758e-08
+</pre><ul>
+<li><b>Wilcoxon signed-rank test</b></li>
+</ul>
+<pre class="example">
+DROP TABLE IF EXISTS test_wsr;
+CREATE TABLE test_wsr (
+    x DOUBLE PRECISION,
+    y DOUBLE PRECISION
+);
+COPY test_wsr (x, y) FROM stdin DELIMITER '|';
+0.32|0.39
+0.4|0.47
+0.11|0.11
+0.47|0.43
+0.32|0.42
+0.35|0.3
+0.32|0.43
+0.63|0.98
+0.5|0.86
+0.6|0.79
+0.38|0.33
+0.46|0.45
+0.2|0.22
+0.31|0.3
+0.62|0.6
+0.52|0.53
+0.77|0.85
+0.23|0.21
+0.3|0.33
+0.7|0.57
+0.41|0.43
+0.53|0.49
+0.19|0.2
+0.31|0.35
+0.48|0.4
+\.
+
+SELECT (madlib.wsr_test(
+    x - y,
+    2 * 2^(-52) * greatest(x,y)
+    ORDER BY abs(x - y)
+)).*
+FROM test_wsr;
+</pre> <pre class="result">
+  statistic | rank_sum_pos | rank_sum_neg | num |    z_statistic    | p_value_one_sided | p_value_two_sided
+ -----------+--------------+--------------+-----+-------------------+-------------------+-------------------
+      105.5 |        105.5 |        194.5 |  24 | -1.27318365656729 | 0.898523560667509 | 0.202952878664983
+</pre><p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p>[1] M. Hollander, D. Wolfe: <em>Nonparametric Statistical Methods</em>, 2nd edition, Wiley, 1999</p>
+<p>[2] E. Lehmann, J. Romano: <em>Testing Statistical Hypotheses</em>, 3rd edition, Springer, 2005</p>
+<p>[3] M. Stephens: <em>Use of the Kolmogorov-Smirnov, Cramer-Von Mises and related statistics without extensive tables</em>, Journal of the Royal Statistical Society. Series B (Methodological) (1970): 115-122.</p>
+<p>[4] Wikipedia: Mann–Whitney U test calculation, <a href="http://en.wikipedia.org/wiki/Mann-Whitney_test#Calculations">http://en.wikipedia.org/wiki/Mann-Whitney_test#Calculations</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="hypothesis__tests_8sql__in.html" title="SQL functions for statistical hypothesis tests. ">hypothesis_tests.sql_in</a> documenting the SQL functions. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__stemmer.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__stemmer.html b/docs/v1.11/group__grp__stemmer.html
new file mode 100644
index 0000000..ba04b63
--- /dev/null
+++ b/docs/v1.11/group__grp__stemmer.html
@@ -0,0 +1,234 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Stemming</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__stemmer.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Stemming<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#notes">Implementation Notes</a> </li>
+<li>
+<a href="#list">List of Stemmer Operations</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>This module provides a basic stemming operation for text input. It is a support module for several machine learning algorithms that require a stemmer. Currently, it only supports English words.</p>
+<p>This function is a SQL interface to the implementation of the <a href="http://tartarus.org/~martin/PorterStemmer/">Porter Stemming Algorithm</a>. The original stemming algorithm is written and maintained by Martin Porter</p>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Implementation Notes</dt><dd></dd></dl>
+<p>All functions described in this module work with text OR text array.</p>
+<p>Several of the function require TEXT VALUES, and returns NULL for a NULL input. See details in description of individual functions.</p>
+<p><a class="anchor" id="list"></a></p><dl class="section user"><dt>Stemmer Operations</dt><dd><table class="output">
+<tr>
+<th><a class="el" href="porter__stemmer_8sql__in.html#aca5bc24a9a8f5c33470b9f0bf0b3c515" title="Returns stem of input token. Returns NULL if input token is NULL. ">stem_token()</a></th><td><p class="starttd">Returns the stem of the token. Returns NULL if input is NULL.</p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th><a class="el" href="porter__stemmer_8sql__in.html#a1ac3a2fd645ddf807b36a1328134a4ea" title="Returns stems in an array of input token array. Returns NULL element for corresponding input NULL tok...">stem_token_arr()</a></th><td><p class="starttd">Returns the stems in an array of input token array. The stem would be NULL for corresponding NULL token.</p>
+<p class="endtd"><a class="anchor" id="examples"></a></p>
+</td></tr>
+</table>
+</dd></dl>
+<dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Create a table with some words to be stemmed. <pre class="example">
+CREATE TABLE token_tbl ( id integer,
+                         word text
+                       );
+INSERT INTO token_tbl VALUES
+ (1, 'kneel'),
+ (2, 'kneeled'),
+ (3, 'kneeling'),
+ (4, 'kneels'),
+ (5, 'knees'),
+ (6, 'knell'),
+ (7, 'knelt'),
+ (8, 'knew'),
+ (9, 'knick'),
+ (10, 'knif'),
+ (11, 'knife'),
+ (12, 'knight'),
+ (13, 'knightly'),
+ (14, 'knights'),
+ (15, 'knit'),
+ (16, 'knits'),
+ (17, 'knitted'),
+ (18, 'knitting'),
+ (19, 'knives'),
+ (20, 'knob'),
+ (21, 'knobs'),
+ (22, 'knock'),
+ (23, 'knocked'),
+ (24, 'knocker'),
+ (25, 'knockers'),
+ (26, 'knocking'),
+ (27, 'knocks'),
+ (28, 'knopp'),
+ (29, 'knot'),
+ (30, 'knots');
+</pre></li>
+<li>Return the stem words <pre class="example">
+SELECT madlib.stem_token(word) FROM token_tbl;
+</pre> <pre class="result">
+ stem_token
+&#160;------------
+ kneel
+ kneel
+ kneel
+ kneel
+ knee
+ knell
+ knelt
+ knew
+ knick
+ knif
+ knife
+ knight
+ knight
+ knight
+ knit
+ knit
+ knit
+ knit
+ knive
+ knob
+ knob
+ knock
+ knock
+ knocker
+ knocker
+ knock
+ knock
+ knopp
+ knot
+ knot
+(30 rows)
+</pre></li>
+<li>The input can be processed as an array <pre class="example">
+SELECT madlib.stem_token_arr(array_agg(word order by word)) FROM token_tbl;
+</pre> <pre class="result">
+  stem_token_arr
+&#160;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ {kneel,kneel,kneel,kneel,knee,knell,knelt,knew,knick,knif,knife,knight,knight,knight,knit,knit,knit,knit,knive,knob,knob,knock,knock,knocker,knocker,knock,knock,knopp,knot,knot}
+(1 row)
+</pre></li>
+</ol>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="porter__stemmer_8sql__in.html" title="implementation of porter stemmer operations in SQL ">porter_stemmer.sql_in</a> for list of functions and usage. </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__summary.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__summary.html b/docs/v1.11/group__grp__summary.html
new file mode 100644
index 0000000..efa19ba
--- /dev/null
+++ b/docs/v1.11/group__grp__summary.html
@@ -0,0 +1,308 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Summary</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__summary.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Summary<div class="ingroups"><a class="el" href="group__grp__stats.html">Statistics</a> &raquo; <a class="el" href="group__grp__desc__stats.html">Descriptive Statistics</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#usage">Summary Function Syntax</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#notes">Notes</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>The MADlib <b><a class="el" href="summary_8sql__in.html#a14ff66aaa0248c5e2741dfaf2e360881">summary()</a></b> function produces summary statistics for any data table. The function invokes various methods from the MADlib library to provide the data overview.</p>
+<p><a class="anchor" id="usage"></a></p><dl class="section user"><dt>Summary Function Syntax</dt><dd>The <b><a class="el" href="summary_8sql__in.html#a14ff66aaa0248c5e2741dfaf2e360881">summary()</a></b> function has the following syntax:</dd></dl>
+<pre class="syntax">
+summary ( source_table,
+          output_table,
+          target_cols,
+          grouping_cols,
+          get_distinct,
+          get_quartiles,
+          ntile_array,
+          how_many_mfv,
+          get_estimates
+        )
+</pre><p> The <b><a class="el" href="summary_8sql__in.html#a14ff66aaa0248c5e2741dfaf2e360881">summary()</a></b> function returns a composite type containing three fields: </p><table class="output">
+<tr>
+<th>output_table </th><td>TEXT. The name of the output table.  </td></tr>
+<tr>
+<th>row_count </th><td>INTEGER. The number of rows in the output table.  </td></tr>
+<tr>
+<th>duration </th><td>FLOAT8. The time taken (in seconds) to compute the summary.  </td></tr>
+</table>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd>TEXT. The name of the table containing the input data. </dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. The name of the table to contain the output summary data.</p>
+<p class="enddd">Summary statistics are saved in a table with the name specifed in the <em>output_table</em> argument. The table contains the following columns: </p><table class="output">
+<tr>
+<th>group_by </th><td>Group-by column name. NULL if none provided.  </td></tr>
+<tr>
+<th>group_by_value </th><td>Value of the Group-by column. NULL if there is no grouping.  </td></tr>
+<tr>
+<th>target_column </th><td>Targeted column values for which summary is requested.  </td></tr>
+<tr>
+<th>column_number </th><td>Physical column number for the target column, as described in <em>pg_attribute</em>  catalog.  </td></tr>
+<tr>
+<th>data_type </th><td>Data type of the target column. Standard GPDB type descriptors are displayed.  </td></tr>
+<tr>
+<th>row_count </th><td>Number of rows for the target column.  </td></tr>
+<tr>
+<th>distinct_values </th><td>Number of distinct values in the target column. When the <a class="el" href="summary_8sql__in.html#a14ff66aaa0248c5e2741dfaf2e360881">summary()</a> function is called with the <em>get_estimates</em> argument set to TRUE, this is an estimated statistic based on the Flajolet-Martin distinct count estimator.  </td></tr>
+<tr>
+<th>missing_values </th><td>Number of missing values in the target column.  </td></tr>
+<tr>
+<th>blank_values </th><td>Number of blank values. Blanks are defined by this regular expression:<pre class="fragment">'^\w*$'</pre>  </td></tr>
+<tr>
+<th>fraction_missing </th><td>Percentage of total rows that are missing, as a decimal value, e.g. 0.3.  </td></tr>
+<tr>
+<th>fraction_blank </th><td>Percentage of total rows that are blank, as a decimal value, e.g. 0.3.  </td></tr>
+<tr>
+<th>mean </th><td>Mean value of target column if target is numeric, otherwise NULL.  </td></tr>
+<tr>
+<th>variance </th><td>Variance of target column if target is numeric, otherwise NULL.  </td></tr>
+<tr>
+<th>min </th><td>Minimum value of target column. For strings this is the length of the shortest string.  </td></tr>
+<tr>
+<th>max </th><td>Maximum value of target column. For strings this is the length of the longest string.  </td></tr>
+<tr>
+<th>first_quartile </th><td>First quartile (25th percentile), only for numeric columns. <b>Currently unavailable for PostgreSQL 9.3 or lower</b>.  </td></tr>
+<tr>
+<th>median </th><td>Median value of target column, if target is numeric, otherwise NULL. <b>Currently unavailable for PostgreSQL 9.3 or lower</b>.  </td></tr>
+<tr>
+<th>third_quartile </th><td>Third quartile (25th percentile), only for numeric columns. <b>Currently unavailable for PostgreSQL 9.3 or lower</b>.  </td></tr>
+<tr>
+<th>quantile_array </th><td>Percentile values corresponding to <em>ntile_array</em>. <b>Currently unavailable for PostgreSQL 9.3 or lower</b>.  </td></tr>
+<tr>
+<th>most_frequent_values </th><td>An array containing the most frequently occurring values. The <em>how_many_mfv</em> argument determines the length of the array, 10 by default. If the <a class="el" href="summary_8sql__in.html#a14ff66aaa0248c5e2741dfaf2e360881">summary()</a> function is called with the <em>get_estimates</em> argument set to TRUE (default), the frequent values computation is performed using a parallel aggregation method that is faster, but in some cases can fail to detect the exact most frequent values.  </td></tr>
+<tr>
+<th>mfv_frequencies </th><td>Array containing the frequency count for each of the most frequent values.   </td></tr>
+</table>
+</dd>
+<dt>target_columns (optional) </dt>
+<dd>TEXT, default NULL. A comma-separated list of columns to summarize. If NULL, summaries are produced for all columns. </dd>
+<dt>grouping_cols (optional) </dt>
+<dd>TEXT, default: null. A comma-separated list of columns on which to group results. If NULL, summaries are produced on the complete table. <dl class="section note"><dt>Note</dt><dd>Please note that summary statistics are calculated for each grouping column independently. That is, grouping columns are not combined together as in the regular PostgreSQL style GROUP BY directive. (This was done to reduce long run time and huge output table size which would otherwise result in the case of large input tables with a lot of grouping_cols and target_cols specified.) </dd></dl>
+</dd>
+<dt>get_distinct (optional) </dt>
+<dd>BOOLEAN, default TRUE. If true, distinct values are counted. </dd>
+<dt>get_quartiles (optional) </dt>
+<dd>BOOLEAN, default TRUE. If TRUE, quartiles are computed. </dd>
+<dt>ntile_array (optional) </dt>
+<dd>FLOAT8[], default NULL. An array of quantile values to compute. If NULL, quantile values are not computed. <dl class="section note"><dt>Note</dt><dd>Quartile and quantile functions are not available for PostgreSQL 9.3 or lower. If you are using PostgreSQL 9.3 or lower, the output table will not contain these values, even if you set 'get_quartiles' = TRUE or provide an array of quantile values for the parameter 'ntile_array'. </dd></dl>
+</dd>
+<dt>how_many_mfv (optional) </dt>
+<dd>INTEGER, default: 10. The number of most-frequent-values to compute. </dd>
+<dt>get_estimates (optional) </dt>
+<dd>BOOLEAN, default TRUE. If TRUE, estimated values are produced for distinct values and most frequent values. If FALSE, exact values are calculated (may take longer to run depending on data size). </dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>View online help for the <a class="el" href="summary_8sql__in.html#a14ff66aaa0248c5e2741dfaf2e360881">summary()</a> function. <pre class="example">
+SELECT * FROM madlib.summary();
+</pre></li>
+<li>Create an input data set. <pre class="example">
+CREATE TABLE houses (id INT, tax INT, bedroom INT, bath FLOAT, price INT,
+             size INT, lot INT);
+COPY houses FROM STDIN WITH DELIMITER '|';
+  1 |  590 |       2 |    1 |  50000 |  770 | 22100
+  2 | 1050 |       3 |    2 |  85000 | 1410 | 12000
+  3 |   20 |       3 |    1 |  22500 | 1060 |  3500
+  4 |  870 |       2 |    2 |  90000 | 1300 | 17500
+  5 | 1320 |       3 |    2 | 133000 | 1500 | 30000
+  6 | 1350 |       2 |    1 |  90500 |  820 | 25700
+  7 | 2790 |       3 |  2.5 | 260000 | 2130 | 25000
+  8 |  680 |       2 |    1 | 142500 | 1170 | 22000
+  9 | 1840 |       3 |    2 | 160000 | 1500 | 19000
+ 10 | 3680 |       4 |    2 | 240000 | 2790 | 20000
+ 11 | 1660 |       3 |    1 |  87000 | 1030 | 17500
+ 12 | 1620 |       3 |    2 | 118600 | 1250 | 20000
+ 13 | 3100 |       3 |    2 | 140000 | 1760 | 38000
+ 14 | 2070 |       2 |    3 | 148000 | 1550 | 14000
+ 15 |  650 |       3 |  1.5 |  65000 | 1450 | 12000
+\.
+</pre></li>
+<li>Run the <b><a class="el" href="summary_8sql__in.html#a14ff66aaa0248c5e2741dfaf2e360881">summary()</a></b> function. <pre class="example">
+SELECT * FROM madlib.summary( 'houses',
+                              'houses_summary',
+                              'tax,bedroom,lot,bath,price,size,lot',
+                              'bedroom',
+                              TRUE,
+                              TRUE,
+                              NULL,
+                              5,
+                              FALSE
+                            );
+</pre> Result: <pre class="result">
+  output_table  | row_count |    duration
+----------------+-----------+----------------
+ houses_summary |        21 | 0.207587003708
+(1 row)
+</pre></li>
+<li>View the summary data. <pre class="example">
+-- Turn on expanded display for readability.
+\x on
+SELECT * FROM houses_summary;
+</pre> Result: <pre class="result">
+&#160;-[ RECORD 1 ]--------+-----------------------------------
+ group_by             | bedroom
+ group_by_value       | 3
+ target_column        | tax
+ column_number        | 2
+ data_type            | int4
+ row_count            | 9
+ distinct_values      | 9
+ missing_values       | 0
+ blank_values         |
+ fraction_missing     | 0
+ fraction_blank       |
+ mean                 | 1561.11111111111
+ variance             | 936736.111111111
+ min                  | 20
+ max                  | 3100
+ most_frequent_values | {20,1320,2790,1840,1660}
+ mfv_frequencies      | {1,1,1,1,1}
+&#160;-[ RECORD 2 ]--------+-----------------------------------
+ group_by             | bedroom
+ group_by_value       | 3
+ target_column        | bath
+ column_number        | 4
+ ...
+</pre></li>
+</ol>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd><ul>
+<li>Table names can be optionally schema qualified (current_schemas() would be searched if a schema name is not provided) and table and column names should follow case-sensitivity and quoting rules per the database. (For instance, 'mytable' and 'MyTable' both resolve to the same entity, i.e. 'mytable'. If mixed-case or multi-byte characters are desired for entity names then the string should be double-quoted; in this case the input would be '"MyTable"').</li>
+<li>Estimated values are only implemented for the distinct values computation.</li>
+<li>The <em>get_estimates</em> parameter controls computation for two statistics:<ul>
+<li>If <em>get_estimates</em> is TRUE then the distinct value computation is estimated. Further, the most frequent values computation is computed using a "quick and dirty" method that does parallel aggregation in Greenplum Database at the expense of missing some of the most frequent values.</li>
+<li>If <em>get_estimates</em> is FALSE then the distinct values are computed in a slow but exact method. The most frequent values are computed using a faithful implementation that preserves the approximation guarantees of the Cormode/Muthukrishnan method (more information in <a class="el" href="group__grp__mfvsketch.html">MFV (Most Frequent Values)</a>).</li>
+</ul>
+</li>
+<li>Summary statistics are calculated for each grouping column independently. That is, grouping columns are not combined together as in the regular PostgreSQL style GROUP BY directive. (This was done to reduce long run time and huge output table size which would otherwise result in the case of large input tables with a lot of grouping_cols and target_cols specified.)</li>
+<li>Quartile and quantile functions are not available for PostgreSQL 9.3 or lower. If you are using PostgreSQL 9.3 or lower, the output table will not contain these values, even if you set 'get_quartiles' = TRUE or provide an array of quantile values for the parameter 'ntile_array'.</li>
+</ul>
+</dd></dl>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File <a class="el" href="summary_8sql__in.html" title="Summary function for descriptive statistics. ">summary.sql_in</a> documenting the <b><a class="el" href="summary_8sql__in.html#a14ff66aaa0248c5e2741dfaf2e360881">summary()</a></b> function</dd></dl>
+<p><a class="el" href="group__grp__mfvsketch.html">MFV (Most Frequent Values)</a> </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__super.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__super.html b/docs/v1.11/group__grp__super.html
new file mode 100644
index 0000000..b028f3b
--- /dev/null
+++ b/docs/v1.11/group__grp__super.html
@@ -0,0 +1,140 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Supervised Learning</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__super.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Supervised Learning</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>Contains methods which perform supervised learning tasks </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__crf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__crf.html">Conditional Random Field</a></td></tr>
+<tr class="memdesc:group__grp__crf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a Conditional Random Fields (CRF) model for labeling sequential data. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__regml"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__regml.html">Regression Models</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__svm"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__svm.html">Support Vector Machines</a></td></tr>
+<tr class="memdesc:group__grp__svm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Solves classification and regression problems by separating data with a hyperplane or other nonlinear decision boundary. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__tree"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__tree.html">Tree Methods</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__super.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__super.js b/docs/v1.11/group__grp__super.js
new file mode 100644
index 0000000..a83833b
--- /dev/null
+++ b/docs/v1.11/group__grp__super.js
@@ -0,0 +1,7 @@
+var group__grp__super =
+[
+    [ "Conditional Random Field", "group__grp__crf.html", null ],
+    [ "Regression Models", "group__grp__regml.html", "group__grp__regml" ],
+    [ "Support Vector Machines", "group__grp__svm.html", null ],
+    [ "Tree Methods", "group__grp__tree.html", "group__grp__tree" ]
+];
\ No newline at end of file


[42/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/decision__tree_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/decision__tree_8sql__in.html b/docs/v1.11/decision__tree_8sql__in.html
new file mode 100644
index 0000000..9f23900
--- /dev/null
+++ b/docs/v1.11/decision__tree_8sql__in.html
@@ -0,0 +1,2697 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: decision_tree.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('decision__tree_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">decision_tree.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ad5e9443cce27ebc70d7b2c2381d17e06"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#ad5e9443cce27ebc70d7b2c2381d17e06">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features, text list_of_features_to_exclude, text split_criterion, text grouping_cols, text weights, integer max_depth, integer min_split, integer min_bucket, integer n_bins, text pruning_params, text surrogate_params, boolean verbose_mode)</td></tr>
+<tr class="memdesc:ad5e9443cce27ebc70d7b2c2381d17e06"><td class="mdescLeft">&#160;</td><td class="mdescRight">Training of decision tree.  <a href="#ad5e9443cce27ebc70d7b2c2381d17e06">More...</a><br /></td></tr>
+<tr class="separator:ad5e9443cce27ebc70d7b2c2381d17e06"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a7ef7f9b8ded8ae08ec69dd3d634539"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a9a7ef7f9b8ded8ae08ec69dd3d634539">__build_tree</a> (boolean is_classification, text split_criterion, text training_table_name, text output_table_name, text id_col_name, text dependent_variable, boolean dep_is_bool, varchar[] cat_features, varchar[] ordered_cat_features, varchar[] boolean_cats, varchar[] con_features, text grouping_cols, text weights, integer max_depth, integer min_split, integer min_bucket, integer n_bins, text cp_table, smallint max_n_surr, text msg_level, integer k)</td></tr>
+<tr class="separator:a9a7ef7f9b8ded8ae08ec69dd3d634539"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a73a43da31b61ee81d5208860af2d3ab1"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a73a43da31b61ee81d5208860af2d3ab1">tree_train</a> (text message)</td></tr>
+<tr class="separator:a73a43da31b61ee81d5208860af2d3ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a530812f8c3662705e24f8bf24d4eb3a5"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a530812f8c3662705e24f8bf24d4eb3a5">tree_train</a> ()</td></tr>
+<tr class="separator:a530812f8c3662705e24f8bf24d4eb3a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6533f633d95f6c41a628a751b356ce1"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#ac6533f633d95f6c41a628a751b356ce1">_dst_compute_con_splits_transition</a> (bytea8 state, float8[] con_features, integer n_per_seg, smallint num_splits)</td></tr>
+<tr class="separator:ac6533f633d95f6c41a628a751b356ce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1ce0c3bc05f5f6657ce61f2890b27a33"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a1ce0c3bc05f5f6657ce61f2890b27a33">_dst_compute_con_splits_final</a> (bytea8 state)</td></tr>
+<tr class="separator:a1ce0c3bc05f5f6657ce61f2890b27a33"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaabc1efd8cc211886572692062f74732"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#aaabc1efd8cc211886572692062f74732">_dst_compute_con_splits</a> (float8[], integer, smallint)</td></tr>
+<tr class="separator:aaabc1efd8cc211886572692062f74732"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88589c4a865221cd97af52284e222195"><td class="memItemLeft" align="right" valign="top">integer []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a88589c4a865221cd97af52284e222195">_dst_compute_entropy_transition</a> (integer[] state, integer encoded_dep_var, integer num_dep_var)</td></tr>
+<tr class="separator:a88589c4a865221cd97af52284e222195"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a992c692244ec9f1dd38557bc8cf5c2ef"><td class="memItemLeft" align="right" valign="top">integer []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a992c692244ec9f1dd38557bc8cf5c2ef">_dst_compute_entropy_merge</a> (integer[] state1, integer[] state2)</td></tr>
+<tr class="separator:a992c692244ec9f1dd38557bc8cf5c2ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac81d2cf47356702c5bc30790f505c05f"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#ac81d2cf47356702c5bc30790f505c05f">_dst_compute_entropy_final</a> (integer[] state)</td></tr>
+<tr class="separator:ac81d2cf47356702c5bc30790f505c05f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71e8f6ae4227a3cd3734d8c8f7ef54fe"><td class="memItemLeft" align="right" valign="top">aggregate float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a71e8f6ae4227a3cd3734d8c8f7ef54fe">_dst_compute_entropy</a> (integer, integer)</td></tr>
+<tr class="separator:a71e8f6ae4227a3cd3734d8c8f7ef54fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a247bb7f7065a506279627028b49af5e9"><td class="memItemLeft" align="right" valign="top">integer []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a247bb7f7065a506279627028b49af5e9">_map_catlevel_to_int</a> (text[] cat_values_in_text, text[] cat_levels_in_text, integer[] cat_n_levels)</td></tr>
+<tr class="separator:a247bb7f7065a506279627028b49af5e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad63f7b9a78190275509744f9517dd370"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#ad63f7b9a78190275509744f9517dd370">_initialize_decision_tree</a> (boolean is_regression_tree, text impurity_function, smallint num_response_labels, smallint max_n_surr)</td></tr>
+<tr class="separator:ad63f7b9a78190275509744f9517dd370"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aadad9dcc5dd62e335305e99dc1a1b68e"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#aadad9dcc5dd62e335305e99dc1a1b68e">_compute_leaf_stats_transition</a> (bytea8 state, bytea8 tree_state, integer[] cat_features, float8[] con_features, float8 response, float8 weight, integer[] cat_levels, bytea8 con_splits, smallint n_response_labels, boolean weights_as_rows)</td></tr>
+<tr class="separator:aadad9dcc5dd62e335305e99dc1a1b68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec006330e98f6c322f30c05cb07518c0"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#aec006330e98f6c322f30c05cb07518c0">_compute_leaf_stats_merge</a> (bytea8 state1, bytea8 state2)</td></tr>
+<tr class="separator:aec006330e98f6c322f30c05cb07518c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93896cc01cd324ff6dec20d3791b8500"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a93896cc01cd324ff6dec20d3791b8500">_compute_leaf_stats</a> (bytea8, integer[], float8[], float8, float8, integer[], bytea8, smallint, boolean)</td></tr>
+<tr class="separator:a93896cc01cd324ff6dec20d3791b8500"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a164580846362686fe4ab55db7c4fa52a"><td class="memItemLeft" align="right" valign="top">_tree_result_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a164580846362686fe4ab55db7c4fa52a">_dt_apply</a> (bytea8 tree, bytea8 state, bytea8 con_splits, smallint min_split, smallint min_bucket, smallint max_depth, boolean subsample, integer num_random_features)</td></tr>
+<tr class="separator:a164580846362686fe4ab55db7c4fa52a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af17fb0c819380de1c090731dba54ec40"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#af17fb0c819380de1c090731dba54ec40">_compute_surr_stats_transition</a> (bytea8 state, bytea8 tree_state, integer[] cat_features, float8[] con_features, integer[] cat_levels, bytea8 con_splits, integer dup_count)</td></tr>
+<tr class="separator:af17fb0c819380de1c090731dba54ec40"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52020e1216a5ca6b255aa9fefa5ed0f1"><td class="memItemLeft" align="right" valign="top">aggregate bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a52020e1216a5ca6b255aa9fefa5ed0f1">_compute_surr_stats</a> (bytea8, integer[], float8[], integer[], bytea8, integer)</td></tr>
+<tr class="separator:a52020e1216a5ca6b255aa9fefa5ed0f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a05665f86bc28346cdf12e4b4d05aa3d9"><td class="memItemLeft" align="right" valign="top">bytea8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a05665f86bc28346cdf12e4b4d05aa3d9">_dt_surr_apply</a> (bytea8 tree, bytea8 state, bytea8 con_splits)</td></tr>
+<tr class="separator:a05665f86bc28346cdf12e4b4d05aa3d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a32e1056ceed38cc5da2e022e455b7de6"><td class="memItemLeft" align="right" valign="top">_flattened_tree&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a32e1056ceed38cc5da2e022e455b7de6">_print_decision_tree</a> (bytea8 tree)</td></tr>
+<tr class="separator:a32e1056ceed38cc5da2e022e455b7de6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a59b5f555e1f8d7c57830c9cfe3401615"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a59b5f555e1f8d7c57830c9cfe3401615">_predict_dt_response</a> (bytea8 tree, integer[] cat_features, float8[] con_features)</td></tr>
+<tr class="separator:a59b5f555e1f8d7c57830c9cfe3401615"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a25ef01785744c7cf005e6b517602b497"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a25ef01785744c7cf005e6b517602b497">_predict_dt_prob</a> (bytea8 tree, integer[] cat_features, float8[] con_features)</td></tr>
+<tr class="separator:a25ef01785744c7cf005e6b517602b497"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae371963e135c40d8be5b2e342ab3c252"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#ae371963e135c40d8be5b2e342ab3c252">tree_predict</a> (text model, text source, text output, text pred_type)</td></tr>
+<tr class="memdesc:ae371963e135c40d8be5b2e342ab3c252"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use decision tree model to make predictions.  <a href="#ae371963e135c40d8be5b2e342ab3c252">More...</a><br /></td></tr>
+<tr class="separator:ae371963e135c40d8be5b2e342ab3c252"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71a536f94609625aabceaaa8a9030ac6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a71a536f94609625aabceaaa8a9030ac6">__tree_predict</a> (text model, text source, text output, text pred_type, boolean use_existing_tables, integer k)</td></tr>
+<tr class="separator:a71a536f94609625aabceaaa8a9030ac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad8afbe21c3b73daff7322c3fe906a804"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#ad8afbe21c3b73daff7322c3fe906a804">tree_predict</a> (text model, text source, text output)</td></tr>
+<tr class="separator:ad8afbe21c3b73daff7322c3fe906a804"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb6f3ecdd2fdcb7661ee10a65419066e"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#abb6f3ecdd2fdcb7661ee10a65419066e">tree_predict</a> (text message)</td></tr>
+<tr class="separator:abb6f3ecdd2fdcb7661ee10a65419066e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a744d4c5564a3ba18c9774fa040f32d18"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a744d4c5564a3ba18c9774fa040f32d18">tree_predict</a> ()</td></tr>
+<tr class="separator:a744d4c5564a3ba18c9774fa040f32d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6ba706727adf88f8c07cfe09f71732bb"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a6ba706727adf88f8c07cfe09f71732bb">tree_surr_display</a> (text model_table)</td></tr>
+<tr class="memdesc:a6ba706727adf88f8c07cfe09f71732bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display decision tree in dot or text format.  <a href="#a6ba706727adf88f8c07cfe09f71732bb">More...</a><br /></td></tr>
+<tr class="separator:a6ba706727adf88f8c07cfe09f71732bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97c730e746e1a8ea658efe433c9d1be5"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a97c730e746e1a8ea658efe433c9d1be5">tree_surr_display</a> ()</td></tr>
+<tr class="separator:a97c730e746e1a8ea658efe433c9d1be5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3e4875107103a092d3ef560b1812ee5"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#ae3e4875107103a092d3ef560b1812ee5">tree_display</a> (text model_table, boolean dot_format, boolean verbose)</td></tr>
+<tr class="memdesc:ae3e4875107103a092d3ef560b1812ee5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Display decision tree in dot or text format.  <a href="#ae3e4875107103a092d3ef560b1812ee5">More...</a><br /></td></tr>
+<tr class="separator:ae3e4875107103a092d3ef560b1812ee5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c51edcc0fe3de029dc39a3f0306155d"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a3c51edcc0fe3de029dc39a3f0306155d">tree_display</a> (text model_table, boolean dot_format)</td></tr>
+<tr class="separator:a3c51edcc0fe3de029dc39a3f0306155d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5168f7f604b0ad1c9e581f0e3f52698e"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a5168f7f604b0ad1c9e581f0e3f52698e">tree_display</a> (text model_table)</td></tr>
+<tr class="separator:a5168f7f604b0ad1c9e581f0e3f52698e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:adc9d02213b4d906976805a9681ea13fb"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#adc9d02213b4d906976805a9681ea13fb">tree_display</a> ()</td></tr>
+<tr class="separator:adc9d02213b4d906976805a9681ea13fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a77f0212dd3776488cf73080eeb4e851c"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a77f0212dd3776488cf73080eeb4e851c">_display_decision_tree</a> (bytea8 tree, text[] cat_features, text[] con_features, text[] cat_levels_in_text, integer[] cat_n_levels, text[] dependent_levels, text id_prefix, boolean verbose)</td></tr>
+<tr class="separator:a77f0212dd3776488cf73080eeb4e851c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0dd7cec9ec3db8482ae60a3f274c3488"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a0dd7cec9ec3db8482ae60a3f274c3488">_display_decision_tree</a> (bytea8 tree, text[] cat_features, text[] con_features, text[] cat_levels_in_text, integer[] cat_n_levels, text[] dependent_levels, text id_prefix)</td></tr>
+<tr class="separator:a0dd7cec9ec3db8482ae60a3f274c3488"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a071ad5dd0cf985d9e5258968fa8c214d"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a071ad5dd0cf985d9e5258968fa8c214d">_display_decision_tree_surrogate</a> (bytea8 tree, text[] cat_features, text[] con_features, text[] cat_levels_in_text, integer[] cat_n_levels)</td></tr>
+<tr class="separator:a071ad5dd0cf985d9e5258968fa8c214d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af030ab954fd282bb08e13134e087fafb"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#af030ab954fd282bb08e13134e087fafb">_display_text_decision_tree</a> (bytea8 tree, text[] cat_features, text[] con_features, text[] cat_levels_in_text, integer[] cat_n_levels, text[] dependent_levels)</td></tr>
+<tr class="separator:af030ab954fd282bb08e13134e087fafb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a658412807f7b28e9e367a1421cb8ad96"><td class="memItemLeft" align="right" valign="top">set&lt; _cat_levels_type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a658412807f7b28e9e367a1421cb8ad96">_gen_cat_levels_set</a> (text[] grp_keys, integer[] cat_n_levels, integer n_cat, text[] cat_sorted_origin)</td></tr>
+<tr class="separator:a658412807f7b28e9e367a1421cb8ad96"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29db1b54ffa60f40bb533c1229332789"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a29db1b54ffa60f40bb533c1229332789">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features, text list_of_features_to_exclude, text split_criterion, text grouping_cols, text weights, integer max_depth, integer min_split, integer min_bucket, integer n_bins, text pruning_params, text surrogate_params)</td></tr>
+<tr class="separator:a29db1b54ffa60f40bb533c1229332789"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab561b3e2a8a66b6ec763d44ea042aeca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#ab561b3e2a8a66b6ec763d44ea042aeca">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features, text list_of_features_to_exclude, text split_criterion, text grouping_cols, text weights, integer max_depth, integer min_split, integer min_bucket, integer n_bins, text pruning_params)</td></tr>
+<tr class="separator:ab561b3e2a8a66b6ec763d44ea042aeca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:add62455af9b9f9a075df8221269a4872"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#add62455af9b9f9a075df8221269a4872">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features, text list_of_features_to_exclude, text split_criterion, text grouping_cols, text weights, integer max_depth, integer min_split, integer min_bucket, integer n_bins)</td></tr>
+<tr class="separator:add62455af9b9f9a075df8221269a4872"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a635b82bc9c1fcd63e5a46546d3e2ba70"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a635b82bc9c1fcd63e5a46546d3e2ba70">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features, text list_of_features_to_exclude, text split_criterion, text grouping_cols, text weights, integer max_depth, integer min_split, integer min_bucket)</td></tr>
+<tr class="separator:a635b82bc9c1fcd63e5a46546d3e2ba70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a93591ca5193e5ac9f8c3ac52e1dfb1ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a93591ca5193e5ac9f8c3ac52e1dfb1ba">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features, text list_of_features_to_exclude, text split_criterion, text grouping_cols, text weights, integer max_depth, integer min_split)</td></tr>
+<tr class="separator:a93591ca5193e5ac9f8c3ac52e1dfb1ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a558361a337c93731b856523e20f20e72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a558361a337c93731b856523e20f20e72">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features, text list_of_features_to_exclude, text split_criterion, text grouping_cols, text weights, integer max_depth)</td></tr>
+<tr class="separator:a558361a337c93731b856523e20f20e72"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a10b882e4d6417023ae6b92f79e88ac29"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a10b882e4d6417023ae6b92f79e88ac29">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features, text list_of_features_to_exclude, text split_criterion, text grouping_cols, text weights)</td></tr>
+<tr class="separator:a10b882e4d6417023ae6b92f79e88ac29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac49c038b5668aeb901d22a5a81c8f338"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#ac49c038b5668aeb901d22a5a81c8f338">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features, text list_of_features_to_exclude, text split_criterion, text grouping_cols)</td></tr>
+<tr class="separator:ac49c038b5668aeb901d22a5a81c8f338"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9cfac8d89b1a13d22a20eb79d4d7e7ce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a9cfac8d89b1a13d22a20eb79d4d7e7ce">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features, text list_of_features_to_exclude, text split_criterion)</td></tr>
+<tr class="separator:a9cfac8d89b1a13d22a20eb79d4d7e7ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af70d0b6bba29f94ebd49acc48b4f9bb1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#af70d0b6bba29f94ebd49acc48b4f9bb1">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features, text list_of_features_to_exclude)</td></tr>
+<tr class="separator:af70d0b6bba29f94ebd49acc48b4f9bb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a639431da2553fb86673e82d62cde4458"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decision__tree_8sql__in.html#a639431da2553fb86673e82d62cde4458">tree_train</a> (text training_table_name, text output_table_name, text id_col_name, text dependent_variable, text list_of_features)</td></tr>
+<tr class="separator:a639431da2553fb86673e82d62cde4458"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="a9a7ef7f9b8ded8ae08ec69dd3d634539"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9a7ef7f9b8ded8ae08ec69dd3d634539">&#9670;&nbsp;</a></span>__build_tree()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void __build_tree </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>is_classification</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>split_criterion</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>training_table_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>id_col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_variable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>dep_is_bool</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>cat_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>ordered_cat_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>boolean_cats</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar []&#160;</td>
+          <td class="paramname"><em>con_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>weights</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_depth</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>min_split</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>min_bucket</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n_bins</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>cp_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname"><em>max_n_surr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>msg_level</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a71a536f94609625aabceaaa8a9030ac6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71a536f94609625aabceaaa8a9030ac6">&#9670;&nbsp;</a></span>__tree_predict()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void __tree_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pred_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_existing_tables</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>k</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a93896cc01cd324ff6dec20d3791b8500"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a93896cc01cd324ff6dec20d3791b8500">&#9670;&nbsp;</a></span>_compute_leaf_stats()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 _compute_leaf_stats </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aec006330e98f6c322f30c05cb07518c0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aec006330e98f6c322f30c05cb07518c0">&#9670;&nbsp;</a></span>_compute_leaf_stats_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 _compute_leaf_stats_merge </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aadad9dcc5dd62e335305e99dc1a1b68e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aadad9dcc5dd62e335305e99dc1a1b68e">&#9670;&nbsp;</a></span>_compute_leaf_stats_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 _compute_leaf_stats_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>tree_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>con_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>response</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>weight</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_levels</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>con_splits</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname"><em>n_response_labels</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>weights_as_rows</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a52020e1216a5ca6b255aa9fefa5ed0f1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a52020e1216a5ca6b255aa9fefa5ed0f1">&#9670;&nbsp;</a></span>_compute_surr_stats()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 _compute_surr_stats </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af17fb0c819380de1c090731dba54ec40"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af17fb0c819380de1c090731dba54ec40">&#9670;&nbsp;</a></span>_compute_surr_stats_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 _compute_surr_stats_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>tree_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>con_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_levels</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>con_splits</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>dup_count</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a77f0212dd3776488cf73080eeb4e851c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a77f0212dd3776488cf73080eeb4e851c">&#9670;&nbsp;</a></span>_display_decision_tree() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text _display_decision_tree </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>cat_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>con_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>cat_levels_in_text</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_n_levels</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>dependent_levels</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>id_prefix</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0dd7cec9ec3db8482ae60a3f274c3488"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0dd7cec9ec3db8482ae60a3f274c3488">&#9670;&nbsp;</a></span>_display_decision_tree() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text _display_decision_tree </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>cat_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>con_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>cat_levels_in_text</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_n_levels</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>dependent_levels</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>id_prefix</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a071ad5dd0cf985d9e5258968fa8c214d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a071ad5dd0cf985d9e5258968fa8c214d">&#9670;&nbsp;</a></span>_display_decision_tree_surrogate()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text _display_decision_tree_surrogate </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>cat_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>con_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>cat_levels_in_text</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_n_levels</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af030ab954fd282bb08e13134e087fafb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af030ab954fd282bb08e13134e087fafb">&#9670;&nbsp;</a></span>_display_text_decision_tree()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text _display_text_decision_tree </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>cat_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>con_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>cat_levels_in_text</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_n_levels</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>dependent_levels</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aaabc1efd8cc211886572692062f74732"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaabc1efd8cc211886572692062f74732">&#9670;&nbsp;</a></span>_dst_compute_con_splits()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate bytea8 _dst_compute_con_splits </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1ce0c3bc05f5f6657ce61f2890b27a33"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1ce0c3bc05f5f6657ce61f2890b27a33">&#9670;&nbsp;</a></span>_dst_compute_con_splits_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 _dst_compute_con_splits_final </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac6533f633d95f6c41a628a751b356ce1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac6533f633d95f6c41a628a751b356ce1">&#9670;&nbsp;</a></span>_dst_compute_con_splits_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 _dst_compute_con_splits_transition </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>con_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n_per_seg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname"><em>num_splits</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a71e8f6ae4227a3cd3734d8c8f7ef54fe"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71e8f6ae4227a3cd3734d8c8f7ef54fe">&#9670;&nbsp;</a></span>_dst_compute_entropy()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 _dst_compute_entropy </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac81d2cf47356702c5bc30790f505c05f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac81d2cf47356702c5bc30790f505c05f">&#9670;&nbsp;</a></span>_dst_compute_entropy_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 _dst_compute_entropy_final </td>
+          <td>(</td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a992c692244ec9f1dd38557bc8cf5c2ef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a992c692244ec9f1dd38557bc8cf5c2ef">&#9670;&nbsp;</a></span>_dst_compute_entropy_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer [] _dst_compute_entropy_merge </td>
+          <td>(</td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a88589c4a865221cd97af52284e222195"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a88589c4a865221cd97af52284e222195">&#9670;&nbsp;</a></span>_dst_compute_entropy_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer [] _dst_compute_entropy_transition </td>
+          <td>(</td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>encoded_dep_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num_dep_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a164580846362686fe4ab55db7c4fa52a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a164580846362686fe4ab55db7c4fa52a">&#9670;&nbsp;</a></span>_dt_apply()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">_tree_result_type _dt_apply </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>con_splits</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname"><em>min_split</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname"><em>min_bucket</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname"><em>max_depth</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>subsample</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num_random_features</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a05665f86bc28346cdf12e4b4d05aa3d9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a05665f86bc28346cdf12e4b4d05aa3d9">&#9670;&nbsp;</a></span>_dt_surr_apply()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 _dt_surr_apply </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>con_splits</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a658412807f7b28e9e367a1421cb8ad96"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a658412807f7b28e9e367a1421cb8ad96">&#9670;&nbsp;</a></span>_gen_cat_levels_set()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;_cat_levels_type&gt; _gen_cat_levels_set </td>
+          <td>(</td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>grp_keys</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_n_levels</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n_cat</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>cat_sorted_origin</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad63f7b9a78190275509744f9517dd370"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad63f7b9a78190275509744f9517dd370">&#9670;&nbsp;</a></span>_initialize_decision_tree()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">bytea8 _initialize_decision_tree </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>is_regression_tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>impurity_function</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname"><em>num_response_labels</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">smallint&#160;</td>
+          <td class="paramname"><em>max_n_surr</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a247bb7f7065a506279627028b49af5e9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a247bb7f7065a506279627028b49af5e9">&#9670;&nbsp;</a></span>_map_catlevel_to_int()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer [] _map_catlevel_to_int </td>
+          <td>(</td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>cat_values_in_text</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text []&#160;</td>
+          <td class="paramname"><em>cat_levels_in_text</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_n_levels</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a25ef01785744c7cf005e6b517602b497"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a25ef01785744c7cf005e6b517602b497">&#9670;&nbsp;</a></span>_predict_dt_prob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] _predict_dt_prob </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>con_features</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a59b5f555e1f8d7c57830c9cfe3401615"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a59b5f555e1f8d7c57830c9cfe3401615">&#9670;&nbsp;</a></span>_predict_dt_response()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 _predict_dt_response </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>tree</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>cat_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>con_features</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a32e1056ceed38cc5da2e022e455b7de6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a32e1056ceed38cc5da2e022e455b7de6">&#9670;&nbsp;</a></span>_print_decision_tree()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">_flattened_tree _print_decision_tree </td>
+          <td>(</td>
+          <td class="paramtype">bytea8&#160;</td>
+          <td class="paramname"><em>tree</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae3e4875107103a092d3ef560b1812ee5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae3e4875107103a092d3ef560b1812ee5">&#9670;&nbsp;</a></span>tree_display() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar tree_display </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>dot_format</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">tree_model</td><td>Name of the table containing the decision tree model </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a3c51edcc0fe3de029dc39a3f0306155d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c51edcc0fe3de029dc39a3f0306155d">&#9670;&nbsp;</a></span>tree_display() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar tree_display </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>dot_format</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5168f7f604b0ad1c9e581f0e3f52698e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5168f7f604b0ad1c9e581f0e3f52698e">&#9670;&nbsp;</a></span>tree_display() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar tree_display </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="adc9d02213b4d906976805a9681ea13fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#adc9d02213b4d906976805a9681ea13fb">&#9670;&nbsp;</a></span>tree_display() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar tree_display </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae371963e135c40d8be5b2e342ab3c252"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae371963e135c40d8be5b2e342ab3c252">&#9670;&nbsp;</a></span>tree_predict() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tree_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pred_type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">model</td><td>Name of the table containing the decision tree model </td></tr>
+    <tr><td class="paramname">source</td><td>Name of table containing prediction data </td></tr>
+    <tr><td class="paramname">output</td><td>Name of table to output prediction results </td></tr>
+    <tr><td class="paramname">pred_type</td><td>OPTIONAL (Default = 'response'). For regression trees, 'response', implies output is the predicted value. For classification trees, this can be 'response', giving the classification prediction as output, or ‘prob’, giving the class probabilities as output (for two classes, only a single probability value is output that corresponds to the first class when the two classes are sorted by name; in case of more than two classes, an array of class probabilities (a probability of each class) is output).</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>See <a class="el" href="group__grp__decision__tree.html">Decision Tree</a> for more details. </p>
+
+</div>
+</div>
+<a id="ad8afbe21c3b73daff7322c3fe906a804"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad8afbe21c3b73daff7322c3fe906a804">&#9670;&nbsp;</a></span>tree_predict() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tree_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abb6f3ecdd2fdcb7661ee10a65419066e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abb6f3ecdd2fdcb7661ee10a65419066e">&#9670;&nbsp;</a></span>tree_predict() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text tree_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a744d4c5564a3ba18c9774fa040f32d18"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a744d4c5564a3ba18c9774fa040f32d18">&#9670;&nbsp;</a></span>tree_predict() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text tree_predict </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6ba706727adf88f8c07cfe09f71732bb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6ba706727adf88f8c07cfe09f71732bb">&#9670;&nbsp;</a></span>tree_surr_display() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar tree_surr_display </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">tree_model</td><td>Name of the table containing the decision tree model </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a97c730e746e1a8ea658efe433c9d1be5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97c730e746e1a8ea658efe433c9d1be5">&#9670;&nbsp;</a></span>tree_surr_display() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar tree_surr_display </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad5e9443cce27ebc70d7b2c2381d17e06"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad5e9443cce27ebc70d7b2c2381d17e06">&#9670;&nbsp;</a></span>tree_train() <span class="overload">[1/14]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tree_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>training_table_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>id_col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_variable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>list_of_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>list_of_features_to_exclude</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>split_criterion</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>weights</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_depth</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>min_split</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>min_bucket</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>n_bins</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pruning_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>surrogate_params</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose_mode</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">split_criterion</td><td>Various options to compute the feature to split a node. Available options are 'gini', 'cross-entropy', and 'misclassification'. The "cart" algorithm provides an additional option of 'mse'. </td></tr>
+    <tr><td class="paramname">training_table_name</td><td>Name of the table containing data. </td></tr>
+    <tr><td class="paramname">output_table_name</td><td>Name of the table to output the model. </td></tr>
+    <tr><td class="paramname">id_col_name</td><td>Name of column containing the id information in training data. </td></tr>
+    <tr><td class="paramname">dependent_variable</td><td>Name of the column that contains the output for training. Boolean, integer and text are considered classification outputs, while float values are considered regression outputs. </td></tr>
+    <tr><td class="paramname">list_of_features</td><td>List of column names (comma-separated string) to use as predictors. Can also be a ‘*’ implying all columns are to be used as predictors (except the ones included in the next argument). Boolean, integer, and text columns are considered categorical columns. </td></tr>
+    <tr><td class="paramname">list_of_features_to_exclude</td><td>OPTIONAL. List of column names (comma-separated string) to exlude from the predictors list. </td></tr>
+    <tr><td class="paramname">grouping_cols</td><td>OPTIONAL. List of column names (comma-separated string) to group the data by. This will lead to creating multiple decision trees, one for each group. </td></tr>
+    <tr><td class="paramname">weights</td><td>OPTIONAL. Column name containing weights for each observation. </td></tr>
+    <tr><td class="paramname">max_depth</td><td>OPTIONAL (Default = 7). Set the maximum depth of any node of the final tree, with the root node counted as depth 0. A deeper tree can lead to better prediction but will also result in longer processing time and higher memory usage. </td></tr>
+    <tr><td class="paramname">min_split</td><td>OPTIONAL (Default = 20). Minimum number of observations that must exist in a node for a split to be attempted. </td></tr>
+    <tr><td class="paramname">min_bucket</td><td>OPTIONAL (Default = minsplit/3). Minimum number of observations in any terminal node. If only one of minbucket or minsplit is specified, minsplit is set to minbucket*3 or minbucket to minsplit/3, as appropriate. </td></tr>
+    <tr><td class="paramname">n_bins</td><td>optional (default = 20) number of bins to use during binning. continuous-valued features are binned into discrete bins (per the quartile values) to compute split bound- aries. this global parameter is used to compute the resolution of the bins. higher number of bins will lead to higher processing time. </td></tr>
+    <tr><td class="paramname">pruning_params</td><td>(default: cp=0) pruning parameter string containing key-value pairs. the keys can be: cp (default = 0.01) a complexity parameter that determines that a split is attempted only if it decreases the overall lack of fit by a factor of ‘cp’. n_folds (default = 0) number of cross-validation folds </td></tr>
+    <tr><td class="paramname">verbose_mode</td><td>optional (default = false) prints status information on the splits performed and any other information useful for debugging.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>see <a class="el" href="group__grp__decision__tree.html">Decision Tree</a> for more details. </p>
+
+</div>
+</div>
+<a id="a73a43da31b61ee81d5208860af2d3ab1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a73a43da31b61ee81d5208860af2d3ab1">&#9670;&nbsp;</a></span>tree_train() <span class="overload">[2/14]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text tree_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a530812f8c3662705e24f8bf24d4eb3a5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a530812f8c3662705e24f8bf24d4eb3a5">&#9670;&nbsp;</a></span>tree_train() <span class="overload">[3/14]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text tree_train </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a29db1b54ffa60f40bb533c1229332789"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a29db1b54ffa60f40bb533c1229332789">&#9670;&nbsp;</a></span>tree_train() <span class="overload">[4/14]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void tree_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>training_table_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>id_col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>dependent_variable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>list_of_features</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>list_of_features_to_exclude</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>split_criterion</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramnam

<TRUNCATED>


[51/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
Add v1.11 docs


Project: http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/commit/b5b51c69
Tree: http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/tree/b5b51c69
Diff: http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/diff/b5b51c69

Branch: refs/heads/asf-site
Commit: b5b51c69e69c4b16d651d5a443b7e6130e4b81ba
Parents: eaa6ce9
Author: Rahul Iyer <ri...@apache.org>
Authored: Tue May 16 13:28:56 2017 -0700
Committer: Rahul Iyer <ri...@apache.org>
Committed: Tue May 16 13:28:56 2017 -0700

----------------------------------------------------------------------
 docs/v1.11/arima_8sql__in.html                  | 1057 +++
 docs/v1.11/array__ops_8sql__in.html             | 1262 ++++
 docs/v1.11/assoc__rules_8sql__in.html           |  402 ++
 docs/v1.11/bayes_8sql__in.html                  |  981 +++
 docs/v1.11/bc_s.png                             |  Bin 0 -> 676 bytes
 docs/v1.11/bdwn.png                             |  Bin 0 -> 147 bytes
 docs/v1.11/closed.png                           |  Bin 0 -> 132 bytes
 docs/v1.11/clustered__variance_8sql__in.html    | 1941 ++++++
 .../clustered__variance__coxph_8sql__in.html    |  483 ++
 docs/v1.11/conjugate__gradient_8sql__in.html    |  250 +
 docs/v1.11/correlation_8sql__in.html            |  576 ++
 docs/v1.11/cox__prop__hazards_8sql__in.html     | 2137 ++++++
 docs/v1.11/create__indicators_8sql__in.html     |  327 +
 docs/v1.11/crf_8sql__in.html                    |  546 ++
 docs/v1.11/crf__data__loader_8sql__in.html      |  329 +
 docs/v1.11/crf__feature__gen_8sql__in.html      |  292 +
 docs/v1.11/cross__validation_8sql__in.html      |  704 ++
 docs/v1.11/decision__tree_8sql__in.html         | 2697 ++++++++
 docs/v1.11/dense__linear__systems_8sql__in.html |  634 ++
 .../dir_045246a4284e43a18b3301f7f2fe9021.html   |  129 +
 .../dir_08a20377491e298f2a18634c46688672.html   |  148 +
 .../dir_0f3d836a779dde44bc18fb3c10f3236b.html   |  129 +
 .../dir_236d722cd8d4ab3240cfd6a99711293a.html   |  130 +
 .../dir_243a6dc3b90609ab2fa0db538dccc7e4.html   |  139 +
 .../dir_25068098bc33cf5efdba96ef1f982a7e.html   |  129 +
 .../dir_311c53d9b554ece18282a914235231b3.html   |  138 +
 .../dir_315f21b9a614814e8fbfed31937fc0da.html   |  133 +
 .../dir_346f5a65e673d18ebb88fcd994972902.html   |  136 +
 .../dir_450eb4b4c1b972a45a3073b4cf0d30d8.html   |  132 +
 .../dir_4ce76aedc0a361354a0cdf298ef8a21b.html   |  177 +
 .../dir_5591964dd9d2a0de4cacde18df51246f.html   |  131 +
 .../dir_5782bb6b417390b9b62f39df14784c0c.html   |  131 +
 .../dir_5d9e5096d85eccd70738b30ca4156c1c.html   |  130 +
 .../dir_5df0942b61a338b957d481e292820496.html   |  130 +
 .../dir_6480c6b2ddeba401658539ebab47bf38.html   |  130 +
 .../dir_70d8e2ac93858c66799eabe768a70190.html   |  130 +
 .../dir_71a41f8b7207fbbc465a4e4d95589314.html   |  129 +
 .../dir_745a5b6eaaef3a7f811e3c789eb52f97.html   |  129 +
 .../dir_7826d1d18040ad5cc29c8c0a0584577d.html   |  129 +
 .../dir_7bd8cc8c955bd44740c1673f7ff31105.html   |  130 +
 .../dir_7e9c6fdb32abf4292fff6cf9ea7ab593.html   |  129 +
 .../dir_81ad8ebe36740ee548289daebe004715.html   |  130 +
 .../dir_83e7b5f64ce52d52547b13bc30808bb2.html   |  130 +
 .../dir_88709bbec5405cf908e9c046a270c403.html   |  130 +
 .../dir_8e2b1b33327b47bbc574e11f1a03404a.html   |  129 +
 .../dir_93241c6f02785cda96cb2a5453b16091.html   |  137 +
 .../dir_95cb5eef4fa03e373c9501c2b1e64548.html   |  131 +
 .../dir_9805c440171e66ba1bda146b355dfe51.html   |  129 +
 .../dir_997c3e15c9d18078f134bb6226e9c9a5.html   |  148 +
 .../dir_9d92da3085fea9988335208d7a790048.html   |  129 +
 .../dir_a032ee23f15d1a44cef6aabd495d0b57.html   |  130 +
 .../dir_a3ac5584feaaa1368115abd5f91b8e22.html   |  129 +
 .../dir_a84a9848deb14f7db801b07ed9e6c67a.html   |  129 +
 .../dir_b6a04cbbf19cfc3536564b9928d4f3dc.html   |  129 +
 .../dir_b7ca6e41845bddf70a4061187a1f214f.html   |  130 +
 .../dir_b998f480c2a1ce193973609b6fed532a.html   |  130 +
 .../dir_bae1ff22d939d9eb42c7df1d0670bc94.html   |  129 +
 .../dir_c312182b450ff3f70c9f0767949573f6.html   |  130 +
 .../dir_cb710ad19fe91decef89dbd466e543db.html   |  130 +
 .../dir_ce146fe66af6ab0fb08bd3845fb9f804.html   |  130 +
 .../dir_d0ff1bc8be395d65672549993d82a3c0.html   |  130 +
 .../dir_d79f036e19ca50f1361675a4687317bc.html   |  133 +
 .../dir_e2aaed6e1ab0079c9b997d45b783e833.html   |  130 +
 .../dir_e3c5a88cb45d2230a8fc199a8110e02f.html   |  130 +
 .../dir_ff78ec617a20167dfb17882205d627df.html   |  144 +
 docs/v1.11/distribution_8sql__in.html           |  317 +
 docs/v1.11/doc.png                              |  Bin 0 -> 746 bytes
 docs/v1.11/doxygen.css                          | 1596 +++++
 docs/v1.11/doxygen.png                          |  Bin 0 -> 3779 bytes
 docs/v1.11/dynsections.js                       |   97 +
 docs/v1.11/eigen_navtree_hacks.js               |  236 +
 docs/v1.11/elastic__net_8sql__in.html           | 2470 +++++++
 docs/v1.11/encode__categorical_8sql__in.html    |  736 ++
 docs/v1.11/folderclosed.png                     |  Bin 0 -> 616 bytes
 docs/v1.11/folderopen.png                       |  Bin 0 -> 597 bytes
 docs/v1.11/form_0.png                           |  Bin 0 -> 994 bytes
 docs/v1.11/form_1.png                           |  Bin 0 -> 1261 bytes
 docs/v1.11/form_10.png                          |  Bin 0 -> 1045 bytes
 docs/v1.11/form_100.png                         |  Bin 0 -> 231 bytes
 docs/v1.11/form_101.png                         |  Bin 0 -> 849 bytes
 docs/v1.11/form_102.png                         |  Bin 0 -> 619 bytes
 docs/v1.11/form_103.png                         |  Bin 0 -> 744 bytes
 docs/v1.11/form_104.png                         |  Bin 0 -> 1166 bytes
 docs/v1.11/form_105.png                         |  Bin 0 -> 437 bytes
 docs/v1.11/form_106.png                         |  Bin 0 -> 568 bytes
 docs/v1.11/form_107.png                         |  Bin 0 -> 640 bytes
 docs/v1.11/form_108.png                         |  Bin 0 -> 218 bytes
 docs/v1.11/form_109.png                         |  Bin 0 -> 757 bytes
 docs/v1.11/form_11.png                          |  Bin 0 -> 210 bytes
 docs/v1.11/form_110.png                         |  Bin 0 -> 487 bytes
 docs/v1.11/form_111.png                         |  Bin 0 -> 217 bytes
 docs/v1.11/form_112.png                         |  Bin 0 -> 283 bytes
 docs/v1.11/form_113.png                         |  Bin 0 -> 219 bytes
 docs/v1.11/form_114.png                         |  Bin 0 -> 916 bytes
 docs/v1.11/form_115.png                         |  Bin 0 -> 221 bytes
 docs/v1.11/form_116.png                         |  Bin 0 -> 361 bytes
 docs/v1.11/form_117.png                         |  Bin 0 -> 447 bytes
 docs/v1.11/form_118.png                         |  Bin 0 -> 232 bytes
 docs/v1.11/form_119.png                         |  Bin 0 -> 348 bytes
 docs/v1.11/form_12.png                          |  Bin 0 -> 252 bytes
 docs/v1.11/form_120.png                         |  Bin 0 -> 208 bytes
 docs/v1.11/form_121.png                         |  Bin 0 -> 394 bytes
 docs/v1.11/form_122.png                         |  Bin 0 -> 287 bytes
 docs/v1.11/form_123.png                         |  Bin 0 -> 212 bytes
 docs/v1.11/form_124.png                         |  Bin 0 -> 1042 bytes
 docs/v1.11/form_125.png                         |  Bin 0 -> 239 bytes
 docs/v1.11/form_126.png                         |  Bin 0 -> 334 bytes
 docs/v1.11/form_127.png                         |  Bin 0 -> 205 bytes
 docs/v1.11/form_128.png                         |  Bin 0 -> 247 bytes
 docs/v1.11/form_129.png                         |  Bin 0 -> 203 bytes
 docs/v1.11/form_13.png                          |  Bin 0 -> 288 bytes
 docs/v1.11/form_130.png                         |  Bin 0 -> 212 bytes
 docs/v1.11/form_131.png                         |  Bin 0 -> 754 bytes
 docs/v1.11/form_132.png                         |  Bin 0 -> 736 bytes
 docs/v1.11/form_133.png                         |  Bin 0 -> 1765 bytes
 docs/v1.11/form_134.png                         |  Bin 0 -> 689 bytes
 docs/v1.11/form_135.png                         |  Bin 0 -> 226 bytes
 docs/v1.11/form_136.png                         |  Bin 0 -> 226 bytes
 docs/v1.11/form_137.png                         |  Bin 0 -> 304 bytes
 docs/v1.11/form_138.png                         |  Bin 0 -> 303 bytes
 docs/v1.11/form_139.png                         |  Bin 0 -> 435 bytes
 docs/v1.11/form_14.png                          |  Bin 0 -> 220 bytes
 docs/v1.11/form_140.png                         |  Bin 0 -> 435 bytes
 docs/v1.11/form_141.png                         |  Bin 0 -> 1077 bytes
 docs/v1.11/form_142.png                         |  Bin 0 -> 273 bytes
 docs/v1.11/form_143.png                         |  Bin 0 -> 213 bytes
 docs/v1.11/form_144.png                         |  Bin 0 -> 226 bytes
 docs/v1.11/form_145.png                         |  Bin 0 -> 242 bytes
 docs/v1.11/form_146.png                         |  Bin 0 -> 214 bytes
 docs/v1.11/form_147.png                         |  Bin 0 -> 213 bytes
 docs/v1.11/form_148.png                         |  Bin 0 -> 222 bytes
 docs/v1.11/form_149.png                         |  Bin 0 -> 239 bytes
 docs/v1.11/form_15.png                          |  Bin 0 -> 224 bytes
 docs/v1.11/form_150.png                         |  Bin 0 -> 255 bytes
 docs/v1.11/form_151.png                         |  Bin 0 -> 277 bytes
 docs/v1.11/form_152.png                         |  Bin 0 -> 288 bytes
 docs/v1.11/form_153.png                         |  Bin 0 -> 336 bytes
 docs/v1.11/form_154.png                         |  Bin 0 -> 349 bytes
 docs/v1.11/form_155.png                         |  Bin 0 -> 496 bytes
 docs/v1.11/form_156.png                         |  Bin 0 -> 368 bytes
 docs/v1.11/form_157.png                         |  Bin 0 -> 366 bytes
 docs/v1.11/form_158.png                         |  Bin 0 -> 425 bytes
 docs/v1.11/form_159.png                         |  Bin 0 -> 622 bytes
 docs/v1.11/form_16.png                          |  Bin 0 -> 457 bytes
 docs/v1.11/form_160.png                         |  Bin 0 -> 438 bytes
 docs/v1.11/form_161.png                         |  Bin 0 -> 510 bytes
 docs/v1.11/form_162.png                         |  Bin 0 -> 593 bytes
 docs/v1.11/form_163.png                         |  Bin 0 -> 450 bytes
 docs/v1.11/form_164.png                         |  Bin 0 -> 675 bytes
 docs/v1.11/form_165.png                         |  Bin 0 -> 285 bytes
 docs/v1.11/form_166.png                         |  Bin 0 -> 817 bytes
 docs/v1.11/form_167.png                         |  Bin 0 -> 649 bytes
 docs/v1.11/form_168.png                         |  Bin 0 -> 760 bytes
 docs/v1.11/form_169.png                         |  Bin 0 -> 432 bytes
 docs/v1.11/form_17.png                          |  Bin 0 -> 623 bytes
 docs/v1.11/form_170.png                         |  Bin 0 -> 723 bytes
 docs/v1.11/form_171.png                         |  Bin 0 -> 708 bytes
 docs/v1.11/form_172.png                         |  Bin 0 -> 631 bytes
 docs/v1.11/form_173.png                         |  Bin 0 -> 452 bytes
 docs/v1.11/form_174.png                         |  Bin 0 -> 395 bytes
 docs/v1.11/form_175.png                         |  Bin 0 -> 238 bytes
 docs/v1.11/form_176.png                         |  Bin 0 -> 219 bytes
 docs/v1.11/form_177.png                         |  Bin 0 -> 698 bytes
 docs/v1.11/form_178.png                         |  Bin 0 -> 337 bytes
 docs/v1.11/form_179.png                         |  Bin 0 -> 209 bytes
 docs/v1.11/form_18.png                          |  Bin 0 -> 666 bytes
 docs/v1.11/form_180.png                         |  Bin 0 -> 777 bytes
 docs/v1.11/form_181.png                         |  Bin 0 -> 686 bytes
 docs/v1.11/form_182.png                         |  Bin 0 -> 490 bytes
 docs/v1.11/form_183.png                         |  Bin 0 -> 233 bytes
 docs/v1.11/form_184.png                         |  Bin 0 -> 318 bytes
 docs/v1.11/form_185.png                         |  Bin 0 -> 415 bytes
 docs/v1.11/form_186.png                         |  Bin 0 -> 544 bytes
 docs/v1.11/form_187.png                         |  Bin 0 -> 275 bytes
 docs/v1.11/form_188.png                         |  Bin 0 -> 461 bytes
 docs/v1.11/form_189.png                         |  Bin 0 -> 578 bytes
 docs/v1.11/form_19.png                          |  Bin 0 -> 317 bytes
 docs/v1.11/form_190.png                         |  Bin 0 -> 413 bytes
 docs/v1.11/form_191.png                         |  Bin 0 -> 364 bytes
 docs/v1.11/form_192.png                         |  Bin 0 -> 434 bytes
 docs/v1.11/form_193.png                         |  Bin 0 -> 280 bytes
 docs/v1.11/form_194.png                         |  Bin 0 -> 297 bytes
 docs/v1.11/form_195.png                         |  Bin 0 -> 439 bytes
 docs/v1.11/form_196.png                         |  Bin 0 -> 218 bytes
 docs/v1.11/form_197.png                         |  Bin 0 -> 274 bytes
 docs/v1.11/form_198.png                         |  Bin 0 -> 840 bytes
 docs/v1.11/form_199.png                         |  Bin 0 -> 597 bytes
 docs/v1.11/form_2.png                           |  Bin 0 -> 284 bytes
 docs/v1.11/form_20.png                          |  Bin 0 -> 202 bytes
 docs/v1.11/form_200.png                         |  Bin 0 -> 317 bytes
 docs/v1.11/form_201.png                         |  Bin 0 -> 296 bytes
 docs/v1.11/form_202.png                         |  Bin 0 -> 269 bytes
 docs/v1.11/form_203.png                         |  Bin 0 -> 655 bytes
 docs/v1.11/form_204.png                         |  Bin 0 -> 452 bytes
 docs/v1.11/form_205.png                         |  Bin 0 -> 219 bytes
 docs/v1.11/form_206.png                         |  Bin 0 -> 242 bytes
 docs/v1.11/form_207.png                         |  Bin 0 -> 224 bytes
 docs/v1.11/form_208.png                         |  Bin 0 -> 292 bytes
 docs/v1.11/form_209.png                         |  Bin 0 -> 297 bytes
 docs/v1.11/form_21.png                          |  Bin 0 -> 718 bytes
 docs/v1.11/form_210.png                         |  Bin 0 -> 441 bytes
 docs/v1.11/form_211.png                         |  Bin 0 -> 330 bytes
 docs/v1.11/form_212.png                         |  Bin 0 -> 355 bytes
 docs/v1.11/form_213.png                         |  Bin 0 -> 315 bytes
 docs/v1.11/form_214.png                         |  Bin 0 -> 316 bytes
 docs/v1.11/form_215.png                         |  Bin 0 -> 388 bytes
 docs/v1.11/form_216.png                         |  Bin 0 -> 328 bytes
 docs/v1.11/form_217.png                         |  Bin 0 -> 345 bytes
 docs/v1.11/form_218.png                         |  Bin 0 -> 311 bytes
 docs/v1.11/form_219.png                         |  Bin 0 -> 211 bytes
 docs/v1.11/form_22.png                          |  Bin 0 -> 525 bytes
 docs/v1.11/form_220.png                         |  Bin 0 -> 226 bytes
 docs/v1.11/form_221.png                         |  Bin 0 -> 230 bytes
 docs/v1.11/form_222.png                         |  Bin 0 -> 214 bytes
 docs/v1.11/form_223.png                         |  Bin 0 -> 230 bytes
 docs/v1.11/form_224.png                         |  Bin 0 -> 242 bytes
 docs/v1.11/form_225.png                         |  Bin 0 -> 440 bytes
 docs/v1.11/form_226.png                         |  Bin 0 -> 217 bytes
 docs/v1.11/form_227.png                         |  Bin 0 -> 453 bytes
 docs/v1.11/form_228.png                         |  Bin 0 -> 224 bytes
 docs/v1.11/form_229.png                         |  Bin 0 -> 521 bytes
 docs/v1.11/form_23.png                          |  Bin 0 -> 1533 bytes
 docs/v1.11/form_230.png                         |  Bin 0 -> 224 bytes
 docs/v1.11/form_231.png                         |  Bin 0 -> 224 bytes
 docs/v1.11/form_232.png                         |  Bin 0 -> 250 bytes
 docs/v1.11/form_233.png                         |  Bin 0 -> 647 bytes
 docs/v1.11/form_234.png                         |  Bin 0 -> 214 bytes
 docs/v1.11/form_235.png                         |  Bin 0 -> 234 bytes
 docs/v1.11/form_236.png                         |  Bin 0 -> 495 bytes
 docs/v1.11/form_237.png                         |  Bin 0 -> 200 bytes
 docs/v1.11/form_238.png                         |  Bin 0 -> 371 bytes
 docs/v1.11/form_239.png                         |  Bin 0 -> 247 bytes
 docs/v1.11/form_24.png                          |  Bin 0 -> 233 bytes
 docs/v1.11/form_240.png                         |  Bin 0 -> 218 bytes
 docs/v1.11/form_241.png                         |  Bin 0 -> 522 bytes
 docs/v1.11/form_242.png                         |  Bin 0 -> 355 bytes
 docs/v1.11/form_243.png                         |  Bin 0 -> 391 bytes
 docs/v1.11/form_244.png                         |  Bin 0 -> 711 bytes
 docs/v1.11/form_245.png                         |  Bin 0 -> 335 bytes
 docs/v1.11/form_246.png                         |  Bin 0 -> 674 bytes
 docs/v1.11/form_247.png                         |  Bin 0 -> 337 bytes
 docs/v1.11/form_248.png                         |  Bin 0 -> 222 bytes
 docs/v1.11/form_249.png                         |  Bin 0 -> 222 bytes
 docs/v1.11/form_25.png                          |  Bin 0 -> 252 bytes
 docs/v1.11/form_250.png                         |  Bin 0 -> 246 bytes
 docs/v1.11/form_251.png                         |  Bin 0 -> 322 bytes
 docs/v1.11/form_252.png                         |  Bin 0 -> 601 bytes
 docs/v1.11/form_253.png                         |  Bin 0 -> 255 bytes
 docs/v1.11/form_254.png                         |  Bin 0 -> 398 bytes
 docs/v1.11/form_255.png                         |  Bin 0 -> 217 bytes
 docs/v1.11/form_256.png                         |  Bin 0 -> 250 bytes
 docs/v1.11/form_257.png                         |  Bin 0 -> 242 bytes
 docs/v1.11/form_258.png                         |  Bin 0 -> 247 bytes
 docs/v1.11/form_259.png                         |  Bin 0 -> 392 bytes
 docs/v1.11/form_26.png                          |  Bin 0 -> 202 bytes
 docs/v1.11/form_260.png                         |  Bin 0 -> 239 bytes
 docs/v1.11/form_261.png                         |  Bin 0 -> 375 bytes
 docs/v1.11/form_262.png                         |  Bin 0 -> 304 bytes
 docs/v1.11/form_263.png                         |  Bin 0 -> 212 bytes
 docs/v1.11/form_264.png                         |  Bin 0 -> 345 bytes
 docs/v1.11/form_265.png                         |  Bin 0 -> 279 bytes
 docs/v1.11/form_266.png                         |  Bin 0 -> 299 bytes
 docs/v1.11/form_267.png                         |  Bin 0 -> 464 bytes
 docs/v1.11/form_268.png                         |  Bin 0 -> 331 bytes
 docs/v1.11/form_269.png                         |  Bin 0 -> 482 bytes
 docs/v1.11/form_27.png                          |  Bin 0 -> 2064 bytes
 docs/v1.11/form_270.png                         |  Bin 0 -> 482 bytes
 docs/v1.11/form_271.png                         |  Bin 0 -> 228 bytes
 docs/v1.11/form_272.png                         |  Bin 0 -> 283 bytes
 docs/v1.11/form_273.png                         |  Bin 0 -> 207 bytes
 docs/v1.11/form_274.png                         |  Bin 0 -> 274 bytes
 docs/v1.11/form_275.png                         |  Bin 0 -> 207 bytes
 docs/v1.11/form_276.png                         |  Bin 0 -> 288 bytes
 docs/v1.11/form_277.png                         |  Bin 0 -> 280 bytes
 docs/v1.11/form_278.png                         |  Bin 0 -> 211 bytes
 docs/v1.11/form_279.png                         |  Bin 0 -> 292 bytes
 docs/v1.11/form_28.png                          |  Bin 0 -> 1215 bytes
 docs/v1.11/form_280.png                         |  Bin 0 -> 217 bytes
 docs/v1.11/form_281.png                         |  Bin 0 -> 226 bytes
 docs/v1.11/form_282.png                         |  Bin 0 -> 290 bytes
 docs/v1.11/form_283.png                         |  Bin 0 -> 287 bytes
 docs/v1.11/form_284.png                         |  Bin 0 -> 467 bytes
 docs/v1.11/form_285.png                         |  Bin 0 -> 470 bytes
 docs/v1.11/form_286.png                         |  Bin 0 -> 311 bytes
 docs/v1.11/form_287.png                         |  Bin 0 -> 317 bytes
 docs/v1.11/form_288.png                         |  Bin 0 -> 218 bytes
 docs/v1.11/form_289.png                         |  Bin 0 -> 286 bytes
 docs/v1.11/form_29.png                          |  Bin 0 -> 1785 bytes
 docs/v1.11/form_290.png                         |  Bin 0 -> 268 bytes
 docs/v1.11/form_291.png                         |  Bin 0 -> 271 bytes
 docs/v1.11/form_292.png                         |  Bin 0 -> 202 bytes
 docs/v1.11/form_293.png                         |  Bin 0 -> 225 bytes
 docs/v1.11/form_294.png                         |  Bin 0 -> 269 bytes
 docs/v1.11/form_295.png                         |  Bin 0 -> 258 bytes
 docs/v1.11/form_296.png                         |  Bin 0 -> 389 bytes
 docs/v1.11/form_297.png                         |  Bin 0 -> 269 bytes
 docs/v1.11/form_298.png                         |  Bin 0 -> 296 bytes
 docs/v1.11/form_299.png                         |  Bin 0 -> 333 bytes
 docs/v1.11/form_3.png                           |  Bin 0 -> 219 bytes
 docs/v1.11/form_30.png                          |  Bin 0 -> 525 bytes
 docs/v1.11/form_300.png                         |  Bin 0 -> 344 bytes
 docs/v1.11/form_301.png                         |  Bin 0 -> 210 bytes
 docs/v1.11/form_302.png                         |  Bin 0 -> 290 bytes
 docs/v1.11/form_303.png                         |  Bin 0 -> 337 bytes
 docs/v1.11/form_304.png                         |  Bin 0 -> 273 bytes
 docs/v1.11/form_305.png                         |  Bin 0 -> 218 bytes
 docs/v1.11/form_306.png                         |  Bin 0 -> 235 bytes
 docs/v1.11/form_307.png                         |  Bin 0 -> 211 bytes
 docs/v1.11/form_308.png                         |  Bin 0 -> 278 bytes
 docs/v1.11/form_309.png                         |  Bin 0 -> 280 bytes
 docs/v1.11/form_31.png                          |  Bin 0 -> 896 bytes
 docs/v1.11/form_310.png                         |  Bin 0 -> 278 bytes
 docs/v1.11/form_311.png                         |  Bin 0 -> 290 bytes
 docs/v1.11/form_312.png                         |  Bin 0 -> 211 bytes
 docs/v1.11/form_313.png                         |  Bin 0 -> 278 bytes
 docs/v1.11/form_314.png                         |  Bin 0 -> 225 bytes
 docs/v1.11/form_315.png                         |  Bin 0 -> 718 bytes
 docs/v1.11/form_316.png                         |  Bin 0 -> 2543 bytes
 docs/v1.11/form_317.png                         |  Bin 0 -> 218 bytes
 docs/v1.11/form_318.png                         |  Bin 0 -> 824 bytes
 docs/v1.11/form_319.png                         |  Bin 0 -> 497 bytes
 docs/v1.11/form_32.png                          |  Bin 0 -> 400 bytes
 docs/v1.11/form_320.png                         |  Bin 0 -> 225 bytes
 docs/v1.11/form_321.png                         |  Bin 0 -> 973 bytes
 docs/v1.11/form_322.png                         |  Bin 0 -> 269 bytes
 docs/v1.11/form_323.png                         |  Bin 0 -> 922 bytes
 docs/v1.11/form_324.png                         |  Bin 0 -> 216 bytes
 docs/v1.11/form_325.png                         |  Bin 0 -> 283 bytes
 docs/v1.11/form_326.png                         |  Bin 0 -> 505 bytes
 docs/v1.11/form_327.png                         |  Bin 0 -> 1410 bytes
 docs/v1.11/form_328.png                         |  Bin 0 -> 338 bytes
 docs/v1.11/form_329.png                         |  Bin 0 -> 260 bytes
 docs/v1.11/form_33.png                          |  Bin 0 -> 203 bytes
 docs/v1.11/form_330.png                         |  Bin 0 -> 246 bytes
 docs/v1.11/form_331.png                         |  Bin 0 -> 647 bytes
 docs/v1.11/form_332.png                         |  Bin 0 -> 288 bytes
 docs/v1.11/form_333.png                         |  Bin 0 -> 1234 bytes
 docs/v1.11/form_334.png                         |  Bin 0 -> 570 bytes
 docs/v1.11/form_335.png                         |  Bin 0 -> 277 bytes
 docs/v1.11/form_336.png                         |  Bin 0 -> 283 bytes
 docs/v1.11/form_337.png                         |  Bin 0 -> 254 bytes
 docs/v1.11/form_338.png                         |  Bin 0 -> 1802 bytes
 docs/v1.11/form_339.png                         |  Bin 0 -> 485 bytes
 docs/v1.11/form_34.png                          |  Bin 0 -> 209 bytes
 docs/v1.11/form_340.png                         |  Bin 0 -> 566 bytes
 docs/v1.11/form_341.png                         |  Bin 0 -> 546 bytes
 docs/v1.11/form_342.png                         |  Bin 0 -> 517 bytes
 docs/v1.11/form_343.png                         |  Bin 0 -> 801 bytes
 docs/v1.11/form_344.png                         |  Bin 0 -> 245 bytes
 docs/v1.11/form_345.png                         |  Bin 0 -> 973 bytes
 docs/v1.11/form_346.png                         |  Bin 0 -> 644 bytes
 docs/v1.11/form_347.png                         |  Bin 0 -> 219 bytes
 docs/v1.11/form_348.png                         |  Bin 0 -> 664 bytes
 docs/v1.11/form_349.png                         |  Bin 0 -> 242 bytes
 docs/v1.11/form_35.png                          |  Bin 0 -> 257 bytes
 docs/v1.11/form_350.png                         |  Bin 0 -> 484 bytes
 docs/v1.11/form_351.png                         |  Bin 0 -> 201 bytes
 docs/v1.11/form_352.png                         |  Bin 0 -> 222 bytes
 docs/v1.11/form_353.png                         |  Bin 0 -> 308 bytes
 docs/v1.11/form_354.png                         |  Bin 0 -> 388 bytes
 docs/v1.11/form_355.png                         |  Bin 0 -> 429 bytes
 docs/v1.11/form_356.png                         |  Bin 0 -> 899 bytes
 docs/v1.11/form_357.png                         |  Bin 0 -> 1235 bytes
 docs/v1.11/form_358.png                         |  Bin 0 -> 210 bytes
 docs/v1.11/form_359.png                         |  Bin 0 -> 658 bytes
 docs/v1.11/form_36.png                          |  Bin 0 -> 1073 bytes
 docs/v1.11/form_360.png                         |  Bin 0 -> 348 bytes
 docs/v1.11/form_361.png                         |  Bin 0 -> 382 bytes
 docs/v1.11/form_362.png                         |  Bin 0 -> 350 bytes
 docs/v1.11/form_363.png                         |  Bin 0 -> 307 bytes
 docs/v1.11/form_364.png                         |  Bin 0 -> 663 bytes
 docs/v1.11/form_365.png                         |  Bin 0 -> 410 bytes
 docs/v1.11/form_366.png                         |  Bin 0 -> 277 bytes
 docs/v1.11/form_367.png                         |  Bin 0 -> 249 bytes
 docs/v1.11/form_368.png                         |  Bin 0 -> 392 bytes
 docs/v1.11/form_369.png                         |  Bin 0 -> 477 bytes
 docs/v1.11/form_37.png                          |  Bin 0 -> 259 bytes
 docs/v1.11/form_370.png                         |  Bin 0 -> 228 bytes
 docs/v1.11/form_371.png                         |  Bin 0 -> 1895 bytes
 docs/v1.11/form_372.png                         |  Bin 0 -> 1880 bytes
 docs/v1.11/form_373.png                         |  Bin 0 -> 702 bytes
 docs/v1.11/form_374.png                         |  Bin 0 -> 313 bytes
 docs/v1.11/form_375.png                         |  Bin 0 -> 337 bytes
 docs/v1.11/form_376.png                         |  Bin 0 -> 313 bytes
 docs/v1.11/form_377.png                         |  Bin 0 -> 1112 bytes
 docs/v1.11/form_378.png                         |  Bin 0 -> 1149 bytes
 docs/v1.11/form_379.png                         |  Bin 0 -> 337 bytes
 docs/v1.11/form_38.png                          |  Bin 0 -> 285 bytes
 docs/v1.11/form_380.png                         |  Bin 0 -> 238 bytes
 docs/v1.11/form_381.png                         |  Bin 0 -> 288 bytes
 docs/v1.11/form_382.png                         |  Bin 0 -> 217 bytes
 docs/v1.11/form_383.png                         |  Bin 0 -> 227 bytes
 docs/v1.11/form_384.png                         |  Bin 0 -> 294 bytes
 docs/v1.11/form_385.png                         |  Bin 0 -> 236 bytes
 docs/v1.11/form_386.png                         |  Bin 0 -> 322 bytes
 docs/v1.11/form_387.png                         |  Bin 0 -> 338 bytes
 docs/v1.11/form_388.png                         |  Bin 0 -> 323 bytes
 docs/v1.11/form_389.png                         |  Bin 0 -> 218 bytes
 docs/v1.11/form_39.png                          |  Bin 0 -> 242 bytes
 docs/v1.11/form_390.png                         |  Bin 0 -> 1186 bytes
 docs/v1.11/form_391.png                         |  Bin 0 -> 1109 bytes
 docs/v1.11/form_392.png                         |  Bin 0 -> 1533 bytes
 docs/v1.11/form_393.png                         |  Bin 0 -> 630 bytes
 docs/v1.11/form_394.png                         |  Bin 0 -> 313 bytes
 docs/v1.11/form_395.png                         |  Bin 0 -> 412 bytes
 docs/v1.11/form_396.png                         |  Bin 0 -> 310 bytes
 docs/v1.11/form_397.png                         |  Bin 0 -> 248 bytes
 docs/v1.11/form_398.png                         |  Bin 0 -> 240 bytes
 docs/v1.11/form_399.png                         |  Bin 0 -> 200 bytes
 docs/v1.11/form_4.png                           |  Bin 0 -> 219 bytes
 docs/v1.11/form_40.png                          |  Bin 0 -> 261 bytes
 docs/v1.11/form_400.png                         |  Bin 0 -> 324 bytes
 docs/v1.11/form_401.png                         |  Bin 0 -> 298 bytes
 docs/v1.11/form_402.png                         |  Bin 0 -> 230 bytes
 docs/v1.11/form_403.png                         |  Bin 0 -> 626 bytes
 docs/v1.11/form_404.png                         |  Bin 0 -> 389 bytes
 docs/v1.11/form_405.png                         |  Bin 0 -> 374 bytes
 docs/v1.11/form_406.png                         |  Bin 0 -> 214 bytes
 docs/v1.11/form_407.png                         |  Bin 0 -> 230 bytes
 docs/v1.11/form_408.png                         |  Bin 0 -> 428 bytes
 docs/v1.11/form_409.png                         |  Bin 0 -> 318 bytes
 docs/v1.11/form_41.png                          |  Bin 0 -> 325 bytes
 docs/v1.11/form_410.png                         |  Bin 0 -> 520 bytes
 docs/v1.11/form_411.png                         |  Bin 0 -> 530 bytes
 docs/v1.11/form_412.png                         |  Bin 0 -> 575 bytes
 docs/v1.11/form_413.png                         |  Bin 0 -> 239 bytes
 docs/v1.11/form_414.png                         |  Bin 0 -> 321 bytes
 docs/v1.11/form_415.png                         |  Bin 0 -> 663 bytes
 docs/v1.11/form_416.png                         |  Bin 0 -> 632 bytes
 docs/v1.11/form_417.png                         |  Bin 0 -> 318 bytes
 docs/v1.11/form_418.png                         |  Bin 0 -> 440 bytes
 docs/v1.11/form_419.png                         |  Bin 0 -> 423 bytes
 docs/v1.11/form_42.png                          |  Bin 0 -> 220 bytes
 docs/v1.11/form_420.png                         |  Bin 0 -> 267 bytes
 docs/v1.11/form_421.png                         |  Bin 0 -> 365 bytes
 docs/v1.11/form_422.png                         |  Bin 0 -> 713 bytes
 docs/v1.11/form_423.png                         |  Bin 0 -> 1212 bytes
 docs/v1.11/form_424.png                         |  Bin 0 -> 422 bytes
 docs/v1.11/form_425.png                         |  Bin 0 -> 712 bytes
 docs/v1.11/form_426.png                         |  Bin 0 -> 732 bytes
 docs/v1.11/form_427.png                         |  Bin 0 -> 769 bytes
 docs/v1.11/form_428.png                         |  Bin 0 -> 702 bytes
 docs/v1.11/form_429.png                         |  Bin 0 -> 685 bytes
 docs/v1.11/form_43.png                          |  Bin 0 -> 209 bytes
 docs/v1.11/form_430.png                         |  Bin 0 -> 437 bytes
 docs/v1.11/form_431.png                         |  Bin 0 -> 268 bytes
 docs/v1.11/form_432.png                         |  Bin 0 -> 787 bytes
 docs/v1.11/form_433.png                         |  Bin 0 -> 1446 bytes
 docs/v1.11/form_434.png                         |  Bin 0 -> 328 bytes
 docs/v1.11/form_435.png                         |  Bin 0 -> 316 bytes
 docs/v1.11/form_436.png                         |  Bin 0 -> 658 bytes
 docs/v1.11/form_437.png                         |  Bin 0 -> 632 bytes
 docs/v1.11/form_438.png                         |  Bin 0 -> 421 bytes
 docs/v1.11/form_439.png                         |  Bin 0 -> 413 bytes
 docs/v1.11/form_44.png                          |  Bin 0 -> 218 bytes
 docs/v1.11/form_440.png                         |  Bin 0 -> 447 bytes
 docs/v1.11/form_441.png                         |  Bin 0 -> 331 bytes
 docs/v1.11/form_442.png                         |  Bin 0 -> 585 bytes
 docs/v1.11/form_443.png                         |  Bin 0 -> 597 bytes
 docs/v1.11/form_444.png                         |  Bin 0 -> 512 bytes
 docs/v1.11/form_445.png                         |  Bin 0 -> 640 bytes
 docs/v1.11/form_446.png                         |  Bin 0 -> 326 bytes
 docs/v1.11/form_447.png                         |  Bin 0 -> 482 bytes
 docs/v1.11/form_448.png                         |  Bin 0 -> 458 bytes
 docs/v1.11/form_449.png                         |  Bin 0 -> 401 bytes
 docs/v1.11/form_45.png                          |  Bin 0 -> 326 bytes
 docs/v1.11/form_450.png                         |  Bin 0 -> 227 bytes
 docs/v1.11/form_451.png                         |  Bin 0 -> 255 bytes
 docs/v1.11/form_452.png                         |  Bin 0 -> 484 bytes
 docs/v1.11/form_453.png                         |  Bin 0 -> 324 bytes
 docs/v1.11/form_454.png                         |  Bin 0 -> 429 bytes
 docs/v1.11/form_455.png                         |  Bin 0 -> 832 bytes
 docs/v1.11/form_456.png                         |  Bin 0 -> 600 bytes
 docs/v1.11/form_457.png                         |  Bin 0 -> 435 bytes
 docs/v1.11/form_458.png                         |  Bin 0 -> 434 bytes
 docs/v1.11/form_459.png                         |  Bin 0 -> 372 bytes
 docs/v1.11/form_46.png                          |  Bin 0 -> 229 bytes
 docs/v1.11/form_460.png                         |  Bin 0 -> 357 bytes
 docs/v1.11/form_461.png                         |  Bin 0 -> 338 bytes
 docs/v1.11/form_462.png                         |  Bin 0 -> 432 bytes
 docs/v1.11/form_463.png                         |  Bin 0 -> 815 bytes
 docs/v1.11/form_464.png                         |  Bin 0 -> 701 bytes
 docs/v1.11/form_465.png                         |  Bin 0 -> 256 bytes
 docs/v1.11/form_466.png                         |  Bin 0 -> 637 bytes
 docs/v1.11/form_467.png                         |  Bin 0 -> 454 bytes
 docs/v1.11/form_468.png                         |  Bin 0 -> 215 bytes
 docs/v1.11/form_469.png                         |  Bin 0 -> 615 bytes
 docs/v1.11/form_47.png                          |  Bin 0 -> 452 bytes
 docs/v1.11/form_470.png                         |  Bin 0 -> 1029 bytes
 docs/v1.11/form_471.png                         |  Bin 0 -> 715 bytes
 docs/v1.11/form_472.png                         |  Bin 0 -> 208 bytes
 docs/v1.11/form_473.png                         |  Bin 0 -> 512 bytes
 docs/v1.11/form_474.png                         |  Bin 0 -> 1022 bytes
 docs/v1.11/form_475.png                         |  Bin 0 -> 1474 bytes
 docs/v1.11/form_476.png                         |  Bin 0 -> 275 bytes
 docs/v1.11/form_477.png                         |  Bin 0 -> 492 bytes
 docs/v1.11/form_478.png                         |  Bin 0 -> 525 bytes
 docs/v1.11/form_479.png                         |  Bin 0 -> 367 bytes
 docs/v1.11/form_48.png                          |  Bin 0 -> 546 bytes
 docs/v1.11/form_480.png                         |  Bin 0 -> 220 bytes
 docs/v1.11/form_481.png                         |  Bin 0 -> 221 bytes
 docs/v1.11/form_482.png                         |  Bin 0 -> 251 bytes
 docs/v1.11/form_483.png                         |  Bin 0 -> 666 bytes
 docs/v1.11/form_484.png                         |  Bin 0 -> 500 bytes
 docs/v1.11/form_485.png                         |  Bin 0 -> 496 bytes
 docs/v1.11/form_486.png                         |  Bin 0 -> 1016 bytes
 docs/v1.11/form_487.png                         |  Bin 0 -> 495 bytes
 docs/v1.11/form_488.png                         |  Bin 0 -> 235 bytes
 docs/v1.11/form_489.png                         |  Bin 0 -> 228 bytes
 docs/v1.11/form_49.png                          |  Bin 0 -> 239 bytes
 docs/v1.11/form_490.png                         |  Bin 0 -> 1278 bytes
 docs/v1.11/form_491.png                         |  Bin 0 -> 243 bytes
 docs/v1.11/form_492.png                         |  Bin 0 -> 529 bytes
 docs/v1.11/form_493.png                         |  Bin 0 -> 555 bytes
 docs/v1.11/form_494.png                         |  Bin 0 -> 639 bytes
 docs/v1.11/form_495.png                         |  Bin 0 -> 564 bytes
 docs/v1.11/form_496.png                         |  Bin 0 -> 337 bytes
 docs/v1.11/form_497.png                         |  Bin 0 -> 431 bytes
 docs/v1.11/form_498.png                         |  Bin 0 -> 258 bytes
 docs/v1.11/form_499.png                         |  Bin 0 -> 448 bytes
 docs/v1.11/form_5.png                           |  Bin 0 -> 394 bytes
 docs/v1.11/form_50.png                          |  Bin 0 -> 278 bytes
 docs/v1.11/form_500.png                         |  Bin 0 -> 233 bytes
 docs/v1.11/form_501.png                         |  Bin 0 -> 246 bytes
 docs/v1.11/form_502.png                         |  Bin 0 -> 734 bytes
 docs/v1.11/form_503.png                         |  Bin 0 -> 726 bytes
 docs/v1.11/form_504.png                         |  Bin 0 -> 324 bytes
 docs/v1.11/form_505.png                         |  Bin 0 -> 338 bytes
 docs/v1.11/form_506.png                         |  Bin 0 -> 439 bytes
 docs/v1.11/form_507.png                         |  Bin 0 -> 437 bytes
 docs/v1.11/form_508.png                         |  Bin 0 -> 448 bytes
 docs/v1.11/form_509.png                         |  Bin 0 -> 493 bytes
 docs/v1.11/form_51.png                          |  Bin 0 -> 224 bytes
 docs/v1.11/form_510.png                         |  Bin 0 -> 236 bytes
 docs/v1.11/form_511.png                         |  Bin 0 -> 235 bytes
 docs/v1.11/form_512.png                         |  Bin 0 -> 243 bytes
 docs/v1.11/form_513.png                         |  Bin 0 -> 239 bytes
 docs/v1.11/form_514.png                         |  Bin 0 -> 553 bytes
 docs/v1.11/form_515.png                         |  Bin 0 -> 544 bytes
 docs/v1.11/form_516.png                         |  Bin 0 -> 539 bytes
 docs/v1.11/form_517.png                         |  Bin 0 -> 549 bytes
 docs/v1.11/form_518.png                         |  Bin 0 -> 553 bytes
 docs/v1.11/form_519.png                         |  Bin 0 -> 408 bytes
 docs/v1.11/form_52.png                          |  Bin 0 -> 274 bytes
 docs/v1.11/form_520.png                         |  Bin 0 -> 590 bytes
 docs/v1.11/form_521.png                         |  Bin 0 -> 872 bytes
 docs/v1.11/form_522.png                         |  Bin 0 -> 710 bytes
 docs/v1.11/form_523.png                         |  Bin 0 -> 207 bytes
 docs/v1.11/form_524.png                         |  Bin 0 -> 530 bytes
 docs/v1.11/form_525.png                         |  Bin 0 -> 213 bytes
 docs/v1.11/form_526.png                         |  Bin 0 -> 459 bytes
 docs/v1.11/form_527.png                         |  Bin 0 -> 200 bytes
 docs/v1.11/form_528.png                         |  Bin 0 -> 199 bytes
 docs/v1.11/form_529.png                         |  Bin 0 -> 1298 bytes
 docs/v1.11/form_53.png                          |  Bin 0 -> 219 bytes
 docs/v1.11/form_530.png                         |  Bin 0 -> 536 bytes
 docs/v1.11/form_531.png                         |  Bin 0 -> 440 bytes
 docs/v1.11/form_532.png                         |  Bin 0 -> 818 bytes
 docs/v1.11/form_533.png                         |  Bin 0 -> 875 bytes
 docs/v1.11/form_534.png                         |  Bin 0 -> 586 bytes
 docs/v1.11/form_535.png                         |  Bin 0 -> 731 bytes
 docs/v1.11/form_536.png                         |  Bin 0 -> 202 bytes
 docs/v1.11/form_537.png                         |  Bin 0 -> 192 bytes
 docs/v1.11/form_538.png                         |  Bin 0 -> 241 bytes
 docs/v1.11/form_539.png                         |  Bin 0 -> 213 bytes
 docs/v1.11/form_54.png                          |  Bin 0 -> 265 bytes
 docs/v1.11/form_540.png                         |  Bin 0 -> 331 bytes
 docs/v1.11/form_541.png                         |  Bin 0 -> 327 bytes
 docs/v1.11/form_542.png                         |  Bin 0 -> 238 bytes
 docs/v1.11/form_543.png                         |  Bin 0 -> 625 bytes
 docs/v1.11/form_544.png                         |  Bin 0 -> 283 bytes
 docs/v1.11/form_545.png                         |  Bin 0 -> 240 bytes
 docs/v1.11/form_546.png                         |  Bin 0 -> 728 bytes
 docs/v1.11/form_547.png                         |  Bin 0 -> 776 bytes
 docs/v1.11/form_548.png                         |  Bin 0 -> 370 bytes
 docs/v1.11/form_55.png                          |  Bin 0 -> 556 bytes
 docs/v1.11/form_56.png                          |  Bin 0 -> 909 bytes
 docs/v1.11/form_57.png                          |  Bin 0 -> 1275 bytes
 docs/v1.11/form_58.png                          |  Bin 0 -> 888 bytes
 docs/v1.11/form_59.png                          |  Bin 0 -> 214 bytes
 docs/v1.11/form_6.png                           |  Bin 0 -> 804 bytes
 docs/v1.11/form_60.png                          |  Bin 0 -> 483 bytes
 docs/v1.11/form_61.png                          |  Bin 0 -> 235 bytes
 docs/v1.11/form_62.png                          |  Bin 0 -> 262 bytes
 docs/v1.11/form_63.png                          |  Bin 0 -> 226 bytes
 docs/v1.11/form_64.png                          |  Bin 0 -> 248 bytes
 docs/v1.11/form_65.png                          |  Bin 0 -> 345 bytes
 docs/v1.11/form_66.png                          |  Bin 0 -> 1184 bytes
 docs/v1.11/form_67.png                          |  Bin 0 -> 603 bytes
 docs/v1.11/form_68.png                          |  Bin 0 -> 1775 bytes
 docs/v1.11/form_69.png                          |  Bin 0 -> 1260 bytes
 docs/v1.11/form_7.png                           |  Bin 0 -> 936 bytes
 docs/v1.11/form_70.png                          |  Bin 0 -> 607 bytes
 docs/v1.11/form_71.png                          |  Bin 0 -> 2028 bytes
 docs/v1.11/form_72.png                          |  Bin 0 -> 484 bytes
 docs/v1.11/form_73.png                          |  Bin 0 -> 227 bytes
 docs/v1.11/form_74.png                          |  Bin 0 -> 245 bytes
 docs/v1.11/form_75.png                          |  Bin 0 -> 902 bytes
 docs/v1.11/form_76.png                          |  Bin 0 -> 1037 bytes
 docs/v1.11/form_77.png                          |  Bin 0 -> 1580 bytes
 docs/v1.11/form_78.png                          |  Bin 0 -> 1395 bytes
 docs/v1.11/form_79.png                          |  Bin 0 -> 206 bytes
 docs/v1.11/form_8.png                           |  Bin 0 -> 235 bytes
 docs/v1.11/form_80.png                          |  Bin 0 -> 287 bytes
 docs/v1.11/form_81.png                          |  Bin 0 -> 238 bytes
 docs/v1.11/form_82.png                          |  Bin 0 -> 1358 bytes
 docs/v1.11/form_83.png                          |  Bin 0 -> 213 bytes
 docs/v1.11/form_84.png                          |  Bin 0 -> 346 bytes
 docs/v1.11/form_85.png                          |  Bin 0 -> 442 bytes
 docs/v1.11/form_86.png                          |  Bin 0 -> 390 bytes
 docs/v1.11/form_87.png                          |  Bin 0 -> 251 bytes
 docs/v1.11/form_88.png                          |  Bin 0 -> 1332 bytes
 docs/v1.11/form_89.png                          |  Bin 0 -> 1914 bytes
 docs/v1.11/form_9.png                           |  Bin 0 -> 291 bytes
 docs/v1.11/form_90.png                          |  Bin 0 -> 364 bytes
 docs/v1.11/form_91.png                          |  Bin 0 -> 417 bytes
 docs/v1.11/form_92.png                          |  Bin 0 -> 338 bytes
 docs/v1.11/form_93.png                          |  Bin 0 -> 310 bytes
 docs/v1.11/form_94.png                          |  Bin 0 -> 499 bytes
 docs/v1.11/form_95.png                          |  Bin 0 -> 601 bytes
 docs/v1.11/form_96.png                          |  Bin 0 -> 533 bytes
 docs/v1.11/form_97.png                          |  Bin 0 -> 478 bytes
 docs/v1.11/form_98.png                          |  Bin 0 -> 215 bytes
 docs/v1.11/form_99.png                          |  Bin 0 -> 400 bytes
 docs/v1.11/formula.repository                   |  549 ++
 docs/v1.11/glm_8sql__in.html                    | 1913 ++++++
 docs/v1.11/graph_legend.html                    |  148 +
 docs/v1.11/graph_legend.md5                     |    1 +
 docs/v1.11/graph_legend.svg                     |  121 +
 docs/v1.11/group__grp__arima.html               |  414 ++
 docs/v1.11/group__grp__array.html               |  352 +
 docs/v1.11/group__grp__arraysmatrix.html        |  169 +
 docs/v1.11/group__grp__arraysmatrix.js          |    8 +
 docs/v1.11/group__grp__assoc__rules.html        |  362 +
 docs/v1.11/group__grp__association__rules.html  |  133 +
 docs/v1.11/group__grp__association__rules.js    |    4 +
 docs/v1.11/group__grp__bayes.html               |  482 ++
 docs/v1.11/group__grp__cg.html                  |  179 +
 docs/v1.11/group__grp__clustered__errors.html   |  399 ++
 docs/v1.11/group__grp__clustering.html          |  133 +
 docs/v1.11/group__grp__clustering.js            |    4 +
 docs/v1.11/group__grp__correlation.html         |  261 +
 docs/v1.11/group__grp__countmin.html            |  258 +
 docs/v1.11/group__grp__cox__prop__hazards.html  |  469 ++
 docs/v1.11/group__grp__crf.html                 |  619 ++
 docs/v1.11/group__grp__datatrans.html           |  145 +
 docs/v1.11/group__grp__datatrans.js             |    8 +
 docs/v1.11/group__grp__decision__tree.html      |  728 ++
 .../group__grp__dense__linear__solver.html      |  256 +
 docs/v1.11/group__grp__deprecated.html          |  135 +
 docs/v1.11/group__grp__deprecated.js            |    5 +
 docs/v1.11/group__grp__desc__stats.html         |  136 +
 docs/v1.11/group__grp__desc__stats.js           |    5 +
 docs/v1.11/group__grp__early__stage.html        |  143 +
 docs/v1.11/group__grp__early__stage.js          |    8 +
 docs/v1.11/group__grp__elasticnet.html          |  749 +++
 docs/v1.11/group__grp__encode__categorical.html |  604 ++
 docs/v1.11/group__grp__fmsketch.html            |  161 +
 docs/v1.11/group__grp__glm.html                 |  572 ++
 docs/v1.11/group__grp__graph.html               |  136 +
 docs/v1.11/group__grp__graph.js                 |    5 +
 docs/v1.11/group__grp__indicator.html           |  244 +
 docs/v1.11/group__grp__inf__stats.html          |  133 +
 docs/v1.11/group__grp__inf__stats.js            |    4 +
 docs/v1.11/group__grp__kmeans.html              |  479 ++
 docs/v1.11/group__grp__knn.html                 |  291 +
 docs/v1.11/group__grp__lda.html                 |  462 ++
 docs/v1.11/group__grp__linalg.html              |  301 +
 docs/v1.11/group__grp__linear__solver.html      |  136 +
 docs/v1.11/group__grp__linear__solver.js        |    5 +
 docs/v1.11/group__grp__linreg.html              |  381 ++
 docs/v1.11/group__grp__lmf.html                 |  271 +
 docs/v1.11/group__grp__logreg.html              |  418 ++
 docs/v1.11/group__grp__marginal.html            |  427 ++
 docs/v1.11/group__grp__matrix.html              |  881 +++
 .../group__grp__matrix__factorization.html      |  135 +
 docs/v1.11/group__grp__matrix__factorization.js |    5 +
 docs/v1.11/group__grp__mdl.html                 |  136 +
 docs/v1.11/group__grp__mdl.js                   |    5 +
 docs/v1.11/group__grp__mfvsketch.html           |  170 +
 docs/v1.11/group__grp__mlogreg.html             |  410 ++
 docs/v1.11/group__grp__multinom.html            |  481 ++
 docs/v1.11/group__grp__nene.html                |  133 +
 docs/v1.11/group__grp__nene.js                  |    4 +
 docs/v1.11/group__grp__ordinal.html             |  464 ++
 docs/v1.11/group__grp__pagerank.html            |  329 +
 docs/v1.11/group__grp__path.html                |  473 ++
 docs/v1.11/group__grp__pca.html                 |  136 +
 docs/v1.11/group__grp__pca.js                   |    5 +
 docs/v1.11/group__grp__pca__project.html        |  493 ++
 docs/v1.11/group__grp__pca__train.html          |  450 ++
 docs/v1.11/group__grp__pivot.html               |  653 ++
 docs/v1.11/group__grp__pmml.html                |  326 +
 docs/v1.11/group__grp__pred.html                |  359 +
 docs/v1.11/group__grp__prob.html                |  158 +
 docs/v1.11/group__grp__random__forest.html      |  754 +++
 docs/v1.11/group__grp__regml.html               |  160 +
 docs/v1.11/group__grp__regml.js                 |   13 +
 docs/v1.11/group__grp__robust.html              |  434 ++
 docs/v1.11/group__grp__sample.html              |  144 +
 docs/v1.11/group__grp__sessionize.html          |  268 +
 docs/v1.11/group__grp__sketches.html            |  154 +
 docs/v1.11/group__grp__sketches.js              |    6 +
 .../group__grp__sparse__linear__solver.html     |  348 +
 docs/v1.11/group__grp__sssp.html                |  357 +
 docs/v1.11/group__grp__stats.html               |  137 +
 docs/v1.11/group__grp__stats.js                 |    6 +
 docs/v1.11/group__grp__stats__tests.html        |  535 ++
 docs/v1.11/group__grp__stemmer.html             |  234 +
 docs/v1.11/group__grp__summary.html             |  308 +
 docs/v1.11/group__grp__super.html               |  140 +
 docs/v1.11/group__grp__super.js                 |    7 +
 docs/v1.11/group__grp__svd.html                 |  411 ++
 docs/v1.11/group__grp__svec.html                |  442 ++
 docs/v1.11/group__grp__svm.html                 |  645 ++
 docs/v1.11/group__grp__text__analysis.html      |  133 +
 docs/v1.11/group__grp__text__analysis.js        |    4 +
 docs/v1.11/group__grp__text__utilities.html     |  309 +
 docs/v1.11/group__grp__topic__modelling.html    |  133 +
 docs/v1.11/group__grp__topic__modelling.js      |    4 +
 docs/v1.11/group__grp__tree.html                |  136 +
 docs/v1.11/group__grp__tree.js                  |    5 +
 docs/v1.11/group__grp__tsa.html                 |  133 +
 docs/v1.11/group__grp__tsa.js                   |    4 +
 docs/v1.11/group__grp__unsupervised.html        |  136 +
 docs/v1.11/group__grp__unsupervised.js          |    6 +
 docs/v1.11/group__grp__utilities.html           |  167 +
 docs/v1.11/group__grp__utility__functions.html  |  145 +
 docs/v1.11/group__grp__utility__functions.js    |    9 +
 docs/v1.11/group__grp__validation.html          |  260 +
 docs/v1.11/hypothesis__tests_8sql__in.html      | 1249 ++++
 docs/v1.11/index.html                           |  139 +
 docs/v1.11/jquery.js                            |   87 +
 docs/v1.11/kmeans_8sql__in.html                 |  287 +
 docs/v1.11/knn_8sql__in.html                    |  387 ++
 docs/v1.11/lda_8sql__in.html                    | 1371 ++++
 docs/v1.11/linalg_8sql__in.html                 | 1329 ++++
 docs/v1.11/linear_8sql__in.html                 |  699 ++
 docs/v1.11/lmf_8sql__in.html                    |  879 +++
 docs/v1.11/logistic_8sql__in.html               | 1277 ++++
 docs/v1.11/madlib.png                           |  Bin 0 -> 2209 bytes
 docs/v1.11/madlib_extra.css                     |  156 +
 docs/v1.11/mainpage_8dox.html                   |  123 +
 docs/v1.11/marginal_8sql__in.html               | 2706 ++++++++
 docs/v1.11/matrix__ops_8sql__in.html            | 6325 ++++++++++++++++++
 docs/v1.11/modules.html                         |  203 +
 docs/v1.11/modules.js                           |   13 +
 docs/v1.11/multilogistic_8sql__in.html          | 1101 +++
 docs/v1.11/multiresponseglm_8sql__in.html       |  234 +
 docs/v1.11/nav_f.png                            |  Bin 0 -> 153 bytes
 docs/v1.11/nav_g.png                            |  Bin 0 -> 95 bytes
 docs/v1.11/nav_h.png                            |  Bin 0 -> 98 bytes
 docs/v1.11/navtree.css                          |  146 +
 docs/v1.11/navtree.js                           |  517 ++
 docs/v1.11/navtreedata.js                       |   14 +
 docs/v1.11/navtreeindex0.js                     |   83 +
 docs/v1.11/open.png                             |  Bin 0 -> 123 bytes
 docs/v1.11/ordinal_8sql__in.html                |  234 +
 docs/v1.11/pagerank_8sql__in.html               |  469 ++
 docs/v1.11/path_8sql__in.html                   |  471 ++
 docs/v1.11/pca_8sql__in.html                    | 1845 +++++
 docs/v1.11/pca__project_8sql__in.html           |  717 ++
 docs/v1.11/pivot_8sql__in.html                  |  686 ++
 docs/v1.11/pivotalr__arrayops_8sql__in.html     |  276 +
 docs/v1.11/porter__stemmer_8sql__in.html        |  232 +
 docs/v1.11/pred__metrics_8sql__in.html          | 1376 ++++
 docs/v1.11/prob_8sql__in.html                   | 4115 ++++++++++++
 docs/v1.11/random__forest_8sql__in.html         | 1962 ++++++
 docs/v1.11/resize.js                            |  114 +
 docs/v1.11/robust_8sql__in.html                 | 1762 +++++
 .../v1.11/robust__variance__coxph_8sql__in.html |  497 ++
 docs/v1.11/sample_8sql__in.html                 |  436 ++
 docs/v1.11/search/all_0.html                    |   26 +
 docs/v1.11/search/all_0.js                      |  317 +
 docs/v1.11/search/all_1.html                    |   26 +
 docs/v1.11/search/all_1.js                      |   66 +
 docs/v1.11/search/all_10.html                   |   26 +
 docs/v1.11/search/all_10.js                     |   34 +
 docs/v1.11/search/all_11.html                   |   26 +
 docs/v1.11/search/all_11.js                     |  119 +
 docs/v1.11/search/all_12.html                   |   26 +
 docs/v1.11/search/all_12.js                     |   28 +
 docs/v1.11/search/all_13.html                   |   26 +
 docs/v1.11/search/all_13.js                     |   12 +
 docs/v1.11/search/all_14.html                   |   26 +
 docs/v1.11/search/all_14.js                     |   11 +
 docs/v1.11/search/all_15.html                   |   26 +
 docs/v1.11/search/all_15.js                     |   15 +
 docs/v1.11/search/all_16.html                   |   26 +
 docs/v1.11/search/all_16.js                     |    4 +
 docs/v1.11/search/all_2.html                    |   26 +
 docs/v1.11/search/all_2.js                      |   20 +
 docs/v1.11/search/all_3.html                    |   26 +
 docs/v1.11/search/all_3.js                      |   98 +
 docs/v1.11/search/all_4.html                    |   26 +
 docs/v1.11/search/all_4.js                      |   32 +
 docs/v1.11/search/all_5.html                    |   26 +
 docs/v1.11/search/all_5.js                      |   20 +
 docs/v1.11/search/all_6.html                    |   26 +
 docs/v1.11/search/all_6.js                      |   27 +
 docs/v1.11/search/all_7.html                    |   26 +
 docs/v1.11/search/all_7.js                      |   25 +
 docs/v1.11/search/all_8.html                    |   26 +
 docs/v1.11/search/all_8.js                      |   12 +
 docs/v1.11/search/all_9.html                    |   26 +
 docs/v1.11/search/all_9.js                      |   20 +
 docs/v1.11/search/all_a.html                    |   26 +
 docs/v1.11/search/all_a.js                      |   11 +
 docs/v1.11/search/all_b.html                    |   26 +
 docs/v1.11/search/all_b.js                      |   58 +
 docs/v1.11/search/all_c.html                    |   26 +
 docs/v1.11/search/all_c.js                      |   89 +
 docs/v1.11/search/all_d.html                    |   26 +
 docs/v1.11/search/all_d.js                      |   31 +
 docs/v1.11/search/all_e.html                    |   26 +
 docs/v1.11/search/all_e.js                      |    9 +
 docs/v1.11/search/all_f.html                    |   26 +
 docs/v1.11/search/all_f.js                      |   37 +
 docs/v1.11/search/close.png                     |  Bin 0 -> 273 bytes
 docs/v1.11/search/files_0.html                  |   26 +
 docs/v1.11/search/files_0.js                    |    6 +
 docs/v1.11/search/files_1.html                  |   26 +
 docs/v1.11/search/files_1.js                    |    4 +
 docs/v1.11/search/files_10.html                 |   26 +
 docs/v1.11/search/files_10.js                   |    4 +
 docs/v1.11/search/files_2.html                  |   26 +
 docs/v1.11/search/files_2.js                    |   13 +
 docs/v1.11/search/files_3.html                  |   26 +
 docs/v1.11/search/files_3.js                    |    6 +
 docs/v1.11/search/files_4.html                  |   26 +
 docs/v1.11/search/files_4.js                    |    5 +
 docs/v1.11/search/files_5.html                  |   26 +
 docs/v1.11/search/files_5.js                    |    4 +
 docs/v1.11/search/files_6.html                  |   26 +
 docs/v1.11/search/files_6.js                    |    4 +
 docs/v1.11/search/files_7.html                  |   26 +
 docs/v1.11/search/files_7.js                    |    5 +
 docs/v1.11/search/files_8.html                  |   26 +
 docs/v1.11/search/files_8.js                    |    8 +
 docs/v1.11/search/files_9.html                  |   26 +
 docs/v1.11/search/files_9.js                    |    8 +
 docs/v1.11/search/files_a.html                  |   26 +
 docs/v1.11/search/files_a.js                    |    4 +
 docs/v1.11/search/files_b.html                  |   26 +
 docs/v1.11/search/files_b.js                    |   12 +
 docs/v1.11/search/files_c.html                  |   26 +
 docs/v1.11/search/files_c.js                    |    6 +
 docs/v1.11/search/files_d.html                  |   26 +
 docs/v1.11/search/files_d.js                    |   13 +
 docs/v1.11/search/files_e.html                  |   26 +
 docs/v1.11/search/files_e.js                    |    5 +
 docs/v1.11/search/files_f.html                  |   26 +
 docs/v1.11/search/files_f.js                    |    5 +
 docs/v1.11/search/functions_0.html              |   26 +
 docs/v1.11/search/functions_0.js                |  317 +
 docs/v1.11/search/functions_1.html              |   26 +
 docs/v1.11/search/functions_1.js                |   58 +
 docs/v1.11/search/functions_10.html             |   26 +
 docs/v1.11/search/functions_10.js               |   27 +
 docs/v1.11/search/functions_11.html             |   26 +
 docs/v1.11/search/functions_11.js               |   99 +
 docs/v1.11/search/functions_12.html             |   26 +
 docs/v1.11/search/functions_12.js               |   21 +
 docs/v1.11/search/functions_13.html             |   26 +
 docs/v1.11/search/functions_13.js               |    8 +
 docs/v1.11/search/functions_14.html             |   26 +
 docs/v1.11/search/functions_14.js               |   10 +
 docs/v1.11/search/functions_15.html             |   26 +
 docs/v1.11/search/functions_15.js               |   15 +
 docs/v1.11/search/functions_16.html             |   26 +
 docs/v1.11/search/functions_16.js               |    4 +
 docs/v1.11/search/functions_2.html              |   26 +
 docs/v1.11/search/functions_2.js                |   19 +
 docs/v1.11/search/functions_3.html              |   26 +
 docs/v1.11/search/functions_3.js                |   79 +
 docs/v1.11/search/functions_4.html              |   26 +
 docs/v1.11/search/functions_4.js                |   22 +
 docs/v1.11/search/functions_5.html              |   26 +
 docs/v1.11/search/functions_5.js                |   15 +
 docs/v1.11/search/functions_6.html              |   26 +
 docs/v1.11/search/functions_6.js                |   26 +
 docs/v1.11/search/functions_7.html              |   26 +
 docs/v1.11/search/functions_7.js                |   22 +
 docs/v1.11/search/functions_8.html              |   26 +
 docs/v1.11/search/functions_8.js                |   10 +
 docs/v1.11/search/functions_9.html              |   26 +
 docs/v1.11/search/functions_9.js                |   19 +
 docs/v1.11/search/functions_a.html              |   26 +
 docs/v1.11/search/functions_a.js                |    7 +
 docs/v1.11/search/functions_b.html              |   26 +
 docs/v1.11/search/functions_b.js                |   48 +
 docs/v1.11/search/functions_c.html              |   26 +
 docs/v1.11/search/functions_c.js                |   77 +
 docs/v1.11/search/functions_d.html              |   26 +
 docs/v1.11/search/functions_d.js                |   28 +
 docs/v1.11/search/functions_e.html              |   26 +
 docs/v1.11/search/functions_e.js                |    7 +
 docs/v1.11/search/functions_f.html              |   26 +
 docs/v1.11/search/functions_f.js                |   19 +
 docs/v1.11/search/groups_0.html                 |   26 +
 docs/v1.11/search/groups_0.js                   |    8 +
 docs/v1.11/search/groups_1.html                 |   26 +
 docs/v1.11/search/groups_1.js                   |   12 +
 docs/v1.11/search/groups_10.html                |   26 +
 docs/v1.11/search/groups_10.js                  |    8 +
 docs/v1.11/search/groups_11.html                |   26 +
 docs/v1.11/search/groups_11.js                  |    5 +
 docs/v1.11/search/groups_2.html                 |   26 +
 docs/v1.11/search/groups_2.js                   |   10 +
 docs/v1.11/search/groups_3.html                 |   26 +
 docs/v1.11/search/groups_3.js                   |    6 +
 docs/v1.11/search/groups_4.html                 |   26 +
 docs/v1.11/search/groups_4.js                   |    4 +
 docs/v1.11/search/groups_5.html                 |   26 +
 docs/v1.11/search/groups_5.js                   |    5 +
 docs/v1.11/search/groups_6.html                 |   26 +
 docs/v1.11/search/groups_6.js                   |    4 +
 docs/v1.11/search/groups_7.html                 |   26 +
 docs/v1.11/search/groups_7.js                   |    4 +
 docs/v1.11/search/groups_8.html                 |   26 +
 docs/v1.11/search/groups_8.js                   |    5 +
 docs/v1.11/search/groups_9.html                 |   26 +
 docs/v1.11/search/groups_9.js                   |    8 +
 docs/v1.11/search/groups_a.html                 |   26 +
 docs/v1.11/search/groups_a.js                   |   10 +
 docs/v1.11/search/groups_b.html                 |   26 +
 docs/v1.11/search/groups_b.js                   |    6 +
 docs/v1.11/search/groups_c.html                 |   26 +
 docs/v1.11/search/groups_c.js                   |    4 +
 docs/v1.11/search/groups_d.html                 |   26 +
 docs/v1.11/search/groups_d.js                   |   12 +
 docs/v1.11/search/groups_e.html                 |   26 +
 docs/v1.11/search/groups_e.js                   |    7 +
 docs/v1.11/search/groups_f.html                 |   26 +
 docs/v1.11/search/groups_f.js                   |   13 +
 docs/v1.11/search/mag_sel.png                   |  Bin 0 -> 563 bytes
 docs/v1.11/search/nomatches.html                |   12 +
 docs/v1.11/search/search.css                    |  273 +
 docs/v1.11/search/search.js                     |  791 +++
 docs/v1.11/search/search_l.png                  |  Bin 0 -> 604 bytes
 docs/v1.11/search/search_m.png                  |  Bin 0 -> 158 bytes
 docs/v1.11/search/search_r.png                  |  Bin 0 -> 612 bytes
 docs/v1.11/search/searchdata.js                 |   24 +
 docs/v1.11/sessionize_8sql__in.html             |  339 +
 docs/v1.11/sketch_8sql__in.html                 |  978 +++
 .../v1.11/sparse__linear__systems_8sql__in.html |  985 +++
 docs/v1.11/splitbar.png                         |  Bin 0 -> 314 bytes
 docs/v1.11/sssp_8sql__in.html                   |  319 +
 docs/v1.11/summary_8sql__in.html                |  582 ++
 docs/v1.11/svd_8sql__in.html                    | 1679 +++++
 docs/v1.11/svec_8sql__in.html                   | 1734 +++++
 docs/v1.11/svec__util_8sql__in.html             | 1359 ++++
 docs/v1.11/svm_8sql__in.html                    | 1610 +++++
 docs/v1.11/sync_off.png                         |  Bin 0 -> 853 bytes
 docs/v1.11/sync_on.png                          |  Bin 0 -> 845 bytes
 docs/v1.11/tab_a.png                            |  Bin 0 -> 142 bytes
 docs/v1.11/tab_b.png                            |  Bin 0 -> 169 bytes
 docs/v1.11/tab_h.png                            |  Bin 0 -> 177 bytes
 docs/v1.11/tab_s.png                            |  Bin 0 -> 184 bytes
 docs/v1.11/table__to__pmml_8sql__in.html        |  256 +
 docs/v1.11/tabs.css                             |    1 +
 docs/v1.11/text__utilities_8sql__in.html        |  227 +
 docs/v1.11/utilities_8sql__in.html              |  711 ++
 docs/v1.11/utils__regularization_8sql__in.html  |  302 +
 docs/v1.11/viterbi_8sql__in.html                |  292 +
 965 files changed, 105185 insertions(+)
----------------------------------------------------------------------



[45/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/cox__prop__hazards_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/cox__prop__hazards_8sql__in.html b/docs/v1.11/cox__prop__hazards_8sql__in.html
new file mode 100644
index 0000000..37b1b0a
--- /dev/null
+++ b/docs/v1.11/cox__prop__hazards_8sql__in.html
@@ -0,0 +1,2137 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: cox_prop_hazards.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('cox__prop__hazards_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">cox_prop_hazards.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for cox proportional hazards.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a0ffc559f8f54d7ea49c8d1a865ef5a37"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a0ffc559f8f54d7ea49c8d1a865ef5a37">array_avg_transition</a> (float8[] state, float8[] x, boolean use_abs)</td></tr>
+<tr class="separator:a0ffc559f8f54d7ea49c8d1a865ef5a37"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45bd6774621ad8fe0baa9427f7ce8fd4"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a45bd6774621ad8fe0baa9427f7ce8fd4">array_avg_merge</a> (float8[] left, float8[] right)</td></tr>
+<tr class="separator:a45bd6774621ad8fe0baa9427f7ce8fd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f5594f3a1199bfd91d7479292e25b5c"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a1f5594f3a1199bfd91d7479292e25b5c">array_avg_final</a> (float8[] state)</td></tr>
+<tr class="separator:a1f5594f3a1199bfd91d7479292e25b5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5734f5796a403ebf2e765cba136f54c8"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a5734f5796a403ebf2e765cba136f54c8">array_avg</a> (float8[], boolean)</td></tr>
+<tr class="separator:a5734f5796a403ebf2e765cba136f54c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a737450bbfe0f10204b0074a9d45b0cef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a737450bbfe0f10204b0074a9d45b0cef">coxph_train</a> (varchar source_table, varchar output_table, varchar dependent_varname, varchar independent_varname, varchar right_censoring_status, varchar strata, varchar optimizer_params)</td></tr>
+<tr class="memdesc:a737450bbfe0f10204b0074a9d45b0cef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute cox-regression coefficients and diagnostic statistics.  <a href="#a737450bbfe0f10204b0074a9d45b0cef">More...</a><br /></td></tr>
+<tr class="separator:a737450bbfe0f10204b0074a9d45b0cef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae7edb9499e07fdf835c3bbc297a99c01"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#ae7edb9499e07fdf835c3bbc297a99c01">coxph_train</a> ()</td></tr>
+<tr class="separator:ae7edb9499e07fdf835c3bbc297a99c01"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f527631dc32178716221cc9dfa1fde4"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a6f527631dc32178716221cc9dfa1fde4">coxph_train</a> (varchar message)</td></tr>
+<tr class="separator:a6f527631dc32178716221cc9dfa1fde4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3fd1cd09fd5de41d6dc8aca0a18eec8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a3fd1cd09fd5de41d6dc8aca0a18eec8b">coxph_train</a> (varchar source_table, varchar output_table, varchar dependent_variable, varchar independent_variable, varchar right_censoring_status, varchar strata)</td></tr>
+<tr class="memdesc:a3fd1cd09fd5de41d6dc8aca0a18eec8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cox regression training function.  <a href="#a3fd1cd09fd5de41d6dc8aca0a18eec8b">More...</a><br /></td></tr>
+<tr class="separator:a3fd1cd09fd5de41d6dc8aca0a18eec8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd5fb08d419aab4a8b8eb103afa30f29"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#afd5fb08d419aab4a8b8eb103afa30f29">coxph_train</a> (varchar source_table, varchar output_table, varchar dependent_variable, varchar independent_variable, varchar right_censoring_status)</td></tr>
+<tr class="memdesc:afd5fb08d419aab4a8b8eb103afa30f29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cox regression training function.  <a href="#afd5fb08d419aab4a8b8eb103afa30f29">More...</a><br /></td></tr>
+<tr class="separator:afd5fb08d419aab4a8b8eb103afa30f29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76aeb28f6e0fc47fd59c0d6c6c7be063"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a76aeb28f6e0fc47fd59c0d6c6c7be063">coxph_train</a> (varchar source_table, varchar output_table, varchar dependent_variable, varchar independent_variable)</td></tr>
+<tr class="memdesc:a76aeb28f6e0fc47fd59c0d6c6c7be063"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cox regression training function.  <a href="#a76aeb28f6e0fc47fd59c0d6c6c7be063">More...</a><br /></td></tr>
+<tr class="separator:a76aeb28f6e0fc47fd59c0d6c6c7be063"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0ad613a529ee147565a605d6f443a4bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a0ad613a529ee147565a605d6f443a4bd">coxph_predict</a> (text model_table, text source_table, text id_col_name, text output_table, text pred_type, text reference)</td></tr>
+<tr class="memdesc:a0ad613a529ee147565a605d6f443a4bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Predict the linear Predictor or the risk for the given data.  <a href="#a0ad613a529ee147565a605d6f443a4bd">More...</a><br /></td></tr>
+<tr class="separator:a0ad613a529ee147565a605d6f443a4bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a815961d52fb8ce998071eb92056ee1dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a815961d52fb8ce998071eb92056ee1dd">coxph_predict</a> (text model_table, text source_table, text id_col_name, text output_table, text pred_type)</td></tr>
+<tr class="separator:a815961d52fb8ce998071eb92056ee1dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acd445fe632e93b2c8260b0455478e2e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#acd445fe632e93b2c8260b0455478e2e5">coxph_predict</a> (text model_table, text source_table, text id_col_name, text output_table)</td></tr>
+<tr class="separator:acd445fe632e93b2c8260b0455478e2e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1d53d501174ed20ace7108db2ca8863d"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a1d53d501174ed20ace7108db2ca8863d">_coxph_predict_resp</a> (float8[] coef, float8[] col_ind_var, float8[] mean_ind_var, text pred_type)</td></tr>
+<tr class="separator:a1d53d501174ed20ace7108db2ca8863d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a063f714c9a2c0f618007f0274febb266"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a063f714c9a2c0f618007f0274febb266">_coxph_predict_terms</a> (float8[] coef, float8[] col_ind_var, float8[] mean_ind_var)</td></tr>
+<tr class="separator:a063f714c9a2c0f618007f0274febb266"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9edc6c578176561159b2ecde7415a751"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a9edc6c578176561159b2ecde7415a751">coxph_predict</a> (varchar message)</td></tr>
+<tr class="separator:a9edc6c578176561159b2ecde7415a751"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f1a4a5844c5b2629bcba051e75eee70"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a3f1a4a5844c5b2629bcba051e75eee70">coxph_predict</a> ()</td></tr>
+<tr class="separator:a3f1a4a5844c5b2629bcba051e75eee70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a842f88fb0d1f17d5410ac30fb1445deb"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a842f88fb0d1f17d5410ac30fb1445deb">_split_transition</a> (float8[], float8, integer, integer)</td></tr>
+<tr class="separator:a842f88fb0d1f17d5410ac30fb1445deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e641566026ce44f191e722db6d4f4d3"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a2e641566026ce44f191e722db6d4f4d3">_split_merge</a> (float8[], float8[])</td></tr>
+<tr class="separator:a2e641566026ce44f191e722db6d4f4d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5ba4af69415de3372e5a9d9f97a96af"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#ac5ba4af69415de3372e5a9d9f97a96af">_split_final</a> (float8[])</td></tr>
+<tr class="separator:ac5ba4af69415de3372e5a9d9f97a96af"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a138656eb9696e48be0c5a90ee2de5a44"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a138656eb9696e48be0c5a90ee2de5a44">_compute_splits</a> (float8, integer, integer)</td></tr>
+<tr class="separator:a138656eb9696e48be0c5a90ee2de5a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a85be1c85fcf03e9b1bc25798e6fa9914"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a85be1c85fcf03e9b1bc25798e6fa9914">_compute_grpid</a> (float8[] splits, float8 split_col, boolean reverse)</td></tr>
+<tr class="separator:a85be1c85fcf03e9b1bc25798e6fa9914"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae94792f3fb4a0697e11db4334f643164"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#ae94792f3fb4a0697e11db4334f643164">_compute_grpid</a> (float8[] splits, float8 split_col)</td></tr>
+<tr class="separator:ae94792f3fb4a0697e11db4334f643164"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74fe60f99c3808e38421c71286850ea8"><td class="memItemLeft" align="right" valign="top">coxph_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a74fe60f99c3808e38421c71286850ea8">compute_coxph_result</a> (float8[] coef, float8 l, float8[] d2l, integer niter, float8[] stds)</td></tr>
+<tr class="separator:a74fe60f99c3808e38421c71286850ea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5ae827993064fd6e0ccf13a96262cdc"><td class="memItemLeft" align="right" valign="top">coxph_step_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#ac5ae827993064fd6e0ccf13a96262cdc">coxph_improved_step_final</a> (float8[] state)</td></tr>
+<tr class="separator:ac5ae827993064fd6e0ccf13a96262cdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a9ae1ea761b31e1522c47a9794cc233"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a6a9ae1ea761b31e1522c47a9794cc233">coxph_improved_step_transition</a> (float8[] state, float8[] x, float8[] y, integer[] status, float8[] coef, float8[] max_coef)</td></tr>
+<tr class="separator:a6a9ae1ea761b31e1522c47a9794cc233"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c96655e41fd17c86dfc9ad37b0959d0"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a3c96655e41fd17c86dfc9ad37b0959d0">coxph_step_inner_final</a> (float8[] state)</td></tr>
+<tr class="separator:a3c96655e41fd17c86dfc9ad37b0959d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abaf93fc77a284f0b765a64ef827c1bed"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#abaf93fc77a284f0b765a64ef827c1bed">coxph_step_outer_transition</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:abaf93fc77a284f0b765a64ef827c1bed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a415076894d3844475208b2163a267"><td class="memItemLeft" align="right" valign="top">coxph_step_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a41a415076894d3844475208b2163a267">coxph_improved_strata_step_final</a> (float8[] state)</td></tr>
+<tr class="separator:a41a415076894d3844475208b2163a267"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb21bacbff7362724d2698568d857555"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#abb21bacbff7362724d2698568d857555">coxph_improved_strata_step_outer</a> (float8[] state)</td></tr>
+<tr class="separator:abb21bacbff7362724d2698568d857555"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a682d95d5475ce33e47937067cadc2766"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a682d95d5475ce33e47937067cadc2766">cox_zph</a> (varchar coxph_model_table, varchar output_table)</td></tr>
+<tr class="memdesc:a682d95d5475ce33e47937067cadc2766"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test the proportional hazards assumption for a Cox regression model fit (coxph_train)  <a href="#a682d95d5475ce33e47937067cadc2766">More...</a><br /></td></tr>
+<tr class="separator:a682d95d5475ce33e47937067cadc2766"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad77f665f0030202444e99f5a0b895d3"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#aad77f665f0030202444e99f5a0b895d3">cox_zph</a> ()</td></tr>
+<tr class="separator:aad77f665f0030202444e99f5a0b895d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3aee9274235a9a44511e8cc57f15bcb"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#af3aee9274235a9a44511e8cc57f15bcb">cox_zph</a> (varchar message)</td></tr>
+<tr class="separator:af3aee9274235a9a44511e8cc57f15bcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb83dc1e36c379287e4dfdf14a350647"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#abb83dc1e36c379287e4dfdf14a350647">__zph_transition</a> (float8[] state, float8[] x, float8[] coef)</td></tr>
+<tr class="separator:abb83dc1e36c379287e4dfdf14a350647"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afe87ae70e07135bc657b6c9db58a2820"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#afe87ae70e07135bc657b6c9db58a2820">__zph_merge</a> (float8[] left_state, float8[] right_state)</td></tr>
+<tr class="separator:afe87ae70e07135bc657b6c9db58a2820"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4025de22406c470e32e35376d0f54a4"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#ac4025de22406c470e32e35376d0f54a4">__zph_final</a> (float8[] left_state)</td></tr>
+<tr class="separator:ac4025de22406c470e32e35376d0f54a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91e1a4b2a2d13454f9e65dd3d40a329b"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a91e1a4b2a2d13454f9e65dd3d40a329b">zph_agg</a> (float8[] x, float8[] coef)</td></tr>
+<tr class="separator:a91e1a4b2a2d13454f9e65dd3d40a329b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97191f842120124d56329b8b20ed837c"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a97191f842120124d56329b8b20ed837c">__coxph_scale_resid</a> (integer m, float8[] hessian, float8[] resid)</td></tr>
+<tr class="separator:a97191f842120124d56329b8b20ed837c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a597e43a46842b113412d0940b3d175e4"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a597e43a46842b113412d0940b3d175e4">__array_elem_corr_transition</a> (float8[] state, float8[] x, float8 y)</td></tr>
+<tr class="separator:a597e43a46842b113412d0940b3d175e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a189426c7d99c600856205d15d2fe445c"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a189426c7d99c600856205d15d2fe445c">__array_elem_corr_merge</a> (float8[] left_state, float8[] right_state)</td></tr>
+<tr class="separator:a189426c7d99c600856205d15d2fe445c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a31f48cba79d114f8f251c5aa77b3c32a"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a31f48cba79d114f8f251c5aa77b3c32a">__array_elem_corr_final</a> (float8[] state)</td></tr>
+<tr class="separator:a31f48cba79d114f8f251c5aa77b3c32a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8928da50ddcf85de812ab058214324db"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a8928da50ddcf85de812ab058214324db">array_elem_corr_agg</a> (float8[] array_input, float8 common_elem)</td></tr>
+<tr class="separator:a8928da50ddcf85de812ab058214324db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab3b596b440d3850d742ebab0245dbf61"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#ab3b596b440d3850d742ebab0245dbf61">__coxph_resid_stat_transition</a> (float8[] state, float8 w, float8[] residual, float8[] hessian, integer m)</td></tr>
+<tr class="separator:ab3b596b440d3850d742ebab0245dbf61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a51da9d74afff6f4ec5a34bbdbec5c868"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a51da9d74afff6f4ec5a34bbdbec5c868">__coxph_resid_stat_merge</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a51da9d74afff6f4ec5a34bbdbec5c868"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3e6c330ccd548a25c3ef0153f0c956e4"><td class="memItemLeft" align="right" valign="top">__cox_resid_stat_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a3e6c330ccd548a25c3ef0153f0c956e4">__coxph_resid_stat_final</a> (float8[] state)</td></tr>
+<tr class="separator:a3e6c330ccd548a25c3ef0153f0c956e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a41a4e85912f00b5b73207f837dccc359"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a41a4e85912f00b5b73207f837dccc359">__coxph_resid_stat_agg</a> (float8 w, float8[] residual, float8[] hessian, integer m)</td></tr>
+<tr class="separator:a41a4e85912f00b5b73207f837dccc359"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad778b289eb19ae0bb2b7e02a89bab3bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#ad778b289eb19ae0bb2b7e02a89bab3bc">cox_prop_hazards</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, varchar status)</td></tr>
+<tr class="memdesc:ad778b289eb19ae0bb2b7e02a89bab3bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cox regression training function.  <a href="#ad778b289eb19ae0bb2b7e02a89bab3bc">More...</a><br /></td></tr>
+<tr class="separator:ad778b289eb19ae0bb2b7e02a89bab3bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5e52f9a98bce4ec74230eb95c95e68c4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a5e52f9a98bce4ec74230eb95c95e68c4">cox_prop_hazards</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable)</td></tr>
+<tr class="memdesc:a5e52f9a98bce4ec74230eb95c95e68c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cox regression training function.  <a href="#a5e52f9a98bce4ec74230eb95c95e68c4">More...</a><br /></td></tr>
+<tr class="separator:a5e52f9a98bce4ec74230eb95c95e68c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a03909f1c14894303fca80ea8503ae7f0"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a03909f1c14894303fca80ea8503ae7f0">cox_prop_hazards</a> (varchar usage_string)</td></tr>
+<tr class="separator:a03909f1c14894303fca80ea8503ae7f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af92ac384ab346034dc42a4049613a47a"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#af92ac384ab346034dc42a4049613a47a">cox_prop_hazards</a> ()</td></tr>
+<tr class="separator:af92ac384ab346034dc42a4049613a47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3310cf98478b7c1e400e8fb1b3965d30"><td class="memItemLeft" align="right" valign="top">cox_prop_hazards_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a3310cf98478b7c1e400e8fb1b3965d30">cox_prop_hazards_regr</a> (varchar source, varchar indepColumn, varchar depColumn, varchar status, integer maxNumIterations=20, varchar optimizer=&quot;newton&quot;, float8 precision=0.0001)</td></tr>
+<tr class="separator:a3310cf98478b7c1e400e8fb1b3965d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79ca0bbf1a3a5c1f83ede9596d4b43cc"><td class="memItemLeft" align="right" valign="top">cox_prop_hazards_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a79ca0bbf1a3a5c1f83ede9596d4b43cc">cox_prop_hazards_regr</a> (varchar source, varchar indepColumn, varchar depColumn, varchar status)</td></tr>
+<tr class="separator:a79ca0bbf1a3a5c1f83ede9596d4b43cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a217c18984301c16b39a6deffa8c677df"><td class="memItemLeft" align="right" valign="top">cox_prop_hazards_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a217c18984301c16b39a6deffa8c677df">cox_prop_hazards_regr</a> (varchar source, varchar indepColumn, varchar depColumn, varchar status, integer maxNumIterations)</td></tr>
+<tr class="separator:a217c18984301c16b39a6deffa8c677df"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6508b2b2b8e0b6a0d0027c3d8b487df8"><td class="memItemLeft" align="right" valign="top">cox_prop_hazards_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a6508b2b2b8e0b6a0d0027c3d8b487df8">cox_prop_hazards_regr</a> (varchar source, varchar indepColumn, varchar depColumn, varchar status, integer maxNumIterations, varchar optimizer)</td></tr>
+<tr class="separator:a6508b2b2b8e0b6a0d0027c3d8b487df8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd49fa0a100bfe513baa90e32fe37839"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#abd49fa0a100bfe513baa90e32fe37839">__array_element_min</a> (float8[], float8[])</td></tr>
+<tr class="separator:abd49fa0a100bfe513baa90e32fe37839"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2ec0ea5a3faba236a75d4d9cc16e40a4"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a2ec0ea5a3faba236a75d4d9cc16e40a4">array_element_min</a> (float8[])</td></tr>
+<tr class="separator:a2ec0ea5a3faba236a75d4d9cc16e40a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8e3917098eeb129096fa871e7e593e1d"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a8e3917098eeb129096fa871e7e593e1d">__array_element_max</a> (float8[], float8[])</td></tr>
+<tr class="separator:a8e3917098eeb129096fa871e7e593e1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1de2b192c73ede707b42726e9469664d"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cox__prop__hazards_8sql__in.html#a1de2b192c73ede707b42726e9469664d">array_element_max</a> (float8[])</td></tr>
+<tr class="separator:a1de2b192c73ede707b42726e9469664d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>July 2012</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to cox regression, see the module description <a class="el" href="group__grp__cox__prop__hazards.html">Cox-Proportional Hazards Regression</a> </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a31f48cba79d114f8f251c5aa77b3c32a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a31f48cba79d114f8f251c5aa77b3c32a">&#9670;&nbsp;</a></span>__array_elem_corr_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __array_elem_corr_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a189426c7d99c600856205d15d2fe445c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a189426c7d99c600856205d15d2fe445c">&#9670;&nbsp;</a></span>__array_elem_corr_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __array_elem_corr_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>left_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>right_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a597e43a46842b113412d0940b3d175e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a597e43a46842b113412d0940b3d175e4">&#9670;&nbsp;</a></span>__array_elem_corr_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __array_elem_corr_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>y</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8e3917098eeb129096fa871e7e593e1d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8e3917098eeb129096fa871e7e593e1d">&#9670;&nbsp;</a></span>__array_element_max()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __array_element_max </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abd49fa0a100bfe513baa90e32fe37839"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd49fa0a100bfe513baa90e32fe37839">&#9670;&nbsp;</a></span>__array_element_min()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __array_element_min </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a41a4e85912f00b5b73207f837dccc359"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a4e85912f00b5b73207f837dccc359">&#9670;&nbsp;</a></span>__coxph_resid_stat_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __coxph_resid_stat_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>residual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>hessian</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>m</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3e6c330ccd548a25c3ef0153f0c956e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3e6c330ccd548a25c3ef0153f0c956e4">&#9670;&nbsp;</a></span>__coxph_resid_stat_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__cox_resid_stat_result __coxph_resid_stat_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a51da9d74afff6f4ec5a34bbdbec5c868"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a51da9d74afff6f4ec5a34bbdbec5c868">&#9670;&nbsp;</a></span>__coxph_resid_stat_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __coxph_resid_stat_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab3b596b440d3850d742ebab0245dbf61"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab3b596b440d3850d742ebab0245dbf61">&#9670;&nbsp;</a></span>__coxph_resid_stat_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __coxph_resid_stat_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>residual</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>hessian</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>m</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a97191f842120124d56329b8b20ed837c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97191f842120124d56329b8b20ed837c">&#9670;&nbsp;</a></span>__coxph_scale_resid()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __coxph_scale_resid </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>hessian</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>resid</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac4025de22406c470e32e35376d0f54a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac4025de22406c470e32e35376d0f54a4">&#9670;&nbsp;</a></span>__zph_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __zph_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>left_state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afe87ae70e07135bc657b6c9db58a2820"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afe87ae70e07135bc657b6c9db58a2820">&#9670;&nbsp;</a></span>__zph_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __zph_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>left_state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>right_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abb83dc1e36c379287e4dfdf14a350647"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abb83dc1e36c379287e4dfdf14a350647">&#9670;&nbsp;</a></span>__zph_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __zph_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a85be1c85fcf03e9b1bc25798e6fa9914"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a85be1c85fcf03e9b1bc25798e6fa9914">&#9670;&nbsp;</a></span>_compute_grpid() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer _compute_grpid </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>splits</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>split_col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>reverse</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae94792f3fb4a0697e11db4334f643164"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae94792f3fb4a0697e11db4334f643164">&#9670;&nbsp;</a></span>_compute_grpid() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer _compute_grpid </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>splits</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>split_col</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a138656eb9696e48be0c5a90ee2de5a44"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a138656eb9696e48be0c5a90ee2de5a44">&#9670;&nbsp;</a></span>_compute_splits()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] _compute_splits </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1d53d501174ed20ace7108db2ca8863d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1d53d501174ed20ace7108db2ca8863d">&#9670;&nbsp;</a></span>_coxph_predict_resp()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 _coxph_predict_resp </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>mean_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pred_type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a063f714c9a2c0f618007f0274febb266"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a063f714c9a2c0f618007f0274febb266">&#9670;&nbsp;</a></span>_coxph_predict_terms()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] _coxph_predict_terms </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>mean_ind_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac5ba4af69415de3372e5a9d9f97a96af"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5ba4af69415de3372e5a9d9f97a96af">&#9670;&nbsp;</a></span>_split_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] _split_final </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]</td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2e641566026ce44f191e722db6d4f4d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2e641566026ce44f191e722db6d4f4d3">&#9670;&nbsp;</a></span>_split_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] _split_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a842f88fb0d1f17d5410ac30fb1445deb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a842f88fb0d1f17d5410ac30fb1445deb">&#9670;&nbsp;</a></span>_split_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] _split_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5734f5796a403ebf2e765cba136f54c8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5734f5796a403ebf2e765cba136f54c8">&#9670;&nbsp;</a></span>array_avg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] array_avg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1f5594f3a1199bfd91d7479292e25b5c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1f5594f3a1199bfd91d7479292e25b5c">&#9670;&nbsp;</a></span>array_avg_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] array_avg_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a45bd6774621ad8fe0baa9427f7ce8fd4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a45bd6774621ad8fe0baa9427f7ce8fd4">&#9670;&nbsp;</a></span>array_avg_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] array_avg_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>left</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>right</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0ffc559f8f54d7ea49c8d1a865ef5a37"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ffc559f8f54d7ea49c8d1a865ef5a37">&#9670;&nbsp;</a></span>array_avg_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] array_avg_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>use_abs</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8928da50ddcf85de812ab058214324db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8928da50ddcf85de812ab058214324db">&#9670;&nbsp;</a></span>array_elem_corr_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] array_elem_corr_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>array_input</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>common_elem</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1de2b192c73ede707b42726e9469664d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1de2b192c73ede707b42726e9469664d">&#9670;&nbsp;</a></span>array_element_max()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] array_element_max </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]</td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2ec0ea5a3faba236a75d4d9cc16e40a4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2ec0ea5a3faba236a75d4d9cc16e40a4">&#9670;&nbsp;</a></span>array_element_min()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] array_element_min </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]</td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a74fe60f99c3808e38421c71286850ea8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a74fe60f99c3808e38421c71286850ea8">&#9670;&nbsp;</a></span>compute_coxph_result()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">coxph_result compute_coxph_result </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>d2l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>niter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>stds</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad778b289eb19ae0bb2b7e02a89bab3bc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad778b289eb19ae0bb2b7e02a89bab3bc">&#9670;&nbsp;</a></span>cox_prop_hazards() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void cox_prop_hazards </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>status</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5e52f9a98bce4ec74230eb95c95e68c4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5e52f9a98bce4ec74230eb95c95e68c4">&#9670;&nbsp;</a></span>cox_prop_hazards() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void cox_prop_hazards </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_variable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_variable</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a03909f1c14894303fca80ea8503ae7f0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a03909f1c14894303fca80ea8503ae7f0">&#9670;&nbsp;</a></span>cox_prop_hazards() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar cox_prop_hazards </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>usage_string</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af92ac384ab346034dc42a4049613a47a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af92ac384ab346034dc42a4049613a47a">&#9670;&nbsp;</a></span>cox_prop_hazards() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar cox_prop_hazards </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3310cf98478b7c1e400e8fb1b3965d30"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3310cf98478b7c1e400e8fb1b3965d30">&#9670;&nbsp;</a></span>cox_prop_hazards_regr() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">cox_prop_hazards_result cox_prop_hazards_regr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>indepColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>depColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>status</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>maxNumIterations</em> = <code>20</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em> = <code>&quot;newton&quot;</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>precision</em> = <code>0.0001</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a79ca0bbf1a3a5c1f83ede9596d4b43cc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a79ca0bbf1a3a5c1f83ede9596d4b43cc">&#9670;&nbsp;</a></span>cox_prop_hazards_regr() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">cox_prop_hazards_result cox_prop_hazards_regr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>indepColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>depColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>status</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a217c18984301c16b39a6deffa8c677df"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a217c18984301c16b39a6deffa8c677df">&#9670;&nbsp;</a></span>cox_prop_hazards_regr() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">cox_prop_hazards_result cox_prop_hazards_regr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>indepColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>depColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>status</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>maxNumIterations</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6508b2b2b8e0b6a0d0027c3d8b487df8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6508b2b2b8e0b6a0d0027c3d8b487df8">&#9670;&nbsp;</a></span>cox_prop_hazards_regr() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">cox_prop_hazards_result cox_prop_hazards_regr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>indepColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>depColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>status</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>maxNumIterations</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a682d95d5475ce33e47937067cadc2766"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a682d95d5475ce33e47937067cadc2766">&#9670;&nbsp;</a></span>cox_zph() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void cox_zph </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>coxph_model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">coxph_model_table</td><td>Name of the table that contains the Cox Proportional Hazards model </td></tr>
+    <tr><td class="paramname">output_table</td><td>Name of the output table to contain the statistics to test the proportional hazards assumption</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>An output table with following columns: Columns of the matrix contain the correlation coefficient between transformed , a chi-square, and the two-sided p-value.<ul>
+<li><code>rho FLOAT8[]</code> - Array of correlation coefficient between survival time and the scaled Schoenfeld residuals</li>
+<li><code>chi_square FLOAT8[]</code> - Chi-square test statistic for the</li>
+<li><code>p_value FLOAT8[]</code> - Two-side p-value for the chi-square test </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="aad77f665f0030202444e99f5a0b895d3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad77f665f0030202444e99f5a0b895d3">&#9670;&nbsp;</a></span>cox_zph() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar cox_zph </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af3aee9274235a9a44511e8cc57f15bcb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af3aee9274235a9a44511e8cc57f15bcb">&#9670;&nbsp;</a></span>cox_zph() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar cox_zph </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac5ae827993064fd6e0ccf13a96262cdc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5ae827993064fd6e0ccf13a96262cdc">&#9670;&nbsp;</a></span>coxph_improved_step_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">coxph_step_result coxph_improved_step_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6a9ae1ea761b31e1522c47a9794cc233"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a9ae1ea761b31e1522c47a9794cc233">&#9670;&nbsp;</a></span>coxph_improved_step_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] coxph_improved_step_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>status</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>max_coef</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a41a415076894d3844475208b2163a267"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a41a415076894d3844475208b2163a267">&#9670;&nbsp;</a></span>coxph_improved_strata_step_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">coxph_step_result coxph_improved_strata_step_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abb21bacbff7362724d2698568d857555"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abb21bacbff7362724d2698568d857555">&#9670;&nbsp;</a></span>coxph_improved_strata_step_outer()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] coxph_improved_strata_step_outer </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0ad613a529ee147565a605d6f443a4bd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0ad613a529ee147565a605d6f443a4bd">&#9670;&nbsp;</a></span>coxph_predict() <span class="overload">[1/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void coxph_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>id_col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pred_type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>reference</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">model_table</td><td>Name of the table containing the cox model. </td></tr>
+    <tr><td class="paramname">source_table</td><td>Name of the table containing the prediction data. </td></tr>
+    <tr><td class="paramname">output_table</td><td>Name of the table to store the prediction results into. </td></tr>
+    <tr><td class="paramname">pred_type</td><td>Type of prediction. Can be one of 'linear_predictors', 'risk' or 'terms'. </td></tr>
+    <tr><td class="paramname">reference</td><td>Reference level to use for centering predictions. Can be one of 'overall' or 'strata'. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a id="a815961d52fb8ce998071eb92056ee1dd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a815961d52fb8ce998071eb92056ee1dd">&#9670;&nbsp;</a></span>coxph_predict() <span class="overload">[2/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void coxph_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>id_col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pred_type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="acd445fe632e93b2c8260b0455478e2e5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acd445fe632e93b2c8260b0455478e2e5">&#9670;&nbsp;</a></span>coxph_predict() <span class="overload">[3/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void coxph_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>id_col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9edc6c578176561159b2ecde7415a751"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9edc6c578176561159b2ecde7415a751">&#9670;&nbsp;</a></span>coxph_predict() <span class="overload">[4/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar coxph_predict </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3f1a4a5844c5b2629bcba051e75eee70"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3f1a4a5844c5b2629bcba051e75eee70">&#9670;&nbsp;</a></span>coxph_predict() <span class="overload">[5/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar coxph_predict </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3c96655e41fd17c86dfc9ad37b0959d0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c96655e41fd17c86dfc9ad37b0959d0">&#9670;&nbsp;</a></span>coxph_step_inner_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] coxph_step_inner_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abaf93fc77a284f0b765a64ef827c1bed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abaf93fc77a284f0b765a64ef827c1bed">&#9670;&nbsp;</a></span>coxph_step_outer_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] coxph_step_outer_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a737450bbfe0f10204b0074a9d45b0cef"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a737450bbfe0f10204b0074a9d45b0cef">&#9670;&nbsp;</a></span>coxph_train() <span class="overload">[1/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void coxph_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>right_censoring_status</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>strata</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer_params</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>To include an intercept in the model, set one coordinate in the <code>independentVariables</code> array to 1.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source_table</td><td>Name of the source relation containing the training data </td></tr>
+    <tr><td class="paramname">output_table</td><td>Name of the output relation to contain the coxph_train model </td></tr>
+    <tr><td class="paramname">independent_varname</td><td>Name of the independent column </td></tr>
+    <tr><td class="paramname">dependent_varname</td><td>Name of the dependent column measuring time of death </td></tr>
+    <tr><td class="paramname">right_censoring_status</td><td>Name of the column that determines right censoring support </td></tr>
+    <tr><td class="paramname">strata</td><td>Comma-separated list of column names on which to stratify the data </td></tr>
+    <tr><td class="paramname">optimizer_params</td><td>Comma-separated list of parameters for the optimizer function</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>An output table with following columns:<ul>
+<li><code>coef FLOAT8[]</code> - Array of coefficients, <img class="formulaInl" alt="$ \boldsymbol \beta $" src="form_385.png"/></li>
+<li><code>log_likelihood FLOAT8</code> - Log-likelihood <img class="formulaInl" alt="$l(\boldsymbol \beta)$" src="form_396.png"/></li>
+<li><code>std_err FLOAT8[]</code> - Array of standard errors, <img class="formulaInl" alt="$ \mathit{se}(c_1), \dots, \mathit{se}(c_k) $" src="form_350.png"/></li>
+<li><code>z_stats FLOAT8[]</code> - Array of Wald z-statistics, <img class="formulaInl" alt="$ \boldsymbol z $" src="form_358.png"/></li>
+<li><code>p_values FLOAT8[]</code> - Array of Wald p-values, <img class="formulaInl" alt="$ \boldsymbol p $" src="form_352.png"/></li>
+<li><code>hessian FLOAT8[]</code> - Hessian Matrix</li>
+<li><code>num_iterations INTEGER</code> - The number of iterations before the algorithm terminated</li>
+</ul>
+</dd></dl>
+<ul>
+<li>Get vect

<TRUNCATED>


[06/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/logistic_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/logistic_8sql__in.html b/docs/v1.11/logistic_8sql__in.html
new file mode 100644
index 0000000..f00b5df
--- /dev/null
+++ b/docs/v1.11/logistic_8sql__in.html
@@ -0,0 +1,1277 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: logistic.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('logistic_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">logistic.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for logistic regression.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a874e9c5a3ebb7efab16730f85d3e8d25"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a874e9c5a3ebb7efab16730f85d3e8d25">__logregr_cg_step_transition</a> (float8[], boolean, float8[], float8[])</td></tr>
+<tr class="separator:a874e9c5a3ebb7efab16730f85d3e8d25"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa51c257177aa60df02dcf46bac43982e"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#aa51c257177aa60df02dcf46bac43982e">__logregr_irls_step_transition</a> (float8[], boolean, float8[], float8[])</td></tr>
+<tr class="separator:aa51c257177aa60df02dcf46bac43982e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0f4010cefc479196d2d280514f92e5b0"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a0f4010cefc479196d2d280514f92e5b0">__logregr_igd_step_transition</a> (float8[], boolean, float8[], float8[])</td></tr>
+<tr class="separator:a0f4010cefc479196d2d280514f92e5b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae4f6142efcde3c7d72405f5daf218af7"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#ae4f6142efcde3c7d72405f5daf218af7">__logregr_cg_step_merge_states</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:ae4f6142efcde3c7d72405f5daf218af7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2671672fed9d07b5c8c68a63e3d99e5f"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a2671672fed9d07b5c8c68a63e3d99e5f">__logregr_irls_step_merge_states</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a2671672fed9d07b5c8c68a63e3d99e5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2b23f6e4f9671b511d675c43b42b6544"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a2b23f6e4f9671b511d675c43b42b6544">__logregr_igd_step_merge_states</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a2b23f6e4f9671b511d675c43b42b6544"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a909ec8b38aac9dd78ed7fb52e5e5910d"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a909ec8b38aac9dd78ed7fb52e5e5910d">__logregr_cg_step_final</a> (float8[] state)</td></tr>
+<tr class="separator:a909ec8b38aac9dd78ed7fb52e5e5910d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45fbe307010fcb5890828e35a398c0a6"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a45fbe307010fcb5890828e35a398c0a6">__logregr_irls_step_final</a> (float8[] state)</td></tr>
+<tr class="separator:a45fbe307010fcb5890828e35a398c0a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a44b3499c913ddcc44b0b9e18e2069fed"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a44b3499c913ddcc44b0b9e18e2069fed">__logregr_igd_step_final</a> (float8[] state)</td></tr>
+<tr class="separator:a44b3499c913ddcc44b0b9e18e2069fed"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0037d0e2891dff4ec1b4e856b9ac103c"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a0037d0e2891dff4ec1b4e856b9ac103c">__logregr_cg_step</a> (boolean y, float8[] x, float8[] previous_state)</td></tr>
+<tr class="separator:a0037d0e2891dff4ec1b4e856b9ac103c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7bdf5d39836d8b8826e38a9c15a613c0"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a7bdf5d39836d8b8826e38a9c15a613c0">__logregr_irls_step</a> (boolean y, float8[] x, float8[] previous_state)</td></tr>
+<tr class="separator:a7bdf5d39836d8b8826e38a9c15a613c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a782cd8580dac58cc0a70d534dd696801"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a782cd8580dac58cc0a70d534dd696801">__logregr_igd_step</a> (boolean y, float8[] x, float8[] previous_state)</td></tr>
+<tr class="separator:a782cd8580dac58cc0a70d534dd696801"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aabc041a54449405558d8a522f0e7d995"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#aabc041a54449405558d8a522f0e7d995">__logregr_cg_step_distance</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:aabc041a54449405558d8a522f0e7d995"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af5fcfe75b7724e0b93901e64e3f8c1b4"><td class="memItemLeft" align="right" valign="top">__logregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#af5fcfe75b7724e0b93901e64e3f8c1b4">__logregr_cg_result</a> (float8[] state)</td></tr>
+<tr class="separator:af5fcfe75b7724e0b93901e64e3f8c1b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56962d63f19d6c4672f9772f6d2b2810"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a56962d63f19d6c4672f9772f6d2b2810">__logregr_irls_step_distance</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a56962d63f19d6c4672f9772f6d2b2810"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaaf5ea72356ebae7e808b54c495bc501"><td class="memItemLeft" align="right" valign="top">__logregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#aaaf5ea72356ebae7e808b54c495bc501">__logregr_irls_result</a> (float8[] state)</td></tr>
+<tr class="separator:aaaf5ea72356ebae7e808b54c495bc501"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a993ec0ebec0084170902c0cefc489ae8"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a993ec0ebec0084170902c0cefc489ae8">__logregr_igd_step_distance</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a993ec0ebec0084170902c0cefc489ae8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab0b377e0dc63a7d79602643a6ee827c9"><td class="memItemLeft" align="right" valign="top">__logregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#ab0b377e0dc63a7d79602643a6ee827c9">__logregr_igd_result</a> (float8[] state)</td></tr>
+<tr class="separator:ab0b377e0dc63a7d79602643a6ee827c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a74210a7ef513dfcbdfdd9f3b37bfe428"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a74210a7ef513dfcbdfdd9f3b37bfe428">logregr_train</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, varchar grouping_cols, integer max_iter, varchar optimizer, float8 tolerance, boolean verbose)</td></tr>
+<tr class="memdesc:a74210a7ef513dfcbdfdd9f3b37bfe428"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute logistic-regression coefficients and diagnostic statistics.  <a href="#a74210a7ef513dfcbdfdd9f3b37bfe428">More...</a><br /></td></tr>
+<tr class="separator:a74210a7ef513dfcbdfdd9f3b37bfe428"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a58dfa3dc74518179c584ae535e331a7d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a58dfa3dc74518179c584ae535e331a7d">logregr_train</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname)</td></tr>
+<tr class="separator:a58dfa3dc74518179c584ae535e331a7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a327660873183347c9e00bdbd01983a63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a327660873183347c9e00bdbd01983a63">logregr_train</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, varchar grouping_cols)</td></tr>
+<tr class="separator:a327660873183347c9e00bdbd01983a63"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3c217840f2fbe1dcd53ba15c4111b86a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a3c217840f2fbe1dcd53ba15c4111b86a">logregr_train</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, varchar grouping_cols, integer max_iter)</td></tr>
+<tr class="separator:a3c217840f2fbe1dcd53ba15c4111b86a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa321fe6cffa263b1eb612b15e8fb9a6d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#aa321fe6cffa263b1eb612b15e8fb9a6d">logregr_train</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, varchar grouping_cols, integer max_iter, varchar optimizer)</td></tr>
+<tr class="separator:aa321fe6cffa263b1eb612b15e8fb9a6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6b5ffd41b8b00e4c4417653250a265fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a6b5ffd41b8b00e4c4417653250a265fb">logregr_train</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, varchar grouping_cols, integer max_iter, varchar optimizer, float8 tolerance)</td></tr>
+<tr class="separator:a6b5ffd41b8b00e4c4417653250a265fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3fbbdd2e6633816136d2958db9b4b6a3"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a3fbbdd2e6633816136d2958db9b4b6a3">logregr_train</a> (text message)</td></tr>
+<tr class="separator:a3fbbdd2e6633816136d2958db9b4b6a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada5fbc0833e802e7e6c1b489330ca15f"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#ada5fbc0833e802e7e6c1b489330ca15f">logregr_train</a> ()</td></tr>
+<tr class="separator:ada5fbc0833e802e7e6c1b489330ca15f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4ded9be5c8b111dbb3109efaad83d69e"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a4ded9be5c8b111dbb3109efaad83d69e">logistic</a> (float8 x)</td></tr>
+<tr class="memdesc:a4ded9be5c8b111dbb3109efaad83d69e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate the usual logistic function in an under-/overflow-safe way.  <a href="#a4ded9be5c8b111dbb3109efaad83d69e">More...</a><br /></td></tr>
+<tr class="separator:a4ded9be5c8b111dbb3109efaad83d69e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb60fcbfa7f13c4b62950b3ae5ee46b2"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#abb60fcbfa7f13c4b62950b3ae5ee46b2">logregr_predict</a> (float8[] coef, float8[] col_ind_var)</td></tr>
+<tr class="memdesc:abb60fcbfa7f13c4b62950b3ae5ee46b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Predict the boolean value of a dependent variable for a specific independent variable value in a logistic regression model.  <a href="#abb60fcbfa7f13c4b62950b3ae5ee46b2">More...</a><br /></td></tr>
+<tr class="separator:abb60fcbfa7f13c4b62950b3ae5ee46b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acc8af7a39e7b0d604c2760d9d6bd0b5e"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#acc8af7a39e7b0d604c2760d9d6bd0b5e">logregr_predict</a> (text message)</td></tr>
+<tr class="separator:acc8af7a39e7b0d604c2760d9d6bd0b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3eae2b8acd75d4c6c4db8c79489c58f"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#af3eae2b8acd75d4c6c4db8c79489c58f">logregr_predict</a> ()</td></tr>
+<tr class="separator:af3eae2b8acd75d4c6c4db8c79489c58f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acb8bcffac549a0968f6ee7c2d7f34d5e"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#acb8bcffac549a0968f6ee7c2d7f34d5e">logregr_predict_prob</a> (float8[] coef, float8[] col_ind_var)</td></tr>
+<tr class="memdesc:acb8bcffac549a0968f6ee7c2d7f34d5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the probability of the boolean dependent variable being True for a specific independent variable iin a logistic regression model.  <a href="#acb8bcffac549a0968f6ee7c2d7f34d5e">More...</a><br /></td></tr>
+<tr class="separator:acb8bcffac549a0968f6ee7c2d7f34d5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4db4a78e264cc4868c931f5b5cf8b414"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a4db4a78e264cc4868c931f5b5cf8b414">logregr_predict_prob</a> (text message)</td></tr>
+<tr class="separator:a4db4a78e264cc4868c931f5b5cf8b414"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a75dba5248d75cd6c5d2fb69f944ce479"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="logistic_8sql__in.html#a75dba5248d75cd6c5d2fb69f944ce479">logregr_predict_prob</a> ()</td></tr>
+<tr class="separator:a75dba5248d75cd6c5d2fb69f944ce479"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>January 2011</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to <a class="el" href="logistic_8sql__in.html#a4ded9be5c8b111dbb3109efaad83d69e" title="Evaluate the usual logistic function in an under-/overflow-safe way. ">logistic</a> regression, see the module description <a class="el" href="group__grp__logreg.html">Logistic Regression</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="af5fcfe75b7724e0b93901e64e3f8c1b4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af5fcfe75b7724e0b93901e64e3f8c1b4">&#9670;&nbsp;</a></span>__logregr_cg_result()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__logregr_result __logregr_cg_result </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0037d0e2891dff4ec1b4e856b9ac103c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0037d0e2891dff4ec1b4e856b9ac103c">&#9670;&nbsp;</a></span>__logregr_cg_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __logregr_cg_step </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aabc041a54449405558d8a522f0e7d995"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aabc041a54449405558d8a522f0e7d995">&#9670;&nbsp;</a></span>__logregr_cg_step_distance()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 __logregr_cg_step_distance </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a909ec8b38aac9dd78ed7fb52e5e5910d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a909ec8b38aac9dd78ed7fb52e5e5910d">&#9670;&nbsp;</a></span>__logregr_cg_step_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __logregr_cg_step_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae4f6142efcde3c7d72405f5daf218af7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae4f6142efcde3c7d72405f5daf218af7">&#9670;&nbsp;</a></span>__logregr_cg_step_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __logregr_cg_step_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a874e9c5a3ebb7efab16730f85d3e8d25"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a874e9c5a3ebb7efab16730f85d3e8d25">&#9670;&nbsp;</a></span>__logregr_cg_step_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __logregr_cg_step_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab0b377e0dc63a7d79602643a6ee827c9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab0b377e0dc63a7d79602643a6ee827c9">&#9670;&nbsp;</a></span>__logregr_igd_result()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__logregr_result __logregr_igd_result </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a782cd8580dac58cc0a70d534dd696801"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a782cd8580dac58cc0a70d534dd696801">&#9670;&nbsp;</a></span>__logregr_igd_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __logregr_igd_step </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a993ec0ebec0084170902c0cefc489ae8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a993ec0ebec0084170902c0cefc489ae8">&#9670;&nbsp;</a></span>__logregr_igd_step_distance()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 __logregr_igd_step_distance </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a44b3499c913ddcc44b0b9e18e2069fed"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a44b3499c913ddcc44b0b9e18e2069fed">&#9670;&nbsp;</a></span>__logregr_igd_step_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __logregr_igd_step_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2b23f6e4f9671b511d675c43b42b6544"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2b23f6e4f9671b511d675c43b42b6544">&#9670;&nbsp;</a></span>__logregr_igd_step_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __logregr_igd_step_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0f4010cefc479196d2d280514f92e5b0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0f4010cefc479196d2d280514f92e5b0">&#9670;&nbsp;</a></span>__logregr_igd_step_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __logregr_igd_step_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aaaf5ea72356ebae7e808b54c495bc501"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaaf5ea72356ebae7e808b54c495bc501">&#9670;&nbsp;</a></span>__logregr_irls_result()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__logregr_result __logregr_irls_result </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7bdf5d39836d8b8826e38a9c15a613c0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7bdf5d39836d8b8826e38a9c15a613c0">&#9670;&nbsp;</a></span>__logregr_irls_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __logregr_irls_step </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a56962d63f19d6c4672f9772f6d2b2810"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56962d63f19d6c4672f9772f6d2b2810">&#9670;&nbsp;</a></span>__logregr_irls_step_distance()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 __logregr_irls_step_distance </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a45fbe307010fcb5890828e35a398c0a6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a45fbe307010fcb5890828e35a398c0a6">&#9670;&nbsp;</a></span>__logregr_irls_step_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __logregr_irls_step_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2671672fed9d07b5c8c68a63e3d99e5f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2671672fed9d07b5c8c68a63e3d99e5f">&#9670;&nbsp;</a></span>__logregr_irls_step_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __logregr_irls_step_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa51c257177aa60df02dcf46bac43982e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa51c257177aa60df02dcf46bac43982e">&#9670;&nbsp;</a></span>__logregr_irls_step_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __logregr_irls_step_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[]&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4ded9be5c8b111dbb3109efaad83d69e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4ded9be5c8b111dbb3109efaad83d69e">&#9670;&nbsp;</a></span>logistic()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 logistic </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>x</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">x</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd><img class="formulaInl" alt="$ \frac{1}{1 + \exp(-x)} $" src="form_361.png"/></dd></dl>
+<p>Evaluating this expression directly can lead to under- or overflows. This function performs the evaluation in a safe manner, making use of the following observations:</p>
+<p>In order for the outcome of <img class="formulaInl" alt="$ \exp(x) $" src="form_362.png"/> to be within the range of the minimum positive double-precision number (i.e., <img class="formulaInl" alt="$ 2^{-1074} $" src="form_363.png"/>) and the maximum positive double-precision number (i.e., <img class="formulaInl" alt="$ (1 + (1 - 2^{52})) * 2^{1023}) $" src="form_364.png"/>, <img class="formulaInl" alt="$ x $" src="form_179.png"/> has to be within the natural logarithm of these numbers, so roughly in between -744 and 709. However, <img class="formulaInl" alt="$ 1 + \exp(x) $" src="form_365.png"/> will just evaluate to 1 if <img class="formulaInl" alt="$ \exp(x) $" src="form_362.png"/> is less than the machine epsilon (i.e., <img class="formulaInl" alt="$ 2^{-52} $" src="form_366.png"/>) or, equivalently, if <img class="formulaInl" alt="$ x $" src="form_179.png"/> is less than the natural logarithm of that; i.e., in any case if <img class="formulaInl" alt="$ x $" src="form_179.png
 "/> is less than -37. Note that taking the reciprocal of the largest double-precision number will not cause an underflow. Hence, no further checks are necessary. </p>
+
+</div>
+</div>
+<a id="abb60fcbfa7f13c4b62950b3ae5ee46b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abb60fcbfa7f13c4b62950b3ae5ee46b2">&#9670;&nbsp;</a></span>logregr_predict() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">boolean logregr_predict </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">coef</td><td>Coefficients obtained by running logistic regression. </td></tr>
+    <tr><td class="paramname">col_ind</td><td>Independent variable array </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Boolean value of the dependent variable</dd></dl>
+<p>This function computes the dot product of the independent variables and the coefficients. This requires the length of the two vectors to be the same. </p>
+
+</div>
+</div>
+<a id="acc8af7a39e7b0d604c2760d9d6bd0b5e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acc8af7a39e7b0d604c2760d9d6bd0b5e">&#9670;&nbsp;</a></span>logregr_predict() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text logregr_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af3eae2b8acd75d4c6c4db8c79489c58f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af3eae2b8acd75d4c6c4db8c79489c58f">&#9670;&nbsp;</a></span>logregr_predict() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text logregr_predict </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="acb8bcffac549a0968f6ee7c2d7f34d5e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acb8bcffac549a0968f6ee7c2d7f34d5e">&#9670;&nbsp;</a></span>logregr_predict_prob() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 logregr_predict_prob </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">coef</td><td>Coefficients obtained by running logistic regression. </td></tr>
+    <tr><td class="paramname">col_ind</td><td>Independent variable array </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Probability value of the dependent variable being True</dd></dl>
+<p>This function computes the dot product of the independent variables and the coefficients, hence requires the length of the two vectors to be the same. </p>
+
+</div>
+</div>
+<a id="a4db4a78e264cc4868c931f5b5cf8b414"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4db4a78e264cc4868c931f5b5cf8b414">&#9670;&nbsp;</a></span>logregr_predict_prob() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text logregr_predict_prob </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a75dba5248d75cd6c5d2fb69f944ce479"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a75dba5248d75cd6c5d2fb69f944ce479">&#9670;&nbsp;</a></span>logregr_predict_prob() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text logregr_predict_prob </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a74210a7ef513dfcbdfdd9f3b37bfe428"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a74210a7ef513dfcbdfdd9f3b37bfe428">&#9670;&nbsp;</a></span>logregr_train() <span class="overload">[1/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void logregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>tolerance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>To include an intercept in the model, set one coordinate in the <code>independentVariables</code> array to 1.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source_table</td><td>Name of the source relation containing the training data </td></tr>
+    <tr><td class="paramname">out_table</td><td>Name of the output relation to store the model results <pre class="fragment">              Columns of the output relation are as follows:
+               - &lt;tt&gt;coef FLOAT8[]&lt;/tt&gt; - Array of coefficients, \form#79
+               - &lt;tt&gt;log_likelihood FLOAT8&lt;/tt&gt; - Log-likelihood \form#80
+               - &lt;tt&gt;std_err FLOAT8[]&lt;/tt&gt; - Array of standard errors,
+</pre> <img class="formulaInl" alt="$ \mathit{se}(c_1), \dots, \mathit{se}(c_k) $" src="form_350.png"/><ul>
+<li><code>z_stats FLOAT8[]</code> - Array of Wald z-statistics, <img class="formulaInl" alt="$ \boldsymbol z $" src="form_358.png"/></li>
+<li><code>p_values FLOAT8[]</code> - Array of Wald p-values, <img class="formulaInl" alt="$ \boldsymbol p $" src="form_352.png"/></li>
+<li><code>odds_ratios FLOAT8[]</code>: Array of odds ratios, <img class="formulaInl" alt="$ \mathit{odds}(c_1), \dots, \mathit{odds}(c_k) $" src="form_359.png"/></li>
+<li><code>condition_no FLOAT8</code> - The condition number of matrix <img class="formulaInl" alt="$ X^T A X $" src="form_360.png"/> during the iteration immediately <em>preceding</em> convergence (i.e., <img class="formulaInl" alt="$ A $" src="form_14.png"/> is computed using the coefficients of the previous iteration) </li>
+</ul>
+</td></tr>
+    <tr><td class="paramname">dependent_varname</td><td>Name of the dependent column (of type BOOLEAN) </td></tr>
+    <tr><td class="paramname">independent_varname</td><td>Name of the independent column (of type DOUBLE PRECISION[]) </td></tr>
+    <tr><td class="paramname">grouping_col</td><td>Comma delimited list of column names to group-by </td></tr>
+    <tr><td class="paramname">max_iter</td><td>The maximum number of iterations </td></tr>
+    <tr><td class="paramname">optimizer</td><td>The optimizer to use (either <code>'irls'</code>/<code>'newton'</code> for iteratively reweighted least squares or <code>'cg'</code> for conjugent gradient) </td></tr>
+    <tr><td class="paramname">tolerance</td><td>The difference between log-likelihood values in successive iterations that should indicate convergence. This value should be non-negative and a zero value here disables the convergence criterion, and execution will only stop after <code>maxNumIterations</code> iterations. </td></tr>
+    <tr><td class="paramname">verbose</td><td>If true, any error or warning message will be printed to the console (irrespective of the 'client_min_messages' set by server). If false, no error/warning message is printed to console.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Get vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/> and all diagnostic statistics:<br />
+ <pre>SELECT logregr_train('<em>sourceName</em>', '<em>outName</em>'
+          '<em>dependentVariable</em>', '<em>independentVariables</em>');
+         SELECT * from outName;
+   </pre></li>
+<li>Get vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/>:<br />
+ <pre>SELECT coef from outName;</pre></li>
+<li>Get a subset of the output columns, e.g., only the array of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/>, the log-likelihood of determination <img class="formulaInl" alt="$ l(\boldsymbol c) $" src="form_80.png"/>, and the array of p-values <img class="formulaInl" alt="$ \boldsymbol p $" src="form_352.png"/>: <pre>SELECT coef, log_likelihood, p_values FROM outName;</pre></li>
+</ul>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This function starts an iterative algorithm. It is not an aggregate function. Source, output, and column names have to be passed as strings (due to limitations of the SQL syntax). </dd></dl>
+
+</div>
+</div>
+<a id="a58dfa3dc74518179c584ae535e331a7d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a58dfa3dc74518179c584ae535e331a7d">&#9670;&nbsp;</a></span>logregr_train() <span class="overload">[2/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void logregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a327660873183347c9e00bdbd01983a63"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a327660873183347c9e00bdbd01983a63">&#9670;&nbsp;</a></span>logregr_train() <span class="overload">[3/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void logregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3c217840f2fbe1dcd53ba15c4111b86a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3c217840f2fbe1dcd53ba15c4111b86a">&#9670;&nbsp;</a></span>logregr_train() <span class="overload">[4/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void logregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa321fe6cffa263b1eb612b15e8fb9a6d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa321fe6cffa263b1eb612b15e8fb9a6d">&#9670;&nbsp;</a></span>logregr_train() <span class="overload">[5/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void logregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6b5ffd41b8b00e4c4417653250a265fb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6b5ffd41b8b00e4c4417653250a265fb">&#9670;&nbsp;</a></span>logregr_train() <span class="overload">[6/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void logregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>tolerance</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3fbbdd2e6633816136d2958db9b4b6a3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3fbbdd2e6633816136d2958db9b4b6a3">&#9670;&nbsp;</a></span>logregr_train() <span class="overload">[7/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text logregr_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ada5fbc0833e802e7e6c1b489330ca15f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ada5fbc0833e802e7e6c1b489330ca15f">&#9670;&nbsp;</a></span>logregr_train() <span class="overload">[8/8]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text logregr_train </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_ff78ec617a20167dfb17882205d627df.html">regress</a></li><li class="navelem"><a class="el" href="logistic_8sql__in.html">logistic.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/madlib.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/madlib.png b/docs/v1.11/madlib.png
new file mode 100644
index 0000000..be014c6
Binary files /dev/null and b/docs/v1.11/madlib.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/madlib_extra.css
----------------------------------------------------------------------
diff --git a/docs/v1.11/madlib_extra.css b/docs/v1.11/madlib_extra.css
new file mode 100644
index 0000000..bbc884d
--- /dev/null
+++ b/docs/v1.11/madlib_extra.css
@@ -0,0 +1,156 @@
+/* MADlib CSS customizations */
+
+/* Indent paragraphs in the main text, but not in framed boxes */
+div.contents > p, div.contents > pre, div.contents > ul, div.contents > div.fragment, dd {
+    margin-left: 20px;
+}
+
+/* Increase spacing between titled paragraphs in the main text, but not in
+   framed boxes */
+div.contents > dl {
+    margin-top: 2em;
+}
+
+/* Increase spacing between list items in the main text */
+div.contents li {
+    margin-top: 1em;
+}
+
+/* No automtic line wrapping at white spaces in <pre> or \verbatim
+   environments. */
+pre.fragment {
+    word-wrap: normal;
+}
+
+/* Distinguish backgrounds for syntax, example commands, and results */
+pre.syntax {
+        border: 1px solid #999999;
+        color: #00004D;
+        background-color: #CBD4E7;
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+        overflow: auto;
+        word-wrap: normal;
+        font-size:  9pt;
+        line-height: 125%;
+        font-family: monospace, fixed;
+        font-size: 105%;
+}
+
+pre.example {
+        border: 1px solid #999999;
+        background-color: #E8E8E8;
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+        overflow: auto;
+        word-wrap: normal;
+        font-size:  9pt;
+        line-height: 125%;
+        font-family: monospace, fixed;
+        font-size: 105%;
+}
+
+pre.result {
+        border: 1px solid #999999;
+        background-color: #FFFFCC;
+        padding: 4px 6px;
+        margin: 4px 8px 4px 2px;
+        overflow: auto;
+        word-wrap: normal;
+        font-size:  9pt;
+        line-height: 125%;
+        font-family: monospace, fixed;
+        font-size: 105%;
+}
+
+
+/* No padding for paragraph headers (in its infinite wisdom, doxygen uses <dl>
+   environments for that) */
+dl {
+    padding-left: 0;
+    margin-top: 1em;
+}
+
+/* Increase the font size for paragraph headers */
+dt {
+    font-size: 120%;
+    margin-bottom: 1em;
+}
+
+/* The first column should align with normal text. So we cannot use
+   border-spacing. */
+table.params {
+    border-spacing: 0;
+}
+
+/* Add some padding instead of border-spacing */
+td.paramname {
+    padding: 1px 1em 1px 0;
+}
+
+/* We move the bar a out of the text frame, so that the text aligns well with
+   the rest. Note: margin-left + border-width-left + padding-left = 0 */
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug
+{
+    margin-left: -6px;
+    padding-left: 2px;
+}
+*/
+
+/* Style parameter lists formatted with definition lists. */
+dl.arglist {
+  margin-left: 40px;
+  margin-top: 0px;
+}
+
+dl.arglist dt {
+  font-size: 100%;
+  font-weight: bold;
+  color: #00004D;
+  margin-bottom: 0px;
+}
+
+div.toc {
+    background-color: #FFF5B8;
+}
+
+/* Increase font size for toc.li from 10px to 14px */
+div.toc li {
+        font: 14px/1.4 Verdana,DejaVu Sans,Geneva,sans-serif;
+        margin-top: 5px;
+        padding-left: 10px;
+        padding-top: 2px;
+}
+
+
+div.versionlist li.head {
+  font: 12px/1.2 Verdana, DejaVu Sans, Geneva, sans-serif;
+  display: inline;
+  margin-right: 10px;
+}
+
+div.versionlist ul {
+  display: inline;
+  align: right;
+}
+
+div.versionlist li {
+  font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+  display: inline;
+  margin-right: 10px;
+}
+
+/* Table style for output table columns and descriptions */
+table.output {
+  border: 0;
+  margin-left: 20px;
+}
+
+.output th {
+  text-align: right;
+  vertical-align: top;
+  padding-right: 15px;
+  font-weight: normal;
+  color: #354C7B;
+ }
+

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/mainpage_8dox.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/mainpage_8dox.html b/docs/v1.11/mainpage_8dox.html
new file mode 100644
index 0000000..2a51b63
--- /dev/null
+++ b/docs/v1.11/mainpage_8dox.html
@@ -0,0 +1,123 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: mainpage.dox File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('mainpage_8dox.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">mainpage.dox File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="mainpage_8dox.html">mainpage.dox</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[03/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/modules.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/modules.html b/docs/v1.11/modules.html
new file mode 100644
index 0000000..ea35804
--- /dev/null
+++ b/docs/v1.11/modules.html
@@ -0,0 +1,203 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Modules</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('modules.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Modules</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock">Here is a list of all modules:</div><div class="directory">
+<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
+<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><a class="el" href="group__grp__datatrans.html" target="_self">Data Types and Transformations</a></td><td class="desc"></td></tr>
+<tr id="row_0_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><a class="el" href="group__grp__arraysmatrix.html" target="_self">Arrays and Matrices</a></td><td class="desc">Mathematical operations for arrays and matrices </td></tr>
+<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__array.html" target="_self">Array Operations</a></td><td class="desc">Provides fast array operations supporting other MADlib modules </td></tr>
+<tr id="row_0_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__matrix.html" target="_self">Matrix Operations</a></td><td class="desc">Provides fast matrix operations supporting other MADlib modules </td></tr>
+<tr id="row_0_0_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_2_" class="arrow" onclick="toggleFolder('0_0_2_')">&#9660;</span><a class="el" href="group__grp__matrix__factorization.html" target="_self">Matrix Factorization</a></td><td class="desc">Matrix Factorization methods including Singular Value Decomposition and Low-rank Matrix Factorization </td></tr>
+<tr id="row_0_0_2_0_"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a class="el" href="group__grp__lmf.html" target="_self">Low-rank Matrix Factorization</a></td><td class="desc">Performs low-rank matrix factorization for an incomplete matrix </td></tr>
+<tr id="row_0_0_2_1_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a class="el" href="group__grp__svd.html" target="_self">Singular Value Decomposition</a></td><td class="desc">Performs factorization of dense and sparse matrices </td></tr>
+<tr id="row_0_0_3_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__linalg.html" target="_self">Norms and Distance functions</a></td><td class="desc">Provides utility functions for basic linear algebra operations </td></tr>
+<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__svec.html" target="_self">Sparse Vectors</a></td><td class="desc">Implements a sparse vector data type that provides compressed storage of vectors that may have many duplicate elements </td></tr>
+<tr id="row_0_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9660;</span><a class="el" href="group__grp__pca.html" target="_self">Dimensionality Reduction</a></td><td class="desc">A collection of methods for dimensionality reduction </td></tr>
+<tr id="row_0_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__pca__train.html" target="_self">Principal Component Analysis</a></td><td class="desc">Produces a model that transforms a number of (possibly) correlated variables into a (smaller) number of uncorrelated variables called principal components </td></tr>
+<tr id="row_0_1_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__pca__project.html" target="_self">Principal Component Projection</a></td><td class="desc">Projects a higher dimensional data point to a lower dimensional subspace spanned by principal components learned through the PCA training procedure </td></tr>
+<tr id="row_0_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__encode__categorical.html" target="_self">Encoding Categorical Variables</a></td><td class="desc">Provides functions to encode categorical variables </td></tr>
+<tr id="row_0_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__pivot.html" target="_self">Pivot</a></td><td class="desc">Provides pivoting functions helpful for data preparation before modeling </td></tr>
+<tr id="row_0_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__stemmer.html" target="_self">Stemming</a></td><td class="desc">Provides porter stemmer operations supporting other MADlib modules </td></tr>
+<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><a class="el" href="group__grp__graph.html" target="_self">Graph</a></td><td class="desc"></td></tr>
+<tr id="row_1_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__pagerank.html" target="_self">PageRank</a></td><td class="desc">Find the PageRank of all vertices in a directed graph </td></tr>
+<tr id="row_1_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__sssp.html" target="_self">Single Source Shortest Path</a></td><td class="desc">Finds the shortest path from a single source vertex to every other vertex in a given graph </td></tr>
+<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><a class="el" href="group__grp__mdl.html" target="_self">Model Evaluation</a></td><td class="desc"></td></tr>
+<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__validation.html" target="_self">Cross Validation</a></td><td class="desc">Estimates the fit of a predictive model given a data set and specifications for the training, prediction, and error estimation functions </td></tr>
+<tr id="row_2_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__pred.html" target="_self">Prediction Metrics</a></td><td class="desc">Provides various prediction accuracy metrics </td></tr>
+<tr id="row_3_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9660;</span><a class="el" href="group__grp__stats.html" target="_self">Statistics</a></td><td class="desc"></td></tr>
+<tr id="row_3_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_3_0_" class="arrow" onclick="toggleFolder('3_0_')">&#9660;</span><a class="el" href="group__grp__desc__stats.html" target="_self">Descriptive Statistics</a></td><td class="desc"></td></tr>
+<tr id="row_3_0_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__correlation.html" target="_self">Pearson&#39;s Correlation</a></td><td class="desc">Generates a cross-correlation matrix for all pairs of numeric columns in a table </td></tr>
+<tr id="row_3_0_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__summary.html" target="_self">Summary</a></td><td class="desc">Calculates general descriptive statistics for any data table </td></tr>
+<tr id="row_3_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_3_1_" class="arrow" onclick="toggleFolder('3_1_')">&#9660;</span><a class="el" href="group__grp__inf__stats.html" target="_self">Inferential Statistics</a></td><td class="desc"></td></tr>
+<tr id="row_3_1_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__stats__tests.html" target="_self">Hypothesis Tests</a></td><td class="desc">Provides functions to perform statistical hypothesis tests </td></tr>
+<tr id="row_3_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__prob.html" target="_self">Probability Functions</a></td><td class="desc">Provides cumulative distribution, density/mass, and quantile functions for a wide range of probability distributions </td></tr>
+<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9660;</span><a class="el" href="group__grp__super.html" target="_self">Supervised Learning</a></td><td class="desc"></td></tr>
+<tr id="row_4_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__crf.html" target="_self">Conditional Random Field</a></td><td class="desc">Constructs a Conditional Random Fields (CRF) model for labeling sequential data </td></tr>
+<tr id="row_4_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_4_1_" class="arrow" onclick="toggleFolder('4_1_')">&#9660;</span><a class="el" href="group__grp__regml.html" target="_self">Regression Models</a></td><td class="desc"></td></tr>
+<tr id="row_4_1_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__clustered__errors.html" target="_self">Clustered Variance</a></td><td class="desc">Calculates clustered variance for linear, logistic, and multinomial logistic regression models, and Cox proportional hazards models </td></tr>
+<tr id="row_4_1_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__cox__prop__hazards.html" target="_self">Cox-Proportional Hazards Regression</a></td><td class="desc">Models the relationship between one or more independent predictor variables and the amount of time before an event occurs </td></tr>
+<tr id="row_4_1_2_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__elasticnet.html" target="_self">Elastic Net Regularization</a></td><td class="desc">Generates a regularized regression model for variable selection in linear and logistic regression problems, combining the L1 and L2 penalties of the lasso and ridge methods </td></tr>
+<tr id="row_4_1_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__glm.html" target="_self">Generalized Linear Models</a></td><td class="desc">Estimate generalized linear model (GLM). GLM is a flexible generalization of ordinary linear regression that allows for response variables that have error distribution models other than a normal distribution. The GLM generalizes linear regression by allowing the linear model to be related to the response variable via a link function and by allowing the magnitude of the variance of each measurement to be a function of its predicted value </td></tr>
+<tr id="row_4_1_4_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__linreg.html" target="_self">Linear Regression</a></td><td class="desc">Also called Ordinary Least Squares Regression, models linear relationship between a dependent variable and one or more independent variables </td></tr>
+<tr id="row_4_1_5_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__logreg.html" target="_self">Logistic Regression</a></td><td class="desc">Models the relationship between one or more predictor variables and a binary categorical dependent variable by predicting the probability of the dependent variable using a logistic function </td></tr>
+<tr id="row_4_1_6_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__marginal.html" target="_self">Marginal Effects</a></td><td class="desc">Calculates marginal effects for the coefficients in regression problems </td></tr>
+<tr id="row_4_1_7_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__multinom.html" target="_self">Multinomial Regression</a></td><td class="desc">Multinomial regression is to model the conditional distribution of the multinomial response variable using a linear combination of predictors </td></tr>
+<tr id="row_4_1_8_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__ordinal.html" target="_self">Ordinal Regression</a></td><td class="desc">Regression to model data with ordinal response variable </td></tr>
+<tr id="row_4_1_9_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__robust.html" target="_self">Robust Variance</a></td><td class="desc">Calculates Huber-White variance estimates for linear, logistic, and multinomial regression models, and for Cox proportional hazards models </td></tr>
+<tr id="row_4_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__svm.html" target="_self">Support Vector Machines</a></td><td class="desc">Solves classification and regression problems by separating data with a hyperplane or other nonlinear decision boundary </td></tr>
+<tr id="row_4_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_4_3_" class="arrow" onclick="toggleFolder('4_3_')">&#9660;</span><a class="el" href="group__grp__tree.html" target="_self">Tree Methods</a></td><td class="desc"></td></tr>
+<tr id="row_4_3_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__decision__tree.html" target="_self">Decision Tree</a></td><td class="desc">Decision Trees. Decision trees use a tree-based model to predict the value of a target variable based on several input variables </td></tr>
+<tr id="row_4_3_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__random__forest.html" target="_self">Random Forest</a></td><td class="desc">Random forests are an ensemble learning method for classification and regression that construct a multitude of decision trees at training time, then produce the class that is the mode of the classes of the individual trees </td></tr>
+<tr id="row_5_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">&#9660;</span><a class="el" href="group__grp__tsa.html" target="_self">Time Series Analysis</a></td><td class="desc"></td></tr>
+<tr id="row_5_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__arima.html" target="_self">ARIMA</a></td><td class="desc">Generates a model with autoregressive, moving average, and integrated components for a time series dataset </td></tr>
+<tr id="row_6_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_6_" class="arrow" onclick="toggleFolder('6_')">&#9660;</span><a class="el" href="group__grp__unsupervised.html" target="_self">Unsupervised Learning</a></td><td class="desc"></td></tr>
+<tr id="row_6_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_6_0_" class="arrow" onclick="toggleFolder('6_0_')">&#9660;</span><a class="el" href="group__grp__association__rules.html" target="_self">Association Rules</a></td><td class="desc"></td></tr>
+<tr id="row_6_0_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__assoc__rules.html" target="_self">Apriori Algorithm</a></td><td class="desc">Computes association rules for a given set of data </td></tr>
+<tr id="row_6_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_6_1_" class="arrow" onclick="toggleFolder('6_1_')">&#9660;</span><a class="el" href="group__grp__clustering.html" target="_self">Clustering</a></td><td class="desc"></td></tr>
+<tr id="row_6_1_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__kmeans.html" target="_self">k-Means Clustering</a></td><td class="desc">Partitions a set of observations into clusters by finding centroids that minimize the sum of observations' distances from their closest centroid </td></tr>
+<tr id="row_6_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_6_2_" class="arrow" onclick="toggleFolder('6_2_')">&#9660;</span><a class="el" href="group__grp__topic__modelling.html" target="_self">Topic Modelling</a></td><td class="desc"></td></tr>
+<tr id="row_6_2_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__lda.html" target="_self">Latent Dirichlet Allocation</a></td><td class="desc">Generates a Latent Dirichlet Allocation predictive model for a collection of documents </td></tr>
+<tr id="row_7_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_7_" class="arrow" onclick="toggleFolder('7_')">&#9660;</span><a class="el" href="group__grp__utility__functions.html" target="_self">Utility Functions</a></td><td class="desc"></td></tr>
+<tr id="row_7_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__utilities.html" target="_self">Developer Database Functions</a></td><td class="desc">Provides a collection of user-defined functions for performing common tasks in the database </td></tr>
+<tr id="row_7_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_7_1_" class="arrow" onclick="toggleFolder('7_1_')">&#9660;</span><a class="el" href="group__grp__linear__solver.html" target="_self">Linear Solvers</a></td><td class="desc"></td></tr>
+<tr id="row_7_1_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__dense__linear__solver.html" target="_self">Dense Linear Systems</a></td><td class="desc">Implements solution methods for large dense linear systems. Currently, restricted to problems that fit in memory </td></tr>
+<tr id="row_7_1_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__sparse__linear__solver.html" target="_self">Sparse Linear Systems</a></td><td class="desc">Implements solution methods for linear systems with sparse matrix input. Currently, restricted to problems that fit in memory </td></tr>
+<tr id="row_7_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__path.html" target="_self">Path</a></td><td class="desc">Path Functions </td></tr>
+<tr id="row_7_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__pmml.html" target="_self">PMML Export</a></td><td class="desc">Implements the PMML XML standard to describe and exchange models produced by data mining and machine learning algorithms </td></tr>
+<tr id="row_7_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__sessionize.html" target="_self">Sessionize</a></td><td class="desc">Sessionize </td></tr>
+<tr id="row_7_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_7_5_" class="arrow" onclick="toggleFolder('7_5_')">&#9660;</span><a class="el" href="group__grp__text__analysis.html" target="_self">Text Analysis</a></td><td class="desc"></td></tr>
+<tr id="row_7_5_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__text__utilities.html" target="_self">Term Frequency</a></td><td class="desc">Provides a collection of user-defined functions for performing common tasks related to text </td></tr>
+<tr id="row_8_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_8_" class="arrow" onclick="toggleFolder('8_')">&#9660;</span><a class="el" href="group__grp__early__stage.html" target="_self">Early Stage Development</a></td><td class="desc">A collection of implementations which are in early stage of development. There may be some issues that will be addressed in a future version. Interface and implementation are subject to change </td></tr>
+<tr id="row_8_0_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_0_" class="arrow" onclick="toggleFolder('8_0_')">&#9660;</span><a class="el" href="group__grp__sketches.html" target="_self">Cardinality Estimators</a></td><td class="desc">A collection of methods to estimate the number of unique values contained in the data </td></tr>
+<tr id="row_8_0_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__countmin.html" target="_self">CountMin (Cormode-Muthukrishnan)</a></td><td class="desc">Implements Cormode-Mathukrishnan <em>CountMin</em> sketches on integer values as a user-defined aggregate </td></tr>
+<tr id="row_8_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__fmsketch.html" target="_self">FM (Flajolet-Martin)</a></td><td class="desc">Implements Flajolet-Martin's distinct count estimation as a user-defined aggregate </td></tr>
+<tr id="row_8_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__mfvsketch.html" target="_self">MFV (Most Frequent Values)</a></td><td class="desc">Implements the most frequent values variant of the CountMin sketch as a user-defined aggregate </td></tr>
+<tr id="row_8_1_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__cg.html" target="_self">Conjugate Gradient</a></td><td class="desc">Finds the solution to the function <img class="formulaInl" alt="$ \boldsymbol Ax = \boldsymbol b $" src="form_41.png"/>, where <img class="formulaInl" alt="$A$" src="form_42.png"/> is a symmetric, positive-definite matrix and <img class="formulaInl" alt="$x$" src="form_43.png"/> and <img class="formulaInl" alt="$ \boldsymbol b $" src="form_44.png"/> are vectors </td></tr>
+<tr id="row_8_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__bayes.html" target="_self">Naive Bayes Classification</a></td><td class="desc">Constructs a classification model from a dataset where each attribute independently contributes to the probability that a data point belongs to a category </td></tr>
+<tr id="row_8_3_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__sample.html" target="_self">Random Sampling</a></td><td class="desc">Provides utility functions for sampling operations </td></tr>
+<tr id="row_8_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_8_4_" class="arrow" onclick="toggleFolder('8_4_')">&#9660;</span><a class="el" href="group__grp__nene.html" target="_self">Nearest Neighbors</a></td><td class="desc"></td></tr>
+<tr id="row_8_4_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a class="el" href="group__grp__knn.html" target="_self">k-Nearest Neighbors</a></td><td class="desc">Finds k nearest data points to the given data point and outputs majority vote value of output classes for classification, and average value of target values for regression </td></tr>
+<tr id="row_9_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_9_" class="arrow" onclick="toggleFolder('9_')">&#9660;</span><a class="el" href="group__grp__deprecated.html" target="_self">Deprecated Modules</a></td><td class="desc">A collection of deprecated modules. These functions will be removed in the next major version (2.0) </td></tr>
+<tr id="row_9_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__indicator.html" target="_self">Create Indicator Variables</a></td><td class="desc">Provides utility functions helpful for data preparation before modeling </td></tr>
+<tr id="row_9_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a class="el" href="group__grp__mlogreg.html" target="_self">Multinomial Logistic Regression</a></td><td class="desc">Also called as softmax regression, models the relationship between one or more independent variables and a categorical dependent variable </td></tr>
+</table>
+</div><!-- directory -->
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/modules.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/modules.js b/docs/v1.11/modules.js
new file mode 100644
index 0000000..1efb3d5
--- /dev/null
+++ b/docs/v1.11/modules.js
@@ -0,0 +1,13 @@
+var modules =
+[
+    [ "Data Types and Transformations", "group__grp__datatrans.html", "group__grp__datatrans" ],
+    [ "Graph", "group__grp__graph.html", "group__grp__graph" ],
+    [ "Model Evaluation", "group__grp__mdl.html", "group__grp__mdl" ],
+    [ "Statistics", "group__grp__stats.html", "group__grp__stats" ],
+    [ "Supervised Learning", "group__grp__super.html", "group__grp__super" ],
+    [ "Time Series Analysis", "group__grp__tsa.html", "group__grp__tsa" ],
+    [ "Unsupervised Learning", "group__grp__unsupervised.html", "group__grp__unsupervised" ],
+    [ "Utility Functions", "group__grp__utility__functions.html", "group__grp__utility__functions" ],
+    [ "Early Stage Development", "group__grp__early__stage.html", "group__grp__early__stage" ],
+    [ "Deprecated Modules", "group__grp__deprecated.html", "group__grp__deprecated" ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/multilogistic_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/multilogistic_8sql__in.html b/docs/v1.11/multilogistic_8sql__in.html
new file mode 100644
index 0000000..a6debd4
--- /dev/null
+++ b/docs/v1.11/multilogistic_8sql__in.html
@@ -0,0 +1,1101 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: multilogistic.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('multilogistic_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">multilogistic.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for multinomial logistic regression.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:aef43e4a6363495901045daf339d5c6d7"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#aef43e4a6363495901045daf339d5c6d7">__mlogregr_irls_step_transition</a> (float8[] state, integer y, integer num_categories, integer ref_category, float8[] x, float8[] prev_state)</td></tr>
+<tr class="separator:aef43e4a6363495901045daf339d5c6d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7cae4ea602fc9c159fa2cc8c1a7653a6"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a7cae4ea602fc9c159fa2cc8c1a7653a6">__mlogregr_irls_step_merge_states</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a7cae4ea602fc9c159fa2cc8c1a7653a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a690a74b753dceec66c4e0ad22f50c51e"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a690a74b753dceec66c4e0ad22f50c51e">__mlogregr_irls_step_final</a> (float8[] state)</td></tr>
+<tr class="separator:a690a74b753dceec66c4e0ad22f50c51e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a695395e04b6d95afafc7c8ac9e01b7b2"><td class="memItemLeft" align="right" valign="top">aggregate float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a695395e04b6d95afafc7c8ac9e01b7b2">__mlogregr_irls_step</a> (integer y, integer numcategories, integer ref_category, float8[] x, float8[] previous_state)</td></tr>
+<tr class="separator:a695395e04b6d95afafc7c8ac9e01b7b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aad300d3120db2ecaabf4809cf6be81e7"><td class="memItemLeft" align="right" valign="top">float8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#aad300d3120db2ecaabf4809cf6be81e7">__internal_mlogregr_irls_step_distance</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:aad300d3120db2ecaabf4809cf6be81e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae890704e55f57bd9105b63021e0f86ae"><td class="memItemLeft" align="right" valign="top">mlogregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#ae890704e55f57bd9105b63021e0f86ae">__internal_mlogregr_irls_result</a> (float8[] state)</td></tr>
+<tr class="separator:ae890704e55f57bd9105b63021e0f86ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a48e0f07fcd855a9abcdf6ff070474b73"><td class="memItemLeft" align="right" valign="top">mlogregr_summary_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a48e0f07fcd855a9abcdf6ff070474b73">__internal_mlogregr_summary_results</a> (float8[] state)</td></tr>
+<tr class="separator:a48e0f07fcd855a9abcdf6ff070474b73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aedc13474e6abbc88451d120ad97e44d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#aedc13474e6abbc88451d120ad97e44d4">mlogregr_train</a> (varchar source_table, varchar output_table, varchar dependent_varname, varchar independent_varname, integer ref_category, varchar optimizer_params)</td></tr>
+<tr class="memdesc:aedc13474e6abbc88451d120ad97e44d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute multinomial logistic regression coefficients.  <a href="#aedc13474e6abbc88451d120ad97e44d4">More...</a><br /></td></tr>
+<tr class="separator:aedc13474e6abbc88451d120ad97e44d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afea8bd51ec241fa7a749a7c74ae0f580"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#afea8bd51ec241fa7a749a7c74ae0f580">mlogregr_train</a> (varchar source_table, varchar output_table, varchar dependent_varname, varchar independent_varname, integer ref_category)</td></tr>
+<tr class="separator:afea8bd51ec241fa7a749a7c74ae0f580"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa596f23c7bcfcd47b051d78de0b99c36"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#aa596f23c7bcfcd47b051d78de0b99c36">mlogregr_train</a> (varchar source_table, varchar output_table, varchar dependent_varname, varchar independent_varname)</td></tr>
+<tr class="separator:aa596f23c7bcfcd47b051d78de0b99c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b4643da1ecfcfaf3a1563c820b3347d"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a0b4643da1ecfcfaf3a1563c820b3347d">mlogregr_train</a> (varchar message)</td></tr>
+<tr class="separator:a0b4643da1ecfcfaf3a1563c820b3347d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab8b5a7eb69a945435cba5a068576f2e4"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#ab8b5a7eb69a945435cba5a068576f2e4">mlogregr_train</a> ()</td></tr>
+<tr class="separator:ab8b5a7eb69a945435cba5a068576f2e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac7da2fbd9877d94b2f1f013cc000566b"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#ac7da2fbd9877d94b2f1f013cc000566b">__compute_mlogregr</a> (varchar source_table, varchar dependent_varname, varchar independent_varname, integer num_categories, integer max_iter, varchar optimizer, float8 precision, integer ref_category)</td></tr>
+<tr class="separator:ac7da2fbd9877d94b2f1f013cc000566b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7be20ccb465d47808e18149140fc666f"><td class="memItemLeft" align="right" valign="top">mlogregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a7be20ccb465d47808e18149140fc666f">mlogregr</a> (varchar source, varchar depvar, varchar indepvar, integer max_num_iterations=20, varchar optimizer=&quot;irls&quot;, float8 precision=0.0001, integer ref_category)</td></tr>
+<tr class="memdesc:a7be20ccb465d47808e18149140fc666f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute logistic-regression coefficients and diagnostic statistics.  <a href="#a7be20ccb465d47808e18149140fc666f">More...</a><br /></td></tr>
+<tr class="separator:a7be20ccb465d47808e18149140fc666f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a116c95de21b112dedf99035a9b243fd7"><td class="memItemLeft" align="right" valign="top">mlogregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a116c95de21b112dedf99035a9b243fd7">mlogregr</a> (varchar source, varchar depvar, varchar indepvar)</td></tr>
+<tr class="separator:a116c95de21b112dedf99035a9b243fd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1ab68f7396f53ae3e32362240d077cbf"><td class="memItemLeft" align="right" valign="top">mlogregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a1ab68f7396f53ae3e32362240d077cbf">mlogregr</a> (varchar source, varchar depvar, varchar indepvar, integer max_num_iterations)</td></tr>
+<tr class="separator:a1ab68f7396f53ae3e32362240d077cbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae1b5954340a0c98a6ed06eb5f3bb43b8"><td class="memItemLeft" align="right" valign="top">mlogregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#ae1b5954340a0c98a6ed06eb5f3bb43b8">mlogregr</a> (varchar source, varchar depvar, varchar indepvar, integer max_num_iterations, varchar optimizer)</td></tr>
+<tr class="separator:ae1b5954340a0c98a6ed06eb5f3bb43b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55ffab7c3e95b301b3ad5733f185a1ec"><td class="memItemLeft" align="right" valign="top">set&lt; __mlogregr_cat_coef &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a55ffab7c3e95b301b3ad5733f185a1ec">__mlogregr_format</a> (float8[] coef, integer num_feature, integer num_category, integer ref_category)</td></tr>
+<tr class="separator:a55ffab7c3e95b301b3ad5733f185a1ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7418e1ce65432793d0889f7e53f668cd"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a7418e1ce65432793d0889f7e53f668cd">__mlogregr_predict_prob</a> (float8[] coef, integer ref_category, float8[] col_ind_var)</td></tr>
+<tr class="separator:a7418e1ce65432793d0889f7e53f668cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad5e9a79ac38439db8ecd25148ca6f244"><td class="memItemLeft" align="right" valign="top">integer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#ad5e9a79ac38439db8ecd25148ca6f244">__mlogregr_predict_response</a> (float8[] coef, integer ref_category, float8[] col_ind_var)</td></tr>
+<tr class="separator:ad5e9a79ac38439db8ecd25148ca6f244"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a00f0c988e1b2b2fee9e4021450840061"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a00f0c988e1b2b2fee9e4021450840061">mlogregr_predict</a> (text model, text source, text id_col_name, text output, text pred_type)</td></tr>
+<tr class="separator:a00f0c988e1b2b2fee9e4021450840061"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4c61f2fd5a67a7babb700fdfbd4d146f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a4c61f2fd5a67a7babb700fdfbd4d146f">mlogregr_predict</a> (text model, text source, text id_col_name, text output)</td></tr>
+<tr class="separator:a4c61f2fd5a67a7babb700fdfbd4d146f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0fdfed54d63cefe260a0b74b9c7bbad5"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multilogistic_8sql__in.html#a0fdfed54d63cefe260a0b74b9c7bbad5">mlogregr_predict</a> (text message)</td></tr>
+<tr class="separator:a0fdfed54d63cefe260a0b74b9c7bbad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>July 2012</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to multinomial <a class="el" href="logistic_8sql__in.html#a4ded9be5c8b111dbb3109efaad83d69e" title="Evaluate the usual logistic function in an under-/overflow-safe way. ">logistic</a> regression, see the module description <a class="el" href="group__grp__mlogreg.html">Multinomial Logistic Regression</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="ac7da2fbd9877d94b2f1f013cc000566b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac7da2fbd9877d94b2f1f013cc000566b">&#9670;&nbsp;</a></span>__compute_mlogregr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer __compute_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num_categories</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>precision</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae890704e55f57bd9105b63021e0f86ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae890704e55f57bd9105b63021e0f86ae">&#9670;&nbsp;</a></span>__internal_mlogregr_irls_result()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">mlogregr_result __internal_mlogregr_irls_result </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aad300d3120db2ecaabf4809cf6be81e7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aad300d3120db2ecaabf4809cf6be81e7">&#9670;&nbsp;</a></span>__internal_mlogregr_irls_step_distance()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 __internal_mlogregr_irls_step_distance </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a48e0f07fcd855a9abcdf6ff070474b73"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a48e0f07fcd855a9abcdf6ff070474b73">&#9670;&nbsp;</a></span>__internal_mlogregr_summary_results()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">mlogregr_summary_result __internal_mlogregr_summary_results </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a55ffab7c3e95b301b3ad5733f185a1ec"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a55ffab7c3e95b301b3ad5733f185a1ec">&#9670;&nbsp;</a></span>__mlogregr_format()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">set&lt;__mlogregr_cat_coef&gt; __mlogregr_format </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num_feature</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a695395e04b6d95afafc7c8ac9e01b7b2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a695395e04b6d95afafc7c8ac9e01b7b2">&#9670;&nbsp;</a></span>__mlogregr_irls_step()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate float8 [] __mlogregr_irls_step </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numcategories</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>previous_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a690a74b753dceec66c4e0ad22f50c51e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a690a74b753dceec66c4e0ad22f50c51e">&#9670;&nbsp;</a></span>__mlogregr_irls_step_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __mlogregr_irls_step_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7cae4ea602fc9c159fa2cc8c1a7653a6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7cae4ea602fc9c159fa2cc8c1a7653a6">&#9670;&nbsp;</a></span>__mlogregr_irls_step_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __mlogregr_irls_step_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aef43e4a6363495901045daf339d5c6d7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aef43e4a6363495901045daf339d5c6d7">&#9670;&nbsp;</a></span>__mlogregr_irls_step_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __mlogregr_irls_step_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num_categories</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>prev_state</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7418e1ce65432793d0889f7e53f668cd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7418e1ce65432793d0889f7e53f668cd">&#9670;&nbsp;</a></span>__mlogregr_predict_prob()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __mlogregr_predict_prob </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ad5e9a79ac38439db8ecd25148ca6f244"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad5e9a79ac38439db8ecd25148ca6f244">&#9670;&nbsp;</a></span>__mlogregr_predict_response()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer __mlogregr_predict_response </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>col_ind_var</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7be20ccb465d47808e18149140fc666f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7be20ccb465d47808e18149140fc666f">&#9670;&nbsp;</a></span>mlogregr() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">mlogregr_result mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>indepvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_num_iterations</em> = <code>20</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em> = <code>&quot;irls&quot;</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>precision</em> = <code>0.0001</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>To include an intercept in the model, set one coordinate in the <code>independentVariables</code> array to 1.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source</td><td>Name of the source relation containing the training data </td></tr>
+    <tr><td class="paramname">depvar</td><td>Name of the dependent column (of type INTEGER &lt; numcategories) </td></tr>
+    <tr><td class="paramname">indepvar</td><td>Name of the independent column (of type DOUBLE PRECISION[]) </td></tr>
+    <tr><td class="paramname">max_num_iterations</td><td>The maximum number of iterations </td></tr>
+    <tr><td class="paramname">optimizer</td><td>The optimizer to use ( <code>'irls'</code>/<code>'newton'</code> for iteratively reweighted least squares) </td></tr>
+    <tr><td class="paramname">precision</td><td>The difference between log-likelihood values in successive iterations that should indicate convergence. Note that a non-positive value here disables the convergence criterion, and execution will only stop after \ max_num_iterations iterations. </td></tr>
+    <tr><td class="paramname">ref_category</td><td>The reference category specified by the user</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>ref_category INTEGER</code> - Reference category</li>
+<li><code>coef FLOAT8[]</code> - Array of coefficients, <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/></li>
+<li><code>log_likelihood FLOAT8</code> - Log-likelihood <img class="formulaInl" alt="$ l(\boldsymbol c) $" src="form_80.png"/></li>
+<li><code>std_err FLOAT8[]</code> - Array of standard errors, <img class="formulaInl" alt="$ \mathit{se}(c_1), \dots, \mathit{se}(c_k) $" src="form_350.png"/></li>
+<li><code>z_stats FLOAT8[]</code> - Array of Wald z-statistics, <img class="formulaInl" alt="$ \boldsymbol z $" src="form_358.png"/></li>
+<li><code>p_values FLOAT8[]</code> - Array of Wald p-values, <img class="formulaInl" alt="$ \boldsymbol p $" src="form_352.png"/></li>
+<li><code>odds_ratios FLOAT8[]</code>: Array of odds ratios, <img class="formulaInl" alt="$ \mathit{odds}(c_1), \dots, \mathit{odds}(c_k) $" src="form_359.png"/></li>
+<li><code>condition_no FLOAT8</code> - The condition number of matrix <img class="formulaInl" alt="$ X^T A X $" src="form_360.png"/> during the iteration immediately <em>preceding</em> convergence (i.e., <img class="formulaInl" alt="$ A $" src="form_14.png"/> is computed using the coefficients of the previous iteration)</li>
+<li><code>num_iterations INTEGER</code> - The number of iterations before the algorithm terminated</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Get vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/> and all diagnostic statistics:<br />
+ <pre>SELECT * FROM mlogregr('<em>sourceName</em>', '<em>dependentVariable</em>',
+   '<em>numCategories</em>', '<em>independentVariables</em>');</pre></li>
+<li>Get vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/>:<br />
+ <pre>SELECT (mlogregr('<em>sourceName</em>', '<em>dependentVariable</em>',
+   '<em>numCategories</em>', '<em>independentVariables</em>')).coef;</pre></li>
+<li>Get a subset of the output columns, e.g., only the array of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/>, the log-likelihood of determination <img class="formulaInl" alt="$ l(\boldsymbol c) $" src="form_80.png"/>, and the array of p-values <img class="formulaInl" alt="$ \boldsymbol p $" src="form_352.png"/>: <pre>SELECT coef, log_likelihood, p_values
+   FROM mlogregr('<em>sourceName</em>', '<em>dependentVariable</em>',
+  '<em>numCategories</em>', '<em>independentVariables</em>');</pre></li>
+</ul>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This function starts an iterative algorithm. It is not an aggregate function. Source and column names have to be passed as strings (due to limitations of the SQL syntax). </dd></dl>
+
+</div>
+</div>
+<a id="a116c95de21b112dedf99035a9b243fd7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a116c95de21b112dedf99035a9b243fd7">&#9670;&nbsp;</a></span>mlogregr() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">mlogregr_result mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>indepvar</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1ab68f7396f53ae3e32362240d077cbf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1ab68f7396f53ae3e32362240d077cbf">&#9670;&nbsp;</a></span>mlogregr() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">mlogregr_result mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>indepvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_num_iterations</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae1b5954340a0c98a6ed06eb5f3bb43b8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae1b5954340a0c98a6ed06eb5f3bb43b8">&#9670;&nbsp;</a></span>mlogregr() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">mlogregr_result mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>depvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>indepvar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_num_iterations</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a00f0c988e1b2b2fee9e4021450840061"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a00f0c988e1b2b2fee9e4021450840061">&#9670;&nbsp;</a></span>mlogregr_predict() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void mlogregr_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>id_col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>pred_type</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a4c61f2fd5a67a7babb700fdfbd4d146f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4c61f2fd5a67a7babb700fdfbd4d146f">&#9670;&nbsp;</a></span>mlogregr_predict() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void mlogregr_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>source</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>id_col_name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0fdfed54d63cefe260a0b74b9c7bbad5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0fdfed54d63cefe260a0b74b9c7bbad5">&#9670;&nbsp;</a></span>mlogregr_predict() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text mlogregr_predict </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aedc13474e6abbc88451d120ad97e44d4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aedc13474e6abbc88451d120ad97e44d4">&#9670;&nbsp;</a></span>mlogregr_train() <span class="overload">[1/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void mlogregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer_params</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>To include an intercept in the model, set one coordinate in the <code>independentVariables</code> array to 1.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source_table</td><td>Name of the source relation containing the training data </td></tr>
+    <tr><td class="paramname">output_table</td><td>Name of the output relation to contain the resulting model </td></tr>
+    <tr><td class="paramname">dependent_varname</td><td>Name of the dependent column (of type INTEGER) </td></tr>
+    <tr><td class="paramname">independent_varname</td><td>Name of the independent column (or an array expression) </td></tr>
+    <tr><td class="paramname">ref_category</td><td>The reference category specified by the user </td></tr>
+    <tr><td class="paramname">optimizer_params</td><td>Comma-separated list of parameters for the optimizer function</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>An output table (named 'output_table' above) containing following columns:<ul>
+<li><code>ref_category INTEGER</code> - Reference category</li>
+<li><code>coef FLOAT8[]</code> - Array of coefficients, <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/></li>
+<li><code>log_likelihood FLOAT8</code> - Log-likelihood <img class="formulaInl" alt="$ l(\boldsymbol c) $" src="form_80.png"/></li>
+<li><code>std_err FLOAT8[]</code> - Array of standard errors, <img class="formulaInl" alt="$ \mathit{se}(c_1), \dots, \mathit{se}(c_k) $" src="form_350.png"/></li>
+<li><code>z_stats FLOAT8[]</code> - Array of Wald z-statistics, <img class="formulaInl" alt="$ \boldsymbol z $" src="form_358.png"/></li>
+<li><code>p_values FLOAT8[]</code> - Array of Wald p-values, <img class="formulaInl" alt="$ \boldsymbol p $" src="form_352.png"/></li>
+<li><code>odds_ratios FLOAT8[]</code>: Array of odds ratios, <img class="formulaInl" alt="$ \mathit{odds}(c_1), \dots, \mathit{odds}(c_k) $" src="form_359.png"/></li>
+<li><code>condition_no FLOAT8</code> - The condition number of matrix <img class="formulaInl" alt="$ X^T A X $" src="form_360.png"/> during the iteration immediately <em>preceding</em> convergence (i.e., <img class="formulaInl" alt="$ A $" src="form_14.png"/> is computed using the coefficients of the previous iteration) An output table (named 'output_table'_summary) containing following columns:</li>
+<li><code>regression_type VARCHAR</code> - The regression type run (in this case it will be 'mlogit')</li>
+<li><code>source_table VARCHAR</code> - Source table containing the training data</li>
+<li><code>output_table VARCHAR</code> - Output table containing the trained model</li>
+<li><code>dependent_varname VARCHAR</code> - Name of the dependent column used for training</li>
+<li><code>independent_varname VARCHAR</code> - Name of the independent column used for training (or the ARRAY expression used for training)</li>
+<li><code>ref_category INTEGER</code> - The reference category specified by the user</li>
+<li><code>num_iterations INTEGER</code> - The number of iterations before the algorithm terminated</li>
+<li><code>num_rows_processed INTEGER</code> - The number of rows from training data used for training</li>
+<li><code>num_missing_rows_skipped INTEGER</code> - The number of rows skipped during training</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Get vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/> and all diagnostic statistics:<br />
+ <pre>SELECT mlogregr_train('<em>sourceName</em>', '<em>outputName</em>',
+         '<em>dependentVariable</em>', '<em>independentVariables</em>');
+         SELECT * from <em>outputName</em>;
+   </pre></li>
+<li>Get vector of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/>:<br />
+ <pre>SELECT coef from <em>outputName</em>;</pre></li>
+<li>Get a subset of the output columns, e.g., only the array of coefficients <img class="formulaInl" alt="$ \boldsymbol c $" src="form_79.png"/>, the log-likelihood of determination <img class="formulaInl" alt="$ l(\boldsymbol c) $" src="form_80.png"/>, and the array of p-values <img class="formulaInl" alt="$ \boldsymbol p $" src="form_352.png"/>: <pre>SELECT coef, log_likelihood, p_values
+   FROM <em>outputName</em>;</pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="afea8bd51ec241fa7a749a7c74ae0f580"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afea8bd51ec241fa7a749a7c74ae0f580">&#9670;&nbsp;</a></span>mlogregr_train() <span class="overload">[2/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void mlogregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa596f23c7bcfcd47b051d78de0b99c36"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa596f23c7bcfcd47b051d78de0b99c36">&#9670;&nbsp;</a></span>mlogregr_train() <span class="overload">[3/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void mlogregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0b4643da1ecfcfaf3a1563c820b3347d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0b4643da1ecfcfaf3a1563c820b3347d">&#9670;&nbsp;</a></span>mlogregr_train() <span class="overload">[4/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar mlogregr_train </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab8b5a7eb69a945435cba5a068576f2e4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab8b5a7eb69a945435cba5a068576f2e4">&#9670;&nbsp;</a></span>mlogregr_train() <span class="overload">[5/5]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar mlogregr_train </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_ff78ec617a20167dfb17882205d627df.html">regress</a></li><li class="navelem"><a class="el" href="multilogistic_8sql__in.html">multilogistic.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[50/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/arima_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/arima_8sql__in.html b/docs/v1.11/arima_8sql__in.html
new file mode 100644
index 0000000..2e03f1c
--- /dev/null
+++ b/docs/v1.11/arima_8sql__in.html
@@ -0,0 +1,1057 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: arima.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('arima_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">arima.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Arima function for forecasting of timeseries data.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a9af899e0260745b75b1872159fea1281"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#a9af899e0260745b75b1872159fea1281">arima_train</a> (text input_table, text output_table, text timestamp_column, text timeseries_column, text grouping_columns, boolean include_mean, integer[] non_seasonal_orders, text optimizer_params)</td></tr>
+<tr class="separator:a9af899e0260745b75b1872159fea1281"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac5b071de3f011a05b877afd6a415f993"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#ac5b071de3f011a05b877afd6a415f993">arima_train</a> (text input_table, text output_table, text timestamp_column, text timeseries_column, text grouping_columns, boolean include_mean, integer[] non_seasonal_orders)</td></tr>
+<tr class="separator:ac5b071de3f011a05b877afd6a415f993"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4d148eefd1d5fbf4e613d5f10df4930"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#ac4d148eefd1d5fbf4e613d5f10df4930">arima_train</a> (text input_table, text output_table, text timestamp_column, text timeseries_column, text grouping_columns, boolean include_mean)</td></tr>
+<tr class="separator:ac4d148eefd1d5fbf4e613d5f10df4930"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a47977919832510a148d237b11688aee6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#a47977919832510a148d237b11688aee6">arima_train</a> (text input_table, text output_table, text timestamp_column, text timeseries_column, text grouping_columns)</td></tr>
+<tr class="separator:a47977919832510a148d237b11688aee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1842458490b5b3a3a80d9663792c5e48"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#a1842458490b5b3a3a80d9663792c5e48">arima_train</a> (text input_table, text output_table, text timestamp_column, text timeseries_column)</td></tr>
+<tr class="separator:a1842458490b5b3a3a80d9663792c5e48"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52416f13110c15b6b7fe8736a4eb0202"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#a52416f13110c15b6b7fe8736a4eb0202">arima_forecast</a> (text model_table, text output_table, integer steps_ahead)</td></tr>
+<tr class="separator:a52416f13110c15b6b7fe8736a4eb0202"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a97025971eb41b5480e279e8b56d5c018"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#a97025971eb41b5480e279e8b56d5c018">arima_train</a> (text message)</td></tr>
+<tr class="separator:a97025971eb41b5480e279e8b56d5c018"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71f407786355a4226ff44a94b6c80589"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#a71f407786355a4226ff44a94b6c80589">arima_train</a> ()</td></tr>
+<tr class="separator:a71f407786355a4226ff44a94b6c80589"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ada9e8962693411ec919953bad1ef6007"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#ada9e8962693411ec919953bad1ef6007">arima_forecast</a> (text message)</td></tr>
+<tr class="separator:ada9e8962693411ec919953bad1ef6007"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a08645edc97c591bce174964ac309a3a0"><td class="memItemLeft" align="right" valign="top">text&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#a08645edc97c591bce174964ac309a3a0">arima_forecast</a> ()</td></tr>
+<tr class="separator:a08645edc97c591bce174964ac309a3a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6955c191d95e1531655cea4617caf12c"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#a6955c191d95e1531655cea4617caf12c">__arima_residual</a> (integer distid, float8[] tvals, integer p, integer d, integer q, float8[] phi, float8[] theta, float8 <a class="el" href="svec__util_8sql__in.html#a546b947319c9f48237120a31929bdfd9">mean</a>, float8[] prez)</td></tr>
+<tr class="separator:a6955c191d95e1531655cea4617caf12c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab686e554403a61a5404d83e692735ada"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#ab686e554403a61a5404d83e692735ada">__arima_diff</a> (float8[] tvals, integer d)</td></tr>
+<tr class="separator:ab686e554403a61a5404d83e692735ada"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af6f5621d79045e8270e6785ed0d98ce3"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#af6f5621d79045e8270e6785ed0d98ce3">__arima_adjust</a> (integer distid, float8[] curr_tvals, float8[] prev_tvals, integer p)</td></tr>
+<tr class="separator:af6f5621d79045e8270e6785ed0d98ce3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6a728067ea53fcb8fcbf66bbe296a783"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#a6a728067ea53fcb8fcbf66bbe296a783">__arima_lm_delta</a> (float8[] jj, float8[] jz, float8 u)</td></tr>
+<tr class="separator:a6a728067ea53fcb8fcbf66bbe296a783"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aadd3c7627043810a7e650e80b7fafd52"><td class="memItemLeft" align="right" valign="top">__arima_lm_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#aadd3c7627043810a7e650e80b7fafd52">__arima_lm</a> (integer distid, float8[] tvals, integer p, integer q, float8[] phi, float8[] theta, float8 <a class="el" href="svec__util_8sql__in.html#a546b947319c9f48237120a31929bdfd9">mean</a>, float8[] prez, float8[] prej)</td></tr>
+<tr class="separator:aadd3c7627043810a7e650e80b7fafd52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa919ba0d4fe79c3b55ee60b7ad17c7de"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#aa919ba0d4fe79c3b55ee60b7ad17c7de">__arima_lm_result_sfunc</a> (float8[] state_data, float8[] jj, float8[] jz, float8 z2)</td></tr>
+<tr class="separator:aa919ba0d4fe79c3b55ee60b7ad17c7de"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76b2c9d653383c81acde8383bb29aa97"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#a76b2c9d653383c81acde8383bb29aa97">__arima_lm_result_pfunc</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a76b2c9d653383c81acde8383bb29aa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afd8e1b6c57007a47ba64b22718d4e26f"><td class="memItemLeft" align="right" valign="top">__arima_lm_sum_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#afd8e1b6c57007a47ba64b22718d4e26f">__arima_lm_result_ffunc</a> (float8[] state_data)</td></tr>
+<tr class="separator:afd8e1b6c57007a47ba64b22718d4e26f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addf886fb09f74d10dfd1875c641d814b"><td class="memItemLeft" align="right" valign="top">aggregate __arima_lm_sum_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#addf886fb09f74d10dfd1875c641d814b">__arima_lm_result_agg</a> (float8[], float8[], float8)</td></tr>
+<tr class="separator:addf886fb09f74d10dfd1875c641d814b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a884a57ef18bd9e1a1b4137269786bf19"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#a884a57ef18bd9e1a1b4137269786bf19">__arima_lm_stat_sfunc</a> (float8[] state_data, integer distid, float8[] tvals, integer p, integer q, float8[] phi, float8[] theta, float8 <a class="el" href="svec__util_8sql__in.html#a546b947319c9f48237120a31929bdfd9">mean</a>, float8 delta)</td></tr>
+<tr class="separator:a884a57ef18bd9e1a1b4137269786bf19"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abb44a6b3bf206e966a9746dde942ddc3"><td class="memItemLeft" align="right" valign="top">__arima_lm_stat_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#abb44a6b3bf206e966a9746dde942ddc3">__arima_lm_stat_ffunc</a> (float8[] state_data)</td></tr>
+<tr class="separator:abb44a6b3bf206e966a9746dde942ddc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9b8675db85344ac26484f8c125f57b6"><td class="memItemLeft" align="right" valign="top">aggregate __arima_lm_stat_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html#ae9b8675db85344ac26484f8c125f57b6">__arima_lm_stat_agg</a> (integer, float8[], integer, integer, float8[], float8[], float8, float8)</td></tr>
+<tr class="separator:ae9b8675db85344ac26484f8c125f57b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>August 2013 </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="af6f5621d79045e8270e6785ed0d98ce3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af6f5621d79045e8270e6785ed0d98ce3">&#9670;&nbsp;</a></span>__arima_adjust()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __arima_adjust </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>distid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>curr_tvals</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>prev_tvals</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>p</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab686e554403a61a5404d83e692735ada"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab686e554403a61a5404d83e692735ada">&#9670;&nbsp;</a></span>__arima_diff()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __arima_diff </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>tvals</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>d</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aadd3c7627043810a7e650e80b7fafd52"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aadd3c7627043810a7e650e80b7fafd52">&#9670;&nbsp;</a></span>__arima_lm()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__arima_lm_result __arima_lm </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>distid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>tvals</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>q</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>phi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>theta</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>mean</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>prez</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>prej</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6a728067ea53fcb8fcbf66bbe296a783"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6a728067ea53fcb8fcbf66bbe296a783">&#9670;&nbsp;</a></span>__arima_lm_delta()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __arima_lm_delta </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>jj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>jz</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>u</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="addf886fb09f74d10dfd1875c641d814b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#addf886fb09f74d10dfd1875c641d814b">&#9670;&nbsp;</a></span>__arima_lm_result_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate __arima_lm_sum_result __arima_lm_result_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="afd8e1b6c57007a47ba64b22718d4e26f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#afd8e1b6c57007a47ba64b22718d4e26f">&#9670;&nbsp;</a></span>__arima_lm_result_ffunc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__arima_lm_sum_result __arima_lm_result_ffunc </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state_data</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a76b2c9d653383c81acde8383bb29aa97"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a76b2c9d653383c81acde8383bb29aa97">&#9670;&nbsp;</a></span>__arima_lm_result_pfunc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __arima_lm_result_pfunc </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa919ba0d4fe79c3b55ee60b7ad17c7de"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa919ba0d4fe79c3b55ee60b7ad17c7de">&#9670;&nbsp;</a></span>__arima_lm_result_sfunc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __arima_lm_result_sfunc </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state_data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>jj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>jz</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>z2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae9b8675db85344ac26484f8c125f57b6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae9b8675db85344ac26484f8c125f57b6">&#9670;&nbsp;</a></span>__arima_lm_stat_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate __arima_lm_stat_result __arima_lm_stat_agg </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">[], </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abb44a6b3bf206e966a9746dde942ddc3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abb44a6b3bf206e966a9746dde942ddc3">&#9670;&nbsp;</a></span>__arima_lm_stat_ffunc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">__arima_lm_stat_result __arima_lm_stat_ffunc </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state_data</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a884a57ef18bd9e1a1b4137269786bf19"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a884a57ef18bd9e1a1b4137269786bf19">&#9670;&nbsp;</a></span>__arima_lm_stat_sfunc()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __arima_lm_stat_sfunc </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state_data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>distid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>tvals</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>q</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>phi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>theta</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>mean</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>delta</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6955c191d95e1531655cea4617caf12c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6955c191d95e1531655cea4617caf12c">&#9670;&nbsp;</a></span>__arima_residual()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __arima_residual </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>distid</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>tvals</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>d</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>q</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>phi</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>theta</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>mean</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>prez</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a52416f13110c15b6b7fe8736a4eb0202"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a52416f13110c15b6b7fe8736a4eb0202">&#9670;&nbsp;</a></span>arima_forecast() <span class="overload">[1/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void arima_forecast </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>steps_ahead</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ada9e8962693411ec919953bad1ef6007"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ada9e8962693411ec919953bad1ef6007">&#9670;&nbsp;</a></span>arima_forecast() <span class="overload">[2/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text arima_forecast </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a08645edc97c591bce174964ac309a3a0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a08645edc97c591bce174964ac309a3a0">&#9670;&nbsp;</a></span>arima_forecast() <span class="overload">[3/3]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text arima_forecast </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9af899e0260745b75b1872159fea1281"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9af899e0260745b75b1872159fea1281">&#9670;&nbsp;</a></span>arima_train() <span class="overload">[1/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void arima_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>input_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>timestamp_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>timeseries_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_columns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>include_mean</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>non_seasonal_orders</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>optimizer_params</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac5b071de3f011a05b877afd6a415f993"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac5b071de3f011a05b877afd6a415f993">&#9670;&nbsp;</a></span>arima_train() <span class="overload">[2/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void arima_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>input_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>timestamp_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>timeseries_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_columns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>include_mean</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>non_seasonal_orders</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ac4d148eefd1d5fbf4e613d5f10df4930"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac4d148eefd1d5fbf4e613d5f10df4930">&#9670;&nbsp;</a></span>arima_train() <span class="overload">[3/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void arima_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>input_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>timestamp_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>timeseries_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_columns</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>include_mean</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a47977919832510a148d237b11688aee6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a47977919832510a148d237b11688aee6">&#9670;&nbsp;</a></span>arima_train() <span class="overload">[4/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void arima_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>input_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>timestamp_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>timeseries_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>grouping_columns</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a1842458490b5b3a3a80d9663792c5e48"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a1842458490b5b3a3a80d9663792c5e48">&#9670;&nbsp;</a></span>arima_train() <span class="overload">[5/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void arima_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>input_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>output_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>timestamp_column</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>timeseries_column</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a97025971eb41b5480e279e8b56d5c018"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a97025971eb41b5480e279e8b56d5c018">&#9670;&nbsp;</a></span>arima_train() <span class="overload">[6/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text arima_train </td>
+          <td>(</td>
+          <td class="paramtype">text&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a71f407786355a4226ff44a94b6c80589"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a71f407786355a4226ff44a94b6c80589">&#9670;&nbsp;</a></span>arima_train() <span class="overload">[7/7]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">text arima_train </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_5df0942b61a338b957d481e292820496.html">tsa</a></li><li class="navelem"><a class="el" href="arima_8sql__in.html">arima.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>



[48/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/bayes_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/bayes_8sql__in.html b/docs/v1.11/bayes_8sql__in.html
new file mode 100644
index 0000000..5ac3ace
--- /dev/null
+++ b/docs/v1.11/bayes_8sql__in.html
@@ -0,0 +1,981 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: bayes.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('bayes_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">bayes.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for naive Bayes.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a0671e6ac35a1967f41d2efb9e8417e1b"><td class="memItemLeft" align="right" valign="top">args_and_value_double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#a0671e6ac35a1967f41d2efb9e8417e1b">argmax_transition</a> (args_and_value_double oldmax, integer newkey, float8 newvalue)</td></tr>
+<tr class="separator:a0671e6ac35a1967f41d2efb9e8417e1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab150442ec577f4a0a3948176baf5ebd0"><td class="memItemLeft" align="right" valign="top">args_and_value_double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#ab150442ec577f4a0a3948176baf5ebd0">argmax_combine</a> (args_and_value_double max1, args_and_value_double max2)</td></tr>
+<tr class="separator:ab150442ec577f4a0a3948176baf5ebd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7017323fd6fad40c9acbbee5f1fec7e"><td class="memItemLeft" align="right" valign="top">integer []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#aa7017323fd6fad40c9acbbee5f1fec7e">argmax_final</a> (args_and_value_double finalstate)</td></tr>
+<tr class="separator:aa7017323fd6fad40c9acbbee5f1fec7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad47c68a2b8aeedf66d509f0c32a9732d"><td class="memItemLeft" align="right" valign="top">aggregate integer []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#ad47c68a2b8aeedf66d509f0c32a9732d">argmax</a> (integer key, float8 value)</td></tr>
+<tr class="separator:ad47c68a2b8aeedf66d509f0c32a9732d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeb4eae7843dd789cc38d5fc57f4ccfb2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#aeb4eae7843dd789cc38d5fc57f4ccfb2">create_nb_prepared_data_tables</a> (varchar trainingSource, varchar trainingClassColumn, varchar trainingAttrColumn, integer numAttrs, varchar featureProbsDestName, varchar classPriorsDestName)</td></tr>
+<tr class="memdesc:aeb4eae7843dd789cc38d5fc57f4ccfb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Precompute all class priors and feature probabilities.  <a href="#aeb4eae7843dd789cc38d5fc57f4ccfb2">More...</a><br /></td></tr>
+<tr class="separator:aeb4eae7843dd789cc38d5fc57f4ccfb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3ed5ddbc4cab1013db8604be58a6da3d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#a3ed5ddbc4cab1013db8604be58a6da3d">create_nb_prepared_data_tables</a> (varchar trainingSource, varchar trainingClassColumn, varchar trainingAttrColumn, varchar numericAttrsColumnIndices, integer numAttrs, varchar featureProbsDestName, varchar numericFeatureStatsDestName, varchar classPriorsDestName)</td></tr>
+<tr class="separator:a3ed5ddbc4cab1013db8604be58a6da3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a798402280fc6db710957ae3ab58767e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#a798402280fc6db710957ae3ab58767e0">create_nb_classify_view</a> (varchar featureProbsSource, varchar classPriorsSource, varchar classifySource, varchar classifyKeyColumn, varchar classifyAttrColumn, integer numAttrs, varchar destName)</td></tr>
+<tr class="memdesc:a798402280fc6db710957ae3ab58767e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a view with columns <code>(key, nb_classification)</code>  <a href="#a798402280fc6db710957ae3ab58767e0">More...</a><br /></td></tr>
+<tr class="separator:a798402280fc6db710957ae3ab58767e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e8e24120269be2b58f959ab5473b2cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#a4e8e24120269be2b58f959ab5473b2cb">create_nb_classify_view</a> (varchar featureProbsSource, varchar classPriorsSource, varchar classifySource, varchar classifyKeyColumn, varchar classifyAttrColumn, integer numAttrs, varchar numericFeatureStatsSource, varchar destName)</td></tr>
+<tr class="separator:a4e8e24120269be2b58f959ab5473b2cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6472f620099368cb8c334e0badb12133"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#a6472f620099368cb8c334e0badb12133">create_nb_classify_view</a> (varchar trainingSource, varchar trainingClassColumn, varchar trainingAttrColumn, varchar classifySource, varchar classifyKeyColumn, varchar classifyAttrColumn, integer numAttrs, varchar destName)</td></tr>
+<tr class="separator:a6472f620099368cb8c334e0badb12133"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a76a03f1d7ff2b1891cb310668077b386"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#a76a03f1d7ff2b1891cb310668077b386">create_nb_classify_view</a> (varchar trainingSource, varchar trainingClassColumn, varchar trainingAttrColumn, varchar numericAttrsColumnIndices, varchar classifySource, varchar classifyKeyColumn, varchar classifyAttrColumn, integer numAttrs, varchar destName)</td></tr>
+<tr class="separator:a76a03f1d7ff2b1891cb310668077b386"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a163afffd0c845d325f060f74bcf02243"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#a163afffd0c845d325f060f74bcf02243">create_nb_probs_view</a> (varchar featureProbsSource, varchar classPriorsSource, varchar classifySource, varchar classifyKeyColumn, varchar classifyAttrColumn, integer numAttrs, varchar destName)</td></tr>
+<tr class="memdesc:a163afffd0c845d325f060f74bcf02243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create view with columns <code>(key, class, nb_prob)</code>  <a href="#a163afffd0c845d325f060f74bcf02243">More...</a><br /></td></tr>
+<tr class="separator:a163afffd0c845d325f060f74bcf02243"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e02b0ebb0b4c2ca77b1748662bae78f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#a2e02b0ebb0b4c2ca77b1748662bae78f">create_nb_probs_view</a> (varchar featureProbsSource, varchar classPriorsSource, varchar classifySource, varchar classifyKeyColumn, varchar classifyAttrColumn, integer numAttrs, varchar numericFeatureStatsSource, varchar destName)</td></tr>
+<tr class="separator:a2e02b0ebb0b4c2ca77b1748662bae78f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aba5d695641530e55b25c8007b77142b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#aba5d695641530e55b25c8007b77142b9">create_nb_probs_view</a> (varchar trainingSource, varchar trainingClassColumn, varchar trainingAttrColumn, varchar classifySource, varchar classifyKeyColumn, varchar classifyAttrColumn, integer numAttrs, varchar destName)</td></tr>
+<tr class="separator:aba5d695641530e55b25c8007b77142b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d1186aa04f4d4e3ac44035467818d3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bayes_8sql__in.html#a6d1186aa04f4d4e3ac44035467818d3c">create_nb_probs_view</a> (varchar trainingSource, varchar trainingClassColumn, varchar trainingAttrColumn, varchar numericAttrsColumnIndices, varchar classifySource, varchar classifyKeyColumn, varchar classifyAttrColumn, integer numAttrs, varchar destName)</td></tr>
+<tr class="separator:a6d1186aa04f4d4e3ac44035467818d3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>January 2011</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>For a brief introduction to Naive Bayes Classification, see the module description <a class="el" href="group__grp__bayes.html">Naive Bayes Classification</a>. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="ad47c68a2b8aeedf66d509f0c32a9732d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad47c68a2b8aeedf66d509f0c32a9732d">&#9670;&nbsp;</a></span>argmax()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate integer [] argmax </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>value</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ab150442ec577f4a0a3948176baf5ebd0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab150442ec577f4a0a3948176baf5ebd0">&#9670;&nbsp;</a></span>argmax_combine()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">args_and_value_double argmax_combine </td>
+          <td>(</td>
+          <td class="paramtype">args_and_value_double&#160;</td>
+          <td class="paramname"><em>max1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">args_and_value_double&#160;</td>
+          <td class="paramname"><em>max2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa7017323fd6fad40c9acbbee5f1fec7e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa7017323fd6fad40c9acbbee5f1fec7e">&#9670;&nbsp;</a></span>argmax_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">integer [] argmax_final </td>
+          <td>(</td>
+          <td class="paramtype">args_and_value_double&#160;</td>
+          <td class="paramname"><em>finalstate</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0671e6ac35a1967f41d2efb9e8417e1b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0671e6ac35a1967f41d2efb9e8417e1b">&#9670;&nbsp;</a></span>argmax_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">args_and_value_double argmax_transition </td>
+          <td>(</td>
+          <td class="paramtype">args_and_value_double&#160;</td>
+          <td class="paramname"><em>oldmax</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>newkey</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>newvalue</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a798402280fc6db710957ae3ab58767e0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a798402280fc6db710957ae3ab58767e0">&#9670;&nbsp;</a></span>create_nb_classify_view() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_nb_classify_view </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>featureProbsSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classPriorsSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifySource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyKeyColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numAttrs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>destName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The created relation will be</p>
+<p><code>{TABLE|VIEW} <em>destName</em> (key, nb_classification)</code></p>
+<p>where <code>nb_classification</code> is an array containing the most likely class(es) of the record in <em>classifySource</em> identified by <code>key</code>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">featureProbsSource</td><td>Name of table with precomputed feature probabilities, as created with <a class="el" href="bayes_8sql__in.html#aeb4eae7843dd789cc38d5fc57f4ccfb2" title="Precompute all class priors and feature probabilities. ">create_nb_prepared_data_tables()</a> </td></tr>
+    <tr><td class="paramname">classPriorsSource</td><td>Name of table with precomputed class priors, as created with <a class="el" href="bayes_8sql__in.html#aeb4eae7843dd789cc38d5fc57f4ccfb2" title="Precompute all class priors and feature probabilities. ">create_nb_prepared_data_tables()</a> </td></tr>
+    <tr><td class="paramname">classifySource</td><td>Name of the relation that contains data to be classified </td></tr>
+    <tr><td class="paramname">classifyKeyColumn</td><td>Name of column in <em>classifySource</em> that can serve as unique identifier (the key of the source relation) </td></tr>
+    <tr><td class="paramname">classifyAttrColumn</td><td>Name of attributes-array column in <em>classifySource</em> </td></tr>
+    <tr><td class="paramname">numAttrs</td><td>Number of attributes to use for classification </td></tr>
+    <tr><td class="paramname">destName</td><td>Name of the view to create</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd><code>create_nb_classify_view</code> can be called in an ad-hoc fashion. See <a class="el" href="group__grp__bayes.html">Naive Bayes Classification</a> for instructions.</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ol type="1">
+<li>Create Naive Bayes classifications view: <pre>SELECT <a class="el" href="bayes_8sql__in.html#a76a03f1d7ff2b1891cb310668077b386">create_nb_classify_view</a>(
+    '<em>featureProbsName</em>', '<em>classPriorsName</em>',
+    '<em>classifySource</em>', '<em>classifyKeyColumn</em>', '<em>classifyAttrColumn</em>',
+    <em>numAttrs</em>, '<em>destName</em>'
+);</pre></li>
+<li>Show Naive Bayes classifications: <pre>SELECT * FROM <em>destName</em>;</pre> </li>
+</ol>
+</dd></dl>
+
+</div>
+</div>
+<a id="a4e8e24120269be2b58f959ab5473b2cb"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4e8e24120269be2b58f959ab5473b2cb">&#9670;&nbsp;</a></span>create_nb_classify_view() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_nb_classify_view </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>featureProbsSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classPriorsSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifySource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyKeyColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numAttrs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>numericFeatureStatsSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>destName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6472f620099368cb8c334e0badb12133"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6472f620099368cb8c334e0badb12133">&#9670;&nbsp;</a></span>create_nb_classify_view() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_nb_classify_view </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingClassColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifySource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyKeyColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numAttrs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>destName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a76a03f1d7ff2b1891cb310668077b386"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a76a03f1d7ff2b1891cb310668077b386">&#9670;&nbsp;</a></span>create_nb_classify_view() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_nb_classify_view </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingClassColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>numericAttrsColumnIndices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifySource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyKeyColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numAttrs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>destName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aeb4eae7843dd789cc38d5fc57f4ccfb2"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aeb4eae7843dd789cc38d5fc57f4ccfb2">&#9670;&nbsp;</a></span>create_nb_prepared_data_tables() <span class="overload">[1/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_nb_prepared_data_tables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingClassColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numAttrs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>featureProbsDestName</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classPriorsDestName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>Feature probabilities are stored in a table of format </p><pre>TABLE <em>featureProbsDestName</em> (
+    class INTEGER,
+    attr INTEGER,
+    value INTEGER,
+    cnt INTEGER,
+    attr_cnt INTEGER
+)</pre><p>Class priors are stored in a table of format </p><pre>TABLE <em>classPriorsDestName</em> (
+    class INTEGER,
+    class_cnt INTEGER,
+    all_cnt INTEGER
+)</pre><dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">trainingSource</td><td>Name of relation containing the training data </td></tr>
+    <tr><td class="paramname">trainingClassColumn</td><td>Name of class column in training data </td></tr>
+    <tr><td class="paramname">trainingAttrColumn</td><td>Name of attributes-array column in training data </td></tr>
+    <tr><td class="paramname">numAttrs</td><td>Number of attributes to use for classification </td></tr>
+    <tr><td class="paramname">featureProbsDestName</td><td>Name of feature-probabilities table to create </td></tr>
+    <tr><td class="paramname">classPriorsDestName</td><td>Name of class-priors table to create</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section user"><dt>Usage</dt><dd>Precompute feature probabilities and class priors: <pre>SELECT <a class="el" href="bayes_8sql__in.html#a3ed5ddbc4cab1013db8604be58a6da3d">create_nb_prepared_data_tables</a>(
+    '<em>trainingSource</em>', '<em>trainingClassColumn</em>', '<em>trainingAttrColumn</em>',
+    <em>numAttrs</em>, '<em>featureProbsName</em>', '<em>classPriorsName</em>'
+);</pre> </dd></dl>
+
+</div>
+</div>
+<a id="a3ed5ddbc4cab1013db8604be58a6da3d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3ed5ddbc4cab1013db8604be58a6da3d">&#9670;&nbsp;</a></span>create_nb_prepared_data_tables() <span class="overload">[2/2]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_nb_prepared_data_tables </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingClassColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>numericAttrsColumnIndices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numAttrs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>featureProbsDestName</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>numericFeatureStatsDestName</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classPriorsDestName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a163afffd0c845d325f060f74bcf02243"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a163afffd0c845d325f060f74bcf02243">&#9670;&nbsp;</a></span>create_nb_probs_view() <span class="overload">[1/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_nb_probs_view </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>featureProbsSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classPriorsSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifySource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyKeyColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numAttrs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>destName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<p>The created view will be of the following form:</p>
+<pre>VIEW <em>destName</em> (
+    key ANYTYPE,
+    class INTEGER,
+    nb_prob FLOAT8
+)</pre><p>where <code>nb_prob</code> is the Naive-Bayes probability that <code>class</code> is the true class of the record in <em>classifySource</em> identified by <code>key</code>.</p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">featureProbsSource</td><td>Name of table with precomputed feature probabilities, as created with <a class="el" href="bayes_8sql__in.html#aeb4eae7843dd789cc38d5fc57f4ccfb2" title="Precompute all class priors and feature probabilities. ">create_nb_prepared_data_tables()</a> </td></tr>
+    <tr><td class="paramname">classPriorsSource</td><td>Name of table with precomputed class priors, as created with <a class="el" href="bayes_8sql__in.html#aeb4eae7843dd789cc38d5fc57f4ccfb2" title="Precompute all class priors and feature probabilities. ">create_nb_prepared_data_tables()</a> </td></tr>
+    <tr><td class="paramname">classifySource</td><td>Name of the relation that contains data to be classified </td></tr>
+    <tr><td class="paramname">classifyKeyColumn</td><td>Name of column in <em>classifySource</em> that can serve as unique identifier (the key of the source relation) </td></tr>
+    <tr><td class="paramname">classifyAttrColumn</td><td>Name of attributes-array column in <em>classifySource</em> </td></tr>
+    <tr><td class="paramname">numAttrs</td><td>Number of attributes to use for classification </td></tr>
+    <tr><td class="paramname">destName</td><td>Name of the view to create</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd><code>create_nb_probs_view</code> can be called in an ad-hoc fashion. See <a class="el" href="group__grp__bayes.html">Naive Bayes Classification</a> for instructions.</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ol type="1">
+<li>Create Naive Bayes probabilities view: <pre>SELECT <a class="el" href="bayes_8sql__in.html#a6d1186aa04f4d4e3ac44035467818d3c">create_nb_probs_view</a>(
+    '<em>featureProbsName</em>', '<em>classPriorsName</em>',
+    '<em>classifySource</em>', '<em>classifyKeyColumn</em>', '<em>classifyAttrColumn</em>',
+    <em>numAttrs</em>, '<em>destName</em>'
+);</pre></li>
+<li>Show Naive Bayes probabilities: <pre>SELECT * FROM <em>destName</em>;</pre> </li>
+</ol>
+</dd></dl>
+
+</div>
+</div>
+<a id="a2e02b0ebb0b4c2ca77b1748662bae78f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2e02b0ebb0b4c2ca77b1748662bae78f">&#9670;&nbsp;</a></span>create_nb_probs_view() <span class="overload">[2/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_nb_probs_view </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>featureProbsSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classPriorsSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifySource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyKeyColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numAttrs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>numericFeatureStatsSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>destName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aba5d695641530e55b25c8007b77142b9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aba5d695641530e55b25c8007b77142b9">&#9670;&nbsp;</a></span>create_nb_probs_view() <span class="overload">[3/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_nb_probs_view </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingClassColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifySource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyKeyColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numAttrs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>destName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6d1186aa04f4d4e3ac44035467818d3c"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d1186aa04f4d4e3ac44035467818d3c">&#9670;&nbsp;</a></span>create_nb_probs_view() <span class="overload">[4/4]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void create_nb_probs_view </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingSource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingClassColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>trainingAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>numericAttrsColumnIndices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifySource</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyKeyColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>classifyAttrColumn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>numAttrs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>destName</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_a032ee23f15d1a44cef6aabd495d0b57.html">bayes</a></li><li class="navelem"><a class="el" href="bayes_8sql__in.html">bayes.sql_in</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/bc_s.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/bc_s.png b/docs/v1.11/bc_s.png
new file mode 100644
index 0000000..224b29a
Binary files /dev/null and b/docs/v1.11/bc_s.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/bdwn.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/bdwn.png b/docs/v1.11/bdwn.png
new file mode 100644
index 0000000..940a0b9
Binary files /dev/null and b/docs/v1.11/bdwn.png differ

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/closed.png
----------------------------------------------------------------------
diff --git a/docs/v1.11/closed.png b/docs/v1.11/closed.png
new file mode 100644
index 0000000..98cc2c9
Binary files /dev/null and b/docs/v1.11/closed.png differ



[40/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_315f21b9a614814e8fbfed31937fc0da.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_315f21b9a614814e8fbfed31937fc0da.html b/docs/v1.11/dir_315f21b9a614814e8fbfed31937fc0da.html
new file mode 100644
index 0000000..1667e10
--- /dev/null
+++ b/docs/v1.11/dir_315f21b9a614814e8fbfed31937fc0da.html
@@ -0,0 +1,133 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: pca Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_315f21b9a614814e8fbfed31937fc0da.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">pca Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:pca_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca_8sql__in.html">pca.sql_in</a></td></tr>
+<tr class="memdesc:pca_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">Principal Component Analysis. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:pca__project_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pca__project_8sql__in.html">pca_project.sql_in</a></td></tr>
+<tr class="memdesc:pca__project_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">Principal Component Analysis Projection. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_315f21b9a614814e8fbfed31937fc0da.html">pca</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_346f5a65e673d18ebb88fcd994972902.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_346f5a65e673d18ebb88fcd994972902.html b/docs/v1.11/dir_346f5a65e673d18ebb88fcd994972902.html
new file mode 100644
index 0000000..16dc7dd
--- /dev/null
+++ b/docs/v1.11/dir_346f5a65e673d18ebb88fcd994972902.html
@@ -0,0 +1,136 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: glm Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_346f5a65e673d18ebb88fcd994972902.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">glm Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:glm_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="glm_8sql__in.html">glm.sql_in</a></td></tr>
+<tr class="memdesc:glm_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for GLM (Poisson) <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:multiresponseglm_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multiresponseglm_8sql__in.html">multiresponseglm.sql_in</a></td></tr>
+<tr class="memdesc:multiresponseglm_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for multinomial regression. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ordinal_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ordinal_8sql__in.html">ordinal.sql_in</a></td></tr>
+<tr class="memdesc:ordinal_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for ordinal regression. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_346f5a65e673d18ebb88fcd994972902.html">glm</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_450eb4b4c1b972a45a3073b4cf0d30d8.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_450eb4b4c1b972a45a3073b4cf0d30d8.html b/docs/v1.11/dir_450eb4b4c1b972a45a3073b4cf0d30d8.html
new file mode 100644
index 0000000..a9fd612
--- /dev/null
+++ b/docs/v1.11/dir_450eb4b4c1b972a45a3073b4cf0d30d8.html
@@ -0,0 +1,132 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: convex Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_450eb4b4c1b972a45a3073b4cf0d30d8.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">convex Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:lmf_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="lmf_8sql__in.html">lmf.sql_in</a></td></tr>
+<tr class="memdesc:lmf_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for low-rank matrix factorization. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:utils__regularization_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils__regularization_8sql__in.html">utils_regularization.sql_in</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_450eb4b4c1b972a45a3073b4cf0d30d8.html">convex</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_4ce76aedc0a361354a0cdf298ef8a21b.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_4ce76aedc0a361354a0cdf298ef8a21b.html b/docs/v1.11/dir_4ce76aedc0a361354a0cdf298ef8a21b.html
new file mode 100644
index 0000000..0eb1ea1
--- /dev/null
+++ b/docs/v1.11/dir_4ce76aedc0a361354a0cdf298ef8a21b.html
@@ -0,0 +1,177 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: modules Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_4ce76aedc0a361354a0cdf298ef8a21b.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">modules Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_e3c5a88cb45d2230a8fc199a8110e02f"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_e3c5a88cb45d2230a8fc199a8110e02f.html">assoc_rules</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_a032ee23f15d1a44cef6aabd495d0b57"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_a032ee23f15d1a44cef6aabd495d0b57.html">bayes</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_70d8e2ac93858c66799eabe768a70190"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_70d8e2ac93858c66799eabe768a70190.html">conjugate_gradient</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_450eb4b4c1b972a45a3073b4cf0d30d8"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_450eb4b4c1b972a45a3073b4cf0d30d8.html">convex</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_243a6dc3b90609ab2fa0db538dccc7e4"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_243a6dc3b90609ab2fa0db538dccc7e4.html">crf</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_ce146fe66af6ab0fb08bd3845fb9f804"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_ce146fe66af6ab0fb08bd3845fb9f804.html">elastic_net</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_346f5a65e673d18ebb88fcd994972902"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_346f5a65e673d18ebb88fcd994972902.html">glm</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_5591964dd9d2a0de4cacde18df51246f"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_5591964dd9d2a0de4cacde18df51246f.html">graph</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_81ad8ebe36740ee548289daebe004715"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_81ad8ebe36740ee548289daebe004715.html">kmeans</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_88709bbec5405cf908e9c046a270c403"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_88709bbec5405cf908e9c046a270c403.html">knn</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_7bd8cc8c955bd44740c1673f7ff31105"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_7bd8cc8c955bd44740c1673f7ff31105.html">lda</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_311c53d9b554ece18282a914235231b3"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_311c53d9b554ece18282a914235231b3.html">linalg</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_d79f036e19ca50f1361675a4687317bc"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_d79f036e19ca50f1361675a4687317bc.html">linear_systems</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_315f21b9a614814e8fbfed31937fc0da"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_315f21b9a614814e8fbfed31937fc0da.html">pca</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_7e9c6fdb32abf4292fff6cf9ea7ab593"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_7e9c6fdb32abf4292fff6cf9ea7ab593.html">pmml</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_b998f480c2a1ce193973609b6fed532a"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_b998f480c2a1ce193973609b6fed532a.html">prob</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_95cb5eef4fa03e373c9501c2b1e64548"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_95cb5eef4fa03e373c9501c2b1e64548.html">recursive_partitioning</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_ff78ec617a20167dfb17882205d627df"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_ff78ec617a20167dfb17882205d627df.html">regress</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_b7ca6e41845bddf70a4061187a1f214f"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_b7ca6e41845bddf70a4061187a1f214f.html">sample</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_997c3e15c9d18078f134bb6226e9c9a5"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_997c3e15c9d18078f134bb6226e9c9a5.html">stats</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_6480c6b2ddeba401658539ebab47bf38"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_6480c6b2ddeba401658539ebab47bf38.html">summary</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_c312182b450ff3f70c9f0767949573f6"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_c312182b450ff3f70c9f0767949573f6.html">svm</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_5df0942b61a338b957d481e292820496"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_5df0942b61a338b957d481e292820496.html">tsa</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_08a20377491e298f2a18634c46688672"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_08a20377491e298f2a18634c46688672.html">utilities</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_5d9e5096d85eccd70738b30ca4156c1c"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_5d9e5096d85eccd70738b30ca4156c1c.html">validation</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_5591964dd9d2a0de4cacde18df51246f.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_5591964dd9d2a0de4cacde18df51246f.html b/docs/v1.11/dir_5591964dd9d2a0de4cacde18df51246f.html
new file mode 100644
index 0000000..fab9723
--- /dev/null
+++ b/docs/v1.11/dir_5591964dd9d2a0de4cacde18df51246f.html
@@ -0,0 +1,131 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: graph Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_5591964dd9d2a0de4cacde18df51246f.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">graph Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:pagerank_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="pagerank_8sql__in.html">pagerank.sql_in</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:sssp_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sssp_8sql__in.html">sssp.sql_in</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_5591964dd9d2a0de4cacde18df51246f.html">graph</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_5782bb6b417390b9b62f39df14784c0c.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_5782bb6b417390b9b62f39df14784c0c.html b/docs/v1.11/dir_5782bb6b417390b9b62f39df14784c0c.html
new file mode 100644
index 0000000..d89736f
--- /dev/null
+++ b/docs/v1.11/dir_5782bb6b417390b9b62f39df14784c0c.html
@@ -0,0 +1,131 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: incubator-madlib Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_5782bb6b417390b9b62f39df14784c0c.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">incubator-madlib Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_93241c6f02785cda96cb2a5453b16091"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_93241c6f02785cda96cb2a5453b16091.html">methods</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:dir_b6a04cbbf19cfc3536564b9928d4f3dc"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_5d9e5096d85eccd70738b30ca4156c1c.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_5d9e5096d85eccd70738b30ca4156c1c.html b/docs/v1.11/dir_5d9e5096d85eccd70738b30ca4156c1c.html
new file mode 100644
index 0000000..9af624b
--- /dev/null
+++ b/docs/v1.11/dir_5d9e5096d85eccd70738b30ca4156c1c.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: validation Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_5d9e5096d85eccd70738b30ca4156c1c.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">validation Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:cross__validation_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cross__validation_8sql__in.html">cross_validation.sql_in</a></td></tr>
+<tr class="memdesc:cross__validation_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL functions for cross validation. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_5d9e5096d85eccd70738b30ca4156c1c.html">validation</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_5df0942b61a338b957d481e292820496.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_5df0942b61a338b957d481e292820496.html b/docs/v1.11/dir_5df0942b61a338b957d481e292820496.html
new file mode 100644
index 0000000..699c6f0
--- /dev/null
+++ b/docs/v1.11/dir_5df0942b61a338b957d481e292820496.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: tsa Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_5df0942b61a338b957d481e292820496.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">tsa Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:arima_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="arima_8sql__in.html">arima.sql_in</a></td></tr>
+<tr class="memdesc:arima_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arima function for forecasting of timeseries data. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_5df0942b61a338b957d481e292820496.html">tsa</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_6480c6b2ddeba401658539ebab47bf38.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_6480c6b2ddeba401658539ebab47bf38.html b/docs/v1.11/dir_6480c6b2ddeba401658539ebab47bf38.html
new file mode 100644
index 0000000..a9a81b8
--- /dev/null
+++ b/docs/v1.11/dir_6480c6b2ddeba401658539ebab47bf38.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: summary Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_6480c6b2ddeba401658539ebab47bf38.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">summary Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:summary_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="summary_8sql__in.html">summary.sql_in</a></td></tr>
+<tr class="memdesc:summary_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">Summary function for descriptive statistics. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_6480c6b2ddeba401658539ebab47bf38.html">summary</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_70d8e2ac93858c66799eabe768a70190.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_70d8e2ac93858c66799eabe768a70190.html b/docs/v1.11/dir_70d8e2ac93858c66799eabe768a70190.html
new file mode 100644
index 0000000..933d436
--- /dev/null
+++ b/docs/v1.11/dir_70d8e2ac93858c66799eabe768a70190.html
@@ -0,0 +1,130 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: conjugate_gradient Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_70d8e2ac93858c66799eabe768a70190.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">conjugate_gradient Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:conjugate__gradient_8sql__in"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="conjugate__gradient_8sql__in.html">conjugate_gradient.sql_in</a></td></tr>
+<tr class="memdesc:conjugate__gradient_8sql__in"><td class="mdescLeft">&#160;</td><td class="mdescRight">SQL function computing Conjugate Gradient. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li><li class="navelem"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></li><li class="navelem"><a class="el" href="dir_4ce76aedc0a361354a0cdf298ef8a21b.html">modules</a></li><li class="navelem"><a class="el" href="dir_70d8e2ac93858c66799eabe768a70190.html">conjugate_gradient</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/dir_71a41f8b7207fbbc465a4e4d95589314.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/dir_71a41f8b7207fbbc465a4e4d95589314.html b/docs/v1.11/dir_71a41f8b7207fbbc465a4e4d95589314.html
new file mode 100644
index 0000000..b1d3cf2
--- /dev/null
+++ b/docs/v1.11/dir_71a41f8b7207fbbc465a4e4d95589314.html
@@ -0,0 +1,129 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: ports Directory Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('dir_71a41f8b7207fbbc465a4e4d95589314.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">ports Directory Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="subdirs"></a>
+Directories</h2></td></tr>
+<tr class="memitem:dir_bae1ff22d939d9eb42c7df1d0670bc94"><td class="memItemLeft" align="right" valign="top">directory &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_bae1ff22d939d9eb42c7df1d0670bc94.html">postgres</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_5782bb6b417390b9b62f39df14784c0c.html">incubator-madlib</a></li><li class="navelem"><a class="el" href="dir_b6a04cbbf19cfc3536564b9928d4f3dc.html">src</a></li><li class="navelem"><a class="el" href="dir_71a41f8b7207fbbc465a4e4d95589314.html">ports</a></li>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[28/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__crf.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__crf.html b/docs/v1.11/group__grp__crf.html
new file mode 100644
index 0000000..9b149c1
--- /dev/null
+++ b/docs/v1.11/group__grp__crf.html
@@ -0,0 +1,619 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Conditional Random Field</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__crf.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Conditional Random Field<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#train_feature">Training Feature Generation</a> </li>
+<li>
+<a href="#train">CRF Training Function</a> </li>
+<li>
+<a href="#test_feature">Testing Feature Generation</a> </li>
+<li>
+<a href="#inference">Inference using Viterbi</a> </li>
+<li>
+<a href="#usage">Using CRF</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#background">Technical Background</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>A conditional random field (CRF) is a type of discriminative, undirected probabilistic graphical model. A linear-chain CRF is a special type of CRF that assumes the current state depends only on the previous state.</p>
+<p>Feature extraction modules are provided for text-analysis tasks such as part-of-speech (POS) tagging and named-entity resolution (NER). Currently, six feature types are implemented:</p>
+<ul>
+<li>Edge Feature: transition feature that encodes the transition feature weight from current label to next label.</li>
+<li>Start Feature: fired when the current token is the first token in a sequence.</li>
+<li>End Feature: fired when the current token is the last token in a sequence.</li>
+<li>Word Feature: fired when the current token is observed in the trained dictionary.</li>
+<li>Unknown Feature: fired when the current token is not observed in the trained dictionary for at least a certain number of times (default 1).</li>
+<li>Regex Feature: fired when the current token can be matched by a regular expression.</li>
+</ul>
+<p>A Viterbi implementation is also provided to get the best label sequence and the conditional probability <img class="formulaInl" alt="$ \Pr( \text{best label sequence} \mid \text{sequence}) $" src="form_56.png"/>.</p>
+<p>Following steps are required for CRF Learning and Inference:</p><ol type="1">
+<li><a href="#train_feature">Training Feature Generation</a></li>
+<li><a href="#train">CRF Training</a></li>
+<li><a href="#test_feature">Testing Feature Generation</a></li>
+<li><a href="#inference">Inference using Viterbi</a></li>
+</ol>
+<p><a class="anchor" id="train_feature"></a></p><dl class="section user"><dt>Training Feature Generation</dt><dd>The function takes <code>train_segment_tbl</code> and <code>regex_tbl</code> as input and does feature generation generating three tables <code>dictionary_tbl</code>, <code>train_feature_tbl</code> and <code>train_featureset_tbl</code>, that are required as an input for CRF training. <pre class="syntax">
+crf_train_fgen(train_segment_tbl,
+               regex_tbl,
+               label_tbl,
+               dictionary_tbl,
+               train_feature_tbl,
+               train_featureset_tbl)
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>train_segment_tbl </dt>
+<dd>TEXT. Name of the training segment table. The table is expected to have the following columns: <table class="output">
+<tr>
+<th>doc_id </th><td>INTEGER. Document id column  </td></tr>
+<tr>
+<th>start_pos </th><td>INTEGER. Index of a particular term in the respective document  </td></tr>
+<tr>
+<th>seg_text </th><td>TEXT. Term at the respective <code>start_pos</code> in the document  </td></tr>
+<tr>
+<th>label </th><td>INTEGER. Label id for the term corresponding to the actual label from <code>label_tbl</code>   </td></tr>
+</table>
+</dd>
+<dt>regex_tbl </dt>
+<dd>TEXT. Name of the regular expression table. The table is expected to have the following columns: <table class="output">
+<tr>
+<th>pattern </th><td>TEXT. Regular Expression  </td></tr>
+<tr>
+<th>name </th><td>TEXT. Regular Expression name  </td></tr>
+</table>
+</dd>
+<dt>label_tbl </dt>
+<dd>TEXT. Name of the table containing unique labels and their id's. The table is expected to have the following columns: <table class="output">
+<tr>
+<th>id </th><td>INTEGER. Unique label id. NOTE: Must range from 0 to total number of labels in the table - 1.   </td></tr>
+<tr>
+<th>label </th><td>TEXT. Label name  </td></tr>
+</table>
+</dd>
+<dt>dictionary_tbl </dt>
+<dd>TEXT. Name of the dictionary table to be created containing unique terms along with their counts. The table will have the following columns: <table class="output">
+<tr>
+<th>token </th><td>TEXT. Contains all the unique terms found in <code>train_segment_tbl</code>   </td></tr>
+<tr>
+<th>total </th><td>INTEGER. Respective counts for the terms  </td></tr>
+</table>
+</dd>
+<dt>train_feature_tbl</dt>
+<dd></dd>
+<dt></dt>
+<dd><p class="startdd">TEXT. Name of the training feature table to be created. The table will have the following columns: </p><table class="output">
+<tr>
+<th>doc_id </th><td>INTEGER. Document id  </td></tr>
+<tr>
+<th>f_size </th><td>INTEGER. Feature set size. This value will be same for all the tuples in the table  </td></tr>
+<tr>
+<th>sparse_r </th><td>DOUBLE PRECISION[]. Array union of individual single state features (previous label, label, feature index, start position, training existance indicator), ordered by their start position.  </td></tr>
+<tr>
+<th>dense_m </th><td>DOUBLE PRECISION[]. Array union of (previous label, label, feature index, start position, training existance indicator) of edge features ordered by start position.  </td></tr>
+<tr>
+<th>sparse_m </th><td>DOUBLE PRECISION[]. Array union of (feature index, previous label, label) of edge features ordered by feature index.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>train_featureset_tbl </dt>
+<dd>TEXT. Name of the table to be created containing distinct featuresets generated from training feature extraction. The table will have the following columns: <table class="output">
+<tr>
+<th>f_index </th><td>INTEGER. Column containing distinct featureset ids  </td></tr>
+<tr>
+<th>f_name </th><td>TEXT. Feature name   </td></tr>
+<tr>
+<th>feature </th><td>ARRAY. Feature value. The value is of the form [L1, L2] <br />
+ - If L1 = -1: represents single state feature with L2 being the current label id. <br />
+ - If L1 != -1: represents transition feature with L1 be the previous label and L2 be the current label.    </td></tr>
+</table>
+</dd>
+</dl>
+</dd></dl>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Linear Chain CRF Training Function</dt><dd>The function takes <code>train_feature_tbl</code> and <code>train_featureset_tbl</code> tables generated in the training feature generation steps as input along with other required parameters and produces two output tables <code>crf_stats_tbl</code> and <code>crf_weights_tbl</code>.</dd></dl>
+<pre class="syntax">
+lincrf_train(train_feature_tbl,
+             train_featureset_tbl,
+             label_tbl,
+             crf_stats_tbl,
+             crf_weights_tbl
+             max_iterations
+            )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>train_feature_tbl </dt>
+<dd><p class="startdd">TEXT. Name of the feature table generated during training feature generation</p>
+<p class="enddd"></p>
+</dd>
+<dt>train_featureset_tbl </dt>
+<dd><p class="startdd">TEXT. Name of the featureset table generated during training feature generation</p>
+<p class="enddd"></p>
+</dd>
+<dt>label_tbl </dt>
+<dd><p class="startdd">TEXT. Name of the label table used</p>
+<p class="enddd"></p>
+</dd>
+<dt>crf_stats_table </dt>
+<dd>TEXT. Name of the table to be created containing statistics for CRF training. The table has the following columns: <table class="output">
+<tr>
+<th>coef </th><td>DOUBLE PRECISION[]. Array of coefficients  </td></tr>
+<tr>
+<th>log_likelihood </th><td>DOUBLE. Log-likelihood  </td></tr>
+<tr>
+<th>num_iterations </th><td>INTEGER. The number of iterations at which the algorithm terminated  </td></tr>
+</table>
+</dd>
+<dt>crf_weights_table </dt>
+<dd><p class="startdd">TEXT. Name of the table to be created creating learned feature weights. The table has the following columns: </p><table class="output">
+<tr>
+<th>id </th><td>INTEGER. Feature set id  </td></tr>
+<tr>
+<th>name </th><td>TEXT. Feature name  </td></tr>
+<tr>
+<th>prev_label_id </th><td>INTEGER. Label for the previous token encountered  </td></tr>
+<tr>
+<th>label_id </th><td>INTEGER. Label of the token with the respective feature  </td></tr>
+<tr>
+<th>weight </th><td>DOUBLE PRECISION. Weight for the respective feature set  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>max_iterations </dt>
+<dd>INTEGER. The maximum number of iterations </dd>
+</dl>
+<p><a class="anchor" id="test_feature"></a></p><dl class="section user"><dt>Testing Feature Generation</dt><dd></dd></dl>
+<pre class="syntax">
+crf_test_fgen(test_segment_tbl,
+              dictionary_tbl,
+              label_tbl,
+              regex_tbl,
+              crf_weights_tbl,
+              viterbi_mtbl,
+              viterbi_rtbl
+             )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>test_segment_tbl </dt>
+<dd><p class="startdd">TEXT. Name of the testing segment table. The table is expected to have the following columns: </p><table class="output">
+<tr>
+<th>doc_id </th><td>INTEGER. Document id column  </td></tr>
+<tr>
+<th>start_pos </th><td>INTEGER. Index of a particular term in the respective document  </td></tr>
+<tr>
+<th>seg_text </th><td>TEXT. Term at the respective <code>start_pos</code> in the document  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>dictionary_tbl </dt>
+<dd><p class="startdd">TEXT. Name of the dictionary table created during training feature generation (<code>crf_train_fgen</code>)</p>
+<p class="enddd"></p>
+</dd>
+<dt>label_tbl </dt>
+<dd><p class="startdd">TEXT. Name of the label table</p>
+<p class="enddd"></p>
+</dd>
+<dt>regex_tbl </dt>
+<dd><p class="startdd">TEXT. Name of the regular expression table</p>
+<p class="enddd"></p>
+</dd>
+<dt>crf_weights_tbl </dt>
+<dd><p class="startdd">TEXT. Name of the weights table generated during CRF training (<code>lincrf_train</code>)</p>
+<p class="enddd"></p>
+</dd>
+<dt>viterbi_mtbl </dt>
+<dd><p class="startdd">TEXT. Name of the Viterbi M table to be created</p>
+<p class="enddd"></p>
+</dd>
+<dt>viterbi_rtbl </dt>
+<dd>TEXT. Name of the Viterbi R table to be created </dd>
+</dl>
+<p><a class="anchor" id="inference"></a></p><dl class="section user"><dt>Inference using Viterbi</dt><dd><pre class="syntax">
+vcrf_label(test_segment_tbl,
+           viterbi_mtbl,
+           viterbi_rtbl,
+           label_tbl,
+           result_tbl)
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>test_segment_tbl </dt>
+<dd>TEXT. Name of the testing segment table. For required table schema, please refer to arguments in previous section </dd>
+<dt>viterbi_mtbl </dt>
+<dd>TEXT. Name of the table <code>viterbi_mtbl</code> generated from testing feature generation <code>crf_test_fgen</code>. </dd>
+<dt>viterbi_rtbl </dt>
+<dd>TEXT. Name of the table <code>viterbi_rtbl</code> generated from testing feature generation <code>crf_test_fgen</code>. </dd>
+<dt>label_tbl </dt>
+<dd>TEXT. Name of the label table. </dd>
+<dt>result_tbl </dt>
+<dd>TEXT. Name of the result table to be created containing extracted best label sequences. </dd>
+</dl>
+</dd></dl>
+<p><a class="anchor" id="usage"></a></p><dl class="section user"><dt>Using CRF</dt><dd></dd></dl>
+<p>Generate text features, calculate their weights, and output the best label sequence for test data:<br />
+</p><ol type="1">
+<li>Perform feature generation on training data i.e. <code>train_segment_tbl</code> generating <code>train_feature_tbl</code> and <code>train_featureset_tbl</code>. <pre>SELECT madlib.crf_train_fgen(
+         '<em>train_segment_tbl</em>',
+         '<em>regex_tbl</em>',
+         '<em>label_tbl</em>',
+         '<em>dictionary_tbl</em>',
+         '<em>train_feature_tbl</em>',
+         '<em>train_featureset_tbl</em>');</pre></li>
+<li>Use linear-chain CRF for training providing <code>train_feature_tbl</code> and <code>train_featureset_tbl</code> generated from previous step as an input. <pre>SELECT madlib.lincrf_train(
+         '<em>train_feature_tbl</em>',
+         '<em>train_featureset_tbl</em>',
+         '<em>label_tbl</em>',
+         '<em>crf_stats_tbl</em>',
+         '<em>crf_weights_tbl</em>',
+         <em>max_iterations</em>);</pre></li>
+<li>Perform feature generation on testing data <code>test_segment_tbl</code> generating <code>viterbi_mtbl</code> and <code>viterbi_rtbl</code> required for inferencing. <pre>SELECT madlib.crf_test_fgen(
+         '<em>test_segment_tbl</em>',
+         '<em>dictionary_tbl</em>',
+         '<em>label_tbl</em>',
+         '<em>regex_tbl</em>',
+         '<em>crf_weights_tbl</em>',
+         '<em>viterbi_mtbl</em>',
+         '<em>viterbi_rtbl</em>');</pre></li>
+<li>Run the Viterbi function to get the best label sequence and the conditional probability <img class="formulaInl" alt="$ \Pr( \text{best label sequence} \mid \text{sequence}) $" src="form_56.png"/>. <pre>SELECT madlib.vcrf_label(
+         '<em>test_segment_tbl</em>',
+         '<em>viterbi_mtbl</em>',
+         '<em>viterbi_rtbl</em>',
+         '<em>label_tbl</em>',
+         '<em>result_tbl</em>');</pre></li>
+</ol>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd>This example uses a trivial training and test data set.</dd></dl>
+<ol type="1">
+<li>Load the label table, the regular expressions table, and the training segment table: <pre class="example">
+SELECT * FROM crf_label ORDER BY id;
+</pre> Result: <pre class="result">
+ id | label
+&#160;---+-------
+  0 | #
+  1 | $
+  2 | ''
+...
+  8 | CC
+  9 | CD
+ 10 | DT
+ 11 | EX
+ 12 | FW
+ 13 | IN
+ 14 | JJ
+...
+</pre> The regular expressions table: <pre class="example">
+SELECT * from crf_regex;
+</pre> <pre class="result">
+    pattern    |         name
+&#160;--------------+----------------------
+ ^.+ing$       | endsWithIng
+ ^[A-Z][a-z]+$ | InitCapital
+ ^[A-Z]+$      | isAllCapital
+ ^.*[0-9]+.*$  | containsDigit
+...
+</pre> The training segment table: <pre class="example">
+SELECT * from train_segmenttbl ORDER BY doc_id, start_pos;
+</pre> <pre class="result">
+ doc_id | start_pos |  seg_text  | label
+&#160;-------+-----------+------------+-------
+      0 |         0 | Confidence |    18
+      0 |         1 | in         |    13
+      0 |         2 | the        |    10
+      0 |         3 | pound      |    18
+      0 |         4 | is         |    38
+      0 |         5 | widely     |    26
+...
+      1 |         0 | Chancellor |    19
+      1 |         1 | of         |    13
+      1 |         2 | the        |    10
+      1 |         3 | Exchequer  |    19
+      1 |         4 | Nigel      |    19
+...
+</pre></li>
+<li>Generate the training features: <pre class="example">
+SELECT crf_train_fgen( 'train_segmenttbl',
+                       'crf_regex',
+                       'crf_label',
+                       'crf_dictionary',
+                       'train_featuretbl',
+                       'train_featureset'
+                     );
+SELECT * from crf_dictionary;
+</pre> Result: <pre class="result">
+     token       | total
+&#160;----------------+-------
+ Hawthorne       |     1
+ Mercedes-Benzes |     1
+ Wolf            |     3
+ best-known      |     1
+ hairline        |     1
+ accepting       |     2
+ purchases       |    14
+ trash           |     5
+ co-venture      |     1
+ restaurants     |     7
+...
+</pre> <pre class="example">
+SELECT * from train_featuretbl;
+</pre> Result: <pre class="result">
+ doc_id | f_size |            sparse_r           |             dense_m             |       sparse_m
+&#160;-------+--------+-------------------------------+---------------------------------+-----------------------
+      2 |     87 | {-1,13,12,0,1,-1,13,9,0,1,..} | {13,31,79,1,1,31,29,70,2,1,...} | {51,26,2,69,29,17,...}
+      1 |     87 | {-1,13,0,0,1,-1,13,9,0,1,...} | {13,0,62,1,1,0,13,54,2,1,13,..} | {51,26,2,69,29,17,...}
+</pre> <pre class="example">
+SELECT * from train_featureset;
+</pre> <pre class="result">
+ f_index |    f_name     | feature
+&#160;--------+---------------+---------
+       1 | R_endsWithED  | {-1,29}
+      13 | W_outweigh    | {-1,26}
+      29 | U             | {-1,5}
+      31 | U             | {-1,29}
+      33 | U             | {-1,12}
+      35 | W_a           | {-1,2}
+      37 | W_possible    | {-1,6}
+      15 | W_signaled    | {-1,29}
+      17 | End.          | {-1,43}
+      49 | W_'s          | {-1,16}
+      63 | W_acquire     | {-1,26}
+      51 | E.            | {26,2}
+      69 | E.            | {29,17}
+      71 | E.            | {2,11}
+      83 | W_the         | {-1,2}
+      85 | E.            | {16,11}
+       4 | W_return      | {-1,11}
+...
+</pre></li>
+<li>Train using linear CRF: <pre class="example">
+SELECT lincrf_train( 'train_featuretbl',
+                     'train_featureset',
+                     'crf_label',
+                     'crf_stats_tbl',
+                     'crf_weights_tbl',
+                     20
+             );
+</pre> <pre class="result">
+                                lincrf_train
+&#160;-----------------------------------------------------------------------------------
+ CRF Train successful. Results stored in the specified CRF stats and weights table
+ lincrf
+</pre> View the feature weight table. <pre class="example">
+SELECT * from crf_weights_tbl;
+</pre> Result: <pre class="result">
+ id |     name      | prev_label_id | label_id |      weight
+&#160;---+---------------+---------------+----------+-------------------
+  1 | R_endsWithED  |            -1 |       29 |  1.54128249293937
+ 13 | W_outweigh    |            -1 |       26 |  1.70691232223653
+ 29 | U             |            -1 |        5 |  1.40708515869008
+ 31 | U             |            -1 |       29 | 0.830356200936407
+ 33 | U             |            -1 |       12 | 0.769587378281239
+ 35 | W_a           |            -1 |        2 |  2.68470625883726
+ 37 | W_possible    |            -1 |        6 |  3.41773107604468
+ 15 | W_signaled    |            -1 |       29 |  1.68187039165771
+ 17 | End.          |            -1 |       43 |  3.07687845517082
+ 49 | W_'s          |            -1 |       16 |  2.61430312229883
+ 63 | W_acquire     |            -1 |       26 |  1.67247047385797
+ 51 | E.            |            26 |        2 |   3.0114240119435
+ 69 | E.            |            29 |       17 |  2.82385531733866
+ 71 | E.            |             2 |       11 |  3.00970493772732
+ 83 | W_the         |            -1 |        2 |  2.58742315259326
+...
+</pre></li>
+<li>To find the best labels for a test set using the trained linear CRF model, repeat steps #1-2 and generate the test features, except instead of creating a new dictionary, use the dictionary generated from the training set. <pre class="example">
+SELECT * from test_segmenttbl ORDER BY doc_id, start_pos;
+</pre> Result: <pre class="result">
+ doc_id | start_pos |   seg_text
+&#160;-------+-----------+---------------
+      0 |         0 | Rockwell
+      0 |         1 | International
+      0 |         2 | Corp.
+      0 |         3 | 's
+      0 |         4 | Tulsa
+      0 |         5 | unit
+      0 |         6 | said
+...
+      1 |         0 | Rockwell
+      1 |         1 | said
+      1 |         2 | the
+      1 |         3 | agreement
+      1 |         4 | calls
+...
+</pre> <pre class="example">
+SELECT crf_test_fgen( 'test_segmenttbl',
+                      'crf_dictionary',
+                      'crf_label',
+                      'crf_regex',
+                      'crf_weights_tbl',
+                      'viterbi_mtbl',
+                      'viterbi_rtbl'
+                    );
+</pre></li>
+<li>Calculate the best label sequence and save in the table <code>extracted_best_labels</code>. <pre class="example">
+SELECT vcrf_label( 'test_segmenttbl',
+                   'viterbi_mtbl',
+                   'viterbi_rtbl',
+                   'crf_label',
+                   'extracted_best_labels'
+                 );
+</pre> View the best labels. <pre class="example">
+SELECT * FROM extracted_best_labels;
+</pre> Result: <pre class="result">
+ doc_id | start_pos |   seg_text    | label | id | max_pos |   prob
+&#160;-------+-----------+---------------+-------+----+---------+----------
+      0 |         0 | Rockwell      | NNP   | 19 |      27 | 0.000269
+      0 |         1 | International | NNP   | 19 |      27 | 0.000269
+      0 |         2 | Corp.         | NNP   | 19 |      27 | 0.000269
+      0 |         3 | 's            | NNP   | 19 |      27 | 0.000269
+...
+      1 |         0 | Rockwell      | NNP   | 19 |      16 | 0.000168
+      1 |         1 | said          | NNP   | 19 |      16 | 0.000168
+      1 |         2 | the           | DT    | 10 |      16 | 0.000168
+      1 |         3 | agreement     | JJ    | 14 |      16 | 0.000168
+      1 |         4 | calls         | NNS   | 21 |      16 | 0.000168
+...
+</pre></li>
+</ol>
+<p><a class="anchor" id="background"></a></p><dl class="section user"><dt>Technical Background</dt><dd></dd></dl>
+<p>Specifically, a linear-chain CRF is a distribution defined by </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ p_\lambda(\boldsymbol y | \boldsymbol x) = \frac{\exp{\sum_{m=1}^M \lambda_m F_m(\boldsymbol x, \boldsymbol y)}}{Z_\lambda(\boldsymbol x)} \,. \]" src="form_57.png"/>
+</p>
+<p>where</p><ul>
+<li><img class="formulaInl" alt="$ F_m(\boldsymbol x, \boldsymbol y) = \sum_{i=1}^n f_m(y_i,y_{i-1},x_i) $" src="form_58.png"/> is a global feature function that is a sum along a sequence <img class="formulaInl" alt="$ \boldsymbol x $" src="form_59.png"/> of length <img class="formulaInl" alt="$ n $" src="form_11.png"/></li>
+<li><img class="formulaInl" alt="$ f_m(y_i,y_{i-1},x_i) $" src="form_60.png"/> is a local feature function dependent on the current token label <img class="formulaInl" alt="$ y_i $" src="form_61.png"/>, the previous token label <img class="formulaInl" alt="$ y_{i-1} $" src="form_62.png"/>, and the observation <img class="formulaInl" alt="$ x_i $" src="form_63.png"/></li>
+<li><img class="formulaInl" alt="$ \lambda_m $" src="form_64.png"/> is the corresponding feature weight</li>
+<li><img class="formulaInl" alt="$ Z_\lambda(\boldsymbol x) $" src="form_65.png"/> is an instance-specific normalizer <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ Z_\lambda(\boldsymbol x) = \sum_{\boldsymbol y'} \exp{\sum_{m=1}^M \lambda_m F_m(\boldsymbol x, \boldsymbol y')} \]" src="form_66.png"/>
+</p>
+</li>
+</ul>
+<p>A linear-chain CRF estimates the weights <img class="formulaInl" alt="$ \lambda_m $" src="form_64.png"/> by maximizing the log-likelihood of a given training set <img class="formulaInl" alt="$ T=\{(x_k,y_k)\}_{k=1}^N $" src="form_67.png"/>.</p>
+<p>The log-likelihood is defined as </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \ell_{\lambda}=\sum_k \log p_\lambda(y_k|x_k) =\sum_k[\sum_{m=1}^M \lambda_m F_m(x_k,y_k) - \log Z_\lambda(x_k)] \]" src="form_68.png"/>
+</p>
+<p>and the zero of its gradient </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \nabla \ell_{\lambda}=\sum_k[F(x_k,y_k)-E_{p_\lambda(Y|x_k)}[F(x_k,Y)]] \]" src="form_69.png"/>
+</p>
+<p>is found since the maximum likelihood is reached when the empirical average of the global feature vector equals its model expectation. The MADlib implementation uses limited-memory BFGS (L-BFGS), a limited-memory variation of the Broyden–Fletcher–Goldfarb–Shanno (BFGS) update, a quasi-Newton method for unconstrained optimization.</p>
+<p><img class="formulaInl" alt="$E_{p_\lambda(Y|x)}[F(x,Y)]$" src="form_70.png"/> is found by using a variant of the forward-backward algorithm: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ E_{p_\lambda(Y|x)}[F(x,Y)] = \sum_y p_\lambda(y|x)F(x,y) = \sum_i\frac{\alpha_{i-1}(f_i*M_i)\beta_i^T}{Z_\lambda(x)} \]" src="form_71.png"/>
+</p>
+ <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ Z_\lambda(x) = \alpha_n.1^T \]" src="form_72.png"/>
+</p>
+<p> where <img class="formulaInl" alt="$\alpha_i$" src="form_73.png"/> and <img class="formulaInl" alt="$ \beta_i$" src="form_74.png"/> are the forward and backward state cost vectors defined by </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \alpha_i = \begin{cases} \alpha_{i-1}M_i, &amp; 0&lt;i&lt;=n\\ 1, &amp; i=0 \end{cases}\\ \]" src="form_75.png"/>
+</p>
+ <p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \beta_i^T = \begin{cases} M_{i+1}\beta_{i+1}^T, &amp; 1&lt;=i&lt;n\\ 1, &amp; i=n \end{cases} \]" src="form_76.png"/>
+</p>
+<p>To avoid overfitting, we penalize the likelihood with a spherical Gaussian weight prior: </p><p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \ell_{\lambda}^\prime=\sum_k[\sum_{m=1}^M \lambda_m F_m(x_k,y_k) - \log Z_\lambda(x_k)] - \frac{\lVert \lambda \rVert^2}{2\sigma ^2} \]" src="form_77.png"/>
+</p>
+<p class="formulaDsp">
+<img class="formulaDsp" alt="\[ \nabla \ell_{\lambda}^\prime=\sum_k[F(x_k,y_k) - E_{p_\lambda(Y|x_k)}[F(x_k,Y)]] - \frac{\lambda}{\sigma ^2} \]" src="form_78.png"/>
+</p>
+<dl class="section user"><dt>Literature</dt><dd>[1] F. Sha, F. Pereira. Shallow Parsing with Conditional Random Fields, <a href="http://www-bcf.usc.edu/~feisha/pubs/shallow03.pdf">http://www-bcf.usc.edu/~feisha/pubs/shallow03.pdf</a></dd></dl>
+<p>[2] Wikipedia, Conditional Random Field, <a href="http://en.wikipedia.org/wiki/Conditional_random_field">http://en.wikipedia.org/wiki/Conditional_random_field</a></p>
+<p>[3] A. Jaiswal, S.Tawari, I. Mansuri, K. Mittal, C. Tiwari (2012), CRF, <a href="http://crf.sourceforge.net/">http://crf.sourceforge.net/</a></p>
+<p>[4] D. Wang, ViterbiCRF, <a href="http://www.cs.berkeley.edu/~daisyw/ViterbiCRF.html">http://www.cs.berkeley.edu/~daisyw/ViterbiCRF.html</a></p>
+<p>[5] Wikipedia, Viterbi Algorithm, <a href="http://en.wikipedia.org/wiki/Viterbi_algorithm">http://en.wikipedia.org/wiki/Viterbi_algorithm</a></p>
+<p>[6] J. Nocedal. Updating Quasi-Newton Matrices with Limited Storage (1980), Mathematics of Computation 35, pp. 773-782</p>
+<p>[7] J. Nocedal, Software for Large-scale Unconstrained Optimization, <a href="http://users.eecs.northwestern.edu/~nocedal/lbfgs.html">http://users.eecs.northwestern.edu/~nocedal/lbfgs.html</a></p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="crf_8sql__in.html" title="SQL functions for conditional random field. ">crf.sql_in</a> <a class="el" href="crf__feature__gen_8sql__in.html" title="SQL function for POS/NER feature extraction. ">crf_feature_gen.sql_in</a> <a class="el" href="viterbi_8sql__in.html" title="concatenate a set of input values into arrays to feed into viterbi c function and create a human read...">viterbi.sql_in</a> (documenting the SQL functions) </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__datatrans.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__datatrans.html b/docs/v1.11/group__grp__datatrans.html
new file mode 100644
index 0000000..4865a54
--- /dev/null
+++ b/docs/v1.11/group__grp__datatrans.html
@@ -0,0 +1,145 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Data Types and Transformations</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__datatrans.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<div class="title">Data Types and Transformations</div>  </div>
+</div><!--header-->
+<div class="contents">
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<p>Data types and transformation operations </p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__grp__arraysmatrix"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__arraysmatrix.html">Arrays and Matrices</a></td></tr>
+<tr class="memdesc:group__grp__arraysmatrix"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mathematical operations for arrays and matrices. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__pca"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__pca.html">Dimensionality Reduction</a></td></tr>
+<tr class="memdesc:group__grp__pca"><td class="mdescLeft">&#160;</td><td class="mdescRight">A collection of methods for dimensionality reduction. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__encode__categorical"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__encode__categorical.html">Encoding Categorical Variables</a></td></tr>
+<tr class="memdesc:group__grp__encode__categorical"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides functions to encode categorical variables. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__pivot"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__pivot.html">Pivot</a></td></tr>
+<tr class="memdesc:group__grp__pivot"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides pivoting functions helpful for data preparation before modeling. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:group__grp__stemmer"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__stemmer.html">Stemming</a></td></tr>
+<tr class="memdesc:group__grp__stemmer"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides porter stemmer operations supporting other MADlib modules. <br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__datatrans.js
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__datatrans.js b/docs/v1.11/group__grp__datatrans.js
new file mode 100644
index 0000000..484bba6
--- /dev/null
+++ b/docs/v1.11/group__grp__datatrans.js
@@ -0,0 +1,8 @@
+var group__grp__datatrans =
+[
+    [ "Arrays and Matrices", "group__grp__arraysmatrix.html", "group__grp__arraysmatrix" ],
+    [ "Dimensionality Reduction", "group__grp__pca.html", "group__grp__pca" ],
+    [ "Encoding Categorical Variables", "group__grp__encode__categorical.html", null ],
+    [ "Pivot", "group__grp__pivot.html", null ],
+    [ "Stemming", "group__grp__stemmer.html", null ]
+];
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__decision__tree.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__decision__tree.html b/docs/v1.11/group__grp__decision__tree.html
new file mode 100644
index 0000000..725d187
--- /dev/null
+++ b/docs/v1.11/group__grp__decision__tree.html
@@ -0,0 +1,728 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Decision Tree</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__decision__tree.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Decision Tree<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__tree.html">Tree Methods</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b><ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#predict">Prediction Function</a> </li>
+<li class="level1">
+<a href="#display">Display Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>A decision tree is a supervised learning method that can be used for classification and regression. It consists of a structure in which internal nodes represent tests on attributes, and the branches from nodes represent the result of those tests. Each leaf node is a class label and the paths from root to leaf nodes define the set of classification or regression rules.</p>
+<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd>We implement the decision tree using the CART algorithm, introduced by Breiman et al. [1]. The training function has the following syntax: <pre class="syntax">
+tree_train(
+    training_table_name,
+    output_table_name,
+    id_col_name,
+    dependent_variable,
+    list_of_features,
+    list_of_features_to_exclude,
+    split_criterion,
+    grouping_cols,
+    weights,
+    max_depth,
+    min_split,
+    min_bucket,
+    num_splits,
+    pruning_params,
+    surrogate_params,
+    verbosity
+    )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>training_table_name </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the training data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table_name </dt>
+<dd><p class="startdd">TEXT. The name of the generated table containing the model. If a table with the same name already exists, then the function will return an error.</p>
+<p>The model table produced by the training function contains the following columns:</p>
+<table class="output">
+<tr>
+<th>&lt;...&gt; </th><td>Grouping columns, if provided as input, in the same types as the training table. This could be multiple columns depending on the <code>grouping_cols</code> input.  </td></tr>
+<tr>
+<th>tree </th><td>BYTEA8. Trained decision tree model stored in a binary format.  </td></tr>
+<tr>
+<th>cat_levels_in_text </th><td>TEXT[]. Ordered levels of categorical variables.  </td></tr>
+<tr>
+<th>cat_n_levels </th><td><p class="starttd">INTEGER[]. Number of levels for each categorical variable. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>tree_depth </th><td><p class="starttd">INTEGER. The maximum depth the tree obtained after training (root has depth 0). </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>pruning_cp </th><td><p class="starttd">DOUBLE PRECISION. The cost-complexity parameter used for pruning the trained tree(s). This would be different from the 'input_cp' value if cross-validation is used.  </p>
+<p class="endtd"></p>
+</td></tr>
+</table>
+<p>A summary table named <em>&lt;model_table&gt;_summary</em> is also created at the same time, which has the following columns: </p><table class="output">
+<tr>
+<th>method </th><td><p class="starttd">TEXT. 'tree_train' </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>is_classification </th><td><p class="starttd">BOOLEAN. TRUE if the decision trees are for classification, FALSE if for regression. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>source_table </th><td><p class="starttd">TEXT. The data source table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>model_table </th><td><p class="starttd">TEXT. The model table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>id_col_name </th><td><p class="starttd">TEXT. The ID column name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>dependent_varname </th><td><p class="starttd">TEXT. The dependent variable. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>independent_varname </th><td><p class="starttd">TEXT. The independent variables. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>cat_features </th><td><p class="starttd">TEXT. The list of categorical feature names as a comma-separated string. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>con_features </th><td><p class="starttd">TEXT. The list of continuous feature names as a comma-separated string. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>grouping_col </th><td><p class="starttd">TEXT. Names of grouping columns. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_all_groups </th><td><p class="starttd">INTEGER. Number of groups in decision tree training. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_failed_groups </th><td><p class="starttd">INTEGER. Number of failed groups in decision tree training. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>total_rows_processed </th><td><p class="starttd">BIGINT. Total numbers of rows processed in all groups. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>total_rows_skipped </th><td><p class="starttd">BIGINT. Total numbers of rows skipped in all groups due to missing values or failures. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>dependent_var_levels </th><td><p class="starttd">TEXT. For classification, the distinct levels of the dependent variable. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>dependent_var_type </th><td><p class="starttd">TEXT. The type of dependent variable. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>input_cp </th><td><p class="starttd">DOUBLE PRECISION. The complexity parameter (cp) used for pruning the trained tree(s) before cross-validation is run. This is same as the cp value input using the <em>pruning_params</em>. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>independent_var_types </th><td><p class="starttd">TEXT. A comma separated string for the types of independent variables. </p>
+<p class="endtd"></p>
+</td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>id_col_name </dt>
+<dd><p class="startdd">TEXT. Name of the column containing id information in the training data. This is a mandatory argument and is used for prediction and cross-validation. The values are expected to be unique for each row. </p>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_variable </dt>
+<dd><p class="startdd">TEXT. Name of the column that contains the output (response) for training. Boolean, integer and text types are considered classification outputs, while double precision values are considered regression outputs. The response variable for a classification tree can be multinomial, but the time and space complexity of the training function increases linearly as the number of response classes increases.</p>
+<p class="enddd"></p>
+</dd>
+<dt>list_of_features </dt>
+<dd><p class="startdd">TEXT. Comma-separated string of column names to use as predictors. Can also be a '*' implying all columns are to be used as predictors (except the ones included in the next argument). The types of the features can be mixed where boolean, integer, and text columns are considered categorical and double precision columns are considered continuous. The categorical variables are not encoded and used as is for the training.</p>
+<p>It is important to note that we don't test for every combination of levels of a categorical variable when evaluating a split. We order the levels of the non-integer categorical variable by the entropy of the variable in predicting the response. The split at each node is evaluated between these ordered levels. Integer categorical variables are ordered by their value. </p>
+<p class="enddd"></p>
+</dd>
+<dt>list_of_features_to_exclude </dt>
+<dd><p class="startdd">TEXT. Comma-separated string of column names to exclude from the predictors list. If the <em>dependent_variable</em> is an expression (including cast of a column name), then this list should include all columns present in the <em>dependent_variable</em> expression, otherwise those columns will be included in the features. The names in this parameter should be identical to the names used in the table and quoted appropriately.</p>
+<p class="enddd"></p>
+</dd>
+<dt>split_criterion </dt>
+<dd><p class="startdd">TEXT, default = 'gini' for classification, 'mse' for regression. Impurity function to compute the feature to use for the split. Supported criteria are 'gini', 'entropy', 'misclassification' for classification trees. For regression trees, split_criterion of 'mse' is always used (irrespective of the input for this argument). </p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_cols (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. Comma-separated list of column names to group the data by. This will result in multiple decision trees, one for each group.</p>
+<p class="enddd"></p>
+</dd>
+<dt>weights (optional) </dt>
+<dd><p class="startdd">TEXT. Column name containing weights for each observation.</p>
+<p class="enddd"></p>
+</dd>
+<dt>max_depth (optional) </dt>
+<dd><p class="startdd">INTEGER, default: 7. Maximum depth of any node of the final tree, with the root node counted as depth 0. A deeper tree can lead to better prediction but will also result in longer processing time and higher memory usage.</p>
+<p class="enddd"></p>
+</dd>
+<dt>min_split (optional) </dt>
+<dd><p class="startdd">INTEGER, default: 20. Minimum number of observations that must exist in a node for a split to be attempted. The best value for this parameter depends on the number of tuples in the dataset.</p>
+<p class="enddd"></p>
+</dd>
+<dt>min_bucket (optional) </dt>
+<dd><p class="startdd">INTEGER, default: min_split/3. Minimum number of observations in any terminal node. If only one of min_bucket or min_split is specified, min_split is set to min_bucket*3 or min_bucket to min_split/3, as appropriate.</p>
+<p class="enddd"></p>
+</dd>
+<dt>num_splits (optional) </dt>
+<dd><p class="startdd">INTEGER, default: 20. Continuous-valued features are binned into discrete quantiles to compute split boundaries. This global parameter is used to compute the resolution of splits for continuous features. Higher number of bins will lead to better prediction, but will also result in longer processing time and higher memory usage.</p>
+<p class="enddd"></p>
+</dd>
+<dt>pruning_params (optional) </dt>
+<dd><p class="startdd">TEXT. Comma-separated string of key-value pairs giving the parameters for pruning the tree. The parameters currently accepted are: </p><table class="output">
+<tr>
+<th>cp </th><td><p class="starttd">Default: 0. A split on a node is attempted only if it decreases the overall lack of fit by a factor of 'cp', else the split is pruned away. This value is used to create an initial tree before running cross-validation (see below).</p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>n_folds </th><td><p class="starttd">Default: 0 (i.e. no cross-validation). Number of cross-validation folds to use to compute the best value of <em>cp</em>. To perform cross-validation, a positive value of <em>n_folds</em> (greater than 2) should be given. An additional output table <em>&lt;model_table&gt;_cv</em> is created containing the values of evaluated <em>cp</em> and the cross-validation error. The tree returned in the output table corresponds to the <em>cp</em> with the lowest cross-validation error (we pick the maximum <em>cp</em> if multiple values have same error).</p>
+<p>The list of <em>cp</em> values is automatically computed by parsing through the tree initially trained on the complete dataset. The tree output is a subset of this initial tree corresponding to the best computed <em>cp</em>.</p>
+<p class="endtd"></p>
+</td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>surrogate_params </dt>
+<dd><p class="startdd">TEXT. Comma-separated string of key-value pairs controlling the behavior of surrogate splits for each node. A surrogate variable is another predictor variable that is associated (correlated) with the primary predictor variable for a split. The surrogate variable comes into use when the primary predictior value is NULL. This parameter currently accepts one argument: </p><table class="output">
+<tr>
+<th>max_surrogates </th><td>Default: 0. Number of surrogates to store for each node.  </td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>verbosity (optional) </dt>
+<dd>BOOLEAN, default: FALSE. Provides verbose output of the training result. </dd>
+</dl>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd><ul>
+<li>Many of the parameters are designed to be similar to the popular R package 'rpart'. An important distinction between rpart and the MADlib function is that for both response and feature variables, MADlib considers integer values as categorical values, while rpart considers them as continuous. To use integers as continuous, please cast them to double precision.</li>
+<li>Integer values are ordered by value for computing the split boundaries. Please cast to TEXT if the entropy-based ordering method is desired.</li>
+<li>When using no surrogates (<em>max_surrogates</em>=0), all rows containing NULL values for any of the features used for training will be ignored from training and prediction.</li>
+<li>When cross-validation is not used (<em>n_folds</em>=0), each tree output is pruned by the input cost-complextity (<em>cp</em>). With cross-validation, the input <em>cp</em> is the minimum value of all the explored values of 'cp'. During cross-validation, we train an initial tree using the provided <em>cp</em> and explore all possible sub-trees (up to a single-node tree) to compute the optimal sub-tree. The optimal sub-tree and the 'cp' corresponding to this optimal sub-tree is placed in the <em>output_table</em>, with the columns named as <em>tree</em> and <em>pruning_cp</em> respectively.</li>
+<li>The main parameters that affect memory usage are: depth of tree (‘max_depth’), number of features, number of values per categorical feature, and number of bins for continuous features (‘num_splits’). If you are hitting memory limits, consider reducing one or more of these parameters.</li>
+</ul>
+</dd></dl>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd>The prediction function estimates the conditional mean given a new predictor. It has the following syntax: <pre class="syntax">
+tree_predict(tree_model,
+             new_data_table,
+             output_table,
+             type)
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>tree_model </dt>
+<dd><p class="startdd">TEXT. Name of the table containing the decision tree model. This should be the output table returned from <em>tree_train.</em></p>
+<p class="enddd"></p>
+</dd>
+<dt>new_data_table </dt>
+<dd><p class="startdd">TEXT. Name of the table containing prediction data. This table is expected to contain the same features that were used during training. The table should also contain <em>id_col_name</em> used for identifying each row.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">TEXT. Name of the table to output prediction results. If this table already exists, an error is returned. The table contains the <em>id_col_name</em> column giving the 'id' for each prediction and the prediction columns for the dependent variable.</p>
+<p>If <em>type</em> = 'response', then the table has a single additional column with the prediction value of the response. The type of this column depends on the type of the response variable used during training.</p>
+<p>If <em>type</em> = 'prob', then the table has multiple additional columns, one for each possible value of the response variable. The columns are labeled as 'estimated_prob_<em>dep_value</em>', where <em>dep_value</em> represents each value of the response variable.</p>
+<p class="enddd"></p>
+</dd>
+<dt>type </dt>
+<dd>TEXT, optional, default: 'response'. For regression trees, the output is always the predicted value of the dependent variable. For classification trees, the <em>type</em> variable can be 'response', giving the classification prediction as output, or 'prob', giving the class probabilities as output. For each value of the dependent variable, a column with the probabilities is added to the output table.  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>If the <em>new_data_table</em> contains categories of categorical variables not seen in the training data, the prediction for that row will be NULL.</dd></dl>
+<p><a class="anchor" id="display"></a></p><dl class="section user"><dt>Display Function</dt><dd>The display function outputs a graph representation of the decision tree. The output can either be in the popular 'dot' format that can be visualized using various programs including those in the GraphViz package, or in a simple text format. The details of the text format are output with the tree. <pre class="syntax">
+tree_display(tree_model, dot_format, verbosity)
+</pre></dd></dl>
+<p>An additional display function is provided to output the surrogate splits chosen for each internal node: </p><pre class="syntax">
+tree_surr_display(tree_model)
+</pre><p>The output contains the list of surrogate splits for each internal node. The nodes are sorted in ascending order by id. This is equivalent to viewing the tree in a breadth-first manner. For each surrogate, we output the surrogate split (variable and threshold) and also give the number of rows that were common between the primary split and the surrogate split. Finally, the number of rows present in the majority branch of the primary split is also shown. Only surrogates that perform better than this majority branch are included in the surrogate list. When the primary variable has a NULL value the surrogate variables are used in order to compute the split for that node. If all surrogates variables are NULL, then the majority branch is used to compute the split for a tuple.</p>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>tree_model </dt>
+<dd>TEXT. Name of the table containing the decision tree model. </dd>
+<dt>dot_format </dt>
+<dd>BOOLEAN, default = TRUE. Output can either be in a dot format or a text format. If TRUE, the result is in the dot format, else output is in text format. </dd>
+<dt>verbosity </dt>
+<dd>BOOLEAN, default = FALSE. If set to TRUE, the dot format output will contain additional information (impurity, sample size, number of weighted rows for each response variable, classification or prediction if the tree was pruned at this level) </dd>
+</dl>
+<p>The output is always returned as a 'TEXT'. For the dot format, the output can be redirected to a file on the client side and then rendered using visualization programs.</p>
+<p>To export the dot format result to an external file, use the method below. Use unaligned table output mode for psql with '-A' flag. And inside the psql client, both '\t' and '\o' should be used):</p>
+<pre class="example">
+&gt; # under bash
+&gt; psql -A my_database
+# -- in psql now
+# \t
+# \o test.dot -- export to a file
+# select madlib.tree_display('tree_out');
+# \o
+# \t
+</pre><p>After the dot file has been generated, use third-party plotting software to plot the trees in a nice format: </p><pre class="example">
+&gt; # under bash, convert the dot file into a PDF file
+&gt; dot -Tpdf test.dot &gt; test.pdf
+&gt; xpdf test.pdf&amp;
+</pre><p>Please see the examples below for more details on the contents of the tree output formats.</p>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd><h4>Decision Tree Classification Example</h4>
+</dd></dl>
+<ol type="1">
+<li>Prepare input data: <pre class="example">
+DROP TABLE IF EXISTS dt_golf;
+CREATE TABLE dt_golf (
+    id integer NOT NULL,
+    "OUTLOOK" text,
+    temperature double precision,
+    humidity double precision,
+    windy text,
+    class text
+);
+</pre> <pre class="example">
+COPY dt_golf (id,"OUTLOOK",temperature,humidity,windy,class) FROM stdin WITH DELIMITER '|';
+1|sunny|85|85|'false'|'Don't Play'
+2|sunny|80|90|'true'|'Don't Play'
+3|overcast|83|78|'false'|'Play'
+4|rain|70|96|'false'|'Play'
+5|rain|68|80|'false'|'Play'
+6|rain|65|70|'true'|'Don't Play'
+7|overcast|64|65|'true'|'Play'
+8|sunny|72|95|'false'|'Don't Play'
+9|sunny|69|70|'false'|'Play'
+10|rain|75|80|'false'|'Play'
+11|sunny|75|70|'true'|'Play'
+12|overcast|72|90|'true'|'Play'
+13|overcast|81|75|'false'|'Play'
+14|rain|71|80|'true'|'Don't Play'
+\.
+</pre></li>
+<li>Run the decision tree training function: <pre class="example">
+DROP TABLE IF EXISTS train_output, train_output_summary;
+SELECT madlib.tree_train('dt_golf',         -- source table
+                         'train_output',    -- output model table
+                         'id',              -- id column
+                         'class',           -- response
+                         '"OUTLOOK", temperature, humidity, windy',   -- features
+                         NULL::text,        -- exclude columns
+                         'gini',            -- split criterion
+                         NULL::text,        -- no grouping
+                         NULL::text,        -- no weights
+                         5,                 -- max depth
+                         3,                 -- min split
+                         1,                 -- min bucket
+                         10                 -- number of bins per continuous variable
+                         );
+</pre></li>
+<li>Predict output categories for the same data that was used for input: <pre class="example">
+DROP TABLE IF EXISTS prediction_results;
+SELECT madlib.tree_predict('train_output',          -- tree model
+                           'dt_golf',               -- new data table
+                           'prediction_results',    -- output table
+                           'response');             -- show prediction
+SELECT * FROM prediction_results ORDER BY id;
+</pre> Result: <pre class="result">
+ id | estimated_class
+----+-----------------
+  1 | 'Don't Play'
+  2 | 'Don't Play'
+  3 | 'Play'
+  4 | 'Play'
+  5 | 'Play'
+  6 | 'Don't Play'
+  7 | 'Play'
+  8 | 'Don't Play'
+  9 | 'Play'
+ 10 | 'Play'
+ 11 | 'Play'
+ 12 | 'Play'
+ 13 | 'Play'
+ 14 | 'Don't Play'
+(14 rows)
+</pre></li>
+<li>Create a text display of the tree: <pre class="example">
+SELECT madlib.tree_display('train_output', FALSE);
+</pre> Result: <pre class="result">
+&#160;-------------------------------------
+&#160;- Each node represented by 'id' inside ().
+&#160;- Leaf nodes have a * while internal nodes have the split condition at the end.
+&#160;- For each internal node (i), it's children will be at (2i+1) and (2i+2).
+&#160;- For each split the first indented child (2i+1) is the 'True' node and
+second indented child (2i+2) is the 'False' node.
+&#160;- Number of (weighted) rows for each response variable inside [].
+&#160;- Order of values = ['"Don\'t Play"', '"Play"']
+&#160;-------------------------------------
+(0)[ 5 9]  "OUTLOOK"&lt;={overcast}
+  (1)[ 0 4]  *
+  (2)[ 5 5]  temperature&lt;=75
+    (5)[ 3 5]  temperature&lt;=65
+      (11)[ 1 0]  *
+      (12)[ 2 5]  temperature&lt;=70
+        (25)[ 0 3]  *
+        (26)[ 2 2]  temperature&lt;=72
+          (53)[ 2 0]  *
+          (54)[ 0 2]  *
+    (6)[ 2 0]  *
+&#160;-------------------------------------
+</pre> Here are some more details on how to interpret the tree display above... Node numbering starts at 0 for the root node and would be contiguous 1,2...n if the tree was completely full (no pruning). Since the tree has been pruned, the node numbering is not contiguous. The order of values [x y] indicates the number of weighted rows that correspond to ["Don't play" "Play"] <em>before</em> the node test. For example, at the root node 0, there are 5 rows that "Don't play" and 9 rows that "Play" in the raw data. If we apply the test of "OUTLOOK" being overcast, then the True result is leaf node 1 which is "Play". There are 0 "Don't play" rows and 4 "Play" rows that correspond to this case (overcast). The remaining 5 "Don't play" rows and 5 "Play rows" are then tested at node 2 on temperature&lt;=75. And so on down the tree.</li>
+<li>Create a dot format display of the tree: <pre class="example">
+SELECT madlib.tree_display('train_output', TRUE);
+</pre> Result: <pre class="result">
+digraph "Classification tree for dt_golf" {
+         subgraph "cluster0"{
+         label=""
+"g0_0" [label="\"OUTLOOK"&lt;={overcast}", shape=ellipse];
+"g0_0" -&gt; "g0_1"[label="yes"];
+"g0_1" [label=""Play"",shape=box];
+"g0_0" -&gt; "g0_2"[label="no"];
+"g0_2" [label="temperature&lt;=75", shape=ellipse];
+"g0_2" -&gt; "g0_5"[label="yes"];
+"g0_2" -&gt; "g0_6"[label="no"];
+"g0_6" [label=""Don't Play"",shape=box];
+"g0_5" [label="temperature&lt;=65", shape=ellipse];
+"g0_5" -&gt; "g0_11"[label="yes"];
+"g0_11" [label=""Don't Play"",shape=box];
+"g0_5" -&gt; "g0_12"[label="no"];
+"g0_12" [label="temperature&lt;=70", shape=ellipse];
+"g0_12" -&gt; "g0_25"[label="yes"];
+"g0_25" [label=""Play"",shape=box];
+"g0_12" -&gt; "g0_26"[label="no"];
+"g0_26" [label="temperature&lt;=72", shape=ellipse];
+"g0_26" -&gt; "g0_53"[label="yes"];
+"g0_53" [label=""Don't Play"",shape=box];
+"g0_26" -&gt; "g0_54"[label="no"];
+"g0_54" [label=""Play"",shape=box];
+&#160;&#160;&#160;} //--- end of subgraph------------
+&#160;} //---end of digraph---------
+</pre></li>
+<li>Now create a dot format display of the tree with additional information: <pre class="example">
+SELECT madlib.tree_display('train_output', TRUE, TRUE);
+</pre> Result: <pre class="result">
+digraph "Classification tree for dt_golf" {
+         subgraph "cluster0"{
+         label=""
+"g0_0" [label="\"OUTLOOK" in {overcast}\n impurity = 0.459184\n samples = 14\n value = [5 9]\n class = "'Play'"", shape=ellipse];
+"g0_0" -&gt; "g0_1"[label="yes"];
+"g0_1" [label=""'Play'"\n samples = 4\n value = [0 4]",shape=box];
+"g0_0" -&gt; "g0_2"[label="no"];
+"g0_2" [label="temperature &lt;= 75\n impurity = 0.5\n samples = 10\n value = [5 5]\n class = "'Don't Play'"", shape=ellipse];
+"g0_2" -&gt; "g0_5"[label="yes"];
+"g0_2" -&gt; "g0_6"[label="no"];
+"g0_6" [label=""'Don't Play'"\n samples = 2\n value = [2 0]",shape=box];
+"g0_5" [label="temperature &lt;= 65\n impurity = 0.46875\n samples = 8\n value = [3 5]\n class = "'Play'"", shape=ellipse];
+"g0_5" -&gt; "g0_11"[label="yes"];
+"g0_11" [label=""'Don't Play'"\n samples = 1\n value = [1 0]",shape=box];
+"g0_5" -&gt; "g0_12"[label="no"];
+"g0_12" [label="temperature &lt;= 70\n impurity = 0.408163\n samples = 7\n value = [2 5]\n class = "'Play'"", shape=ellipse];
+"g0_12" -&gt; "g0_25"[label="yes"];
+"g0_25" [label=""'Play'"\n samples = 3\n value = [0 3]",shape=box];
+"g0_12" -&gt; "g0_26"[label="no"];
+"g0_26" [label="temperature &lt;= 72\n impurity = 0.5\n samples = 4\n value = [2 2]\n class = "'Don't Play'"", shape=ellipse];
+"g0_26" -&gt; "g0_53"[label="yes"];
+"g0_53" [label=""'Don't Play'"\n samples = 2\n value = [2 0]",shape=box];
+"g0_26" -&gt; "g0_54"[label="no"];
+"g0_54" [label=""'Play'"\n samples = 2\n value = [0 2]",shape=box];
+&#160;&#160;&#160;} //--- end of subgraph------------
+&#160;} //---end of digraph---------
+</pre> The additional information in each node is: impurity, sample size, number of weighted rows for each response variable, and classification if the tree was pruned at this level.</li>
+</ol>
+<h4>Decision Tree Regression Example</h4>
+<ol type="1">
+<li>Prepare input data. <pre class="example">
+DROP TABLE IF EXISTS mt_cars;
+CREATE TABLE mt_cars (
+    id integer NOT NULL,
+    mpg double precision,
+    cyl integer,
+    disp double precision,
+    hp integer,
+    drat double precision,
+    wt double precision,
+    qsec double precision,
+    vs integer,
+    am integer,
+    gear integer,
+    carb integer
+);
+</pre> <pre class="example">
+COPY mt_cars (id,mpg,cyl,disp,hp,drat,wt,qsec,vs,am,gear,carb) FROM stdin WITH DELIMITER '|' NULL 'null';
+1|18.7|8|360|175|3.15|3.44|17.02|0|0|3|2
+2|21|6|160|110|3.9|2.62|16.46|0|1|4|4
+3|24.4|4|146.7|62|3.69|3.19|20|1|0|4|2
+4|21|6|160|110|3.9|2.875|17.02|0|1|4|4
+5|17.8|6|167.6|123|3.92|3.44|18.9|1|0|4|4
+6|16.4|8|275.8|180|3.078|4.07|17.4|0|0|3|3
+7|22.8|4|108|93|3.85|2.32|18.61|1|1|4|1
+8|17.3|8|275.8|180|3.078|3.73|17.6|0|0|3|3
+9|21.4|null|258|110|3.08|3.215|19.44|1|0|3|1
+10|15.2|8|275.8|180|3.078|3.78|18|0|0|3|3
+11|18.1|6|225|105|2.768|3.46|20.22|1|0|3|1
+12|32.4|4|78.7|66|4.08|2.20|19.47|1|1|4|1
+13|14.3|8|360|245|3.21|3.578|15.84|0|0|3|4
+14|22.8|4|140.8|95|3.92|3.15|22.9|1|0|4|2
+15|30.4|4|75.7|52|4.93|1.615|18.52|1|1|4|2
+16|19.2|6|167.6|123|3.92|3.44|18.3|1|0|4|4
+17|33.9|4|71.14|65|4.22|1.835|19.9|1|1|4|1
+18|15.2|null|304|150|3.15|3.435|17.3|0|0|3|2
+19|10.4|8|472|205|2.93|5.25|17.98|0|0|3|4
+20|27.3|4|79|66|4.08|1.935|18.9|1|1|4|1
+21|10.4|8|460|215|3|5.424|17.82|0|0|3|4
+22|26|4|120.3|91|4.43|2.14|16.7|0|1|5|2
+23|14.7|8|440|230|3.23|5.345|17.42|0|0|3|4
+24|30.4|4|95.14|113|3.77|1.513|16.9|1|1|5|2
+25|21.5|4|120.1|97|3.70|2.465|20.01|1|0|3|1
+26|15.8|8|351|264|4.22|3.17|14.5|0|1|5|4
+27|15.5|8|318|150|2.768|3.52|16.87|0|0|3|2
+28|15|8|301|335|3.54|3.578|14.6|0|1|5|8
+29|13.3|8|350|245|3.73|3.84|15.41|0|0|3|4
+30|19.2|8|400|175|3.08|3.845|17.05|0|0|3|2
+31|19.7|6|145|175|3.62|2.77|15.5|0|1|5|6
+32|21.4|4|121|109|4.11|2.78|18.6|1|1|4|2
+\.
+</pre></li>
+<li>Run the decision tree training function: <pre class="example">
+DROP TABLE IF EXISTS train_output, train_output_summary;
+SELECT madlib.tree_train('mt_cars',         -- source table
+                         'train_output',    -- output model table
+                         'id',              -- id column
+                         'mpg',             -- dependent variable
+                         '*',               -- features
+                         'id, hp, drat, am, gear, carb',  -- exclude columns
+                         'mse',             -- split criterion
+                         NULL::text,        -- no grouping
+                         NULL::text,        -- no weights
+                         10,                -- max depth
+                         8,                 -- min split
+                         3,                 -- number of bins per continuous variable
+                         10,                -- number of splits
+                         NULL,              -- pruning parameters
+                         'max_surrogates=2' -- number of surrogates
+                         );
+</pre></li>
+<li>Display the decision tree in basic text format: <pre class="example">
+SELECT madlib.tree_display('train_output', FALSE);
+</pre> Result: <pre class="result">
+&#160; -------------------------------------
+&#160;- Each node represented by 'id' inside ().
+&#160;- Each internal nodes has the split condition at the end, while each
+&#160;    leaf node has a * at the end.
+&#160;- For each internal node (i), its child nodes are indented by 1 level
+&#160;    with ids (2i+1) for True node and (2i+2) for False node.
+&#160;- Number of rows and average response value inside []. For a leaf node, this is the prediction.
+&#160;-------------------------------------
+ (0)[32, 20.0906]  cyl in {8,6}
+    (1)[21, 16.6476]  disp &lt;= 258
+       (3)[7, 19.7429]  *
+       (4)[14, 15.1]  qsec &lt;= 17.42
+          (9)[10, 15.81]  qsec &lt;= 16.9
+             (19)[5, 14.78]  *
+             (20)[5, 16.84]  *
+          (10)[4, 13.325]  *
+    (2)[11, 26.6636]  wt &lt;= 2.2
+       (5)[6, 30.0667]  *
+       (6)[5, 22.58]  *
+ &#160;-------------------------------------
+(1 row)
+</pre></li>
+<li>Display the surrogates in the decision tree: <pre class="example">
+SELECT madlib.tree_surr_display('train_output');
+</pre> Result: <pre class="result">
+&#160;-------------------------------------
+       Surrogates for internal nodes
+&#160;-------------------------------------
+ (0) cyl in {8,6}
+      1: disp &gt; 146.7    [common rows = 29]
+      2: vs in {0}    [common rows = 26]
+      [Majority branch = 19 ]
+ (1) disp &lt;= 258
+      1: cyl in {6,4}    [common rows = 19]
+      2: vs in {1}    [common rows = 18]
+      [Majority branch = 14 ]
+ (2) wt &lt;= 2.2
+      1: disp &lt;= 108    [common rows = 9]
+      2: qsec &lt;= 18.52    [common rows = 8]
+      [Majority branch = 6 ]
+ (4) qsec &lt;= 17.42
+      1: disp &gt; 275.8    [common rows = 11]
+      2: vs in {0}    [common rows = 10]
+      [Majority branch = 10 ]
+ (9) qsec &lt;= 16.9
+      1: wt &lt;= 3.84    [common rows = 8]
+      2: disp &lt;= 360    [common rows = 7]
+      [Majority branch = 5 ]
+&#160;-------------------------------------
+(1 row)
+</pre> <dl class="section note"><dt>Note</dt><dd>The 'cyl' parameter above has two tuples with null values. In the prediction example below, the surrogate splits for the <em>cyl in {8, 6}</em> split are used to predict those two tuples (<em>id = 9</em> and <em>id = 18</em>). The splits are used in descending order till a surrogate variable is found that is not NULL. In this case, the two tuples have non-NULL values for <em>disp</em>, hence the <em>disp &gt; 146.7</em> split is used to make the prediction. If all the surrogate variables had been NULL then the majority branch would have been followed.</dd></dl>
+</li>
+<li>Predict regression output for the same data and compare with original: <pre class="example">
+DROP TABLE IF EXISTS prediction_results;
+SELECT madlib.tree_predict('train_output',
+                           'mt_cars',
+                           'prediction_results',
+                           'response');
+SELECT s.id, mpg, estimated_mpg FROM prediction_results p, mt_cars s where s.id = p.id ORDER BY id;
+</pre> Result: <pre class="result">
+  id | mpg  |  estimated_mpg
+----+------+------------------
+  1 | 18.7 |            16.84
+  2 |   21 | 19.7428571428571
+  3 | 24.4 |            22.58
+  4 |   21 | 19.7428571428571
+  5 | 17.8 | 19.7428571428571
+  6 | 16.4 |            16.84
+  7 | 22.8 |            22.58
+  8 | 17.3 |           13.325
+  9 | 21.4 | 19.7428571428571
+ 10 | 15.2 |           13.325
+ 11 | 18.1 | 19.7428571428571
+ 12 | 32.4 | 30.0666666666667
+ 13 | 14.3 |            14.78
+ 14 | 22.8 |            22.58
+ 15 | 30.4 | 30.0666666666667
+ 16 | 19.2 | 19.7428571428571
+ 17 | 33.9 | 30.0666666666667
+ 18 | 15.2 |            16.84
+ 19 | 10.4 |           13.325
+ 20 | 27.3 | 30.0666666666667
+ 21 | 10.4 |           13.325
+ 22 |   26 | 30.0666666666667
+ 23 | 14.7 |            16.84
+ 24 | 30.4 | 30.0666666666667
+ 25 | 21.5 |            22.58
+ 26 | 15.8 |            14.78
+ 27 | 15.5 |            14.78
+ 28 |   15 |            14.78
+ 29 | 13.3 |            14.78
+ 30 | 19.2 |            16.84
+ 31 | 19.7 | 19.7428571428571
+ 32 | 21.4 |            22.58
+(32 rows)
+</pre></li>
+</ol>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd>[1] Breiman, Leo; Friedman, J. H.; Olshen, R. A.; Stone, C. J. (1984). Classification and regression trees. Monterey, CA: Wadsworth &amp; Brooks/Cole Advanced Books &amp; Software.</dd></dl>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="decision__tree_8sql__in.html">decision_tree.sql_in</a> documenting the training function</p>
+<p><a class="el" href="group__grp__random__forest.html">Random Forest</a></p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[26/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__encode__categorical.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__encode__categorical.html b/docs/v1.11/group__grp__encode__categorical.html
new file mode 100644
index 0000000..cd7b517
--- /dev/null
+++ b/docs/v1.11/group__grp__encode__categorical.html
@@ -0,0 +1,604 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Encoding Categorical Variables</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__encode__categorical.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Encoding Categorical Variables<div class="ingroups"><a class="el" href="group__grp__datatrans.html">Data Types and Transformations</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#categorical">Coding Systems for Categorical Variables</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+</ul>
+</div><p><a class="anchor" id="categorical"></a></p><dl class="section user"><dt>Coding Systems for Categorical Variables</dt><dd>Categorical variables [1] require special attention in regression analysis because, unlike dichotomous or continuous variables, they cannot be entered into the regression equation just as they are. For example, if you have a variable called race that is coded with 1=Hispanic, 2=Asian, 3=Black, 4=White, then entering race in your regression will look at the linear effect of the race variable, which is probably not what you intended. Instead, categorical variables like this need to be coded into a series of indicator variables which can then be entered into the regression model. There are a variety of coding systems that can be used for coding categorical variables, including one-hot, dummy, effects, orthogonal, and Helmert.</dd></dl>
+<p>We currently support one-hot and dummy coding techniques.</p>
+<p>Dummy coding is used when a researcher wants to compare other groups of the predictor variable with one specific group of the predictor variable. Often, the specific group to compare with is called the reference group.</p>
+<p>One-hot encoding is similar to dummy coding except it builds indicator (0/1) columns (cast as numeric) for each value of each category. Only one of these columns could take on the value 1 for each row (data point). There is no reference category for this function.</p>
+<pre class="syntax">
+encode_categorical_variables (
+        source_table,
+        output_table,
+        categorical_cols,
+        categorical_cols_to_exclude,    -- Optional
+        row_id,                         -- Optional
+        top,                            -- Optional
+        value_to_drop,                  -- Optional
+        encode_null,                    -- Optional
+        output_type,                    -- Optional
+        output_dictionary,              -- Optional
+        distributed_by                  -- Optional
+        )
+</pre><p> <b>Arguments</b> </p><dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the table containing the source categorical data to encode.</p>
+<p class="enddd"></p>
+</dd>
+<dt>output_table </dt>
+<dd><p class="startdd">VARCHAR. Name of the result table.</p>
+<dl class="section note"><dt>Note</dt><dd>If there are index columns in the 'source_table' specified by the parameter 'row_id' (see below), then the output table will contain only the index columns 'row_id' and the encoded columns. If the parameter 'row_id' is not specified, then all columns from the 'source_table', with the exception of the original columns that have been encoded, will be included in the 'output_table'. </dd></dl>
+</dd>
+<dt>categorical_cols </dt>
+<dd><p class="startdd">VARCHAR. Comma-separated string of column names of categorical variables to encode. Can also be '*' meaning all columns are to be encoded, except the ones specified in 'categorical_cols_to_exclude' and 'row_id'. Please note that all Boolean, integer and text columns are considered categorical columns and will be encoded when ‘*’ is specified for this argument. </p>
+<p class="enddd"></p>
+</dd>
+<dt>categorical_cols_to_exclude (optional) </dt>
+<dd><p class="startdd">VARCHAR. Comma-separated string of column names to exclude from the categorical variables to encode. Applicable only if 'categorical_cols' = '*'. </p>
+<p class="enddd"></p>
+</dd>
+<dt>row_id (optional) </dt>
+<dd><p class="startdd">VARCHAR. Comma-separated column name(s) corresponding to the primary key(s) of the source table. This parameter determines the format of the 'output_table' as described above. If 'categorical_cols' = '*', these columns will be excluded from encoding (but will be included in the output table).</p>
+<dl class="section note"><dt>Note</dt><dd>If you want to see both the raw categorical variable and its encoded form in the output_table, then include the categorical variable in the 'row_id' parameter. However, this will not work if you specify '*' for the parameter 'categorical_cols', because in this case 'row_id' columns will not be encoded at all. </dd></dl>
+</dd>
+<dt>top (optional) </dt>
+<dd><p class="startdd">VARCHAR. default: NULL. If integer, encodes the top n values by frequency. If float in the range (0.0, 1.0), encodes the specified fraction of values by frequency (e.g., 0.1 means top 10%). Can be specified as a global for all categorical columns, or as a dictionary with separate 'top' values for each categorical variable. Set to NULL to encode all levels (values) for all categorical columns. </p>
+<p class="enddd"></p>
+</dd>
+<dt>value_to_drop (optional) </dt>
+<dd><p class="startdd">VARCHAR. Default: NULL.</p>
+<ul>
+<li>For dummy coding, indicate the desired value (reference) to drop for each categorical variable. Can be specified as a global for all categorical columns, or a comma-separated string containing items of the form 'name=value', where 'name' is the column name and 'value' is the reference value to be dropped.</li>
+<li>Set to NULL for one-hot encoding (default)</li>
+</ul>
+<dl class="section note"><dt>Note</dt><dd>If you specify both 'value_to_drop' and 'top' parameters, the 'value_to_drop' will be applied first (takes priority), then 'top' will be applied to the remaining values. </dd></dl>
+</dd>
+<dt>encode_null (optional) </dt>
+<dd><p class="startdd">BOOLEAN. default: FALSE. Whether NULL should be treated as one of the values of the categorical variable. If TRUE, then an indicator variable is created corresponding to the NULL value. If FALSE, then all encoded values for that variable will be set to 0. </p>
+<p class="enddd"></p>
+</dd>
+<dt>output_type (optional) </dt>
+<dd><p class="startdd">VARCHAR. default: 'column'. This parameter controls the output format of the indicator variables. If 'column', a column is created for each indicator variable. PostgreSQL limits the number of columns in a table. If the total number of indicator columns exceeds the limit, then make this parameter either 'array' to combine the indicator columns into an array or 'svec' to cast the array output to <em>'madlib.svec'</em> type.</p>
+<p>Since the array output for any single tuple would be sparse (only one non-zero entry for each categorical column), the 'svec' output would be most efficient for storage. The 'array' output is useful if the array is used for post-processing, including concatenating with other non-categorical features.</p>
+<p>The order of the array is the same as specified in 'categorical_cols'. A dictionary will be created when 'output_type' is 'array' or 'svec' to define an index into the array. The dictionary table will be given the name of the 'output_table' appended by '_dictionary'. </p>
+<p class="enddd"></p>
+</dd>
+<dt>output_dictionary (optional) </dt>
+<dd><p class="startdd">BOOLEAN. default: FALSE. This parameter is used to handle auto-generated column names that exceed the PostgreSQL limit of 63 bytes.</p>
+<ul>
+<li>If TRUE, column names will include numerical IDs and will create a dictionary table called 'output_table_dictionary' ('output_table' appended with '_dictionary').</li>
+<li>If FALSE, will auto-generate column names in the usual way unless the limit of 63 bytes will be exceeded. In this case, a dictionary output file will be created and a message given to the user. </li>
+</ul>
+<p class="enddd"></p>
+</dd>
+<dt>distributed_by (optional) </dt>
+<dd><p class="startdd">VARCHAR. default: NULL. Columns to use for the distribution policy of the output table. When NULL, either 'row_id' is used as distribution policy (when provided), or else the distribution policy of 'source_table' will be used. This argument does not apply to PostgreSQL platforms.</p>
+<ul>
+<li>NULL: By default, the distribution policy of the source_table will be used.</li>
+<li>Comma-separated column names: Column(s) to be used for the distribution key.</li>
+<li>RANDOMLY: Use random distribution policy (only if there does not exist a column named 'randomly').</li>
+</ul>
+<p class="enddd"></p>
+</dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
+<ol type="1">
+<li>Use a subset of the abalone dataset [2]: <pre class="example">
+DROP TABLE IF EXISTS abalone;
+CREATE TABLE abalone (
+    id serial,
+    sex character varying,
+    length double precision,
+    diameter double precision,
+    height double precision,
+    rings int
+);
+INSERT INTO abalone (sex, length, diameter, height, rings) VALUES
+('M',    0.455,  0.365,  0.095,  15),
+('M',    0.35,   0.265,  0.09,   7),
+('F',    0.53,   0.42,   0.135,  9),
+('M',    0.44,   0.365,  0.125,  10),
+('I',    0.33,   0.255,  0.08,   7),
+('I',    0.425,  0.3,    0.095,  8),
+('F',    0.53,   0.415,  0.15,   20),
+('F',    0.545,  0.425,  0.125,  16),
+('M',    0.475,  0.37,   0.125,  9),
+(NULL,   0.55,   0.44,   0.15,   19),
+('F',    0.525,  0.38,   0.14,   14),
+('M',    0.43,   0.35,   0.11,   10),
+('M',    0.49,   0.38,   0.135,  11),
+('F',    0.535,  0.405,  0.145,  10),
+('F',    0.47,   0.355,  0.1,    10),
+('M',    0.5,    0.4,    0.13,   12),
+('I',    0.355,  0.28,   0.085,  7),
+('F',    0.44,   0.34,   0.1,    10),
+('M',    0.365,  0.295,  0.08,   7),
+(NULL,   0.45,   0.32,   0.1,    9);
+</pre></li>
+<li>Create new table with one-hot encoding. The column 'sex' is replaced by three columns encoding the values 'F', 'M' and 'I'. Null values are not encoded by default: <pre class="example">
+DROP TABLE IF EXISTS abalone_out, abalone_out_dictionary;
+SELECT madlib.encode_categorical_variables (
+        'abalone',                   -- Source table
+        'abalone_out',               -- Output table
+        'sex'                        -- Categorical columns
+        );
+SELECT * FROM abalone_out ORDER BY id;
+</pre> <pre class="result">
+  id | length | diameter | height | rings | sex_F | sex_I | sex_M
+----+--------+----------+--------+-------+-------+-------+-------
+  1 |  0.455 |    0.365 |  0.095 |    15 |     0 |     0 |     1
+  2 |   0.35 |    0.265 |   0.09 |     7 |     0 |     0 |     1
+  3 |   0.53 |     0.42 |  0.135 |     9 |     1 |     0 |     0
+  4 |   0.44 |    0.365 |  0.125 |    10 |     0 |     0 |     1
+  5 |   0.33 |    0.255 |   0.08 |     7 |     0 |     1 |     0
+  6 |  0.425 |      0.3 |  0.095 |     8 |     0 |     1 |     0
+  7 |   0.53 |    0.415 |   0.15 |    20 |     1 |     0 |     0
+  8 |  0.545 |    0.425 |  0.125 |    16 |     1 |     0 |     0
+  9 |  0.475 |     0.37 |  0.125 |     9 |     0 |     0 |     1
+ 10 |   0.55 |     0.44 |   0.15 |    19 |     0 |     0 |     0
+ 11 |  0.525 |     0.38 |   0.14 |    14 |     1 |     0 |     0
+ 12 |   0.43 |     0.35 |   0.11 |    10 |     0 |     0 |     1
+ 13 |   0.49 |     0.38 |  0.135 |    11 |     0 |     0 |     1
+ 14 |  0.535 |    0.405 |  0.145 |    10 |     1 |     0 |     0
+ 15 |   0.47 |    0.355 |    0.1 |    10 |     1 |     0 |     0
+ 16 |    0.5 |      0.4 |   0.13 |    12 |     0 |     0 |     1
+ 17 |  0.355 |     0.28 |  0.085 |     7 |     0 |     1 |     0
+ 18 |   0.44 |     0.34 |    0.1 |    10 |     1 |     0 |     0
+ 19 |  0.365 |    0.295 |   0.08 |     7 |     0 |     0 |     1
+ 20 |   0.45 |     0.32 |    0.1 |     9 |     0 |     0 |     0
+(20 rows)
+</pre></li>
+<li>Now include NULL values in encoding (note the additional column 'sex_NULL'): <pre class="example">
+DROP TABLE IF EXISTS abalone_out, abalone_out_dictionary;
+SELECT madlib.encode_categorical_variables (
+        'abalone',                   -- Source table
+        'abalone_out',               -- Output table
+        'sex',                       -- Categorical columns
+        NULL,                        -- Categorical columns to exclude
+        NULL,                        -- Index columns
+        NULL,                        -- Top values
+        NULL,                        -- Value to drop for dummy encoding
+        TRUE                         -- Encode nulls
+        );
+SELECT * FROM abalone_out ORDER BY id;
+</pre> <pre class="result">
+ id | length | diameter | height | rings | sex_F | sex_I | sex_M | sex_NULL
+----+--------+----------+--------+-------+-------+-------+-------+----------
+  1 |  0.455 |    0.365 |  0.095 |    15 |     0 |     0 |     1 |        0
+  2 |   0.35 |    0.265 |   0.09 |     7 |     0 |     0 |     1 |        0
+  3 |   0.53 |     0.42 |  0.135 |     9 |     1 |     0 |     0 |        0
+  4 |   0.44 |    0.365 |  0.125 |    10 |     0 |     0 |     1 |        0
+  5 |   0.33 |    0.255 |   0.08 |     7 |     0 |     1 |     0 |        0
+  6 |  0.425 |      0.3 |  0.095 |     8 |     0 |     1 |     0 |        0
+  7 |   0.53 |    0.415 |   0.15 |    20 |     1 |     0 |     0 |        0
+  8 |  0.545 |    0.425 |  0.125 |    16 |     1 |     0 |     0 |        0
+  9 |  0.475 |     0.37 |  0.125 |     9 |     0 |     0 |     1 |        0
+ 10 |   0.55 |     0.44 |   0.15 |    19 |     0 |     0 |     0 |        1
+ 11 |  0.525 |     0.38 |   0.14 |    14 |     1 |     0 |     0 |        0
+ 12 |   0.43 |     0.35 |   0.11 |    10 |     0 |     0 |     1 |        0
+ 13 |   0.49 |     0.38 |  0.135 |    11 |     0 |     0 |     1 |        0
+ 14 |  0.535 |    0.405 |  0.145 |    10 |     1 |     0 |     0 |        0
+ 15 |   0.47 |    0.355 |    0.1 |    10 |     1 |     0 |     0 |        0
+ 16 |    0.5 |      0.4 |   0.13 |    12 |     0 |     0 |     1 |        0
+ 17 |  0.355 |     0.28 |  0.085 |     7 |     0 |     1 |     0 |        0
+ 18 |   0.44 |     0.34 |    0.1 |    10 |     1 |     0 |     0 |        0
+ 19 |  0.365 |    0.295 |   0.08 |     7 |     0 |     0 |     1 |        0
+ 20 |   0.45 |     0.32 |    0.1 |     9 |     0 |     0 |     0 |        1
+(20 rows)
+</pre></li>
+<li>Encode all categorical variables in the source table. Also, specify the column 'id' as the index (primary key) which changes the output table to include only the index and the encoded variables: <pre class="example">
+DROP TABLE IF EXISTS abalone_out, abalone_out_dictionary;
+SELECT madlib.encode_categorical_variables (
+        'abalone',                   -- Source table
+        'abalone_out',               -- Output table
+        '*',                         -- Categorical columns
+        NULL,                        -- Categorical columns to exclude
+        'id'                         -- Index columns
+        );
+SELECT * FROM abalone_out ORDER BY id;
+</pre> <pre class="result">
+ id | sex_F | sex_I | sex_M | rings_7 | rings_8 | rings_9 | rings_10 | rings_11 | rings_12 | rings_14 | rings_15 | rings_16 | rings_19 | rings_20
+----+-------+-------+-------+---------+---------+---------+----------+----------+----------+----------+----------+----------+----------+----------
+  1 |     0 |     0 |     1 |       0 |       0 |       0 |        0 |        0 |        0 |        0 |        1 |        0 |        0 |        0
+  2 |     0 |     0 |     1 |       1 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+  3 |     1 |     0 |     0 |       0 |       0 |       1 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+  4 |     0 |     0 |     1 |       0 |       0 |       0 |        1 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+  5 |     0 |     1 |     0 |       1 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+  6 |     0 |     1 |     0 |       0 |       1 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+  7 |     1 |     0 |     0 |       0 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        1
+  8 |     1 |     0 |     0 |       0 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        1 |        0 |        0
+  9 |     0 |     0 |     1 |       0 |       0 |       1 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 10 |     0 |     0 |     0 |       0 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        1 |        0
+ 11 |     1 |     0 |     0 |       0 |       0 |       0 |        0 |        0 |        0 |        1 |        0 |        0 |        0 |        0
+ 12 |     0 |     0 |     1 |       0 |       0 |       0 |        1 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 13 |     0 |     0 |     1 |       0 |       0 |       0 |        0 |        1 |        0 |        0 |        0 |        0 |        0 |        0
+ 14 |     1 |     0 |     0 |       0 |       0 |       0 |        1 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 15 |     1 |     0 |     0 |       0 |       0 |       0 |        1 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 16 |     0 |     0 |     1 |       0 |       0 |       0 |        0 |        0 |        1 |        0 |        0 |        0 |        0 |        0
+ 17 |     0 |     1 |     0 |       1 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 18 |     1 |     0 |     0 |       0 |       0 |       0 |        1 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 19 |     0 |     0 |     1 |       1 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 20 |     0 |     0 |     0 |       0 |       0 |       1 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+(20 rows)
+</pre></li>
+<li>Now let's encode only the top values and group others into a miscellaneous bucket column. Top values can be global across all columns or specified by column. As an example of the latter, here are the top 2 'sex' values and the top 50% of 'rings' values: <pre class="example">
+DROP TABLE IF EXISTS abalone_out, abalone_out_dictionary;
+SELECT madlib.encode_categorical_variables (
+        'abalone',                   -- Source table
+        'abalone_out',               -- Output table
+        '*',                         -- Categorical columns
+        NULL,                        -- Categorical columns to exclude
+        'id',                        -- Index columns
+        'sex=2, rings=0.5'           -- Top values
+        );
+SELECT * FROM abalone_out ORDER BY id;
+</pre> <pre class="result">
+ id | sex_M | sex_F | sex__MISC__ | rings_10 | rings_7 | rings_9 | rings__MISC__
+----+-------+-------+-------------+----------+---------+---------+---------------
+  1 |     1 |     0 |           0 |        0 |       0 |       0 |             1
+  2 |     1 |     0 |           0 |        0 |       1 |       0 |             0
+  3 |     0 |     1 |           0 |        0 |       0 |       1 |             0
+  4 |     1 |     0 |           0 |        1 |       0 |       0 |             0
+  5 |     0 |     0 |           1 |        0 |       1 |       0 |             0
+  6 |     0 |     0 |           1 |        0 |       0 |       0 |             1
+  7 |     0 |     1 |           0 |        0 |       0 |       0 |             1
+  8 |     0 |     1 |           0 |        0 |       0 |       0 |             1
+  9 |     1 |     0 |           0 |        0 |       0 |       1 |             0
+ 10 |     0 |     0 |           0 |        0 |       0 |       0 |             1
+ 11 |     0 |     1 |           0 |        0 |       0 |       0 |             1
+ 12 |     1 |     0 |           0 |        1 |       0 |       0 |             0
+ 13 |     1 |     0 |           0 |        0 |       0 |       0 |             1
+ 14 |     0 |     1 |           0 |        1 |       0 |       0 |             0
+ 15 |     0 |     1 |           0 |        1 |       0 |       0 |             0
+ 16 |     1 |     0 |           0 |        0 |       0 |       0 |             1
+ 17 |     0 |     0 |           1 |        0 |       1 |       0 |             0
+ 18 |     0 |     1 |           0 |        1 |       0 |       0 |             0
+ 19 |     1 |     0 |           0 |        0 |       1 |       0 |             0
+ 20 |     0 |     0 |           0 |        0 |       0 |       1 |             0
+(20 rows)
+</pre></li>
+<li>If you want to see both the raw categorical variable and its encoded form in the output_table, then include the categorical variable(s) in the index parameter. (Remember that this will not work if you specify '*' for the parameter 'categorical_cols', because in this case 'row_id' columns will not be encoded at all.) <pre class="example">
+DROP TABLE IF EXISTS abalone_out, abalone_out_dictionary;
+SELECT madlib.encode_categorical_variables (
+        'abalone',                   -- Source table
+        'abalone_out',               -- Output table
+        'sex, rings',                -- Categorical columns
+        NULL,                        -- Categorical columns to exclude
+        'id, sex, rings'             -- Index columns
+        );
+SELECT * FROM abalone_out ORDER BY id;
+</pre> <pre class="result">
+ id | sex | rings | sex_F | sex_I | sex_M | rings_7 | rings_8 | rings_9 | rings_10 | rings_11 | rings_12 | rings_14 | rings_15 | rings_16 | rings_19 | rings_20
+----+-----+-------+-------+-------+-------+---------+---------+---------+----------+----------+----------+----------+----------+----------+----------+----------
+  1 | M   |    15 |     0 |     0 |     1 |       0 |       0 |       0 |        0 |        0 |        0 |        0 |        1 |        0 |        0 |        0
+  2 | M   |     7 |     0 |     0 |     1 |       1 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+  3 | F   |     9 |     1 |     0 |     0 |       0 |       0 |       1 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+  4 | M   |    10 |     0 |     0 |     1 |       0 |       0 |       0 |        1 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+  5 | I   |     7 |     0 |     1 |     0 |       1 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+  6 | I   |     8 |     0 |     1 |     0 |       0 |       1 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+  7 | F   |    20 |     1 |     0 |     0 |       0 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        1
+  8 | F   |    16 |     1 |     0 |     0 |       0 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        1 |        0 |        0
+  9 | M   |     9 |     0 |     0 |     1 |       0 |       0 |       1 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 10 |     |    19 |     0 |     0 |     0 |       0 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        1 |        0
+ 11 | F   |    14 |     1 |     0 |     0 |       0 |       0 |       0 |        0 |        0 |        0 |        1 |        0 |        0 |        0 |        0
+ 12 | M   |    10 |     0 |     0 |     1 |       0 |       0 |       0 |        1 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 13 | M   |    11 |     0 |     0 |     1 |       0 |       0 |       0 |        0 |        1 |        0 |        0 |        0 |        0 |        0 |        0
+ 14 | F   |    10 |     1 |     0 |     0 |       0 |       0 |       0 |        1 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 15 | F   |    10 |     1 |     0 |     0 |       0 |       0 |       0 |        1 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 16 | M   |    12 |     0 |     0 |     1 |       0 |       0 |       0 |        0 |        0 |        1 |        0 |        0 |        0 |        0 |        0
+ 17 | I   |     7 |     0 |     1 |     0 |       1 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 18 | F   |    10 |     1 |     0 |     0 |       0 |       0 |       0 |        1 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 19 | M   |     7 |     0 |     0 |     1 |       1 |       0 |       0 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+ 20 |     |     9 |     0 |     0 |     0 |       0 |       0 |       1 |        0 |        0 |        0 |        0 |        0 |        0 |        0 |        0
+(20 rows)
+</pre></li>
+<li>For dummy encoding, let's make the 'I' value from the 'sex' variable as the reference. Here we use the 'value_to_drop' parameter: <pre class="example">
+DROP TABLE IF EXISTS abalone_out, abalone_out_dictionary;
+SELECT madlib.encode_categorical_variables (
+        'abalone',                   -- Source table
+        'abalone_out',               -- Output table
+        '*',                         -- Categorical columns
+        'rings',                     -- Categorical columns to exclude
+        'id',                        -- Index columns
+        NULL,                        -- Top value
+        'sex=I'                      -- Value to drop for dummy encoding
+        );
+SELECT * FROM abalone_out ORDER BY id;
+</pre> <pre class="result">
+  id | sex_F | sex_M
+----+-------+-------
+  1 |     0 |     1
+  2 |     0 |     1
+  3 |     1 |     0
+  4 |     0 |     1
+  5 |     0 |     0
+  6 |     0 |     0
+  7 |     1 |     0
+  8 |     1 |     0
+  9 |     0 |     1
+ 10 |     0 |     0
+ 11 |     1 |     0
+ 12 |     0 |     1
+ 13 |     0 |     1
+ 14 |     1 |     0
+ 15 |     1 |     0
+ 16 |     0 |     1
+ 17 |     0 |     0
+ 18 |     1 |     0
+ 19 |     0 |     1
+ 20 |     0 |     0
+(20 rows)
+</pre></li>
+<li>Create an array output for the two categorical variables in the source table: <pre class="example">
+DROP TABLE IF EXISTS abalone_out, abalone_out_dictionary;
+SELECT madlib.encode_categorical_variables (
+        'abalone',                   -- Source table
+        'abalone_out',               -- Output table
+        '*',                         -- Categorical columns
+        NULL,                        -- Categorical columns to exclude
+        'id',                        -- Index columns
+        NULL,                        -- Top values
+        NULL,                        -- Value to drop for dummy encoding
+        NULL,                        -- Encode nulls
+        'array'                      -- Array output type
+        );
+SELECT * FROM abalone_out ORDER BY id;
+</pre> <pre class="result">
+ id |     __encoded_variables__
+----+-------------------------------
+  1 | {0,0,1,0,0,0,0,0,0,0,1,0,0,0}
+  2 | {0,0,1,1,0,0,0,0,0,0,0,0,0,0}
+  3 | {1,0,0,0,0,1,0,0,0,0,0,0,0,0}
+  4 | {0,0,1,0,0,0,1,0,0,0,0,0,0,0}
+  5 | {0,1,0,1,0,0,0,0,0,0,0,0,0,0}
+  6 | {0,1,0,0,1,0,0,0,0,0,0,0,0,0}
+  7 | {1,0,0,0,0,0,0,0,0,0,0,0,0,1}
+  8 | {1,0,0,0,0,0,0,0,0,0,0,1,0,0}
+  9 | {0,0,1,0,0,1,0,0,0,0,0,0,0,0}
+ 10 | {0,0,0,0,0,0,0,0,0,0,0,0,1,0}
+ 11 | {1,0,0,0,0,0,0,0,0,1,0,0,0,0}
+ 12 | {0,0,1,0,0,0,1,0,0,0,0,0,0,0}
+ 13 | {0,0,1,0,0,0,0,1,0,0,0,0,0,0}
+ 14 | {1,0,0,0,0,0,1,0,0,0,0,0,0,0}
+ 15 | {1,0,0,0,0,0,1,0,0,0,0,0,0,0}
+ 16 | {0,0,1,0,0,0,0,0,1,0,0,0,0,0}
+ 17 | {0,1,0,1,0,0,0,0,0,0,0,0,0,0}
+ 18 | {1,0,0,0,0,0,1,0,0,0,0,0,0,0}
+ 19 | {0,0,1,1,0,0,0,0,0,0,0,0,0,0}
+ 20 | {0,0,0,0,0,1,0,0,0,0,0,0,0,0}
+(20 rows)
+</pre> View the dictionary table that gives the index into the array: <pre class="example">
+SELECT * FROM abalone_out_dictionary;
+</pre> <pre class="result">
+  encoded_column_name  | index | variable | value
+-----------------------+-------+----------+-------
+ __encoded_variables__ |     1 | sex      | F
+ __encoded_variables__ |     2 | sex      | I
+ __encoded_variables__ |     3 | sex      | M
+ __encoded_variables__ |     4 | rings    | 7
+ __encoded_variables__ |     5 | rings    | 8
+ __encoded_variables__ |     6 | rings    | 9
+ __encoded_variables__ |     7 | rings    | 10
+ __encoded_variables__ |     8 | rings    | 11
+ __encoded_variables__ |     9 | rings    | 12
+ __encoded_variables__ |    10 | rings    | 14
+ __encoded_variables__ |    11 | rings    | 15
+ __encoded_variables__ |    12 | rings    | 16
+ __encoded_variables__ |    13 | rings    | 19
+ __encoded_variables__ |    14 | rings    | 20
+(14 rows)
+</pre></li>
+<li>Create a dictionary output: <pre class="example">
+DROP TABLE IF EXISTS abalone_out, abalone_out_dictionary;
+SELECT madlib.encode_categorical_variables (
+        'abalone',                   -- Source table
+        'abalone_out',               -- Output table
+        '*',                         -- Categorical columns
+        NULL,                        -- Categorical columns to exclude
+        'id',                        -- Index columns
+        NULL,                        -- Top values
+        NULL,                        -- Value to drop for dummy encoding
+        NULL,                        -- Encode nulls
+        NULL,                        -- Output type
+        TRUE                         -- Dictionary output
+        );
+SELECT * FROM abalone_out ORDER BY id;
+</pre> <pre class="result">
+ id | sex_1 | sex_2 | sex_3 | rings_1 | rings_2 | rings_3 | rings_4 | rings_5 | rings_6 | rings_7 | rings_8 | rings_9 | rings_10 | rings_11
+----+-------+-------+-------+---------+---------+---------+---------+---------+---------+---------+---------+---------+----------+----------
+  1 |     0 |     0 |     1 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       1 |       0 |        0 |        0
+  2 |     0 |     0 |     1 |       1 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+  3 |     1 |     0 |     0 |       0 |       0 |       1 |       0 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+  4 |     0 |     0 |     1 |       0 |       0 |       0 |       1 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+  5 |     0 |     1 |     0 |       1 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+  6 |     0 |     1 |     0 |       0 |       1 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+  7 |     1 |     0 |     0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |        0 |        1
+  8 |     1 |     0 |     0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       1 |        0 |        0
+  9 |     0 |     0 |     1 |       0 |       0 |       1 |       0 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+ 10 |     0 |     0 |     0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |        1 |        0
+ 11 |     1 |     0 |     0 |       0 |       0 |       0 |       0 |       0 |       0 |       1 |       0 |       0 |        0 |        0
+ 12 |     0 |     0 |     1 |       0 |       0 |       0 |       1 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+ 13 |     0 |     0 |     1 |       0 |       0 |       0 |       0 |       1 |       0 |       0 |       0 |       0 |        0 |        0
+ 14 |     1 |     0 |     0 |       0 |       0 |       0 |       1 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+ 15 |     1 |     0 |     0 |       0 |       0 |       0 |       1 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+ 16 |     0 |     0 |     1 |       0 |       0 |       0 |       0 |       0 |       1 |       0 |       0 |       0 |        0 |        0
+ 17 |     0 |     1 |     0 |       1 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+ 18 |     1 |     0 |     0 |       0 |       0 |       0 |       1 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+ 19 |     0 |     0 |     1 |       1 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+ 20 |     0 |     0 |     0 |       0 |       0 |       1 |       0 |       0 |       0 |       0 |       0 |       0 |        0 |        0
+(20 rows)
+</pre> View the dictionary table that defines the numerical columns in the output table: <pre class="example">
+SELECT * FROM abalone_out_dictionary ORDER BY encoded_column_name;
+</pre> <pre class="result">
+ encoded_column_name | index | variable | value
+---------------------+-------+----------+-------
+ "rings_1"           |     1 | rings    | 7
+ "rings_10"          |    10 | rings    | 19
+ "rings_11"          |    11 | rings    | 20
+ "rings_2"           |     2 | rings    | 8
+ "rings_3"           |     3 | rings    | 9
+ "rings_4"           |     4 | rings    | 10
+ "rings_5"           |     5 | rings    | 11
+ "rings_6"           |     6 | rings    | 12
+ "rings_7"           |     7 | rings    | 14
+ "rings_8"           |     8 | rings    | 15
+ "rings_9"           |     9 | rings    | 16
+ "sex_1"             |     1 | sex      | F
+ "sex_2"             |     2 | sex      | I
+ "sex_3"             |     3 | sex      | M
+(14 rows)
+</pre></li>
+<li>We can chose from various distribution policies, for examply RANDOMLY: <pre class="example">
+DROP TABLE IF EXISTS abalone_out, abalone_out_dictionary;
+SELECT madlib.encode_categorical_variables (
+        'abalone',                   -- Source table
+        'abalone_out',               -- Output table
+        '*',                         -- Categorical columns
+        NULL,                        -- Categorical columns to exclude
+        'id',                        -- Index columns
+        NULL,                        -- Top values
+        NULL,                        -- Value to drop for dummy encoding
+        NULL,                        -- Encode nulls
+        NULL,                        -- Output type
+        NULL,                        -- Dictionary output
+        'RANDOMLY'                   -- Distribution policy
+        );
+</pre></li>
+<li>If you have a reason to encode FLOAT variables, you can cast them in the following way within the function call: <pre class="example">
+DROP TABLE IF EXISTS abalone_out, abalone_out_dictionary;
+SELECT madlib.encode_categorical_variables (
+        'abalone',                   -- Source table
+        'abalone_out',               -- Output table
+        'height::TEXT'               -- Categorical columns
+        );
+</pre></li>
+</ol>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
+<p><a class="anchor" id="svm-lit-1"></a>[1] <a href="https://en.wikipedia.org/wiki/Categorical_variable">https://en.wikipedia.org/wiki/Categorical_variable</a></p>
+<p>[2] <a href="https://archive.ics.uci.edu/ml/datasets/Abalone">https://archive.ics.uci.edu/ml/datasets/Abalone</a> </p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__fmsketch.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__fmsketch.html b/docs/v1.11/group__grp__fmsketch.html
new file mode 100644
index 0000000..3a664c7
--- /dev/null
+++ b/docs/v1.11/group__grp__fmsketch.html
@@ -0,0 +1,161 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: FM (Flajolet-Martin)</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__fmsketch.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">FM (Flajolet-Martin)<div class="ingroups"><a class="el" href="group__grp__early__stage.html">Early Stage Development</a> &raquo; <a class="el" href="group__grp__sketches.html">Cardinality Estimators</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b> <ul>
+<li>
+<a href="#syntax">Syntax</a> </li>
+<li>
+<a href="#examples">Examples</a> </li>
+<li>
+<a href="#literature">Literature</a> </li>
+<li>
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><dl class="section warning"><dt>Warning</dt><dd><em> This MADlib method is still in early stage development. There may be some issues that will be addressed in a future version. Interface and implementation is subject to change. </em></dd></dl>
+<p><a class="el" href="sketch_8sql__in.html#ae27d5aaa5e4b426bcfe55e05a89c8e0b">fmsketch_dcount</a> can be run on a column of any type. It returns an approximation to the number of distinct values (a la <code>COUNT(DISTINCT x)</code>), but faster and approximate. Like any aggregate, it can be combined with a GROUP BY clause to do distinct counts per group.</p>
+<p><a class="anchor" id="syntax"></a></p><dl class="section user"><dt>Syntax</dt><dd></dd></dl>
+<p>Get the number of distinct values in a designated column. </p><pre class="syntax">
+fmsketch_dcount( col_name )
+</pre><p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd><ol type="1">
+<li>Generate some data. <pre class="example">
+CREATE TABLE data(class INT, a1 INT);
+INSERT INTO data SELECT 1,1 FROM generate_series(1,10000);
+INSERT INTO data SELECT 1,2 FROM generate_series(1,15000);
+INSERT INTO data SELECT 1,3 FROM generate_series(1,10000);
+INSERT INTO data SELECT 2,5 FROM generate_series(1,1000);
+INSERT INTO data SELECT 2,6 FROM generate_series(1,1000);
+</pre></li>
+<li>Find the distinct number of values for each class. <pre class="example">
+SELECT class, fmsketch_dcount(a1)
+FROM data
+GROUP BY data.class;
+</pre> Result: <pre class="result">
+class | fmsketch_dcount
+&#160;------+-----------------
+    2 |               2
+    1 |               3
+(2 rows)
+</pre></li>
+</ol>
+</dd></dl>
+<p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd>[1] P. Flajolet and N.G. Martin. Probabilistic counting algorithms for data base applications, Journal of Computer and System Sciences 31(2), pp 182-209, 1985. <a href="http://algo.inria.fr/flajolet/Publications/FlMa85.pdf">http://algo.inria.fr/flajolet/Publications/FlMa85.pdf</a></dd></dl>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File <a class="el" href="sketch_8sql__in.html" title="SQL functions for sketch-based approximations of descriptive statistics. ">sketch.sql_in</a> documenting the SQL function. </dd></dl>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:39 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/group__grp__glm.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/group__grp__glm.html b/docs/v1.11/group__grp__glm.html
new file mode 100644
index 0000000..aec02ac
--- /dev/null
+++ b/docs/v1.11/group__grp__glm.html
@@ -0,0 +1,572 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: Generalized Linear Models</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('group__grp__glm.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Generalized Linear Models<div class="ingroups"><a class="el" href="group__grp__super.html">Supervised Learning</a> &raquo; <a class="el" href="group__grp__regml.html">Regression Models</a></div></div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="toc"><b>Contents</b><ul>
+<li class="level1">
+<a href="#train">Training Function</a> </li>
+<li class="level1">
+<a href="#predict">Prediction Function</a> </li>
+<li class="level1">
+<a href="#examples">Examples</a> </li>
+<li class="level1">
+<a href="#related">Related Topics</a> </li>
+</ul>
+</div><p>Generalized linear models extends ordinary linear regression by allowing the response variable to follow a more general set of distributions (rather than simply Gaussian distributions), and for a general family of functions of the response variable (the link function) to vary linearly with the predicted values (rather than assuming that the response itself must vary linearly).</p>
+<p>For example, data of counts would typically be modeled with a Poisson distribution and a log link, while binary outcomes would typically be modeled with a Bernoulli distribution (or binomial distribution, depending on exactly how the problem is phrased) and a log-odds (or logit) link function.</p>
+<p>Currently, the implemented distribution families are </p><center> <table class="doxtable">
+<tr>
+<th>Distribution Family </th><th>Link Functions  </th></tr>
+<tr>
+<td>Binomial </td><td>logit, probit  </td></tr>
+<tr>
+<td>Gamma </td><td>inverse, identity, log  </td></tr>
+<tr>
+<td>Gaussian </td><td>identity, inverse, log  </td></tr>
+<tr>
+<td>Inverse Gaussian </td><td>inverse of square, inverse, identity, log  </td></tr>
+<tr>
+<td>Poisson </td><td>log, identity, square-root<br />
+  </td></tr>
+</table>
+</center><p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd>GLM training function has the following format: <pre class="syntax">
+glm(source_table,
+    model_table,
+    dependent_varname,
+    independent_varname,
+    family_params,
+    grouping_col,
+    optim_params,
+    verbose
+    )
+</pre> <b>Arguments</b> <dl class="arglist">
+<dt>source_table </dt>
+<dd><p class="startdd">TEXT. The name of the table containing the training data.</p>
+<p class="enddd"></p>
+</dd>
+<dt>model_table </dt>
+<dd><p class="startdd">TEXT. Name of the generated table containing the model.</p>
+<p>The model table produced by glm contains the following columns:</p>
+<table class="output">
+<tr>
+<th>&lt;...&gt; </th><td><p class="starttd">Text. Grouping columns, if provided in input. This could be multiple columns depending on the <code>grouping_col</code> input. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>coef </th><td><p class="starttd">FLOAT8. Vector of the coefficients in linear predictor. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>log_likelihood </th><td><p class="starttd">FLOAT8. The log-likelihood <img class="formulaInl" alt="$ l(\boldsymbol \beta) $" src="form_93.png"/>. We use the maximum likelihood estimate of dispersion parameter to calculate the log-likelihood while R and Python use deviance estimate and Pearson estimate respectively. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>std_err </th><td><p class="starttd">FLOAT8[]. Vector of the standard error of the coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>z_stats or t_stats </th><td><p class="starttd">FLOAT8[]. Vector of the z-statistics (in Poisson distribtuion and Binomial distribution) or the t-statistics (in all other distributions) of the coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>p_values </th><td><p class="starttd">FLOAT8[]. Vector of the p-values of the coefficients. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>dispersion </th><td><p class="starttd">FLOAT8. The dispersion value (Pearson estimate). When family=poisson or family=binomial, the dispersion is always 1. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_rows_processed </th><td><p class="starttd">BIGINT. Numbers of rows processed. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_rows_skipped </th><td><p class="starttd">BIGINT. Numbers of rows skipped due to missing values or failures. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_iterations </th><td>INTEGER. The number of iterations actually completed. This would be different from the <code>nIterations</code> argument if a <code>tolerance</code> parameter is provided and the algorithm converges before all iterations are completed.  </td></tr>
+</table>
+<p>A summary table named &lt;model_table&gt;_summary is also created at the same time, which has the following columns: </p><table class="output">
+<tr>
+<th>method </th><td><p class="starttd">'glm' </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>source_table </th><td><p class="starttd">The data source table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>model_table </th><td><p class="starttd">The model table name. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>dependent_varname </th><td><p class="starttd">The dependent variable. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>independent_varname </th><td><p class="starttd">The independent variables </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>family_params </th><td><p class="starttd">A string that contains family parameters, and has the form of 'family=..., link=...' </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>grouping_col </th><td><p class="starttd">Name of grouping columns. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>optimizer_params </th><td><p class="starttd">A string that contains optimizer parameters, and has the form of 'optimizer=..., max_iter=..., tolerance=...' </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_all_groups </th><td><p class="starttd">Number of groups in glm training. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>num_failed_groups </th><td><p class="starttd">Number of failed groups in glm training. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>total_rows_processed </th><td><p class="starttd">BIGINT. Total numbers of rows processed in all groups. </p>
+<p class="endtd"></p>
+</td></tr>
+<tr>
+<th>total_rows_skipped </th><td><p class="starttd">BIGINT. Total numbers of rows skipped in all groups due to missing values or failures. </p>
+<p class="endtd"></p>
+</td></tr>
+</table>
+<p class="enddd"></p>
+</dd>
+<dt>dependent_varname </dt>
+<dd><p class="startdd">TEXT. Name of the dependent variable column.</p>
+<p class="enddd"></p>
+</dd>
+<dt>independent_varname </dt>
+<dd><p class="startdd">TEXT. Expression list to evaluate for the independent variables. An intercept variable is not assumed. It is common to provide an explicit intercept term by including a single constant <code>1</code> term in the independent variable list.</p>
+<p class="enddd"></p>
+</dd>
+<dt>family_params (optional) </dt>
+<dd><p class="startdd">TEXT, Parameters for distribution family. Currently, we support</p>
+<p>(1) family=poisson and link=[log or identity or sqrt].</p>
+<p>(2) family=gaussian and link=[identity or log or inverse]. And when family=gaussian and link=identity, the GLM model is exactly the same as the linear regression.</p>
+<p>(3) family=gamma and link=[inverse or identity or log].</p>
+<p>(4) family=inverse_gaussian and link=[sqr_inverse or log or identity or inverse].</p>
+<p>(5) family=binomial and link=[probit or logit]. </p>
+<p class="enddd"></p>
+</dd>
+<dt>grouping_col (optional) </dt>
+<dd><p class="startdd">TEXT, default: NULL. An expression list used to group the input dataset into discrete groups, running one regression per group. Similar to the SQL "GROUP BY" clause. When this value is NULL, no grouping is used and a single model is generated.</p>
+<p class="enddd"></p>
+</dd>
+<dt>optim_params (optional) </dt>
+<dd><p class="startdd">TEXT, default: 'max_iter=100,optimizer=irls,tolerance=1e-6'. Parameters for optimizer. Currently, we support tolerance=[tolerance for relative error between log-likelihoods], max_iter=[maximum iterations to run], optimizer=irls.</p>
+<p class="enddd"></p>
+</dd>
+<dt>verbose (optional) </dt>
+<dd>BOOLEAN, default: FALSE. Provides verbose output of the results of training. </dd>
+</dl>
+</dd></dl>
+<dl class="section note"><dt>Note</dt><dd>For p-values, we just return the computation result directly. Other statistical packages, like 'R', produce the same result, but on printing the result to screen, another format function is used and any p-value that is smaller than the machine epsilon (the smallest positive floating-point number 'x' such that '1 + x != 1') will be printed on screen as "&lt; xxx" (xxx is the value of the machine epsilon). Although the results may look different, they are in fact the same. </dd></dl>
+<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Function</dt><dd>The prediction function is provided to estimate the conditional mean given a new predictor. It has the following syntax: <pre class="syntax">
+glm_predict(coef,
+            col_ind_var
+            link)
+</pre></dd></dl>
+<p><b>Arguments</b> </p><dl class="arglist">
+<dt>coef </dt>
+<dd><p class="startdd">DOUBLE PRECISION[]. Model coefficients obtained from <a class="el" href="glm_8sql__in.html#a3f8eb219013e05675626acb8cf4612cc">glm()</a>.</p>
+<p class="enddd"></p>
+</dd>
+<dt>col_ind_var </dt>
+<dd><p class="startdd">New predictor, as a DOUBLE array. This should be the same length as the array obtained by evaluation of the 'independent_varname' argument in <a class="el" href="glm_8sql__in.html#a3f8eb219013e05675626acb8cf4612cc">glm()</a>.</p>
+<p class="enddd"></p>
+</dd>
+<dt>link </dt>
+<dd>link function, as a string. This should match the link function the user inputted in <a class="el" href="glm_8sql__in.html#a3f8eb219013e05675626acb8cf4612cc">glm()</a>. </dd>
+</dl>
+<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd><ol type="1">
+<li>Create the training data table. <pre class="example">
+CREATE TABLE warpbreaks(
+    id      serial,
+    breaks  integer,
+    wool    char(1),
+    tension char(1)
+);
+INSERT INTO warpbreaks(breaks, wool, tension) VALUES
+(26, 'A', 'L'),
+(30, 'A', 'L'),
+(54, 'A', 'L'),
+(25, 'A', 'L'),
+(70, 'A', 'L'),
+(52, 'A', 'L'),
+(51, 'A', 'L'),
+(26, 'A', 'L'),
+(67, 'A', 'L'),
+(18, 'A', 'M'),
+(21, 'A', 'M'),
+(29, 'A', 'M'),
+(17, 'A', 'M'),
+(12, 'A', 'M'),
+(18, 'A', 'M'),
+(35, 'A', 'M'),
+(30, 'A', 'M'),
+(36, 'A', 'M'),
+(36, 'A', 'H'),
+(21, 'A', 'H'),
+(24, 'A', 'H'),
+(18, 'A', 'H'),
+(10, 'A', 'H'),
+(43, 'A', 'H'),
+(28, 'A', 'H'),
+(15, 'A', 'H'),
+(26, 'A', 'H'),
+(27, 'B', 'L'),
+(14, 'B', 'L'),
+(29, 'B', 'L'),
+(19, 'B', 'L'),
+(29, 'B', 'L'),
+(31, 'B', 'L'),
+(41, 'B', 'L'),
+(20, 'B', 'L'),
+(44, 'B', 'L'),
+(42, 'B', 'M'),
+(26, 'B', 'M'),
+(19, 'B', 'M'),
+(16, 'B', 'M'),
+(39, 'B', 'M'),
+(28, 'B', 'M'),
+(21, 'B', 'M'),
+(39, 'B', 'M'),
+(29, 'B', 'M'),
+(20, 'B', 'H'),
+(21, 'B', 'H'),
+(24, 'B', 'H'),
+(17, 'B', 'H'),
+(13, 'B', 'H'),
+(15, 'B', 'H'),
+(15, 'B', 'H'),
+(16, 'B', 'H'),
+(28, 'B', 'H');
+SELECT create_indicator_variables('warpbreaks', 'warpbreaks_dummy', 'wool,tension');
+</pre></li>
+<li>Train a GLM model. <pre class="example">
+SELECT glm('warpbreaks_dummy',
+           'glm_model',
+           'breaks',
+           'ARRAY[1.0,"wool_B","tension_M", "tension_H"]',
+           'family=poisson, link=log');
+</pre></li>
+<li>View the regression results. <pre class="example">
+-- Set extended display on for easier reading of output
+\x on
+SELECT * FROM glm_model;
+</pre> Result: <pre class="result">
+coef               | {3.69196314494079,-0.205988442638621,-0.321320431600611,-0.51848849651156}
+log_likelihood     | -242.527983208979
+std_err            | {0.04541079434248,0.0515712427835191,0.0602659166951256,0.0639595193956924}
+z_stats            | {81.3014438174473,-3.99425011926316,-5.3317106786264,-8.10651020224019}
+p_values           | {0,6.48993254938271e-05,9.72918600322907e-08,5.20943463005751e-16}
+num_rows_processed | 54
+num_rows_skipped   | 0
+iteration          | 5
+</pre> Alternatively, unnest the arrays in the results for easier reading of output: <pre class="example">
+\x off
+SELECT unnest(coef) as coefficient,
+       unnest(std_err) as standard_error,
+       unnest(z_stats) as z_stat,
+       unnest(p_values) as pvalue
+FROM glm_model;
+</pre></li>
+<li>Predicting dependent variable using GLM model. (This example uses the original data table to perform the prediction. Typically a different test dataset with the same features as the original training dataset would be used for prediction.) <pre class="example">
+\x off
+-- Display predicted mean value on the original dataset
+SELECT
+    w.id,
+    madlib.glm_predict(
+        coef,
+        ARRAY[1, "wool_B", "tension_M", "tension_H"]::float8[],
+        'log') AS mu
+FROM warpbreaks_dummy w, glm_model m
+ORDER BY w.id;
+</pre> <pre class="example">
+-- Display predicted counts (which are predicted mean values rounded to the nearest integral value) on the original dataset
+SELECT
+    w.id,
+    madlib.glm_predict_poisson(
+        coef,
+        ARRAY[1, "wool_B", "tension_M", "tension_H"]::float8[],
+        'log') AS poisson_count
+FROM warpbreaks_dummy w, glm_model m
+ORDER BY w.id;
+</pre></li>
+</ol>
+</dd></dl>
+<p><b>Example for Gaussian family:</b></p>
+<ol type="1">
+<li>Create a testing data table <pre class="example">
+CREATE TABLE abalone (
+    id integer,
+    sex text,
+    length double precision,
+    diameter double precision,
+    height double precision,
+    whole double precision,
+    shucked double precision,
+    viscera double precision,
+    shell double precision,
+    rings integer
+);
+INSERT INTO abalone VALUES
+(3151, 'F', 0.655000000000000027, 0.505000000000000004, 0.165000000000000008, 1.36699999999999999, 0.583500000000000019, 0.351499999999999979, 0.396000000000000019, 10),
+(2026, 'F', 0.550000000000000044, 0.469999999999999973, 0.149999999999999994, 0.920499999999999985, 0.381000000000000005, 0.243499999999999994, 0.267500000000000016, 10),
+(3751, 'I', 0.434999999999999998, 0.375, 0.110000000000000001, 0.41549999999999998, 0.170000000000000012, 0.0759999999999999981, 0.14499999999999999, 8),
+(720, 'I', 0.149999999999999994, 0.100000000000000006, 0.0250000000000000014, 0.0149999999999999994, 0.00449999999999999966, 0.00400000000000000008, 0.0050000000000000001, 2),
+(1635, 'F', 0.574999999999999956, 0.469999999999999973, 0.154999999999999999, 1.1160000000000001, 0.509000000000000008, 0.237999999999999989, 0.340000000000000024, 10),
+(2648, 'I', 0.5, 0.390000000000000013, 0.125, 0.582999999999999963, 0.293999999999999984, 0.132000000000000006, 0.160500000000000004, 8),
+(1796, 'F', 0.57999999999999996, 0.429999999999999993, 0.170000000000000012, 1.47999999999999998, 0.65349999999999997, 0.32400000000000001, 0.41549999999999998, 10),
+(209, 'F', 0.525000000000000022, 0.41499999999999998, 0.170000000000000012, 0.832500000000000018, 0.275500000000000023, 0.168500000000000011, 0.309999999999999998, 13),
+(1451, 'I', 0.455000000000000016, 0.33500000000000002, 0.135000000000000009, 0.501000000000000001, 0.274000000000000021, 0.0995000000000000051, 0.106499999999999997, 7),
+(1108, 'I', 0.510000000000000009, 0.380000000000000004, 0.115000000000000005, 0.515499999999999958, 0.214999999999999997, 0.113500000000000004, 0.166000000000000009, 8),
+(3675, 'F', 0.594999999999999973, 0.450000000000000011, 0.165000000000000008, 1.08099999999999996, 0.489999999999999991, 0.252500000000000002, 0.279000000000000026, 12),
+(2108, 'F', 0.675000000000000044, 0.550000000000000044, 0.179999999999999993, 1.68849999999999989, 0.562000000000000055, 0.370499999999999996, 0.599999999999999978, 15),
+(3312, 'F', 0.479999999999999982, 0.380000000000000004, 0.135000000000000009, 0.507000000000000006, 0.191500000000000004, 0.13650000000000001, 0.154999999999999999, 12),
+(882, 'M', 0.655000000000000027, 0.520000000000000018, 0.165000000000000008, 1.40949999999999998, 0.585999999999999965, 0.290999999999999981, 0.405000000000000027, 9),
+(3402, 'M', 0.479999999999999982, 0.395000000000000018, 0.149999999999999994, 0.681499999999999995, 0.214499999999999996, 0.140500000000000014, 0.2495, 18),
+(829, 'I', 0.409999999999999976, 0.325000000000000011, 0.100000000000000006, 0.394000000000000017, 0.20799999999999999, 0.0655000000000000027, 0.105999999999999997, 6),
+(1305, 'M', 0.535000000000000031, 0.434999999999999998, 0.149999999999999994, 0.716999999999999971, 0.347499999999999976, 0.14449999999999999, 0.194000000000000006, 9),
+(3613, 'M', 0.599999999999999978, 0.46000000000000002, 0.179999999999999993, 1.1399999999999999, 0.422999999999999987, 0.257500000000000007, 0.364999999999999991, 10),
+(1068, 'I', 0.340000000000000024, 0.265000000000000013, 0.0800000000000000017, 0.201500000000000012, 0.0899999999999999967, 0.0475000000000000006, 0.0550000000000000003, 5),
+(2446, 'M', 0.5, 0.380000000000000004, 0.135000000000000009, 0.583500000000000019, 0.22950000000000001, 0.126500000000000001, 0.179999999999999993, 12),
+(1393, 'M', 0.635000000000000009, 0.474999999999999978, 0.170000000000000012, 1.19350000000000001, 0.520499999999999963, 0.269500000000000017, 0.366499999999999992, 10),
+(359, 'M', 0.744999999999999996, 0.584999999999999964, 0.214999999999999997, 2.49900000000000011, 0.92649999999999999, 0.471999999999999975, 0.699999999999999956, 17),
+(549, 'F', 0.564999999999999947, 0.450000000000000011, 0.160000000000000003, 0.79500000000000004, 0.360499999999999987, 0.155499999999999999, 0.23000000000000001, 12),
+(1154, 'F', 0.599999999999999978, 0.474999999999999978, 0.160000000000000003, 1.02649999999999997, 0.484999999999999987, 0.2495, 0.256500000000000006, 9),
+(1790, 'F', 0.54500000000000004, 0.385000000000000009, 0.149999999999999994, 1.11850000000000005, 0.542499999999999982, 0.244499999999999995, 0.284499999999999975, 9),
+(3703, 'F', 0.665000000000000036, 0.540000000000000036, 0.195000000000000007, 1.76400000000000001, 0.850500000000000034, 0.361499999999999988, 0.469999999999999973, 11),
+(1962, 'F', 0.655000000000000027, 0.515000000000000013, 0.179999999999999993, 1.41199999999999992, 0.619500000000000051, 0.248499999999999999, 0.496999999999999997, 11),
+(1665, 'I', 0.604999999999999982, 0.469999999999999973, 0.14499999999999999, 0.802499999999999991, 0.379000000000000004, 0.226500000000000007, 0.220000000000000001, 9),
+(635, 'M', 0.359999999999999987, 0.294999999999999984, 0.100000000000000006, 0.210499999999999993, 0.0660000000000000031, 0.0524999999999999981, 0.0749999999999999972, 9),
+(3901, 'M', 0.445000000000000007, 0.344999999999999973, 0.140000000000000013, 0.475999999999999979, 0.205499999999999988, 0.101500000000000007, 0.108499999999999999, 15),
+(2734, 'I', 0.41499999999999998, 0.33500000000000002, 0.100000000000000006, 0.357999999999999985, 0.169000000000000011, 0.067000000000000004, 0.104999999999999996, 7),
+(3856, 'M', 0.409999999999999976, 0.33500000000000002, 0.115000000000000005, 0.440500000000000003, 0.190000000000000002, 0.0850000000000000061, 0.135000000000000009, 8),
+(827, 'I', 0.395000000000000018, 0.28999999999999998, 0.0950000000000000011, 0.303999999999999992, 0.127000000000000002, 0.0840000000000000052, 0.076999999999999999, 6),
+(3381, 'I', 0.190000000000000002, 0.130000000000000004, 0.0449999999999999983, 0.0264999999999999993, 0.00899999999999999932, 0.0050000000000000001, 0.00899999999999999932, 5),
+(3972, 'I', 0.400000000000000022, 0.294999999999999984, 0.0950000000000000011, 0.252000000000000002, 0.110500000000000001, 0.0575000000000000025, 0.0660000000000000031, 6),
+(1155, 'M', 0.599999999999999978, 0.455000000000000016, 0.170000000000000012, 1.1915, 0.695999999999999952, 0.239499999999999991, 0.239999999999999991, 8),
+(3467, 'M', 0.640000000000000013, 0.5, 0.170000000000000012, 1.4544999999999999, 0.642000000000000015, 0.357499999999999984, 0.353999999999999981, 9),
+(2433, 'F', 0.609999999999999987, 0.484999999999999987, 0.165000000000000008, 1.08699999999999997, 0.425499999999999989, 0.232000000000000012, 0.380000000000000004, 11),
+(552, 'I', 0.614999999999999991, 0.489999999999999991, 0.154999999999999999, 0.988500000000000045, 0.41449999999999998, 0.195000000000000007, 0.344999999999999973, 13),
+(1425, 'F', 0.729999999999999982, 0.57999999999999996, 0.190000000000000002, 1.73750000000000004, 0.678499999999999992, 0.434499999999999997, 0.520000000000000018, 11),
+(2402, 'F', 0.584999999999999964, 0.41499999999999998, 0.154999999999999999, 0.69850000000000001, 0.299999999999999989, 0.145999999999999991, 0.195000000000000007, 12),
+(1748, 'F', 0.699999999999999956, 0.535000000000000031, 0.174999999999999989, 1.77299999999999991, 0.680499999999999994, 0.479999999999999982, 0.512000000000000011, 15),
+(3983, 'I', 0.57999999999999996, 0.434999999999999998, 0.149999999999999994, 0.891499999999999959, 0.362999999999999989, 0.192500000000000004, 0.251500000000000001, 6),
+(335, 'F', 0.739999999999999991, 0.599999999999999978, 0.195000000000000007, 1.97399999999999998, 0.597999999999999976, 0.408499999999999974, 0.709999999999999964, 16),
+(1587, 'I', 0.515000000000000013, 0.349999999999999978, 0.104999999999999996, 0.474499999999999977, 0.212999999999999995, 0.122999999999999998, 0.127500000000000002, 10),
+(2448, 'I', 0.275000000000000022, 0.204999999999999988, 0.0800000000000000017, 0.096000000000000002, 0.0359999999999999973, 0.0184999999999999991, 0.0299999999999999989, 6),
+(1362, 'F', 0.604999999999999982, 0.474999999999999978, 0.174999999999999989, 1.07600000000000007, 0.463000000000000023, 0.219500000000000001, 0.33500000000000002, 9),
+(2799, 'M', 0.640000000000000013, 0.484999999999999987, 0.149999999999999994, 1.09800000000000009, 0.519499999999999962, 0.222000000000000003, 0.317500000000000004, 10),
+(1413, 'F', 0.67000000000000004, 0.505000000000000004, 0.174999999999999989, 1.01449999999999996, 0.4375, 0.271000000000000019, 0.3745, 10),
+(1739, 'F', 0.67000000000000004, 0.540000000000000036, 0.195000000000000007, 1.61899999999999999, 0.739999999999999991, 0.330500000000000016, 0.465000000000000024, 11),
+(1152, 'M', 0.584999999999999964, 0.465000000000000024, 0.160000000000000003, 0.955500000000000016, 0.45950000000000002, 0.235999999999999988, 0.265000000000000013, 7),
+(2427, 'I', 0.564999999999999947, 0.434999999999999998, 0.154999999999999999, 0.782000000000000028, 0.271500000000000019, 0.16800000000000001, 0.284999999999999976, 14),
+(1777, 'M', 0.484999999999999987, 0.369999999999999996, 0.154999999999999999, 0.967999999999999972, 0.418999999999999984, 0.245499999999999996, 0.236499999999999988, 9),
+(3294, 'M', 0.574999999999999956, 0.455000000000000016, 0.184999999999999998, 1.15599999999999992, 0.552499999999999991, 0.242999999999999994, 0.294999999999999984, 13),
+(1403, 'M', 0.650000000000000022, 0.510000000000000009, 0.190000000000000002, 1.54200000000000004, 0.715500000000000025, 0.373499999999999999, 0.375, 9),
+(2256, 'M', 0.510000000000000009, 0.395000000000000018, 0.14499999999999999, 0.61850000000000005, 0.215999999999999998, 0.138500000000000012, 0.239999999999999991, 12),
+(3984, 'F', 0.584999999999999964, 0.450000000000000011, 0.125, 0.873999999999999999, 0.354499999999999982, 0.20749999999999999, 0.225000000000000006, 6),
+(1116, 'M', 0.525000000000000022, 0.405000000000000027, 0.119999999999999996, 0.755499999999999949, 0.3755, 0.155499999999999999, 0.201000000000000012, 9),
+(1366, 'M', 0.609999999999999987, 0.474999999999999978, 0.170000000000000012, 1.02649999999999997, 0.434999999999999998, 0.233500000000000013, 0.303499999999999992, 10),
+(3759, 'I', 0.525000000000000022, 0.400000000000000022, 0.140000000000000013, 0.605500000000000038, 0.260500000000000009, 0.107999999999999999, 0.209999999999999992, 9);
+</pre></li>
+<li>Train a model with family=gaussian and link=identity <pre class="example">
+SELECT madlib.glm(
+    'abalone',
+    'abalone_out',
+    'rings',
+    'ARRAY[1, length, diameter, height, whole, shucked, viscera, shell]',
+    'family=gaussian, link=identity');
+</pre></li>
+</ol>
+<p><b>Example for Gamma family:</b> (reuse the dataset in Gaussian case)</p>
+<ol type="1">
+<li>Reuse the test data set in Gaussian</li>
+<li>Train a model with family=gamma and link=inverse <pre class="example">
+SELECT madlib.glm(
+    'abalone',
+    'abalone_out',
+    'rings',
+    'ARRAY[1, length, diameter, height, whole, shucked, viscera, shell]',
+    'family=gamma, link=inverse');
+</pre></li>
+</ol>
+<p><b>Example for Inverse Gaussian family:</b> (reuse the dataset in Gaussian case)</p>
+<ol type="1">
+<li>Reuse the test data set in Gaussian</li>
+<li>Train a model with family=inverse_gaussian and link=sqr_inverse <pre class="example">
+SELECT madlib.glm(
+    'abalone',
+    'abalone_out',
+    'rings',
+    'ARRAY[1, length, diameter, height, whole, shucked, viscera, shell]',
+    'family=inverse_gaussian, link=sqr_inverse');
+</pre></li>
+</ol>
+<p><b>Example for Binomial family:</b> (reuse the dataset in Gaussian case)</p>
+<ol type="1">
+<li>Reuse the test data set in Gaussian</li>
+<li>Train a model with family=binomial and link=probit <pre class="example">
+SELECT madlib.glm(
+    'abalone',
+    'abalone_out',
+    'rings &lt; 10',
+    'ARRAY[1, length, diameter, height, whole, shucked, viscera, shell]',
+    'family=binomial, link=probit');
+</pre></li>
+<li>Predict output probabilities <pre class="example">
+SELECT madlib.glm_predict(
+    coef,
+    ARRAY[1, length, diameter, height, whole, shucked, viscera, shell]::float8[],
+    'probit')
+FROM abalone_out, abalone;
+</pre></li>
+<li>Predict output categories <pre class="example">
+SELECT madlib.glm_predict(
+SELECT madlib.glm_predict_binomial(
+    coef,
+    ARRAY[1, length, diameter, height, whole, shucked, viscera, shell]::float8[],
+    'probit')
+FROM abalone_out, abalone;
+</pre></li>
+</ol>
+<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd>All table names can be optionally schema qualified (current_schemas() would be searched if a schema name is not provided) and all table and column names should follow case-sensitivity and quoting rules per the database. (For instance, 'mytable' and 'MyTable' both resolve to the same entity, i.e. 'mytable'. If mixed-case or multi-byte characters are desired for entity names then the string should be double-quoted; in this case the input would be '"MyTable"').</dd></dl>
+<p>Currently implementation uses Newton's method and, according to performance tests, when number of features are over 1000, this GLM function could be running slowly.</p>
+<p>Functions in <a class="el" href="group__grp__linreg.html">Linear Regression</a> is prefered to GLM with family=gaussian,link=identity, as the former require only a single pass over the training data. In addition, if user expects to use robust variance, clustered variance, or marginal effects on top of the trained model, functions in <a class="el" href="group__grp__linreg.html">Linear Regression</a> and <a class="el" href="group__grp__logreg.html">Logistic Regression</a> should be used.</p>
+<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd></dd></dl>
+<p>File <a class="el" href="glm_8sql__in.html" title="SQL functions for GLM (Poisson) ">glm.sql_in</a> documenting the training function</p>
+<p><a class="el" href="group__grp__linreg.html">Linear Regression</a></p>
+<p><a class="el" href="group__grp__logreg.html">Logistic Regression</a></p>
+<p><a class="el" href="group__grp__mlogreg.html">Multinomial Logistic Regression</a></p>
+<p><a class="el" href="group__grp__robust.html">Robust Variance</a></p>
+<p><a class="el" href="group__grp__clustered__errors.html">Clustered Variance</a></p>
+<p><a class="el" href="group__grp__validation.html">Cross Validation</a></p>
+<p><a class="el" href="group__grp__marginal.html">Marginal Effects</a></p>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Tue May 16 2017 13:24:38 for MADlib by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>


[05/51] [partial] incubator-madlib-site git commit: Add v1.11 docs

Posted by ri...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/b5b51c69/docs/v1.11/marginal_8sql__in.html
----------------------------------------------------------------------
diff --git a/docs/v1.11/marginal_8sql__in.html b/docs/v1.11/marginal_8sql__in.html
new file mode 100644
index 0000000..a08be4f
--- /dev/null
+++ b/docs/v1.11/marginal_8sql__in.html
@@ -0,0 +1,2706 @@
+<!-- HTML header for doxygen 1.8.4-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="keywords" content="madlib,postgres,greenplum,machine learning,data mining,deep learning,ensemble methods,data science,market basket analysis,affinity analysis,pca,lda,regression,elastic net,huber white,proportional hazards,k-means,latent dirichlet allocation,bayes,support vector machines,svm"/>
+<title>MADlib: marginal.sql_in File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<!-- hack in the navigation tree -->
+<script type="text/javascript" src="eigen_navtree_hacks.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="madlib_extra.css" rel="stylesheet" type="text/css"/>
+<!-- google analytics -->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+  ga('create', 'UA-45382226-1', 'madlib.incubator.apache.org');
+  ga('send', 'pageview');
+</script>
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectlogo"><a href="http://madlib.incubator.apache.org"><img alt="Logo" src="madlib.png" height="50" style="padding-left:0.5em;" border="0"/ ></a></td>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   <span id="projectnumber">1.11</span>
+   </div>
+   <div id="projectbrief">User Documentation for MADlib</div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('marginal_8sql__in.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">marginal.sql_in File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>SQL functions for linear regression.  
+<a href="#details">More...</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:a2115a795562bc2928c3858fc55104c4b"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a2115a795562bc2928c3858fc55104c4b">marginal_logregr_step_transition</a> (float8[] state, boolean y, float8[] x, float8[] coef)</td></tr>
+<tr class="separator:a2115a795562bc2928c3858fc55104c4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae44a992f8bd650b5c1f0c2ffae7bb542"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#ae44a992f8bd650b5c1f0c2ffae7bb542">marginal_logregr_step_merge_states</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:ae44a992f8bd650b5c1f0c2ffae7bb542"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac4e06a28a76651de70768457575bb9e0"><td class="memItemLeft" align="right" valign="top">marginal_logregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#ac4e06a28a76651de70768457575bb9e0">marginal_logregr_step_final</a> (float8[] state)</td></tr>
+<tr class="separator:ac4e06a28a76651de70768457575bb9e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3286b644d2d51a8f2874896dc1b5d925"><td class="memItemLeft" align="right" valign="top">aggregate marginal_logregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a3286b644d2d51a8f2874896dc1b5d925">marginal_logregr</a> (boolean dependentVariable, float8[] independentVariables, float8[] coef)</td></tr>
+<tr class="memdesc:a3286b644d2d51a8f2874896dc1b5d925"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute marginal effects for logistic regression.  <a href="#a3286b644d2d51a8f2874896dc1b5d925">More...</a><br /></td></tr>
+<tr class="separator:a3286b644d2d51a8f2874896dc1b5d925"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9517d679ee4209126895445cbed51fe3"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a9517d679ee4209126895445cbed51fe3">margins_logregr</a> (varchar message)</td></tr>
+<tr class="separator:a9517d679ee4209126895445cbed51fe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a63aba4148ce9bfcafea81d08e3797a1f"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a63aba4148ce9bfcafea81d08e3797a1f">margins_logregr</a> ()</td></tr>
+<tr class="separator:a63aba4148ce9bfcafea81d08e3797a1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a99dd17e30e4fcc2f39da4e671406bcea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a99dd17e30e4fcc2f39da4e671406bcea">margins_logregr</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, varchar grouping_cols, integer[] marginal_vars, integer max_iter, varchar optimizer, float8 tolerance, boolean verbose_mode)</td></tr>
+<tr class="memdesc:a99dd17e30e4fcc2f39da4e671406bcea"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper function for the various marginal regression analyzes.  <a href="#a99dd17e30e4fcc2f39da4e671406bcea">More...</a><br /></td></tr>
+<tr class="separator:a99dd17e30e4fcc2f39da4e671406bcea"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a4e0b284b130524ff36b44281fa9e3fb9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a4e0b284b130524ff36b44281fa9e3fb9">margins_logregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable)</td></tr>
+<tr class="memdesc:a4e0b284b130524ff36b44281fa9e3fb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variables.  <a href="#a4e0b284b130524ff36b44281fa9e3fb9">More...</a><br /></td></tr>
+<tr class="separator:a4e0b284b130524ff36b44281fa9e3fb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af520629d3624d30cdcdbce247d89ac7d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#af520629d3624d30cdcdbce247d89ac7d">margins_logregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable, varchar grouping_cols)</td></tr>
+<tr class="memdesc:af520629d3624d30cdcdbce247d89ac7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#af520629d3624d30cdcdbce247d89ac7d">More...</a><br /></td></tr>
+<tr class="separator:af520629d3624d30cdcdbce247d89ac7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae84af4141c1730d7299210ad5005ffe6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#ae84af4141c1730d7299210ad5005ffe6">margins_logregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable, varchar grouping_cols, integer[] marginal_vars)</td></tr>
+<tr class="memdesc:ae84af4141c1730d7299210ad5005ffe6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#ae84af4141c1730d7299210ad5005ffe6">More...</a><br /></td></tr>
+<tr class="separator:ae84af4141c1730d7299210ad5005ffe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ad0356ba6d3edec11d4ee6904ff8588"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a7ad0356ba6d3edec11d4ee6904ff8588">margins_logregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable, varchar grouping_cols, integer[] marginal_vars, integer max_iter)</td></tr>
+<tr class="memdesc:a7ad0356ba6d3edec11d4ee6904ff8588"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#a7ad0356ba6d3edec11d4ee6904ff8588">More...</a><br /></td></tr>
+<tr class="separator:a7ad0356ba6d3edec11d4ee6904ff8588"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9a9ff25e0ce2220f14e6514a84e71d8a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a9a9ff25e0ce2220f14e6514a84e71d8a">margins_logregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable, varchar grouping_cols, integer[] marginal_vars, integer max_iter, varchar optimizer)</td></tr>
+<tr class="memdesc:a9a9ff25e0ce2220f14e6514a84e71d8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#a9a9ff25e0ce2220f14e6514a84e71d8a">More...</a><br /></td></tr>
+<tr class="separator:a9a9ff25e0ce2220f14e6514a84e71d8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2018fd008c71953a32057d34de54acfc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a2018fd008c71953a32057d34de54acfc">margins_logregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable, varchar grouping_cols, integer[] marginal_vars, integer max_iter, varchar optimizer, float8 tolerance)</td></tr>
+<tr class="memdesc:a2018fd008c71953a32057d34de54acfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#a2018fd008c71953a32057d34de54acfc">More...</a><br /></td></tr>
+<tr class="separator:a2018fd008c71953a32057d34de54acfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7b8a7cf298ea51fc16de975e2503615a"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a7b8a7cf298ea51fc16de975e2503615a">mlogregr_marginal_step_transition</a> (float8[] state, integer y, integer num_categories, integer ref_category, float8[] x, float8[] coef)</td></tr>
+<tr class="separator:a7b8a7cf298ea51fc16de975e2503615a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a82ac74fd7aec70b7596bc2b4776742fa"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a82ac74fd7aec70b7596bc2b4776742fa">mlogregr_marginal_step_merge_states</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a82ac74fd7aec70b7596bc2b4776742fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad80d7df29226a2529f9f80607f2a983e"><td class="memItemLeft" align="right" valign="top">marginal_mlogregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#ad80d7df29226a2529f9f80607f2a983e">mlogregr_marginal_step_final</a> (float8[] state)</td></tr>
+<tr class="separator:ad80d7df29226a2529f9f80607f2a983e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aaf0b3cc34b99d4b47334bdde2d139b81"><td class="memItemLeft" align="right" valign="top">aggregate marginal_mlogregr_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#aaf0b3cc34b99d4b47334bdde2d139b81">marginal_mlogregr</a> (integer dependentVariable, integer num_categories, integer ref_category, float8[] independentVariables, float8[] coef)</td></tr>
+<tr class="memdesc:aaf0b3cc34b99d4b47334bdde2d139b81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute marginal effects for multinomial logistic regression.  <a href="#aaf0b3cc34b99d4b47334bdde2d139b81">More...</a><br /></td></tr>
+<tr class="separator:aaf0b3cc34b99d4b47334bdde2d139b81"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae39ad0e1beca060fd153dba35901a4e7"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#ae39ad0e1beca060fd153dba35901a4e7">margins_mlogregr</a> (varchar message)</td></tr>
+<tr class="separator:ae39ad0e1beca060fd153dba35901a4e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1e152bdb5c5ac347b5621350a396a33f"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a1e152bdb5c5ac347b5621350a396a33f">margins_mlogregr</a> ()</td></tr>
+<tr class="separator:a1e152bdb5c5ac347b5621350a396a33f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aedeea68ce9db3c1ad1ce90219bb02fa0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#aedeea68ce9db3c1ad1ce90219bb02fa0">margins_mlogregr</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, integer ref_category, varchar grouping_cols, integer[] marginal_vars, varchar optimizer_params, boolean verbose_mode)</td></tr>
+<tr class="memdesc:aedeea68ce9db3c1ad1ce90219bb02fa0"><td class="mdescLeft">&#160;</td><td class="mdescRight">A wrapper function for the various marginal multinomial regression.  <a href="#aedeea68ce9db3c1ad1ce90219bb02fa0">More...</a><br /></td></tr>
+<tr class="separator:aedeea68ce9db3c1ad1ce90219bb02fa0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2837cc6b3ea201682db76102cace3d0e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a2837cc6b3ea201682db76102cace3d0e">margins_mlogregr</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, integer ref_category, varchar grouping_cols, integer[] marginal_vars, varchar optimizer_params)</td></tr>
+<tr class="memdesc:a2837cc6b3ea201682db76102cace3d0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#a2837cc6b3ea201682db76102cace3d0e">More...</a><br /></td></tr>
+<tr class="separator:a2837cc6b3ea201682db76102cace3d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a79e7c2ad06348e95afea81d4b6c6c9f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a79e7c2ad06348e95afea81d4b6c6c9f7">margins_mlogregr</a> (varchar source_table, varchar out_table, varchar dependent_varname, varchar independent_varname, integer ref_category, varchar grouping_cols, integer[] marginal_vars, integer max_iter, varchar optimizer, float8 tolerance, boolean verbose_mode)</td></tr>
+<tr class="separator:a79e7c2ad06348e95afea81d4b6c6c9f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0827f2605803847a34e26f31b24529ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a0827f2605803847a34e26f31b24529ca">margins_mlogregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable, integer ref_category, varchar grouping_cols, integer[] marginal_vars, integer max_iter)</td></tr>
+<tr class="memdesc:a0827f2605803847a34e26f31b24529ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#a0827f2605803847a34e26f31b24529ca">More...</a><br /></td></tr>
+<tr class="separator:a0827f2605803847a34e26f31b24529ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a80368510f0bcf8633b017b82c9744ce7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a80368510f0bcf8633b017b82c9744ce7">margins_mlogregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable, integer ref_category, varchar grouping_cols, integer[] marginal_vars, integer max_iter, varchar optimizer)</td></tr>
+<tr class="memdesc:a80368510f0bcf8633b017b82c9744ce7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#a80368510f0bcf8633b017b82c9744ce7">More...</a><br /></td></tr>
+<tr class="separator:a80368510f0bcf8633b017b82c9744ce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:afaa380d3b7ce111d6a81b5b0fa7483f3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#afaa380d3b7ce111d6a81b5b0fa7483f3">margins_mlogregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable, integer ref_category, varchar grouping_cols, integer[] marginal_vars, integer max_iter, varchar optimizer, float8 tolerance)</td></tr>
+<tr class="memdesc:afaa380d3b7ce111d6a81b5b0fa7483f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#afaa380d3b7ce111d6a81b5b0fa7483f3">More...</a><br /></td></tr>
+<tr class="separator:afaa380d3b7ce111d6a81b5b0fa7483f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a90bd35d3bb7a3f94feeeb08f9ead8a55"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a90bd35d3bb7a3f94feeeb08f9ead8a55">margins_mlogregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable)</td></tr>
+<tr class="memdesc:a90bd35d3bb7a3f94feeeb08f9ead8a55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variables.  <a href="#a90bd35d3bb7a3f94feeeb08f9ead8a55">More...</a><br /></td></tr>
+<tr class="separator:a90bd35d3bb7a3f94feeeb08f9ead8a55"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0ef176b7f0d0c518d3a16182ac6117d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#af0ef176b7f0d0c518d3a16182ac6117d">margins_mlogregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable, integer ref_category)</td></tr>
+<tr class="memdesc:af0ef176b7f0d0c518d3a16182ac6117d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variables.  <a href="#af0ef176b7f0d0c518d3a16182ac6117d">More...</a><br /></td></tr>
+<tr class="separator:af0ef176b7f0d0c518d3a16182ac6117d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7e66918e0fcd02f8492347604474a29a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a7e66918e0fcd02f8492347604474a29a">margins_mlogregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable, integer ref_category, varchar grouping_cols)</td></tr>
+<tr class="memdesc:a7e66918e0fcd02f8492347604474a29a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#a7e66918e0fcd02f8492347604474a29a">More...</a><br /></td></tr>
+<tr class="separator:a7e66918e0fcd02f8492347604474a29a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8311df1f591cff8d30ca8df816c0cfca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a8311df1f591cff8d30ca8df816c0cfca">margins_mlogregr</a> (varchar source_table, varchar out_table, varchar dependent_variable, varchar independent_variable, integer ref_category, varchar grouping_cols, integer[] marginal_vars)</td></tr>
+<tr class="memdesc:a8311df1f591cff8d30ca8df816c0cfca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#a8311df1f591cff8d30ca8df816c0cfca">More...</a><br /></td></tr>
+<tr class="separator:a8311df1f591cff8d30ca8df816c0cfca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4edc871f05eb57354a82a16f85e0ee7"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#aa4edc871f05eb57354a82a16f85e0ee7">__sub_array</a> (float8[] value_array, integer[] index_array)</td></tr>
+<tr class="separator:aa4edc871f05eb57354a82a16f85e0ee7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6f238f587436d904d2206e7edb795bb1"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a6f238f587436d904d2206e7edb795bb1">__margins_linregr_int_transition</a> (float8[] state, float8[] x, float8[] coef, float8[] vcov, float8[] derivative)</td></tr>
+<tr class="separator:a6f238f587436d904d2206e7edb795bb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0db48e48baea1ab56841e5b57083d939"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a0db48e48baea1ab56841e5b57083d939">__margins_linregr_int_merge</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a0db48e48baea1ab56841e5b57083d939"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a946260ec369f98b5b8d584d3e63fcf80"><td class="memItemLeft" align="right" valign="top">margins_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a946260ec369f98b5b8d584d3e63fcf80">__margins_linregr_int_final</a> (float8[] state)</td></tr>
+<tr class="separator:a946260ec369f98b5b8d584d3e63fcf80"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a228e94d07a25adef545e7f1948648b68"><td class="memItemLeft" align="right" valign="top">aggregate margins_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a228e94d07a25adef545e7f1948648b68">__margins_int_linregr_agg</a> (float8[] independentVariables, float8[] coef, float8[] vcov, float8[] derivative_matrix)</td></tr>
+<tr class="memdesc:a228e94d07a25adef545e7f1948648b68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute marginal effects for linear regression.  <a href="#a228e94d07a25adef545e7f1948648b68">More...</a><br /></td></tr>
+<tr class="separator:a228e94d07a25adef545e7f1948648b68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5aaf126f78c5eb0f4c7eaae3ebb53f13"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a5aaf126f78c5eb0f4c7eaae3ebb53f13">__margins_logregr_int_transition</a> (float8[] state, float8[] x, float8[] coef, float8[] vcov, float8[] basis_indices, float8[] derivative, float8[] categorical_indices, float8[] x_set, float8[] x_unset)</td></tr>
+<tr class="separator:a5aaf126f78c5eb0f4c7eaae3ebb53f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7899421c84eaf701949c7e430dc3eb15"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a7899421c84eaf701949c7e430dc3eb15">__margins_logregr_int_merge</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a7899421c84eaf701949c7e430dc3eb15"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ffb6d8dd35dce6deef315458a4f85cd"><td class="memItemLeft" align="right" valign="top">margins_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a7ffb6d8dd35dce6deef315458a4f85cd">__margins_logregr_int_final</a> (float8[] state)</td></tr>
+<tr class="separator:a7ffb6d8dd35dce6deef315458a4f85cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa419eeb4ee78982d5ce8e3fe102f28c3"><td class="memItemLeft" align="right" valign="top">aggregate margins_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#aa419eeb4ee78982d5ce8e3fe102f28c3">__margins_int_logregr_agg</a> (float8[] independentVariables, float8[] coef, float8[] vcov, float8[] basis_indices, float8[] derivative_matrix, float8[] categorical_indices, float8[] x_set, float8[] x_unset)</td></tr>
+<tr class="memdesc:aa419eeb4ee78982d5ce8e3fe102f28c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute marginal effects for logistic regression.  <a href="#aa419eeb4ee78982d5ce8e3fe102f28c3">More...</a><br /></td></tr>
+<tr class="separator:aa419eeb4ee78982d5ce8e3fe102f28c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ade4ae58316e82c1de75f65f383043532"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#ade4ae58316e82c1de75f65f383043532">__margins_mlogregr_int_transition</a> (float8[] state, float8[] x, float8[] coef, float8[] vcov, float8[] basis_indices, float8[] derivative_matrix, float8[] categorical_indices, float8[] x_set, float8[] x_unset)</td></tr>
+<tr class="separator:ade4ae58316e82c1de75f65f383043532"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8c1e7d827ee07f3f6532cdd12a4e1d29"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a8c1e7d827ee07f3f6532cdd12a4e1d29">__margins_mlogregr_int_merge</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a8c1e7d827ee07f3f6532cdd12a4e1d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a64e8f06dc5425379065f12eacb95ad05"><td class="memItemLeft" align="right" valign="top">margins_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a64e8f06dc5425379065f12eacb95ad05">__margins_mlogregr_int_final</a> (float8[] state)</td></tr>
+<tr class="separator:a64e8f06dc5425379065f12eacb95ad05"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a56aec1f2d980a739df09e09ca52b34f4"><td class="memItemLeft" align="right" valign="top">aggregate margins_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a56aec1f2d980a739df09e09ca52b34f4">__margins_int_mlogregr_agg</a> (float8[] independentVariables, float8[] coef, float8[] vcov, float8[] basis_indices, float8[] derivative_matrix, float8[] categorical_indices, float8[] x_set, float8[] x_unset)</td></tr>
+<tr class="memdesc:a56aec1f2d980a739df09e09ca52b34f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute marginal effects for multinomial logistic regression.  <a href="#a56aec1f2d980a739df09e09ca52b34f4">More...</a><br /></td></tr>
+<tr class="separator:a56aec1f2d980a739df09e09ca52b34f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af82b77209159da1b8bc75b39cc8abd98"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#af82b77209159da1b8bc75b39cc8abd98">__margins_coxph_int_transition</a> (float8[] state, float8[] x, float8[] coef, float8[] vcov, float8[] basis_indices, float8[] derivative_matrix, float8[] categorical_indices, float8[] x_set, float8[] x_unset)</td></tr>
+<tr class="separator:af82b77209159da1b8bc75b39cc8abd98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a153bcc3884fa16399fa608442259d32d"><td class="memItemLeft" align="right" valign="top">float8 []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a153bcc3884fa16399fa608442259d32d">__margins_coxph_int_merge</a> (float8[] state1, float8[] state2)</td></tr>
+<tr class="separator:a153bcc3884fa16399fa608442259d32d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3d8c5567fd111b9d10b49d61006f35bf"><td class="memItemLeft" align="right" valign="top">margins_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a3d8c5567fd111b9d10b49d61006f35bf">__margins_coxph_int_final</a> (float8[] state)</td></tr>
+<tr class="separator:a3d8c5567fd111b9d10b49d61006f35bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5f270ce35e107912d5ea4e9efd075318"><td class="memItemLeft" align="right" valign="top">margins_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a5f270ce35e107912d5ea4e9efd075318">__margins_compute_stats</a> (float8[] marginal_effects, float8[] std_err)</td></tr>
+<tr class="separator:a5f270ce35e107912d5ea4e9efd075318"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa44a5bf9ba69ba5e87ebf1f5f4a297db"><td class="memItemLeft" align="right" valign="top">aggregate margins_result&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#aa44a5bf9ba69ba5e87ebf1f5f4a297db">__margins_int_coxph_agg</a> (float8[] independentVariables, float8[] coef, float8[] vcov, float8[] basis_indices, float8[] derivative_matrix, float8[] categorical_indices, float8[] x_set, float8[] x_unset)</td></tr>
+<tr class="memdesc:aa44a5bf9ba69ba5e87ebf1f5f4a297db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute marginal effects for multinomial logistic regression.  <a href="#aa44a5bf9ba69ba5e87ebf1f5f4a297db">More...</a><br /></td></tr>
+<tr class="separator:aa44a5bf9ba69ba5e87ebf1f5f4a297db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a36fcae5245ca31517723fce38b183c90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a36fcae5245ca31517723fce38b183c90">margins</a> (varchar model_table, varchar out_table, varchar x_design, varchar source_table, varchar marginal_vars)</td></tr>
+<tr class="memdesc:a36fcae5245ca31517723fce38b183c90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Marginal effects with default variable_names.  <a href="#a36fcae5245ca31517723fce38b183c90">More...</a><br /></td></tr>
+<tr class="separator:a36fcae5245ca31517723fce38b183c90"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a632bc9f9bf73c40fe6bf3b1778eee91a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a632bc9f9bf73c40fe6bf3b1778eee91a">margins</a> (varchar model_table, varchar out_table, varchar x_design, varchar source_table)</td></tr>
+<tr class="separator:a632bc9f9bf73c40fe6bf3b1778eee91a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6d002a5934d6bc614925ffcf67f24a99"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a6d002a5934d6bc614925ffcf67f24a99">margins</a> (varchar model_table, varchar out_table, varchar x_design)</td></tr>
+<tr class="separator:a6d002a5934d6bc614925ffcf67f24a99"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abd29ce2c3931dfbe5fc7e882114b8c68"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#abd29ce2c3931dfbe5fc7e882114b8c68">margins</a> (varchar model_table, varchar out_table)</td></tr>
+<tr class="separator:abd29ce2c3931dfbe5fc7e882114b8c68"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14c96eee91746c4693d1775ff3ee8158"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a14c96eee91746c4693d1775ff3ee8158">margins</a> (varchar message)</td></tr>
+<tr class="separator:a14c96eee91746c4693d1775ff3ee8158"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9c7042e5a4dca342e745c89f72f4a650"><td class="memItemLeft" align="right" valign="top">varchar&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="marginal_8sql__in.html#a9c7042e5a4dca342e745c89f72f4a650">margins</a> ()</td></tr>
+<tr class="separator:a9c7042e5a4dca342e745c89f72f4a650"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><dl class="section date"><dt>Date</dt><dd>January 2011</dd></dl>
+<dl class="section see"><dt>See also</dt><dd>Calculates marginal effects for various regression models. </dd></dl>
+</div><h2 class="groupheader">Function Documentation</h2>
+<a id="a5f270ce35e107912d5ea4e9efd075318"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5f270ce35e107912d5ea4e9efd075318">&#9670;&nbsp;</a></span>__margins_compute_stats()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">margins_result __margins_compute_stats </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>marginal_effects</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>std_err</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3d8c5567fd111b9d10b49d61006f35bf"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d8c5567fd111b9d10b49d61006f35bf">&#9670;&nbsp;</a></span>__margins_coxph_int_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">margins_result __margins_coxph_int_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a153bcc3884fa16399fa608442259d32d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a153bcc3884fa16399fa608442259d32d">&#9670;&nbsp;</a></span>__margins_coxph_int_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __margins_coxph_int_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af82b77209159da1b8bc75b39cc8abd98"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af82b77209159da1b8bc75b39cc8abd98">&#9670;&nbsp;</a></span>__margins_coxph_int_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __margins_coxph_int_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>vcov</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>basis_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>derivative_matrix</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>categorical_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_set</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_unset</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa44a5bf9ba69ba5e87ebf1f5f4a297db"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa44a5bf9ba69ba5e87ebf1f5f4a297db">&#9670;&nbsp;</a></span>__margins_int_coxph_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate margins_result __margins_int_coxph_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>independentVariables</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>vcov</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>basis_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>derivative_matrix</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>categorical_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_set</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_unset</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dependentVariable</td><td>Column containing the dependent variable </td></tr>
+    <tr><td class="paramname">independentVariables</td><td>Column containing the array of independent variables </td></tr>
+    <tr><td class="paramname">coef</td><td>Column containing the array of the coefficients (as obtained by logregr)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>margins FLOAT8[] </code> - Array of marginal effects</li>
+<li><code>std_err FLOAT8[]</code> - Array of standard-errors (calculated by the delta method),</li>
+<li><code>z_stats FLOAT8[]</code> - Array of z-statistics</li>
+<li><code>p_values FLOAT8[]</code> - Array of p-values</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Get all the diagnostic statistics:<br />
+</li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a228e94d07a25adef545e7f1948648b68"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a228e94d07a25adef545e7f1948648b68">&#9670;&nbsp;</a></span>__margins_int_linregr_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate margins_result __margins_int_linregr_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>independentVariables</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>vcov</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>derivative_matrix</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">independentVariables</td><td>Column containing the array of independent variables </td></tr>
+    <tr><td class="paramname">coef</td><td>Column containing the array of the coefficients (as obtained by logregr)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>margins FLOAT8[] </code> - Array of marginal effects</li>
+<li><code>std_err FLOAT8[]</code> - Array of standard-errors (calculated by the delta method),</li>
+<li><code>z_stats FLOAT8[]</code> - Array of z-statistics</li>
+<li><code>p_values FLOAT8[]</code> - Array of p-values * </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="aa419eeb4ee78982d5ce8e3fe102f28c3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa419eeb4ee78982d5ce8e3fe102f28c3">&#9670;&nbsp;</a></span>__margins_int_logregr_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate margins_result __margins_int_logregr_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>independentVariables</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>vcov</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>basis_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>derivative_matrix</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>categorical_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_set</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_unset</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dependentVariable</td><td>Column containing the dependent variable </td></tr>
+    <tr><td class="paramname">independentVariables</td><td>Column containing the array of independent variables </td></tr>
+    <tr><td class="paramname">coef</td><td>Column containing the array of the coefficients (as obtained by logregr)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>margins FLOAT8[] </code> - Array of marginal effects</li>
+<li><code>std_err FLOAT8[]</code> - Array of standard-errors (calculated by the delta method),</li>
+<li><code>z_stats FLOAT8[]</code> - Array of z-statistics</li>
+<li><code>p_values FLOAT8[]</code> - Array of p-values</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Get all the diagnostic statistics:<br />
+</li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a56aec1f2d980a739df09e09ca52b34f4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a56aec1f2d980a739df09e09ca52b34f4">&#9670;&nbsp;</a></span>__margins_int_mlogregr_agg()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate margins_result __margins_int_mlogregr_agg </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>independentVariables</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>vcov</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>basis_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>derivative_matrix</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>categorical_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_set</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_unset</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dependentVariable</td><td>Column containing the dependent variable </td></tr>
+    <tr><td class="paramname">independentVariables</td><td>Column containing the array of independent variables </td></tr>
+    <tr><td class="paramname">coef</td><td>Column containing the array of the coefficients (as obtained by logregr)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>margins FLOAT8[] </code> - Array of marginal effects</li>
+<li><code>std_err FLOAT8[]</code> - Array of standard-errors (calculated by the delta method),</li>
+<li><code>z_stats FLOAT8[]</code> - Array of z-statistics</li>
+<li><code>p_values FLOAT8[]</code> - Array of p-values</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Get all the diagnostic statistics:<br />
+</li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a946260ec369f98b5b8d584d3e63fcf80"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a946260ec369f98b5b8d584d3e63fcf80">&#9670;&nbsp;</a></span>__margins_linregr_int_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">margins_result __margins_linregr_int_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a0db48e48baea1ab56841e5b57083d939"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a0db48e48baea1ab56841e5b57083d939">&#9670;&nbsp;</a></span>__margins_linregr_int_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __margins_linregr_int_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6f238f587436d904d2206e7edb795bb1"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6f238f587436d904d2206e7edb795bb1">&#9670;&nbsp;</a></span>__margins_linregr_int_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __margins_linregr_int_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>vcov</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>derivative</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7ffb6d8dd35dce6deef315458a4f85cd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7ffb6d8dd35dce6deef315458a4f85cd">&#9670;&nbsp;</a></span>__margins_logregr_int_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">margins_result __margins_logregr_int_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7899421c84eaf701949c7e430dc3eb15"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7899421c84eaf701949c7e430dc3eb15">&#9670;&nbsp;</a></span>__margins_logregr_int_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __margins_logregr_int_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a5aaf126f78c5eb0f4c7eaae3ebb53f13"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a5aaf126f78c5eb0f4c7eaae3ebb53f13">&#9670;&nbsp;</a></span>__margins_logregr_int_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __margins_logregr_int_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>vcov</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>basis_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>derivative</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>categorical_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_set</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_unset</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a64e8f06dc5425379065f12eacb95ad05"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a64e8f06dc5425379065f12eacb95ad05">&#9670;&nbsp;</a></span>__margins_mlogregr_int_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">margins_result __margins_mlogregr_int_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a8c1e7d827ee07f3f6532cdd12a4e1d29"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a8c1e7d827ee07f3f6532cdd12a4e1d29">&#9670;&nbsp;</a></span>__margins_mlogregr_int_merge()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __margins_mlogregr_int_merge </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ade4ae58316e82c1de75f65f383043532"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ade4ae58316e82c1de75f65f383043532">&#9670;&nbsp;</a></span>__margins_mlogregr_int_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __margins_mlogregr_int_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>vcov</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>basis_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>derivative_matrix</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>categorical_indices</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_set</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x_unset</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aa4edc871f05eb57354a82a16f85e0ee7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aa4edc871f05eb57354a82a16f85e0ee7">&#9670;&nbsp;</a></span>__sub_array()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] __sub_array </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>value_array</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>index_array</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a3286b644d2d51a8f2874896dc1b5d925"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3286b644d2d51a8f2874896dc1b5d925">&#9670;&nbsp;</a></span>marginal_logregr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate marginal_logregr_result marginal_logregr </td>
+          <td>(</td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>dependentVariable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>independentVariables</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dependentVariable</td><td>Column containing the dependent variable </td></tr>
+    <tr><td class="paramname">independentVariables</td><td>Column containing the array of independent variables </td></tr>
+    <tr><td class="paramname">coef</td><td>Column containing the array of the coefficients (as obtained by logregr)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section user"><dt></dt><dd>To include an intercept in the model, set one coordinate in the <code>independentVariables</code> array to 1.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>margins FLOAT8[] </code> - Array of marginal effects</li>
+<li><code>coefFLOAT8[] </code> - The coefficients for the regression</li>
+<li><code>std_err FLOAT8[]</code> - Array of standard-errors (calculated by the delta method),</li>
+<li><code>z_stats FLOAT8[]</code> - Array of z-statistics</li>
+<li><code>p_values FLOAT8[]</code> - Array of p-values</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Get all the diagnostic statistics:<br />
+ <pre> SELECT marginal_logregr(<em>dependentVariable</em>,
+ <em>independentVariables</em>, coef)
+ FROM <em>dataTable</em>;
+</pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="ac4e06a28a76651de70768457575bb9e0"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac4e06a28a76651de70768457575bb9e0">&#9670;&nbsp;</a></span>marginal_logregr_step_final()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">marginal_logregr_result marginal_logregr_step_final </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae44a992f8bd650b5c1f0c2ffae7bb542"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae44a992f8bd650b5c1f0c2ffae7bb542">&#9670;&nbsp;</a></span>marginal_logregr_step_merge_states()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] marginal_logregr_step_merge_states </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state2</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a2115a795562bc2928c3858fc55104c4b"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2115a795562bc2928c3858fc55104c4b">&#9670;&nbsp;</a></span>marginal_logregr_step_transition()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float8 [] marginal_logregr_step_transition </td>
+          <td>(</td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>state</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="aaf0b3cc34b99d4b47334bdde2d139b81"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aaf0b3cc34b99d4b47334bdde2d139b81">&#9670;&nbsp;</a></span>marginal_mlogregr()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">aggregate marginal_mlogregr_result marginal_mlogregr </td>
+          <td>(</td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>dependentVariable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>num_categories</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>ref_category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>independentVariables</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8 []&#160;</td>
+          <td class="paramname"><em>coef</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">dependentVariable</td><td>Column containing the dependent variable </td></tr>
+    <tr><td class="paramname">independentVariables</td><td>Column containing the array of independent variables </td></tr>
+    <tr><td class="paramname">num_categories</td><td>Number of categories </td></tr>
+    <tr><td class="paramname">ref_category</td><td>Reference category </td></tr>
+    <tr><td class="paramname">coef</td><td>Column containing the array of the coefficients (as obtained by mlogregr)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section user"><dt></dt><dd>To include an intercept in the model, set one coordinate in the <code>independentVariables</code> array to 1.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>A composite value:<ul>
+<li><code>margins FLOAT8[] </code> - Array of marginal effects</li>
+<li><code>coef FLOAT8[] </code> - The coefficients for the regression</li>
+<li><code>std_err FLOAT8[]</code> - Array of standard-errors (using the delta method),</li>
+<li><code>z_stats FLOAT8[]</code> - Array of z-statistics</li>
+<li><code>p_values FLOAT8[]</code> - Array of p-values</li>
+</ul>
+</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd><ul>
+<li>Get all the diagnostic statistics:<br />
+ <pre> SELECT marginal_mlogregr(<em>dependentVariable</em>,
+ <em>independentVariables</em>, coef)
+ FROM <em>dataTable</em>;
+</pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a36fcae5245ca31517723fce38b183c90"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a36fcae5245ca31517723fce38b183c90">&#9670;&nbsp;</a></span>margins() <span class="overload">[1/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void margins </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>x_design</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>marginal_vars</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a632bc9f9bf73c40fe6bf3b1778eee91a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a632bc9f9bf73c40fe6bf3b1778eee91a">&#9670;&nbsp;</a></span>margins() <span class="overload">[2/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void margins </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>x_design</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a6d002a5934d6bc614925ffcf67f24a99"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6d002a5934d6bc614925ffcf67f24a99">&#9670;&nbsp;</a></span>margins() <span class="overload">[3/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void margins </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>x_design</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="abd29ce2c3931dfbe5fc7e882114b8c68"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#abd29ce2c3931dfbe5fc7e882114b8c68">&#9670;&nbsp;</a></span>margins() <span class="overload">[4/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void margins </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>model_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a14c96eee91746c4693d1775ff3ee8158"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a14c96eee91746c4693d1775ff3ee8158">&#9670;&nbsp;</a></span>margins() <span class="overload">[5/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar margins </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9c7042e5a4dca342e745c89f72f4a650"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9c7042e5a4dca342e745c89f72f4a650">&#9670;&nbsp;</a></span>margins() <span class="overload">[6/6]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar margins </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a9517d679ee4209126895445cbed51fe3"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a9517d679ee4209126895445cbed51fe3">&#9670;&nbsp;</a></span>margins_logregr() <span class="overload">[1/9]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar margins_logregr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>message</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a63aba4148ce9bfcafea81d08e3797a1f"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a63aba4148ce9bfcafea81d08e3797a1f">&#9670;&nbsp;</a></span>margins_logregr() <span class="overload">[2/9]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">varchar margins_logregr </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a99dd17e30e4fcc2f39da4e671406bcea"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a99dd17e30e4fcc2f39da4e671406bcea">&#9670;&nbsp;</a></span>margins_logregr() <span class="overload">[3/9]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void margins_logregr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_varname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>marginal_vars</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer&#160;</td>
+          <td class="paramname"><em>max_iter</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>optimizer</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float8&#160;</td>
+          <td class="paramname"><em>tolerance</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">boolean&#160;</td>
+          <td class="paramname"><em>verbose_mode</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">source_table</td><td>String identifying the input table </td></tr>
+    <tr><td class="paramname">out_table</td><td>String identifying the output table to be created </td></tr>
+    <tr><td class="paramname">dependent_varname</td><td>Column containing the dependent variable </td></tr>
+    <tr><td class="paramname">independent_varname</td><td>Column containing the array of independent variables </td></tr>
+    <tr><td class="paramname">grouping_cols</td><td>Set of columns to group by. </td></tr>
+    <tr><td class="paramname">marginal_vars</td><td>Subset of independent variables to calculate marginal effects for. </td></tr>
+    <tr><td class="paramname">max_iter</td><td>Maximum number of iterations </td></tr>
+    <tr><td class="paramname">optimizer</td><td>Optimizer to be used (newton/irls, cg or idg) </td></tr>
+    <tr><td class="paramname">tolerance</td><td>Resiual tolerance </td></tr>
+    <tr><td class="paramname">verbose_mode</td><td>Verbose mode (on/off)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section user"><dt></dt><dd>To include an intercept in the model, set one coordinate in the <code>independentVariables</code> array to 1.</dd></dl>
+<dl class="section return"><dt>Returns</dt><dd>void</dd></dl>
+<dl class="section user"><dt>Usage</dt><dd>For function summary information. Run sql&gt; select margins_logregr('help'); OR sql&gt; select <a class="el" href="marginal_8sql__in.html#a9517d679ee4209126895445cbed51fe3">margins_logregr()</a>; OR sql&gt; select margins_logregr('?'); For function usage information. Run sql&gt; select margins_logregr('usage');<ul>
+<li>Compute the coefficients, and the get the marginal diagnostic statistics: <pre>
+  select margins_logregr(source_table, out_table, dependentVariable, independentVariables);
+ </pre> </li>
+</ul>
+</dd></dl>
+
+</div>
+</div>
+<a id="a4e0b284b130524ff36b44281fa9e3fb9"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a4e0b284b130524ff36b44281fa9e3fb9">&#9670;&nbsp;</a></span>margins_logregr() <span class="overload">[4/9]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void margins_logregr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_variable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_variable</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="af520629d3624d30cdcdbce247d89ac7d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af520629d3624d30cdcdbce247d89ac7d">&#9670;&nbsp;</a></span>margins_logregr() <span class="overload">[5/9]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void margins_logregr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_variable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_variable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="ae84af4141c1730d7299210ad5005ffe6"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae84af4141c1730d7299210ad5005ffe6">&#9670;&nbsp;</a></span>margins_logregr() <span class="overload">[6/9]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void margins_logregr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>out_table</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>dependent_variable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>independent_variable</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>grouping_cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">integer []&#160;</td>
+          <td class="paramname"><em>marginal_vars</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a id="a7ad0356ba6d3edec11d4ee6904ff8588"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a7ad0356ba6d3edec11d4ee6904ff8588">&#9670;&nbsp;</a></span>margins_logregr() <span class="overload">[7/9]</span></h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void margins_logregr </td>
+          <td>(</td>
+          <td class="paramtype">varchar&#160;</td>
+          <td class="paramname"><em>source_table</em>, </td>
+        </tr>
+       

<TRUNCATED>