> with(linalg); Warning, new definition for norm Warning, new definition for trace [BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, coldim, colspace, colspan, companion, concat, cond, copyinto, crossprod, curl, definite, delcols, delrows, det, diag, diverge, dotprod, eigenvals, eigenvalues, eigenvectors, eigenvects, entermatrix, equal, exponential, extend, ffgausselim, fibonacci, forwardsub, frobenius, gausselim, gaussjord, geneqns, genmatrix, grad, hadamard, hermite, hessian, hilbert, htranspose, ihermite, indexfunc, innerprod, intbasis, inverse, ismith, issimilar, iszero, jacobian, jordan, kernel, laplacian, leastsqrs, linsolve, matadd, matrix, minor, minpoly, mulcol, mulrow, multiply, norm, normalize, nullspace, orthog, permanent, pivot, potential, randmatrix, randvector, rank, ratform, row, rowdim, rowspace, rowspan, rref, scalarmul, singularvals, smith, stack, submatrix, subvector, sumbasis, swapcol, swaprow, sylvester, toeplitz, trace, transpose, vandermonde, vecpotent, vectdim, vector, wronskian] > A := transpose(matrix(3,4, [1,1,1,1, 15, 20, 30, 50, > 15*ln(15), 20*ln(20), 30*ln(30), 50*ln(50)])); [1 15 15 ln(15)] [ ] [1 20 20 ln(20)] A := [ ] [1 30 30 ln(30)] [ ] [1 50 50 ln(50)] > b := vector([44, 62, 115, 224]); b := [44, 62, 115, 224] > read > `/afs/unity.ncsu.edu/project/www/ncsu/Project25/MA305/Maple/initlib.mp > l` > ; libname := /afs/unity.ncsu.edu/project/www/ncsu/Project25/MA305/Maple, /afs/bp.ncsu.edu/dist/maple54/update, /afs/bp.ncsu.edu/dist/maple54/lib table([ myinverse = readlib(refpkg/myinverse) mysolve = readlib(refpkg/mysolve) mydet = readlib(refpkg/mydet) xref = readlib(refpkg/xref) E_II = readlib(refpkg/E_II) ref = readlib(refpkg/ref) E_III = readlib(refpkg/E_III) E_I = readlib(refpkg/E_I) ]) table([ gram_schmidt = readlib(lsqpkg/gram_schmidt) ]) > with(lsqpkg); [gram_schmidt] > ?gram_schmidt > Q := gram_schmidt(A, 'R'); > Q := [ 168 192 156 180 ] [1 , -55/4 , --- ln(15) - --- ln(20) - --- ln(30) + --- ln(50)] [ 23 23 23 23 ] [ 296 144 162 10 ] [1 , -35/4 , --- ln(20) - --- ln(15) - --- ln(30) + -- ln(50)] [ 23 23 23 23 ] [ 516 78 108 330 ] [1 , 5/4 , --- ln(30) - -- ln(15) - --- ln(20) - --- ln(50)] [ 23 23 23 23 ] [ 140 54 198 ] [1 , 85/4 , --- ln(50) + -- ln(15) + 4/23 ln(20) - --- ln(30)] [ 23 23 23 ] > print(R); [1 , 115/4 , 15/4 ln(15) + 5 ln(20) + 15/2 ln(30) + 25/2 ln(50)] [ 33 28 34 ] [0 , 1 , - --- ln(15) - --- ln(20) + 6/115 ln(30) + -- ln(50)] [ 115 115 23 ] [0 , 0 , 1] > Diag := evalm(transpose(Q) &* Q); Diag := [4 , 0 , 0] [0 , 2875/4 , 0] [ /168 192 156 180 \2 [0 , 0 , |--- ln(15) - --- ln(20) - --- ln(30) + --- ln(50)| [ \23 23 23 23 / /296 144 162 10 \2 + |--- ln(20) - --- ln(15) - --- ln(30) + -- ln(50)| \23 23 23 23 / /516 78 108 330 \2 + |--- ln(30) - -- ln(15) - --- ln(20) - --- ln(50)| \23 23 23 23 / /140 54 198 \2] + |--- ln(50) + -- ln(15) + 4/23 ln(20) - --- ln(30)| ] \23 23 23 / ] > b2 := evalm(transpose(Q) &* b); [ b2 := [445, 15025/4, [ 1590 1620 1920 1950 ] ---- ln(15) - ---- ln(20) - ---- ln(30) + ---- ln(50)] 23 23 23 23 ] > b3 := evalm(inverse(Diag) &* b2); [ 601 23 / b3 := [445/4, ---, -- | [ 115 40 \ 1590 1620 1920 1950 \ / ---- ln(15) - ---- ln(20) - ---- ln(30) + ---- ln(50)| / ( 23 23 23 23 / / 2 63 ln(15) - 144 ln(15) ln(20) - 117 ln(15) ln(30) 2 + 135 ln(15) ln(50) + 148 ln(20) - 162 ln(20) ln(30) 2 + 10 ln(20) ln(50) + 387 ln(30) - 495 ln(30) ln(50) 2 ] + 175 ln(50) )] ] > b4 := evalm(inverse(R) &* b3); [ [ [ 23 (-12 ln(15) - 12 ln(20) - 6 ln(30) + 30 ln(50)) %1 b4 := [-39 + -- --------------------------------------------------, [ 40 %2 /33 28 34 \ |--- ln(15) + --- ln(20) - 6/115 ln(30) - -- ln(50)| %1 601 23 \115 115 23 / --- + -- -------------------------------------------------------, 115 40 %2 ] ] 23 %1 ] -- ----] 40 %2 ] 1590 1620 1920 1950 %1 := ---- ln(15) - ---- ln(20) - ---- ln(30) + ---- ln(50) 23 23 23 23 2 %2 := 63 ln(15) - 144 ln(15) ln(20) - 117 ln(15) ln(30) 2 + 135 ln(15) ln(50) + 148 ln(20) - 162 ln(20) ln(30) 2 + 10 ln(20) ln(50) + 387 ln(30) - 495 ln(30) ln(50) 2 + 175 ln(50) > evalf(evalm(b4)); [.56617708, -.955521423, 1.387891671] > >