2020-09-02 09:42:51 +02:00
<!-- HTML header for doxygen 1.8.18 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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" / >
2021-09-20 15:57:27 +02:00
< meta name = "generator" content = "Doxygen 1.8.15" / >
2020-09-02 09:42:51 +02:00
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< title > OR-Tools: markowitz.h Source File< / 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 >
2021-09-20 15:57:27 +02:00
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */< / script >
2020-09-02 09:42:51 +02:00
< 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 >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< link href = "styleSheet.tmp.css" rel = "stylesheet" type = "text/css" / >
< / 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" > < img alt = "Logo" src = "orLogo.png" / > < / td >
< td id = "projectalign" style = "padding-left: 0.5em;" >
< div id = "projectname" > OR-Tools
2021-09-20 15:57:27 +02:00
  < span id = "projectnumber" > 9.1< / span >
2020-09-02 09:42:51 +02:00
< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
2021-09-20 15:57:27 +02:00
<!-- Generated by Doxygen 1.8.15 -->
2020-09-02 09:42:51 +02:00
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
2021-09-20 15:57:27 +02:00
var searchBox = new SearchBox("searchBox", "search",false,'Search');
2020-09-02 09:42:51 +02:00
/* @license-end */
< / script >
< script type = "text/javascript" src = "menudata.js" > < / script >
< script type = "text/javascript" src = "menu.js" > < / script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */< / script >
< div id = "main-nav" > < / div >
< / 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" >
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3& dn=gpl-2.0.txt GPL-v2 */
2021-09-20 15:57:27 +02:00
$(document).ready(function(){initNavTree('markowitz_8h_source.html','');});
2020-09-02 09:42:51 +02:00
/* @license-end */
< / 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" > markowitz.h< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
2021-09-20 15:57:27 +02:00
< a href = "markowitz_8h.html" > Go to the documentation of this file.< / a > < div class = "fragment" > < div class = "line" > < a name = "l00001" > < / a > < span class = "lineno" > 1< / span >   < span class = "comment" > // Copyright 2010-2021 Google LLC< / span > < / div > < div class = "line" > < a name = "l00002" > < / a > < span class = "lineno" > 2< / span >   < span class = "comment" > // Licensed under the Apache License, Version 2.0 (the " License" );< / span > < / div > < div class = "line" > < a name = "l00003" > < / a > < span class = "lineno" > 3< / span >   < span class = "comment" > // you may not use this file except in compliance with the License.< / span > < / div > < div class = "line" > < a name = "l00004" > < / a > < span class = "lineno" > 4< / span >   < span class = "comment" > // You may obtain a copy of the License at< / span > < / div > < div class = "line" > < a name = "l00005" > < / a > < span class = "lineno" > 5< / span >   < span class = "comment" > //< / span > < / div > < div class = "line" > < a name = "l00006" > < / a > < span class = "lineno" > 6< / span >   < span class = "comment" > // http://www.apache.org/licenses/LICENSE-2.0< / span > < / div > < div class = "line" > < a name = "l00007" > < / a > < span class = "lineno" > 7< / span >   < span class = "comment" > //< / span > < / div > < div class = "line" > < a name = "l00008" > < / a > < span class = "lineno" > 8< / span >   < span class = "comment" > // Unless required by applicable law or agreed to in writing, software< / span > < / div > < div class = "line" > < a name = "l00009" > < / a > < span class = "lineno" > 9< / span >   < span class = "comment" > // distributed under the License is distributed on an " AS IS" BASIS,< / span > < / div > < div class = "line" > < a name = "l00010" > < / a > < span class = "lineno" > 10< / span >   < span class = "comment" > // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.< / span > < / div > < div class = "line" > < a name = "l00011" > < / a > < span class = "lineno" > 11< / span >   < span class = "comment" > // See the License for the specific language governing permissions and< / span > < / div > < div class = "line" > < a name = "l00012" > < / a > < span class = "lineno" > 12< / span >   < span class = "comment" > // limitations under the License.< / span > < / div > < div class = "line" > < a name = "l00013" > < / a > < span class = "lineno" > 13< / span >   < / div > < div class = "line" > < a name = "l00014" > < / a > < span class = "lineno" > 14< / span >   < span class = "comment" > // LU decomposition algorithm of a sparse matrix B with Markowitz pivot< / span > < / div > < div class = "line" > < a name = "l00015" > < / a > < span class = "lineno" > 15< / span >   < span class = "comment" > // selection strategy. The algorithm constructs a lower matrix L, upper matrix< / span > < / div > < div class = "line" > < a name = "l00016" > < / a > < span class = "lineno" > 16< / span >   < span class = "comment" > // U, row permutation P and a column permutation Q such that L.U = P.B.Q^{-1}.< / span > < / div > < div class = "line" > < a name = "l00017" > < / a > < span class = "lineno" > 17< / span >   < span class = "comment" > //< / span > < / div > < div class = "line" > < a name = "l00018" > < / a > < span class = "lineno" > 18< / span >   < span class = "comment" > // The current algorithm is a mix of ideas that can be found in the literature< / span > < / div > < div class = "line" > < a name = "l00019" > < / a > < span class = "lineno" > 19< / span >   < span class = "comment" > // and of some optimizations tailored for its use in a revised simplex algorithm< / span > < / div > < div class = "line" > < a name = "l00020" > < / a > < span class = "lineno" > 20< / span >   < span class = "comment" > // (like a fast processing of the singleton columns present in B). It constructs< / span > < / div > < div class = "line" > < a name = "l00021" > < / a > < span class = "lineno" > 21< / span >   < span class = "comment" > // L and U column by column from left to right.< / span > < / div > < div class = "line" > < a name = "l00022" > < / a > < span class = "lineno" > 22< / span >   < span class = "comment" > //< / span > < / div > < div class = "line" > < a name = "l00023" > < / a > < span class = "lineno" > 23< / span >   < span class = "comment" > // A key concept is the one of the residual matrix which is the bottom right< / span > < / div > < div class = "line" > < a name = "l00024" > < / a > < span class = "lineno" > 24< / span >   < span class = "comment" > // square submatrix that still needs to be factorized during the classical< / span > < / div > < div class = "line" > < a name = "l00025" > < / a > < span class = "lineno
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_markowitz_html_aa71d36872f416feaa853788a7a7a7ef8" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_markowitz.html#aa71d36872f416feaa853788a7a7a7ef8" > operations_research::glop::Markowitz::Clear< / a > < / div > < div class = "ttdeci" > void Clear()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00169" > markowitz.cc:169< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_column_priority_queue_html_a49e7d07685ccac64b842fa1b1cc9a3cc" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_column_priority_queue.html#a49e7d07685ccac64b842fa1b1cc9a3cc" > operations_research::glop::ColumnPriorityQueue::Pop< / a > < / div > < div class = "ttdeci" > ColIndex Pop()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00849" > markowitz.cc:849< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_column_priority_queue_html_a0a601ea6856d6a6162a705fe6ab48cbc" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_column_priority_queue.html#a0a601ea6856d6a6162a705fe6ab48cbc" > operations_research::glop::ColumnPriorityQueue::PushOrAdjust< / a > < / div > < div class = "ttdeci" > void PushOrAdjust(ColIndex col, int32_t degree)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00823" > markowitz.cc:823< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_a965275e22dbb55799f5b99cca98e0fbc" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#a965275e22dbb55799f5b99cca98e0fbc" > operations_research::glop::MatrixNonZeroPattern::Update< / a > < / div > < div class = "ttdeci" > void Update(RowIndex pivot_row, ColIndex pivot_col, const SparseColumn & column)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00678" > markowitz.cc:678< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_a2527e336adfc8144ee253eed236fa699" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#a2527e336adfc8144ee253eed236fa699" > operations_research::glop::MatrixNonZeroPattern::RemoveDeletedColumnsFromRow< / a > < / div > < div class = "ttdeci" > void RemoveDeletedColumnsFromRow(RowIndex row)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00656" > markowitz.cc:656< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_a85e6c7ebc5ac22d117ff412e3658c72d" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#a85e6c7ebc5ac22d117ff412e3658c72d" > operations_research::glop::MatrixNonZeroPattern::Reset< / a > < / div > < div class = "ttdeci" > void Reset(RowIndex num_rows, ColIndex num_cols)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00566" > markowitz.cc:566< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory_html_aa71d36872f416feaa853788a7a7a7ef8" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory.html#aa71d36872f416feaa853788a7a7a7ef8" > operations_research::glop::SparseMatrixWithReusableColumnMemory::Clear< / a > < / div > < div class = "ttdeci" > void Clear()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00898" > markowitz.cc:898< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_aa844f860b76cad2a3682e7d9b927195c" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#aa844f860b76cad2a3682e7d9b927195c" > operations_research::glop::MatrixNonZeroPattern::DecreaseRowDegree< / a > < / div > < div class = "ttdeci" > int32_t DecreaseRowDegree(RowIndex row)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00638" > markowitz.cc:638< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_markowitz_html_afd3f022e573b8f4f0901624a813ade07" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_markowitz.html#afd3f022e573b8f4f0901624a813ade07" > operations_research::glop::Markowitz::ComputeRowAndColumnPermutation< / a > < / div > < div class = "ttdeci" > ABSL_MUST_USE_RESULT Status ComputeRowAndColumnPermutation(const CompactSparseMatrixView & basis_matrix, RowPermutation *row_perm, ColumnPermutation *col_perm)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00027" > markowitz.cc:27< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_a1f59bbe4cda31ad0ee8a91c4bd57e945" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#a1f59bbe4cda31ad0ee8a91c4bd57e945" > operations_research::glop::MatrixNonZeroPattern::IsColumnDeleted< / a > < / div > < div class = "ttdeci" > bool IsColumnDeleted(ColIndex col) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00652" > markowitz.cc:652< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory_html_a4d3e4198a395b77980b341d40ddb8b3c" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory.html#a4d3e4198a395b77980b341d40ddb8b3c" > operations_research::glop::SparseMatrixWithReusableColumnMemory::ClearAndReleaseColumn< / a > < / div > < div class = "ttdeci" > void ClearAndReleaseColumn(ColIndex col)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00891" > markowitz.cc:891< / a > < / div > < / div >
< div class = "ttc" id = "markowitz_8cc_html_aa9d6c98fdf8d89b0e2321fda02adc82c" > < div class = "ttname" > < a href = "markowitz_8cc.html#aa9d6c98fdf8d89b0e2321fda02adc82c" > col< / a > < / div > < div class = "ttdeci" > ColIndex col< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00183" > markowitz.cc:183< / a > < / div > < / div >
< div class = "ttc" id = "namespaceoperations__research_1_1glop_html_a733947145e3e1631165b618b05c9ccb7" > < div class = "ttname" > < a href = "namespaceoperations__research_1_1glop.html#a733947145e3e1631165b618b05c9ccb7" > operations_research::glop::Fractional< / a > < / div > < div class = "ttdeci" > double Fractional< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "lp__types_8h_source.html#l00078" > lp_types.h:78< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_markowitz_html_acd934697ef32b418d57819482183c7a1" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_markowitz.html#acd934697ef32b418d57819482183c7a1" > operations_research::glop::Markowitz::Markowitz< / a > < / div > < div class = "ttdeci" > Markowitz()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00275" > markowitz.h:275< / a > < / div > < / div >
< div class = "ttc" id = "markowitz_8cc_html_aea35f36ba98d5bbd8d033382f50c9e52" > < div class = "ttname" > < a href = "markowitz_8cc.html#aea35f36ba98d5bbd8d033382f50c9e52" > row< / a > < / div > < div class = "ttdeci" > RowIndex row< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00182" > markowitz.cc:182< / a > < / div > < / div >
< div class = "ttc" id = "sparse_8h_html" > < div class = "ttname" > < a href = "sparse_8h.html" > sparse.h< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_permutation_html" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_permutation.html" > operations_research::glop::Permutation< RowIndex > < / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_a25db8d6277cbd4811441929a1817dea0" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#a25db8d6277cbd4811441929a1817dea0" > operations_research::glop::MatrixNonZeroPattern::DecreaseColDegree< / a > < / div > < div class = "ttdeci" > int32_t DecreaseColDegree(ColIndex col)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00634" > markowitz.cc:634< / a > < / div > < / div >
< div class = "ttc" id = "lp__data_2permutation_8h_html" > < div class = "ttname" > < a href = "lp__data_2permutation_8h.html" > permutation.h< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_markowitz_html_ae7202d055b6b172a8a1da4f5b136f9ea" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_markowitz.html#ae7202d055b6b172a8a1da4f5b136f9ea" > operations_research::glop::Markowitz::SetParameters< / a > < / div > < div class = "ttdeci" > void SetParameters(const GlopParameters & parameters)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00313" > markowitz.h:313< / a > < / div > < / div >
< div class = "ttc" id = "namespaceoperations__research_1_1glop_html_a6b1b56ad0cb77edbd314f2bec33b467a" > < div class = "ttname" > < a href = "namespaceoperations__research_1_1glop.html#a6b1b56ad0cb77edbd314f2bec33b467a" > operations_research::glop::ColumnPermutation< / a > < / div > < div class = "ttdeci" > Permutation< ColIndex > ColumnPermutation< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "lp__data_2permutation_8h_source.html#l00095" > lp_data/permutation.h:95< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory_html_a7273cc492a51a1c5d45c620b32fce502" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory.html#a7273cc492a51a1c5d45c620b32fce502" > operations_research::glop::SparseMatrixWithReusableColumnMemory::column< / a > < / div > < div class = "ttdeci" > const SparseColumn & column(ColIndex col) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00870" > markowitz.cc:870< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_column_priority_queue_html" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_column_priority_queue.html" > operations_research::glop::ColumnPriorityQueue< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00205" > markowitz.h:205< / a > < / div > < / div >
< div class = "ttc" id = "stats_8h_html" > < div class = "ttname" > < a href = "stats_8h.html" > stats.h< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_triangular_matrix_html" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_triangular_matrix.html" > operations_research::glop::TriangularMatrix< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "sparse_8h_source.html#l00511" > sparse.h:511< / a > < / div > < / div >
< div class = "ttc" id = "strong__vector_8h_html" > < div class = "ttname" > < a href = "strong__vector_8h.html" > strong_vector.h< / a > < / div > < / div >
< div class = "ttc" id = "parameters_8pb_8h_html" > < div class = "ttname" > < a href = "parameters_8pb_8h.html" > parameters.pb.h< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_a437a888007d0475cfaf07ac70538c458" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#a437a888007d0475cfaf07ac70538c458" > operations_research::glop::MatrixNonZeroPattern::DeleteRowAndColumn< / a > < / div > < div class = "ttdeci" > void DeleteRowAndColumn(RowIndex pivot_row, ColIndex pivot_col)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00642" > markowitz.cc:642< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_markowitz_html_a7ac2557be8cf0394f9953fbdac2f18f4" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_markowitz.html#a7ac2557be8cf0394f9953fbdac2f18f4" > operations_research::glop::Markowitz::ComputeLU< / a > < / div > < div class = "ttdeci" > ABSL_MUST_USE_RESULT Status ComputeLU(const CompactSparseMatrixView & basis_matrix, RowPermutation *row_perm, ColumnPermutation *col_perm, TriangularMatrix *lower, TriangularMatrix *upper)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00149" > markowitz.cc:149< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_a1ef38cd7e00a3d31093afe05ef6e9b8a" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#a1ef38cd7e00a3d31093afe05ef6e9b8a" > operations_research::glop::MatrixNonZeroPattern::RowNonZero< / a > < / div > < div class = "ttdeci" > const absl::InlinedVector< ColIndex, 6 > & RowNonZero(RowIndex row) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00168" > markowitz.h:168< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_sparse_column_html" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_sparse_column.html" > operations_research::glop::SparseColumn< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "sparse__column_8h_source.html#l00044" > sparse_column.h:44< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_af14468b811c1218ef477ccbd170e6f8d" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#af14468b811c1218ef477ccbd170e6f8d" > operations_research::glop::MatrixNonZeroPattern::GetFirstNonDeletedColumnFromRow< / a > < / div > < div class = "ttdeci" > ColIndex GetFirstNonDeletedColumnFromRow(RowIndex row) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00670" > markowitz.cc:670< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_status_html" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_status.html" > operations_research::glop::Status< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "status_8h_source.html#l00024" > status.h:24< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory_html_a564caf35589006190ef4985fbda74faa" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory.html#a564caf35589006190ef4985fbda74faa" > operations_research::glop::SparseMatrixWithReusableColumnMemory::mutable_column< / a > < / div > < div class = "ttdeci" > SparseColumn * mutable_column(ColIndex col)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00876" > markowitz.cc:876< / a > < / div > < / div >
< div class = "ttc" id = "pack_8cc_html_a750b5d744c39a06bfb13e6eb010e35d0" > < div class = "ttname" > < a href = "pack_8cc.html#a750b5d744c39a06bfb13e6eb010e35d0" > index< / a > < / div > < div class = "ttdeci" > int index< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "pack_8cc_source.html#l00509" > pack.cc:509< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_markowitz_html" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_markowitz.html" > operations_research::glop::Markowitz< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00273" > markowitz.h:273< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory_html_acb517f5adde1de4cba4f19fc201331cf" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory.html#acb517f5adde1de4cba4f19fc201331cf" > operations_research::glop::SparseMatrixWithReusableColumnMemory::SparseMatrixWithReusableColumnMemory< / a > < / div > < div class = "ttdeci" > SparseMatrixWithReusableColumnMemory()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00239" > markowitz.h:239< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_column_priority_queue_html_aa71d36872f416feaa853788a7a7a7ef8" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_column_priority_queue.html#aa71d36872f416feaa853788a7a7a7ef8" > operations_research::glop::ColumnPriorityQueue::Clear< / a > < / div > < div class = "ttdeci" > void Clear()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00809" > markowitz.cc:809< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_strict_i_t_i_vector_html" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_strict_i_t_i_vector.html" > operations_research::glop::StrictITIVector< RowIndex, int32_t > < / a > < / div > < / div >
< div class = "ttc" id = "base_2logging_8h_html" > < div class = "ttname" > < a href = "base_2logging_8h.html" > logging.h< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_markowitz_html_a627511bf305a6af5d7e114817c1792c2" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_markowitz.html#a627511bf305a6af5d7e114817c1792c2" > operations_research::glop::Markowitz::DeterministicTimeOfLastFactorization< / a > < / div > < div class = "ttdeci" > double DeterministicTimeOfLastFactorization() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00553" > markowitz.cc:553< / a > < / div > < / div >
< div class = "ttc" id = "base_2logging_8h_html_ae17f8119c108cf3070bad3449c7e0006" > < div class = "ttname" > < a href = "base_2logging_8h.html#ae17f8119c108cf3070bad3449c7e0006" > DCHECK< / a > < / div > < div class = "ttdeci" > #define DCHECK(condition)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "base_2logging_8h_source.html#l00885" > base/logging.h:885< / a > < / div > < / div >
< div class = "ttc" id = "sparse__column_8h_html" > < div class = "ttname" > < a href = "sparse__column_8h.html" > sparse_column.h< / a > < / div > < / div >
< div class = "ttc" id = "classabsl_1_1_strong_vector_html" > < div class = "ttname" > < a href = "classabsl_1_1_strong_vector.html" > absl::StrongVector< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "strong__vector_8h_source.html#l00076" > strong_vector.h:76< / a > < / div > < / div >
< div class = "ttc" id = "status_8h_html" > < div class = "ttname" > < a href = "status_8h.html" > status.h< / a > < / div > < / div >
< div class = "ttc" id = "namespaceoperations__research_1_1glop_html_ac053cc327ce11b0008e2030fcdc467f9" > < div class = "ttname" > < a href = "namespaceoperations__research_1_1glop.html#ac053cc327ce11b0008e2030fcdc467f9" > operations_research::glop::DenseBooleanRow< / a > < / div > < div class = "ttdeci" > StrictITIVector< ColIndex, bool > DenseBooleanRow< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "lp__types_8h_source.html#l00306" > lp_types.h:306< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1_ratio_distribution_html" > < div class = "ttname" > < a href = "classoperations__research_1_1_ratio_distribution.html" > operations_research::RatioDistribution< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "stats_8h_source.html#l00263" > stats.h:263< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_a44badccd63c183b774ba7bfb005aac9f" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#a44badccd63c183b774ba7bfb005aac9f" > operations_research::glop::MatrixNonZeroPattern::RowDegree< / a > < / div > < div class = "ttdeci" > int32_t RowDegree(RowIndex row) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00163" > markowitz.h:163< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory_html_a1eb060a55278923620fda32549d18ae7" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory.html#a1eb060a55278923620fda32549d18ae7" > operations_research::glop::SparseMatrixWithReusableColumnMemory::Reset< / a > < / div > < div class = "ttdeci" > void Reset(ColIndex num_cols)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00864" > markowitz.cc:864< / a > < / div > < / div >
< div class = "ttc" id = "namespaceoperations__research_html" > < div class = "ttname" > < a href = "namespaceoperations__research.html" > operations_research< / a > < / div > < div class = "ttdoc" > Collection of objects used to extend the Constraint Solver library.< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "dense__doubly__linked__list_8h_source.html#l00021" > dense_doubly_linked_list.h:21< / a > < / div > < / div >
< div class = "ttc" id = "cp__model__fz__solver_8cc_html_a10a1eab179b472c030bdc2a2efef7219" > < div class = "ttname" > < a href = "cp__model__fz__solver_8cc.html#a10a1eab179b472c030bdc2a2efef7219" > parameters< / a > < / div > < div class = "ttdeci" > SatParameters parameters< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "cp__model__fz__solver_8cc_source.html#l00116" > cp_model_fz_solver.cc:116< / a > < / div > < / div >
< div class = "ttc" id = "namespaceoperations__research_1_1glop_html_ae69267cf0653a77925ee13121b9857ec" > < div class = "ttname" > < a href = "namespaceoperations__research_1_1glop.html#ae69267cf0653a77925ee13121b9857ec" > operations_research::glop::RowPermutation< / a > < / div > < div class = "ttdeci" > Permutation< RowIndex > RowPermutation< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "lp__data_2permutation_8h_source.html#l00094" > lp_data/permutation.h:94< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_markowitz_html_af9bc435481ae9e6e60d66a65d5394a7f" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_markowitz.html#af9bc435481ae9e6e60d66a65d5394a7f" > operations_research::glop::Markowitz::StatString< / a > < / div > < div class = "ttdeci" > std::string StatString() const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00310" > markowitz.h:310< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_column_priority_queue_html_a026a7cba6cd132662dae0468f395d3cf" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_column_priority_queue.html#a026a7cba6cd132662dae0468f395d3cf" > operations_research::glop::ColumnPriorityQueue::Reset< / a > < / div > < div class = "ttdeci" > void Reset(int32_t max_degree, ColIndex num_cols)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00815" > markowitz.cc:815< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_a7b4c72fa527ab49507eed8e26349cb10" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#a7b4c72fa527ab49507eed8e26349cb10" > operations_research::glop::MatrixNonZeroPattern::MatrixNonZeroPattern< / a > < / div > < div class = "ttdeci" > MatrixNonZeroPattern()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00102" > markowitz.h:102< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_ac6fdf4b27f37d788a51ff50a47d0a3df" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#ac6fdf4b27f37d788a51ff50a47d0a3df" > operations_research::glop::MatrixNonZeroPattern::ColDegree< / a > < / div > < div class = "ttdeci" > int32_t ColDegree(ColIndex col) const< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00156" > markowitz.h:156< / a > < / div > < / div >
< div class = "ttc" id = "lp__types_8h_html" > < div class = "ttname" > < a href = "lp__types_8h.html" > lp_types.h< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html" > operations_research::glop::MatrixNonZeroPattern< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00100" > markowitz.h:100< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_aa71d36872f416feaa853788a7a7a7ef8" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#aa71d36872f416feaa853788a7a7a7ef8" > operations_research::glop::MatrixNonZeroPattern::Clear< / a > < / div > < div class = "ttdeci" > void Clear()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00557" > markowitz.cc:557< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory_html" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_sparse_matrix_with_reusable_column_memory.html" > operations_research::glop::SparseMatrixWithReusableColumnMemory< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00237" > markowitz.h:237< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_glop_parameters_html" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_glop_parameters.html" > operations_research::glop::GlopParameters< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "parameters_8pb_8h_source.html#l00194" > parameters.pb.h:194< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_column_priority_queue_html_aac1a38f1cb51b5e6e62e1279150968a6" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_column_priority_queue.html#aac1a38f1cb51b5e6e62e1279150968a6" > operations_research::glop::ColumnPriorityQueue::ColumnPriorityQueue< / a > < / div > < div class = "ttdeci" > ColumnPriorityQueue()< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8h_source.html#l00207" > markowitz.h:207< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1_stats_group_html" > < div class = "ttname" > < a href = "classoperations__research_1_1_stats_group.html" > operations_research::StatsGroup< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "stats_8h_source.html#l00131" > stats.h:131< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern_html_af6141c80a5d2f56d86f149c822065cc5" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_matrix_non_zero_pattern.html#af6141c80a5d2f56d86f149c822065cc5" > operations_research::glop::MatrixNonZeroPattern::InitializeFromMatrixSubset< / a > < / div > < div class = "ttdeci" > void InitializeFromMatrixSubset(const CompactSparseMatrixView & basis_matrix, const RowPermutation & row_perm, const ColumnPermutation & col_perm, std::vector< ColIndex > *singleton_columns, std::vector< RowIndex > *singleton_rows)< / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "markowitz_8cc_source.html#l00576" > markowitz.cc:576< / a > < / div > < / div >
< div class = "ttc" id = "classoperations__research_1_1glop_1_1_compact_sparse_matrix_view_html" > < div class = "ttname" > < a href = "classoperations__research_1_1glop_1_1_compact_sparse_matrix_view.html" > operations_research::glop::CompactSparseMatrixView< / a > < / div > < div class = "ttdef" > < b > Definition:< / b > < a href = "sparse_8h_source.html#l00476" > sparse.h:476< / a > < / div > < / div >
2021-01-26 11:28:50 +01:00
< / div > <!-- fragment --> < / div > <!-- contents -->
< / div > <!-- doc - content -->
2020-09-02 09:42:51 +02:00
<!-- HTML footer for doxygen 1.8.18 -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
< li class = "navelem" > < a class = "el" href = "dir_a7cc1eeded8f693d0da6c729bc88c45a.html" > ortools< / a > < / li > < li class = "navelem" > < a class = "el" href = "dir_747248fa8ec2ebcb4d8ad85ced34db0b.html" > glop< / a > < / li > < li class = "navelem" > < a class = "el" href = "markowitz_8h.html" > markowitz.h< / a > < / li >
< li class = "footer" > Generated by
< a href = "http://www.doxygen.org/index.html" >
2021-09-20 15:57:27 +02:00
< img class = "footer" src = "doxygen.png" alt = "doxygen" / > < / a > 1.8.15 < / li >
2020-09-02 09:42:51 +02:00
< / ul >
< / div >
< / body >
< / html >