Home | History | Annotate | Download | only in ceres

Lines Matching refs:row

94   // and build the row/column block structure of the reduced linear
103 // Iterate over the row blocks of A, and detect the chunks. The
121 // Add to the chunk until the first block in the row is
122 // different than the one in the first row for the chunk.
124 const CompressedRow& row = bs->rows[r + chunk.size];
125 if (row.cells.front().block_id != chunk_block_id) {
129 // Iterate over the blocks in the row, ignoring the first
131 for (int c = 1; c < row.cells.size(); ++c) {
132 const Cell& cell = row.cells[c];
210 // buffer_ contains the non-zero blocks in the row corresponding
215 // blocks for all the z blocks that share a row block/residual
328 const CompressedRow& row = bs->rows[chunk.start + j];
329 const Cell& e_cell = row.cells.front();
332 FixedArray<double, 8> sj(row.block.size);
334 typename EigenTypes<kRowBlockSize>::VectorRef(sj.get(), row.block.size) =
336 (b + bs->rows[chunk.start + j].block.position, row.block.size);
338 for (int c = 1; c < row.cells.size(); ++c) {
339 const int f_block_id = row.cells[c].block_id;
344 values + row.cells[c].position, row.block.size, f_block_size,
350 values + e_cell.position, row.block.size, e_block_size,
356 values + e_cell.position, row.block.size, e_block_size,
357 values + e_cell.position, row.block.size, e_block_size,
384 const CompressedRow& row = bs->rows[row_block_counter + j];
385 const Cell& e_cell = row.cells.front();
389 (b + b_pos, row.block.size);
392 values + e_cell.position, row.block.size, e_block_size,
395 for (int c = 1; c < row.cells.size(); ++c) {
396 const int block_id = row.cells[c].block_id;
401 values + row.cells[c].position,
402 row.block.size, block_size,
405 b_pos += row.block.size;
445 // Iterate over the rows in this chunk, for each row, compute the
451 const CompressedRow& row = bs->rows[row_block_counter + j];
453 if (row.cells.size() > 1) {
458 const Cell& e_cell = row.cells.front();
461 values + e_cell.position, row.block.size, e_block_size,
462 values + e_cell.position, row.block.size, e_block_size,
467 values + e_cell.position, row.block.size, e_block_size,
473 // f_blocks for each row in the chunk.
474 for (int c = 1; c < row.cells.size(); ++c) {
475 const int f_block_id = row.cells[c].block_id;
481 values + e_cell.position, row.block.size, e_block_size,
482 values + row.cells[c].position, row.block.size, f_block_size,
485 b_pos += row.block.size;
549 // and calls NoEBlockRowOuterProduct on each row.
561 const CompressedRow& row = bs->rows[row_block_counter];
562 for (int c = 0; c < row.cells.size(); ++c) {
563 const int block_id = row.cells[c].block_id;
567 values + row.cells[c].position, row.block.size, block_size,
568 b + row.block.position,
576 // A row r of A, which has no e_blocks gets added to the Schur
578 // the contribution of a single row r to the Schur complement. It is
597 const CompressedRow& row = bs->rows[row_block_index];
599 for (int i = 0; i < row.cells.size(); ++i) {
600 const int block1 = row.cells[i].block_id - num_eliminate_blocks_;
603 const int block1_size = bs->cols[row.cells[i].block_id].size;
614 values + row.cells[i].position, row.block.size, block1_size,
615 values + row.cells[i].position, row.block.size, block1_size,
619 for (int j = i + 1; j < row.cells.size(); ++j) {
620 const int block2 = row.cells[j].block_id - num_eliminate_blocks_;
628 const int block2_size = bs->cols[row.cells[j].block_id].size;
632 values + row.cells[i].position, row.block.size, block1_size,
633 values + row.cells[j].position, row.block.size, block2_size,
640 // For a row with an e_block, compute the contribition S += F'F. This
650 const CompressedRow& row = bs->rows[row_block_index];
652 for (int i = 1; i < row.cells.size(); ++i) {
653 const int block1 = row.cells[i].block_id - num_eliminate_blocks_;
656 const int block1_size = bs->cols[row.cells[i].block_id].size;
666 values + row.cells[i].position, row.block.size, block1_size,
667 values + row.cells[i].position, row.block.size, block1_size,
671 for (int j = i + 1; j < row.cells.size(); ++j) {
672 const int block2 = row.cells[j].block_id - num_eliminate_blocks_;
675 const int block2_size = bs->cols[row.cells[j].block_id].size;
685 values + row.cells[i].position, row.block.size, block1_size,
686 values + row.cells[j].position, row.block.size, block2_size,