Changeset f8c0837 in tol


Ignore:
Timestamp:
Feb 1, 2013, 10:02:25 AM (14 years ago)
Author:
Jorge Pérez <josp.jorge@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
81f2698
Parents:
9f675bb
Message:

refs #1636, improving the test, a real triangula matrix is used not just a diagonal one.

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@5546 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol_tests/tol/Bugzilla/bug_001636/TestTrSolve.tol

    r9f675bb rf8c0837  
    1 Matrix L = Diag(3, 2);
     1Real PutRandomSeed(1000);
     2Matrix A = Rand(3, 6, 0, 1);
     3Matrix L = Choleski(A*Tra(A));
    24
    35Real nSol = 4;
    … …  
    810Set checkAll = Copy(Empty);
    911
    10 Real AppendCheck(Matrix X, Matrix B, Text name)
     12Real tolTest = 1.0e-10;
     13
     14Real AppendCheck(Matrix Bhat, Matrix B, Text name)
    1115{
    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);
    1518  Set Append(checkAll, [[PutName(name, check)]]);
    1619  Real 1
    … …  
    2023// L*X=B
    2124Matrix X_LXB = TrSolve(L, Br, 1, 0, 1);
    22 Real AppendCheck(X_LXB, Br, "LXB");
     25Real AppendCheck(L*X_LXB, Br, "LXB");
    2326
    2427// L'*X=B
    2528Matrix X_LtXB = TrSolve(L, Br, 1, 1, 1);
    26 Real AppendCheck(X_LtXB, Br, "LtXB");
     29Real AppendCheck(Tra(L)*X_LtXB, Br, "LtXB");
    2730
    2831// X*L=B
    2932Matrix X_XLB = TrSolve(L, Bc, 0, 0, 1);
    30 Real AppendCheck(X_XLB, Bc, "XLB");
     33Real AppendCheck(X_XLB*L, Bc, "XLB");
    3134
    3235// X*L'=B
    3336Matrix X_XLtB = TrSolve(L, Bc, 0, 1, 1);
    34 Real AppendCheck(X_XLtB, Bc, "XLtB");
     37Real AppendCheck(X_XLtB*Tra(L), Bc, "XLtB");
     38
     39Matrix U = Tra(L);
    3540
    3641// U*X=B
    37 Matrix X_UXB = TrSolve(L, Br, 1, 0, 0);
    38 Real AppendCheck(X_UXB, Br, "UXB");
     42Matrix X_UXB = TrSolve(U, Br, 1, 0, 0);
     43Real AppendCheck(U*X_UXB, Br, "UXB");
    3944
    4045// U'*X=B
    41 Matrix X_UtXB = TrSolve(L, Br, 1, 1, 0);
    42 Real AppendCheck(X_UtXB, Br, "UtXB");
     46Matrix X_UtXB = TrSolve(U, Br, 1, 1, 0);
     47Real AppendCheck(Tra(U)*X_UtXB, Br, "UtXB");
    4348
    4449// X*U=B
    45 Matrix X_XUB = TrSolve(L, Bc, 0, 0, 0);
    46 Real AppendCheck(X_XUB, Bc, "XUB");
     50Matrix X_XUB = TrSolve(U, Bc, 0, 0, 0);
     51Real AppendCheck(X_XUB*U, Bc, "XUB");
    4752
    4853// X*U'=B
    49 Matrix X_XUtB = TrSolve(L, Bc, 0, 1, 0);
    50 Real AppendCheck(X_XUtB, Bc, "XUtB");
     54Matrix X_XUtB = TrSolve(U, Bc, 0, 1, 0);
     55Real AppendCheck(X_XUtB*Tra(U), Bc, "XUtB");
    5156
    5257Set View(checkAll, "");
Note: See TracChangeset for help on using the changeset viewer.