Changeset f8c0837 in tol
- Timestamp:
- Feb 1, 2013, 10:02:25 AM (14 years ago)
- Branches:
- 1941-docker-image-to-test, devel, master
- Children:
- 81f2698
- Parents:
- 9f675bb
- File:
-
- 1 edited
-
tol_tests/tol/Bugzilla/bug_001636/TestTrSolve.tol (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tol_tests/tol/Bugzilla/bug_001636/TestTrSolve.tol
r9f675bb rf8c0837 1 Matrix L = Diag(3, 2); 1 Real PutRandomSeed(1000); 2 Matrix A = Rand(3, 6, 0, 1); 3 Matrix L = Choleski(A*Tra(A)); 2 4 3 5 Real nSol = 4; … … 8 10 Set checkAll = Copy(Empty); 9 11 10 Real AppendCheck(Matrix X, Matrix B, Text name) 12 Real tolTest = 1.0e-10; 13 14 Real AppendCheck(Matrix Bhat, Matrix B, Text name) 11 15 { 12 Matrix ratio = X$/B; 13 Real check0 = And(EQ(MatMin(ratio),0.5), EQ(MatMax(ratio),0.5)); 14 Real check = If(IsUnknown(check0),0,check0); 16 Real check0 = MatFrobeniusNorm(Bhat - B); 17 Real check = If(IsUnknown(check0),0,check0<tolTest); 15 18 Set Append(checkAll, [[PutName(name, check)]]); 16 19 Real 1 … … 20 23 // L*X=B 21 24 Matrix X_LXB = TrSolve(L, Br, 1, 0, 1); 22 Real AppendCheck( X_LXB, Br, "LXB");25 Real AppendCheck(L*X_LXB, Br, "LXB"); 23 26 24 27 // L'*X=B 25 28 Matrix X_LtXB = TrSolve(L, Br, 1, 1, 1); 26 Real AppendCheck( X_LtXB, Br, "LtXB");29 Real AppendCheck(Tra(L)*X_LtXB, Br, "LtXB"); 27 30 28 31 // X*L=B 29 32 Matrix X_XLB = TrSolve(L, Bc, 0, 0, 1); 30 Real AppendCheck(X_XLB , Bc, "XLB");33 Real AppendCheck(X_XLB*L, Bc, "XLB"); 31 34 32 35 // X*L'=B 33 36 Matrix X_XLtB = TrSolve(L, Bc, 0, 1, 1); 34 Real AppendCheck(X_XLtB, Bc, "XLtB"); 37 Real AppendCheck(X_XLtB*Tra(L), Bc, "XLtB"); 38 39 Matrix U = Tra(L); 35 40 36 41 // U*X=B 37 Matrix X_UXB = TrSolve( L, Br, 1, 0, 0);38 Real AppendCheck( X_UXB, Br, "UXB");42 Matrix X_UXB = TrSolve(U, Br, 1, 0, 0); 43 Real AppendCheck(U*X_UXB, Br, "UXB"); 39 44 40 45 // U'*X=B 41 Matrix X_UtXB = TrSolve( L, Br, 1, 1, 0);42 Real AppendCheck( X_UtXB, Br, "UtXB");46 Matrix X_UtXB = TrSolve(U, Br, 1, 1, 0); 47 Real AppendCheck(Tra(U)*X_UtXB, Br, "UtXB"); 43 48 44 49 // X*U=B 45 Matrix X_XUB = TrSolve( L, Bc, 0, 0, 0);46 Real AppendCheck(X_XUB , Bc, "XUB");50 Matrix X_XUB = TrSolve(U, Bc, 0, 0, 0); 51 Real AppendCheck(X_XUB*U, Bc, "XUB"); 47 52 48 53 // X*U'=B 49 Matrix X_XUtB = TrSolve( L, Bc, 0, 1, 0);50 Real AppendCheck(X_XUtB , Bc, "XUtB");54 Matrix X_XUtB = TrSolve(U, Bc, 0, 1, 0); 55 Real AppendCheck(X_XUtB*Tra(U), Bc, "XUtB"); 51 56 52 57 Set View(checkAll, "");
Note: See TracChangeset
for help on using the changeset viewer.
