You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@madlib.apache.org by xt...@apache.org on 2016/04/07 23:47:32 UTC

[29/51] [abbrv] [partial] incubator-madlib-site git commit: Update doc for 1.9 release

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__dectree.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__dectree.html b/docs/latest/group__grp__dectree.html
index dd82473..93feb81 100644
--- a/docs/latest/group__grp__dectree.html
+++ b/docs/latest/group__grp__dectree.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -115,303 +109,12 @@ $(document).ready(function(){initNavTree('group__grp__dectree.html','');});
 <div class="title">Decision Tree (old C4.5 implementation)<div class="ingroups"><a class="el" href="group__grp__deprecated.html">Deprecated Modules</a></div></div>  </div>
 </div><!--header-->
 <div class="contents">
-<div class="toc"><b>Contents</b> </p><ul>
-<li>
-<a href="#input">Input</a> </li>
-<li>
-<a href="#train">Training Function</a> </li>
-<li>
-<a href="#classify">Classification Function</a> </li>
-<li>
-<a href="#score">Scoring Function</a> </li>
-<li>
-<a href="#display">Display Tree Function</a> </li>
-<li>
-<a href="#notes">Implementation Notes</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 is an old implementation of decision trees. For a newer implementation, please see <a class="el" href="group__grp__decision__tree.html">Decision Tree</a></em></dd></dl>
-<p>This module provides an implementation of the C4.5 algorithm to grow decision trees.</p>
-<p>The implementation supports:</p><ul>
-<li>Building the decision tree</li>
-<li>Multiple split critera, including: &ndash; Information Gain &ndash; Gini Coefficient &ndash; Gain Ratio</li>
-<li>Decision tree Pruning</li>
-<li>Decision tree classification/scoring</li>
-<li>Decision tree display</li>
-<li>Rule generation</li>
-<li>Continuous and discrete features</li>
-<li>Missing value handling</li>
-</ul>
-<p><a class="anchor" id="train"></a></p><dl class="section user"><dt>Training Function</dt><dd></dd></dl>
-<p>Run the training algorithm on the source data: </p><pre class="syntax">
-c45_train( split_criterion,
-           training_table_name,
-           result_tree_table_name,
-           validation_table_name,
-           continuous_feature_names,
-           feature_col_names,
-           id_col_name,
-           class_col_name,
-           confidence_level,
-           how2handle_missing_value,
-           max_tree_depth,
-           node_prune_threshold,
-           node_split_threshold,
-           verbosity
-         )
-</pre><p> <b>Arguments</b> </p><dl class="arglist">
-<dt>split_criterion </dt>
-<dd>The name of the split criterion that should be used for tree construction. The valid values are ‘infogain’, ‘gainratio’, and ‘gini’. It can't be NULL. Information gain(infogain) and gini index(gini) are biased toward multivalued attributes. Gain ratio(gainratio) adjusts for this bias. However, it tends to prefer unbalanced splits in which one partition is much smaller than the others.  </dd>
-<dt>training_table_name </dt>
-<dd>The name of the table/view with the source data. The <b>training data</b> is expected to be of the following form: <pre>{TABLE|VIEW} <em>trainingSource</em> (
-    ...
-    <em>id</em> INT|BIGINT,
-    <em>feature1</em> SUPPORTED_DATA_TYPE,
-    <em>feature2</em> SUPPORTED_DATA_TYPE,
-    <em>feature3</em> SUPPORTED_DATA_TYPE,
-    ....................
-    <em>featureN</em> SUPPORTED_DATA_TYPE,
-    <em>class</em>    SUPPORTED_DATA_TYPE,
-    ...
-)</pre> The detailed list of SUPPORTED_DATA_TYPE is: SMALLINT, INT, BIGINT, FLOAT8, REAL, DECIMAL, INET, CIDR, MACADDR, BOOLEAN, CHAR, VARCHAR, TEXT, "char", DATE, TIME, TIMETZ, TIMESTAMP, TIMESTAMPTZ, and INTERVAL.  </dd>
-<dt>result_tree_table_name </dt>
-<dd>The name of the table to contain the decision tree output. The table stores an abstract object (representing the model) used for further classification. It has the following columns: <table  class="output">
-<tr>
-<th>id  </th></tr>
-<tr>
-<th>tree_location  </th></tr>
-<tr>
-<th>feature  </th></tr>
-<tr>
-<th>probability  </th></tr>
-<tr>
-<th>ebp_coeff  </th></tr>
-<tr>
-<th>maxclass  </th></tr>
-<tr>
-<th>scv  </th></tr>
-<tr>
-<th>live  </th></tr>
-<tr>
-<th>sample_size  </th></tr>
-<tr>
-<th>parent_id  </th></tr>
-<tr>
-<th>lmc_nid  </th></tr>
-<tr>
-<th>lmc_fval  </th></tr>
-<tr>
-<th>is_continuous  </th></tr>
-<tr>
-<th>split_value  </th></tr>
-<tr>
-<th>tid  </th></tr>
-<tr>
-<th>dp_ids  </th></tr>
-</table>
-</dd>
-<dt>validation_table_name </dt>
-<dd>The name of the table/view that contains the validation set used for tree pruning. The default is NULL, in which case we will not do tree pruning.  </dd>
-<dt>continuous_feature_names </dt>
-<dd>A comma-separated list of the names of features whose values are continuous. The default is null, which means there are no continuous features in the training table.  </dd>
-<dt>feature_col_names </dt>
-<dd>A comma-separated list of the names of table columns, each of which defines a feature. The default value is null, which means all the columns in the training table, except columns named ‘id’ and ‘class’, will be used as features.  </dd>
-<dt>id_col_name </dt>
-<dd>The name of the column containing an ID for each record. </dd>
-<dt>class_col_name </dt>
-<dd>The name of the column containing the labeled class.  </dd>
-<dt>confidence_level </dt>
-<dd>A statistical confidence interval of the resubstitution error. </dd>
-<dt>how2handle_missing_value </dt>
-<dd>The way to handle missing value. The valid value is 'explicit' or 'ignore'. </dd>
-<dt>max_tree_depth </dt>
-<dd>Specifies the maximum number of levels in the result DT to avoid overgrown DTs.  </dd>
-<dt>node_prune_threshold </dt>
-<dd>The minimum percentage of the number of records required in a child node. It can't be NULL. The range of it is in [0.0, 1.0]. This threshold only applies to the non-root nodes. Therefore, if its value is 1, then the trained tree only has one node (the root node); if its value is 0, then no nodes will be pruned by this parameter. </dd>
-<dt>node_split_threshold </dt>
-<dd>The minimum percentage of the number of records required in a node in order for a further split to be possible. It can't be NULL. The range of it is in [0.0, 1.0]. If it's value is 1, then the trained tree only has two levels, since only the root node can grow; if its value is 0, then trees can grow extensively. </dd>
-<dt>verbosity </dt>
-<dd>An integer greater than 0 means this function runs in verbose mode. </dd>
-</dl>
-<p><a class="anchor" id="classify"></a></p><dl class="section user"><dt>Classification Function</dt><dd></dd></dl>
-<p>The classification function uses the learned model stored by the training function to create the classification results. </p><pre class="syntax">
-c45_classify( tree_table_name,
-              classification_table_name,
-              result_table_name
-            )
-</pre><p> <b>Arguments</b> </p><dl class="arglist">
-<dt>tree_table_name </dt>
-<dd><p class="startdd">The name of the table containing the trained model.</p>
-<p class="enddd">The data to classify is expected to be in the same form as the training data, except that it does not need a class column.  </p>
-</dd>
-<dt>classification_table_name </dt>
-<dd>The name of the table containing the data to classify. </dd>
-<dt>result_table_name </dt>
-<dd>The name of the output table. </dd>
-</dl>
-<p><a class="anchor" id="score"></a></p><dl class="section user"><dt>Scoring Function</dt><dd>The scoring function scores the learned model against a validation data set. <pre class="syntax">
-c45_score( tree_table_name,
-           validation_table_name,
-           verbosity
-         );
-</pre></dd></dl>
-<p>This gives a ratio of correctly classified items in the validation set.</p>
-<p><a class="anchor" id="display"></a></p><dl class="section user"><dt>Display Tree Function</dt><dd></dd></dl>
-<p>The display tree function displays the learned model in a human-readable format.</p>
-<pre class="syntax">
-c45_display( tree_table_name
-           );
-</pre><p><a class="anchor" id="clean"></a></p><dl class="section user"><dt>Clean Tree Function</dt><dd></dd></dl>
-<p>The clean tree function cleans up the learned model and all metadata. </p><pre class="syntax">
-  c45_clean( tree_table_name
-           );
-</pre><p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Implementation Notes</dt><dd></dd></dl>
-<p>Due to some implementation difference, decisiont tree on HAWQ is much slower than on Greenplum database when running on small data sets. However, for larger data sets, the performance difference is much smaller. For example, in a test with 0.75 million rows of data, decision tree on HAWQ is only one time slower than on GPDB. This is because the overhead due to the different implementation is proportional to the tree size, and is usually negligible as data size increases (The tree size is not likely to increase proportionally with the data size. For example, if a 10-node tree is used to fit a data set with 1000 rows, it is very unlikely to fit another data set with 1 million rows with a 10000-node tree).</p>
-<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. <pre class="example">
-SELECT * FROM golf_data ORDER BY id;
-</pre> Result: <pre class="result">
- id | outlook  | temperature | humidity | windy  |    class
-&#160;---+----------+-------------+----------+--------+--------------
-  1 | sunny    |          85 |       85 |  false |  Do not Play
-  2 | sunny    |          80 |       90 |  true  |  Do not Play
-  3 | overcast |          83 |       78 |  false |  Play
-  4 | rain     |          70 |       96 |  false |  Play
-  5 | rain     |          68 |       80 |  false |  Play
-  6 | rain     |          65 |       70 |  true  |  Do not Play
-  7 | overcast |          64 |       65 |  true  |  Play
-  8 | sunny    |          72 |       95 |  false |  Do not 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  |  Do not Play
-(14 rows)
-</pre></li>
-<li>Train the decision tree model. Run the <a class="el" href="c45_8sql__in.html#ac25e17ecbc70149aa559018e718fc793" title="Cleanup the trained tree table and any relevant tables. ">c45_clean()</a> function first to clean up any model and metadata from previous executions. <pre class="example">
-SELECT * FROM madlib.c45_clean( 'trained_tree_infogain'
-                              );
-SELECT * FROM madlib.c45_train( 'infogain',
-                                'golf_data',
-                                'trained_tree_infogain',
-                                null,
-                                'temperature,humidity',
-                                'outlook,temperature,humidity,windy',
-                                'id',
-                                'class',
-                                100,
-                                'explicit',
-                                5,
-                                0.001,
-                                0.001,
-                                0
-                              );
-</pre> Result: <pre class="result">
- training_set_size | tree_nodes | tree_depth |  training_time  | split_criterion
-&#160;------------------+------------+------------+-----------------+-----------------
-                14 |          8 |          3 | 00:00:00.871805 | infogain
-(1 row)
-</pre></li>
-<li>View the the tree model table. <pre class="example">
-SELECT * FROM trained_tree_infogain ORDER BY id;
-</pre> Result: <pre class="result">
- id | tree_location | feature |    probability    | ebp_coeff | maxclass |       scv         | live |sample_size | parent_id | lmc_nid | lmc_fval | is_continuous   | split_value
-&#160;---+---------------+---------+-------------------+-----------+----------+-------------------+------+----------+-----------+---------+----------+-----------------+-------------
-  1 | {0}           |       3 | 0.642857142857143 |         1 |        2 | 0.171033941880327 |    0 |       14 |         0 |       2 |        1 | f               |
-  2 | {0,1}         |       4 |                 1 |         1 |        2 |                 0 |    0 |        4 |         1 |         |          | f               |
-  3 | {0,2}         |       4 |               0.6 |         1 |        2 | 0.673011667009257 |    0 |        5 |         1 |       5 |        1 | f               |
-  4 | {0,3}         |       2 |               0.6 |         1 |        1 | 0.673011667009257 |    0 |        5 |         1 |       7 |        1 | t               |          70
-  5 | {0,2,1}       |       4 |                 1 |         1 |        2 |                 0 |    0 |        3 |         3 |         |          | f               |
-  6 | {0,2,2}       |       4 |                 1 |         1 |        1 |                 0 |    0 |        2 |         3 |         |          | f               |
-  7 | {0,3,1}       |       4 |                 1 |         1 |        2 |                 0 |    0 |        2 |         4 |         |          | f               |
-  8 | {0,3,2}       |       4 |                 1 |         1 |        1 |                 0 |    0 |        3 |         4 |         |          | f               |
-(8 rows)
-</pre></li>
-<li>Display the tree with a human readable format: <pre class="example">
-SELECT madlib.c45_display('trained_tree_infogain');
-</pre> Result: <pre class="result">
-                                      c45_display
-&#160;--------------------------------------------------------------------------------------
-Tree 1
-    Root Node  : class(  Play)   num_elements(14)  predict_prob(0.642857142857143)
-         outlook:  = overcast : class( Play)   num_elements(4)  predict_prob(1)
-         outlook:  = rain : class( Play)   num_elements(5)  predict_prob(0.6)
-             windy:  =  false : class( Play)   num_elements(3)  predict_prob(1)
-             windy:  = true  : class(  Do not Play)   num_elements(2)  predict_prob(1)
-         outlook:  =  sunny      : class(  Do not Play)   num_elements(5)  predict_prob(0.6)
-             humidity:  &lt;= 70 : class( Play)   num_elements(2)  predict_prob(1)
-             humidity:  &gt; 70  : class(  Do not Play)   num_elements(3)  predict_prob(1)
-(1 row)
-</pre></li>
-<li>Classify some data with the learned model. <pre class="example">
-SELECT * FROM madlib.c45_classify ( 'trained_tree_infogain',
-                                    'golf_data',
-                                    'classification_result'
-                                  );
-</pre> Result: <pre class="result">
- input_set_size |    classification_time
-----------------+-----------------
-             14 | 00:00:00.247713
-(1 row)
-</pre></li>
-<li>Check the classification results. <pre class="example">
-SELECT t.id, t.outlook, t.temperature, t.humidity, t.windy, c.class
-FROM   madlib.classification_result c, golf_data t
-WHERE  t.id=c.id ORDER BY id;
-</pre> Result: <pre class="result">
- id | outlook  | temperature | humidity | windy  |    class
-&#160;---+----------+-------------+----------+--------+--------------
-  1 | sunny    |          85 |       85 |  false |  Do not Play
-  2 | sunny    |          80 |       90 |  true  |  Do not Play
-  3 | overcast |          83 |       78 |  false |  Play
-  4 | rain     |          70 |       96 |  false |  Play
-  5 | rain     |          68 |       80 |  false |  Play
-  6 | rain     |          65 |       70 |  true  |  Do not Play
-  7 | overcast |          64 |       65 |  true  |  Play
-  8 | sunny    |          72 |       95 |  false |  Do not 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  |  Do not Play
-(14 rows)
-</pre></li>
-<li>Score the data against a validation set. <pre class="example">
-SELECT * FROM madlib.c45_score( 'trained_tree_infogain',
-                                'golf_data_validation',
-                                0)
-                              );
-</pre> Result: <pre class="result">
- c45_score
-&#160;----------
-      1
-(1 row)
-</pre></li>
-<li>Clean up the tree and metadata. <pre class="example">
-SELECT madlib.c45_clean( 'trained_tree_infogain'
-                       );
-</pre> Result: <pre class="result">
- c45_clean
-&#160;----------
-&#160;
-(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/C4.5_algorithm">http://en.wikipedia.org/wiki/C4.5_algorithm</a></p>
-<p><a class="anchor" id="related"></a></p><dl class="section user"><dt>Related Topics</dt><dd>File <a class="el" href="c45_8sql__in.html" title="C4.5 APIs and main controller written in PL/PGSQL. ">c45.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 Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:11 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__dense__linear__solver.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__dense__linear__solver.html b/docs/latest/group__grp__dense__linear__solver.html
index 8a6a31b..6adf84d 100644
--- a/docs/latest/group__grp__dense__linear__solver.html
+++ b/docs/latest/group__grp__dense__linear__solver.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -126,9 +120,9 @@ $(document).ready(function(){initNavTree('group__grp__dense__linear__solver.html
 <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">
-\[ Ax = b \]
+<img class="formulaDsp" alt="\[ Ax = b \]" src="form_211.png"/>
 </p>
-<p>where \(x \in \mathbb{R}^{n}\), \(A \in \mathbb{R}^{m \times n} \) and \(b \in \mathbb{R}^{m}\). We assume that there are no rows of \(A\) 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>where <img class="formulaInl" alt="$x \in \mathbb{R}^{n}$" src="form_212.png"/>, <img class="formulaInl" alt="$A \in \mathbb{R}^{m \times n} $" src="form_213.png"/> and <img class="formulaInl" alt="$b \in \mathbb{R}^{m}$" src="form_214.png"/>. We assume that there are no rows of <img class="formulaInl" alt="$A$" src="form_41.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,
@@ -155,7 +149,7 @@ linear_solver_dense( tbl_source,
 <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 \( \frac{|Ax - b|}{|b|} \). This value is an indication of the accuracy of the solution.  </td></tr>
+<th>residual_norm </th><td>FLOAT8. The scaled residual norm, defined as <img class="formulaInl" alt="$ \frac{|Ax - b|}{|b|} $" src="form_215.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>
@@ -163,7 +157,7 @@ linear_solver_dense( tbl_source,
 </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 \( 0 \ldots n-1 \). </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_216.png"/>. </p>
 <p class="enddd"></p>
 </dd>
 <dt>LHS </dt>
@@ -254,7 +248,7 @@ SELECT madlib.linear_solver_dense( 'linear_systems_test_data',
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:11 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__deprecated.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__deprecated.html b/docs/latest/group__grp__deprecated.html
index af92407..cdded5b 100644
--- a/docs/latest/group__grp__deprecated.html
+++ b/docs/latest/group__grp__deprecated.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -123,10 +117,8 @@ $(document).ready(function(){initNavTree('group__grp__deprecated.html','');});
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
 Modules</h2></td></tr>
 <tr class="memitem:group__grp__dectree"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__dectree.html">Decision Tree (old C4.5 implementation)</a></td></tr>
-<tr class="memdesc:group__grp__dectree"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a decision tree using the C4.5 algorithm. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:group__grp__svdmf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__svdmf.html">Matrix Factorization</a></td></tr>
-<tr class="memdesc:group__grp__svdmf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes low-rank approximation of a sparse matrix. <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>
@@ -138,7 +130,6 @@ Modules</h2></td></tr>
 <tr class="memdesc:group__grp__quantile"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes a quantile value for a column in a table. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:group__grp__rf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__rf.html">Random Forest (old implementation)</a></td></tr>
-<tr class="memdesc:group__grp__rf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a classification model that outputs the class most frequently chosen by many decision trees constructed from a training dataset. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
@@ -146,7 +137,7 @@ Modules</h2></td></tr>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:11 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__desc__stats.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__desc__stats.html b/docs/latest/group__grp__desc__stats.html
index 04b600d..b168712 100644
--- a/docs/latest/group__grp__desc__stats.html
+++ b/docs/latest/group__grp__desc__stats.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -122,19 +116,19 @@ $(document).ready(function(){initNavTree('group__grp__desc__stats.html','');});
 <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__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>
 <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 Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:10 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__desc__stats.js
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__desc__stats.js b/docs/latest/group__grp__desc__stats.js
index 5e37ad2..9521871 100644
--- a/docs/latest/group__grp__desc__stats.js
+++ b/docs/latest/group__grp__desc__stats.js
@@ -1,5 +1,5 @@
 var group__grp__desc__stats =
 [
-    [ "Summary", "group__grp__summary.html", null ],
-    [ "Pearson's Correlation", "group__grp__correlation.html", null ]
+    [ "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/c506dd05/docs/latest/group__grp__early__stage.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__early__stage.html b/docs/latest/group__grp__early__stage.html
index e237e4f..aa64ccc 100644
--- a/docs/latest/group__grp__early__stage.html
+++ b/docs/latest/group__grp__early__stage.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -118,7 +112,6 @@ $(document).ready(function(){initNavTree('group__grp__early__stage.html','');});
 </div><!--header-->
 <div class="contents">
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<p>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. </p>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
 Modules</h2></td></tr>
@@ -126,7 +119,7 @@ Modules</h2></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 \( \boldsymbol Ax = \boldsymbol b \), where \(A\) is a symmetric, positive-definite matrix and \(x\) and \( \boldsymbol b \) are vectors. <br /></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_40.png"/>, where <img class="formulaInl" alt="$A$" src="form_41.png"/> is a symmetric, positive-definite matrix and <img class="formulaInl" alt="$x$" src="form_42.png"/> and <img class="formulaInl" alt="$ \boldsymbol b $" src="form_43.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>
@@ -135,7 +128,6 @@ Modules</h2></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__kernmach"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__grp__kernmach.html">Support Vector Machines</a></td></tr>
-<tr class="memdesc:group__grp__kernmach"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates support vector machines for classification, regression, and novelty detection. <br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
@@ -143,7 +135,7 @@ Modules</h2></td></tr>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:11 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__elasticnet.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__elasticnet.html b/docs/latest/group__grp__elasticnet.html
index cbc91c7..86dd1cb 100644
--- a/docs/latest/group__grp__elasticnet.html
+++ b/docs/latest/group__grp__elasticnet.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -203,8 +197,8 @@ elastic_net_train( tbl_source,
 <p class="enddd"></p>
 </dd>
 <dt>grouping_col (optional) </dt>
-<dd><p class="startdd">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 <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><p class="startdd">TEXT, default: NULL.</p>
+<dl class="section note"><dt>Note</dt><dd><em>Not currently implemented. Any non-NULL value is ignored. Grouping support will be added in a future release. </em> When implemented, an expression list will be 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.</dd></dl>
 </dd>
 <dt>optimizer (optional) </dt>
 <dd><p class="startdd">TEXT, default: 'fista'. Name of optimizer, either 'fista' or 'igd'.</p>
@@ -510,21 +504,21 @@ ORDER BY id;
 <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">
-\[\min_{w \in R^N} L(w) + \lambda \left(\frac{(1-\alpha)}{2} \|w\|_2^2 + \alpha \|w\|_1 \right)\]
+<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_81.png"/>
 </p>
-<p> where \(L\) is the metric function that the user wants to minimize. Here \( \alpha \in [0,1] \) and \( lambda \geq 0 \). If \(alpha = 0\), we have the ridge regularization (known also as Tikhonov regularization), and if \(\alpha = 1\), we have the LASSO regularization.</p>
+<p> where <img class="formulaInl" alt="$L$" src="form_82.png"/> is the metric function that the user wants to minimize. Here <img class="formulaInl" alt="$ \alpha \in [0,1] $" src="form_83.png"/> and <img class="formulaInl" alt="$ lambda \geq 0 $" src="form_84.png"/>. If <img class="formulaInl" alt="$alpha = 0$" src="form_85.png"/>, we have the ridge regularization (known also as Tikhonov regularization), and if <img class="formulaInl" alt="$\alpha = 1$" src="form_86.png"/>, we have the LASSO regularization.</p>
 <p>For the Gaussian response family (or linear model), we have </p><p class="formulaDsp">
-\[L(\vec{w}) = \frac{1}{2}\left[\frac{1}{M} \sum_{m=1}^M (w^{t} x_m + w_{0} - y_m)^2 \right] \]
+<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_87.png"/>
 </p>
 <p>For the Binomial response family (or logistic model), we have </p><p class="formulaDsp">
-\[ 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]\ , \]
+<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_88.png"/>
 </p>
-<p> where \(y_m \in {0,1}\).</p>
+<p> where <img class="formulaInl" alt="$y_m \in {0,1}$" src="form_89.png"/>.</p>
 <p>To get better convergence, one can rescale the value of each element of x </p><p class="formulaDsp">
-\[ x&#39; \leftarrow \frac{x - \bar{x}}{\sigma_x} \]
+<img class="formulaDsp" alt="\[ x' \leftarrow \frac{x - \bar{x}}{\sigma_x} \]" src="form_90.png"/>
 </p>
 <p> and for Gaussian case we also let </p><p class="formulaDsp">
-\[y&#39; \leftarrow y - \bar{y} \]
+<img class="formulaDsp" alt="\[y' \leftarrow y - \bar{y} \]" src="form_91.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>
@@ -540,7 +534,7 @@ ORDER BY id;
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:10 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__fmsketch.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__fmsketch.html b/docs/latest/group__grp__fmsketch.html
index 89a7331..e52c978 100644
--- a/docs/latest/group__grp__fmsketch.html
+++ b/docs/latest/group__grp__fmsketch.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -159,7 +153,7 @@ class | fmsketch_dcount
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:11 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__glm.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__glm.html b/docs/latest/group__grp__glm.html
index a6412a7..3fb6f0a 100644
--- a/docs/latest/group__grp__glm.html
+++ b/docs/latest/group__grp__glm.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -170,7 +164,7 @@ glm(source_table,
 <p class="endtd"></p>
 </td></tr>
 <tr>
-<th>log_likelihood </th><td><p class="starttd">FLOAT8. The log-likelihood \( l(\boldsymbol \beta) \). 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>
+<th>log_likelihood </th><td><p class="starttd">FLOAT8. The log-likelihood <img class="formulaInl" alt="$ l(\boldsymbol \beta) $" src="form_92.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>
@@ -570,7 +564,7 @@ FROM abalone_out, abalone;
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:10 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>

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

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__inf__stats.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__inf__stats.html b/docs/latest/group__grp__inf__stats.html
index 298bbe0..2bc6249 100644
--- a/docs/latest/group__grp__inf__stats.html
+++ b/docs/latest/group__grp__inf__stats.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -131,7 +125,7 @@ Modules</h2></td></tr>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:10 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__kernmach.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__kernmach.html b/docs/latest/group__grp__kernmach.html
index d0f7ba4..d3dfd27 100644
--- a/docs/latest/group__grp__kernmach.html
+++ b/docs/latest/group__grp__kernmach.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -115,244 +109,12 @@ $(document).ready(function(){initNavTree('group__grp__kernmach.html','');});
 <div class="title">Support Vector Machines<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> </p><ul>
-<li>
-<a href="#learn">Regression Learning Function</a> </li>
-<li>
-<a href="#classify">Classification Learning Function</a> </li>
-<li>
-<a href="#novelty">Novelty Detection Functions</a> </li>
-<li>
-<a href="#predict">Prediction Functions</a> </li>
-<li>
-<a href="#notes">Notes</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>Support vector machines (SVMs) and related kernel methods have been among the most popular and well-studied machine learning techniques of the past 15 years, with an amazing number of innovations and applications.</p>
-<p>In a nutshell, an SVM model \(f(x)\) takes the form of </p><p class="formulaDsp">
-\[ f(x) = \sum_i \alpha_i k(x_i,x), \]
-</p>
-<p> where each \( \alpha_i \) is a real number, each \( \boldsymbol x_i \) is a data point from the training set (called a support vector), and \( k(\cdot, \cdot) \) is a kernel function that measures how "similar" two objects are. In regression, \( f(\boldsymbol x) \) is the regression function we seek. In classification, \( f(\boldsymbol x) \) serves as the decision boundary; so for example in binary classification, the predictor can output class 1 for object \(x\) if \( f(\boldsymbol x) \geq 0 \), and class 2 otherwise.</p>
-<p>In the case when the kernel function \( k(\cdot, \cdot) \) is the standard inner product on vectors, \( f(\boldsymbol x) \) is just an alternative way of writing a linear function </p><p class="formulaDsp">
-\[ f&#39;(\boldsymbol x) = \langle \boldsymbol w, \boldsymbol x \rangle, \]
-</p>
-<p> where \( \boldsymbol w \) is a weight vector having the same dimension as \( \boldsymbol x \). One of the key points of SVMs is that we can use more fancy kernel functions to efficiently learn linear models in high-dimensional feature spaces, since \( k(\boldsymbol x_i, \boldsymbol x_j) \) can be understood as an efficient way of computing an inner product in the feature space: </p><p class="formulaDsp">
-\[ k(\boldsymbol x_i, \boldsymbol x_j) = \langle \phi(\boldsymbol x_i), \phi(\boldsymbol x_j) \rangle, \]
-</p>
-<p> where \( \phi(\boldsymbol x) \) projects \( \boldsymbol x \) into a (possibly infinite-dimensional) feature space.</p>
-<p>There are many algorithms for learning kernel machines. This module implements the class of online learning with kernels algorithms described in Kivinen et al. [1]. It also includes the incremental gradient descent (IGD) method Feng et al. [3] for learning linear SVMs with the Hinge loss \(l(z) = \max(0, 1-z)\). See also the book Scholkopf and Smola [2] for more details of SVMs in general.</p>
-<p>The IGD implementation is based on Bismarck project in University of Wisconsin (<a href="http://hazy.cs.wisc.edu/hazy/victor/bismarck/">http://hazy.cs.wisc.edu/hazy/victor/bismarck/</a>). The methods introduced in [1] are implemented according to their original descriptions, except that we only update the support vector model when we make a significant error. The original algorithms in [1] update the support vector model at every step, even when no error was made, in the name of regularization. For practical purposes, and this is verified empirically to a certain degree, updating only when necessary is both faster and better from a learning-theoretic point of view, at least in the i.i.d. setting.</p>
-<p>Methods for classification, regression and novelty detection are available. Multiple instances of the algorithms can be executed in parallel on different subsets of the training data. The resultant support vector models can then be combined using standard techniques like averaging or majority voting.</p>
-<p>Training data points are accessed via a table or a view. The support vector models can also be stored in tables for fast execution.</p>
-<p><a class="anchor" id="learn"></a></p><dl class="section user"><dt>Regression Learning Function</dt><dd></dd></dl>
-<p>Regression learning is achieved through the following function: </p><pre class="syntax">
-svm_regression( input_table,
-                model_table,
-                parallel,
-                kernel_func,
-                verbose DEFAULT false,
-                eta DEFAULT 0.1,
-                nu DEFAULT 0.005,
-                slambda DEFAULT 0.05,
-                kernel_param DEFAULT 1.0
-              )</pre><p>For classification and regression, the training table/view is expected to be of the following form (the array size of <em>ind</em> must not be greater than 102,400.):<br />
-</p><pre>{TABLE|VIEW} input_table (
-    ...
-    id INT,
-    ind FLOAT8[],
-    label FLOAT8,
-    ...
-)</pre><p>For novelty detection, the label field is not required. Also note that the column names of input_table requires to be exactly the same as described above. This limitation will be removed when this module graduates from early development stage.</p>
-<p><a class="anchor" id="classify"></a></p><dl class="section user"><dt>Classification Learning Function</dt><dd></dd></dl>
-<p>Classification learning is achieved through the following two functions:</p>
-<ul>
-<li>Learn linear SVM(s) using IGD [3]. <pre class="syntax">
-lsvm_classification( input_table,
-                     model_table,
-                     parallel DEFAULT false,
-                     verbose DEFAULT false,
-                     eta DEFAULT 0.1,
-                     reg DEFAULT 0.001,
-                     max_iter DEFAULT 100
-                   )
-</pre> Note that, as any gradient descent methods, IGD will converge with a greater eta (stepsize), thus faster, if the input training data is well-conditioned. We highly recommend user to perform data preparation, such that the mean value of each feature column is 0 and standard error is 1, and append an extra feature with constant value 1 for intercept term. We plan to provide a function for this when this module graduates from early stage development.</li>
-<li>Learn linear or non-linear SVM(s) using the method described in [1]. <pre class="syntax">
-svm_classification( input_table,
-                    model_table,
-                    parallel,
-                    kernel_func,
-                    verbose DEFAULT false,
-                    eta DEFAULT 0.1,
-                    nu DEFAULT 0.005,
-                    kernel_param DEFAULT 1.0
-                  )
-</pre></li>
-</ul>
-<p><a class="anchor" id="novelty"></a></p><dl class="section user"><dt>Novelty Detection Function</dt><dd></dd></dl>
-<p>Novelty detection is achieved through the following function: </p><pre class="syntax">
-svm_novelty_detection( input_table,
-                       model_table,
-                       parallel,
-                       kernel_func,
-                       verbose DEFAULT false,
-                       eta DEFAULT 0.1,
-                       nu DEFAULT 0.005,
-                       kernel_param DEFAULT 1.0
-                     )
-</pre><p>Assuming the model_table parameter takes on value 'model', each learning function will produce two tables as output: 'model' and 'model_param'. The first contains the support vectors of the model(s) learned. The second contains the parameters of the model(s) learned, which include information like the kernel function used and the value of the intercept, if there is one.</p>
-<p><a class="anchor" id="predict"></a></p><dl class="section user"><dt>Prediction Functions</dt><dd></dd></dl>
-<ul>
-<li>To make predictions on a single data point x using a single model learned previously, we use the function <pre class="syntax">
-svm_predict_batch( input_table,
-                   data_col,
-                   id_col,
-                   model_table,
-                   output_table,
-                   parallel
-                 )
-</pre> If the <code>parallel</code> parameter is true, then each data point in the input table will have multiple predicted values corresponding to the number of models learned in</li>
-<li>If the model is produced by the <a class="el" href="lsvm_8sql__in.html#a6dcddc88d70523ddda32b46ab82dfbbf" title="This is the linear support vector classification function. ">lsvm_classification()</a> function, use the following prediction function instead. <pre class="syntax">
-lsvm_predict_batch( input_table,
-                    data_col,
-                    id_col,
-                    model_table,
-                    output_table,
-                  )
-</pre></li>
-<li>Note that, to make predictions on a subset of data points stored in a table, a separated view or table needs to be created ahead of time: <pre class="example">
--- create subset as a view
-CREATE VIEW subset AS SELECT * FROM input_table WHERE id &lt;= 100;
--- prediction on the subset
-SELECT svm_predict_batch('subset', 'ind', 'id',
-    'svm_model', 'subset_svm_predict', false);
--- prediction using linear SVMs
-SELECT lsvm_predict_batch('subset', 'ind', 'id',
-    'lsvm_model', 'subset_lsvm_predict');
-</pre></li>
-</ul>
-<p><a class="anchor" id="notes"></a></p><dl class="section user"><dt>Notes</dt><dd></dd></dl>
-<p>The <code>kernel_func</code> argument of <code>svm_classification</code>, <code>svm_regression</code>, and <code>svm_novelty_detection</code> can only accept a kernel function in the following form:</p>
-<pre class="syntax">
-FLOAT8 kernel_function(FLOAT8[], FLOAT8[], FLOAT8)
-</pre><p>The first two parameters are feature vectors, and the third one is a control parameter for the kernel function. The value of the control parameter must be set throught the <code>kernel_param</code> argument of <code>svm_classification</code>, <code>svm_regression</code>, and <code>svm_novelty_detection</code>.</p>
-<p>Currently, three kernel functions have been implemented: linear or dot product (<a class="el" href="online__sv_8sql__in.html#ab53cac5790dafd7230359e08c72af4f1">svm_dot</a>), polynomial (<a class="el" href="online__sv_8sql__in.html#a1ac76fdf9623e0a4db47665f2a80be90">svm_polynomial</a>) and Gaussian (<a class="el" href="online__sv_8sql__in.html#a9f2a96e1a241ecc66386a78b110777d3">svm_gaussian</a>) kernels. Note that for the dot product kernel, it actually only requires two FLOAT8[] parameters. To be compliant with the requirements for the kernel function, we have an overloaded version of <code>svm_dot</code> which accepts two FLOAT8[] and one FLOAT8 and returns a FLOAT8, but the FLOAT8 parameter is simply a placeholder and will be ignored.</p>
-<p>With the HAWQ database, only the above pre-built kernel functions can be used. With the Greenplum database and PostgreSQL database, one can use any user-defined function as long as it conforms to the requirements for the kernel function.</p>
-<p><a class="anchor" id="examples"></a></p><dl class="section user"><dt>Examples</dt><dd></dd></dl>
-<p>As a general first step, prepare and populate an input table/view with the following structure: </p><pre class="example">
-CREATE TABLE/VIEW my_schema.my_input_table(
-    id    INT,       -- point ID
-    ind   FLOAT8[],  -- data point
-    label FLOAT8     -- label of data point
-);
-</pre><p> The label field is not required for novelty detection.</p>
-<p><b>Example usage for regression</b>:</p><ol type="1">
-<li>Randomly generate 1000 5-dimensional data labelled using the simple target function. <pre class="example">
-t(x) = if x[5] = 10 then 50 else if x[5] = -10 then 50 else 0;
-</pre> and store that in the my_schema.my_train_data table as follows: <pre class="example">
-SELECT madlib.svm_generate_reg_data(
-    'my_schema.my_train_data', 1000, 5);
-</pre></li>
-<li>Learn a regression model and store the resultant model under the name 'myexp'. <pre class="example">
-SELECT madlib.svm_regression('my_schema.my_train_data',
-    'myexp1', false, 'madlib.svm_dot');
-</pre></li>
-<li>To learn multiple support vector models, we replace the learning step above by <pre class="example">
-SELECT madlib.svm_regression('my_schema.my_train_data',
-    'myexp2', true, 'madlib.svm_dot');
-</pre></li>
-<li>We can also predict the labels of data points stored in a table. For example, we can execute the following: <pre class="example">
--- prepare test data
-CREATE TABLE madlib.svm_reg_test AS
-    SELECT id, ind
-    FROM my_schema.my_train_data
-    LIMIT 20;
--- prediction using a single model
-SELECT madlib.svm_predict_batch('madlib.svm_reg_test', 'ind', 'id',
-    'myexp1', 'madlib.svm_reg_output1', false);
-SELECT * FROM madlib.svm_reg_output1;
--- prediction using multiple models
-SELECT madlib.svm_predict_batch('madlib.svm_reg_test', 'ind', 'id',
-    'myexp2', 'madlib.svm_reg_output2', true);
-SELECT * FROM madlib.svm_reg_output2;
-</pre></li>
-</ol>
-<p><b>Example usage for classification:</b></p><ol type="1">
-<li>Randomly generate training and testing data labelled by the simple target function. <pre class="example">
-t(x) = if x[1] &gt; 0 and  x[2] &lt; 0 then 1 else -1;
-</pre> and store that in tables as follows: <pre class="example">
-SELECT madlib.svm_generate_cls_data(
-    'my_schema.my_train_data', 2000, 5);
-SELECT madlib.svm_generate_cls_data(
-    'my_schema.my_test_data', 3000, 5);
-</pre></li>
-<li>Learn a classification model and store the resultant model the table 'myexpc'. <pre class="example">
-SELECT madlib.svm_classification('my_schema.my_train_data',
-    'myexpc', false, 'madlib.svm_dot');
-</pre></li>
-<li>Start using the model to predict the labels of testing data points. <pre class="example">
-SELECT madlib.svm_predict_batch('my_schema.my_test_data', 'ind', 'id',
-    'myexpc', 'my_schema.svm_cls_output1', false);
-</pre></li>
-<li>To learn multiple support vector models, replace the model-building and prediction steps above. <pre class="example">
--- training
-SELECT madlib.svm_classification('my_schema.my_train_data',
-    'myexpc', true, 'madlib.svm_dot');
--- predicting
-SELECT madlib.svm_predict_batch('my_schema.my_test_data', 'ind', 'id',
-    'myexpc', 'my_schema.svm_cls_output1', true);
-</pre></li>
-<li>To learn a linear support vector model using IGD [3], replace the model-building and prediction steps. <pre class="example">
--- training
-SELECT madlib.lsvm_classification(
-    'my_schema.my_train_data', 'my_lsvm');
--- predicting
-SELECT madlib.lsvm_predict_batch('my_schema.my_test_data',
-    'ind', 'id', 'my_lsvm', 'my_lsvm_predict');
-</pre></li>
-</ol>
-<p><b>Example usage for novelty detection:</b></p>
-<ol type="1">
-<li>Randomly generate 100 2-dimensional data (the normal cases) and store that in the my_schema.my_train_data table. <pre class="example">
-SELECT madlib.svm_generate_nd_data(
-    'my_schema.my_train_data', 100, 2);
-</pre></li>
-<li>Learning and predicting using a single novelty detection model: <pre class="example">
-SELECT madlib.svm_novelty_detection( 'my_schema.my_train_data',
-                                    'myexpnd',
-                                    false,
-                                    'madlib.svm_dot'
-                                  );
-SELECT * FROM myexpnd;
-</pre></li>
-<li>Learning and predicting using multiple models can be done as follows: <pre class="example">
-SELECT madlib.svm_novelty_detection( 'my_schema.my_train_data',
-                                    'myexpnd',
-                                    true,
-                                    'madlib.svm_dot'
-                                  );
-SELECT * FROM myexpnd;
-</pre></li>
-</ol>
-<p><b>Model cleanup:</b> To drop all tables pertaining to the model, use: </p><pre class="example">
-SELECT svm_drop_model('model_table');
-</pre><p><a class="anchor" id="literature"></a></p><dl class="section user"><dt>Literature</dt><dd></dd></dl>
-<p>[1] Jyrki Kivinen, Alexander J. Smola, and Robert C. Williamson: <em>Online Learning with Kernels</em>, IEEE Transactions on Signal Processing, 52(8), 2165-2176, 2004.</p>
-<p>[2] Bernhard Scholkopf and Alexander J. Smola: <em>Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond</em>, MIT Press, 2002.</p>
-<p>[3] X. Feng, A. Kumar, B. Recht, and C. R&eacute;: <em>Towards a unified architecture for in-RDBMS analytics</em>, In SIGMOD Conference, 2012.</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="online__sv_8sql__in.html" title="SQL functions for support vector machines. ">online_sv.sql_in</a> and <a class="el" href="lsvm_8sql__in.html" title="SQL functions for linear support vector machines. ">lsvm.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 Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:11 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__kmeans.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__kmeans.html b/docs/latest/group__grp__kmeans.html
index 83e9b1e..77ed815 100644
--- a/docs/latest/group__grp__kmeans.html
+++ b/docs/latest/group__grp__kmeans.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -133,7 +127,7 @@ $(document).ready(function(){initNavTree('group__grp__kmeans.html','');});
 <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 \( n \) points \( x_1, \dots, x_n \in \mathbb R^d \), the goal is to position \( k \) centroids \( c_1, \dots, c_k \in \mathbb R^d \) 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>
+</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_10.png"/> points <img class="formulaInl" alt="$ x_1, \dots, x_n \in \mathbb R^d $" src="form_138.png"/>, the goal is to position <img class="formulaInl" alt="$ k $" src="form_97.png"/> centroids <img class="formulaInl" alt="$ c_1, \dots, c_k \in \mathbb R^d $" src="form_139.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>
@@ -376,12 +370,12 @@ simple_silhouette( rel_source,
 </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">
-\[ (c_1, \dots, c_k) \mapsto \sum_{i=1}^n \min_{j=1}^k \operatorname{dist}(x_i, c_j) \]
+<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_140.png"/>
 </p>
-<p> In the most common case, \( \operatorname{dist} \) is the square of the Euclidean distance.</p>
+<p> In the most common case, <img class="formulaInl" alt="$ \operatorname{dist} $" src="form_141.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 \( k \) centroids (see below)</li>
+<li>Seed the <img class="formulaInl" alt="$ k $" src="form_97.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>
@@ -405,7 +399,7 @@ simple_silhouette( rel_source,
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:10 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>

http://git-wip-us.apache.org/repos/asf/incubator-madlib-site/blob/c506dd05/docs/latest/group__grp__lda.html
----------------------------------------------------------------------
diff --git a/docs/latest/group__grp__lda.html b/docs/latest/group__grp__lda.html
index ab5e82a..851aa4c 100644
--- a/docs/latest/group__grp__lda.html
+++ b/docs/latest/group__grp__lda.html
@@ -24,14 +24,8 @@
 <script type="text/javascript">
   $(document).ready(function() { init_search(); });
 </script>
-<script type="text/x-mathjax-config">
-  MathJax.Hub.Config({
-    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
-    jax: ["input/TeX","output/HTML-CSS"],
-});
-</script><script src="../mathjax/MathJax.js"></script>
 <!-- hack in the navigation tree -->
-<script type="text/javascript" src="navtree_hack.js"></script>
+<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 -->
@@ -40,7 +34,7 @@
   (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', 'auto');
+  ga('create', 'UA-45382226-1', 'madlib.net');
   ga('send', 'pageview');
 </script>
 </head>
@@ -50,10 +44,10 @@
 <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 id="projectlogo"><a href="http://madlib.net"><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.8</span>
+   <span id="projectnumber">1.9</span>
    </div>
    <div id="projectbrief">User Documentation for MADlib</div>
   </td>
@@ -134,16 +128,16 @@ $(document).ready(function(){initNavTree('group__grp__lda.html','');});
 </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 \( \alpha \) on each document's topic mixture. In addition, there is another (symmetric) Dirichlet prior with parameter \( \beta \) on the distribution of words for each topic.</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_142.png"/> on each document's topic mixture. In addition, there is another (symmetric) Dirichlet prior with parameter <img class="formulaInl" alt="$ \beta $" src="form_143.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 \( i \), a per-topic word distribution \( \phi_i \) from the Dirichlet( \(\beta\)) prior.</li>
+<li>Sample for each topic <img class="formulaInl" alt="$ i $" src="form_32.png"/>, a per-topic word distribution <img class="formulaInl" alt="$ \phi_i $" src="form_144.png"/> from the Dirichlet( <img class="formulaInl" alt="$\beta$" src="form_135.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 \( \theta \) for the document from the Dirichlet( \(\alpha\)) distribution.</li>
+<li>Sample a topic mixture <img class="formulaInl" alt="$ \theta $" src="form_145.png"/> for the document from the Dirichlet( <img class="formulaInl" alt="$\alpha$" src="form_146.png"/>) distribution.</li>
 <li>For each of the N words:<ul>
-<li>Sample a topic \( z_n \) from the multinomial topic distribution \( \theta \).</li>
-<li>Sample a word \( w_n \) from the multinomial word distribution \( \phi_{z_n} \) associated with topic \( z_n \).</li>
+<li>Sample a topic <img class="formulaInl" alt="$ z_n $" src="form_147.png"/> from the multinomial topic distribution <img class="formulaInl" alt="$ \theta $" src="form_145.png"/>.</li>
+<li>Sample a word <img class="formulaInl" alt="$ w_n $" src="form_148.png"/> from the multinomial word distribution <img class="formulaInl" alt="$ \phi_{z_n} $" src="form_149.png"/> associated with topic <img class="formulaInl" alt="$ z_n $" src="form_147.png"/>.</li>
 </ul>
 </li>
 </ul>
@@ -453,7 +447,7 @@ SELECT madlib.lda_get_perplexity( 'my_model',
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Mon Jul 27 2015 20:37:45 for MADlib by
+    <li class="footer">Generated on Thu Apr 7 2016 14:24:11 for MADlib by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.10 </li>
   </ul>