| 803 | } |
| 804 | |
| 805 | void matrixBlock(const matrix aMat, const matrix bMat, matrix &block) |
| 806 | { |
| 807 | int rowsA = MATROWS(aMat); |
| 808 | int rowsB = MATROWS(bMat); |
| 809 | int n = rowsA + rowsB; |
| 810 | block = mpNew(n, n); |
| 811 | for (int i = 1; i <= rowsA; i++) |
| 812 | for (int j = 1; j <= rowsA; j++) |
| 813 | MATELEM(block, i, j) = pCopy(MATELEM(aMat, i, j)); |
| 814 | for (int i = 1; i <= rowsB; i++) |
| 815 | for (int j = 1; j <= rowsB; j++) |
| 816 | MATELEM(block, i + rowsA, j + rowsA) = pCopy(MATELEM(bMat, i, j)); |
| 817 | } |
| 818 | |
| 819 | /** |
| 820 | * Computes information related to one householder transformation step for |