0031682: Visualization - Prs3d_ShadingAspect::SetTransparency() has no effect with...
[occt.git] / src / math / math_Jacobi.cxx
CommitLineData
b311480e 1// Copyright (c) 1997-1999 Matra Datavision
973c2be1 2// Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 3//
973c2be1 4// This file is part of Open CASCADE Technology software library.
b311480e 5//
d5f74e42 6// This library is free software; you can redistribute it and/or modify it under
7// the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 8// by the Free Software Foundation, with special exception defined in the file
9// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10// distribution for complete text of the license and disclaimer of any warranty.
b311480e 11//
973c2be1 12// Alternatively, this file may be used under the terms of Open CASCADE
13// commercial license or contractual agreement.
b311480e 14
0797d9d3 15//#ifndef OCCT_DEBUG
7fd59977 16#define No_Standard_RangeError
17#define No_Standard_OutOfRange
18#define No_Standard_DimensionError
7fd59977 19
42cf5bc1 20//#endif
7fd59977 21
42cf5bc1 22#include <math_Jacobi.hxx>
23#include <math_Matrix.hxx>
7fd59977 24#include <math_NotSquare.hxx>
42cf5bc1 25#include <math_Recipes.hxx>
26#include <StdFail_NotDone.hxx>
7fd59977 27
b311480e 28math_Jacobi::math_Jacobi(const math_Matrix& A) : AA(1, A.RowNumber(),
7fd59977 29 1, A.RowNumber()),
30 EigenValues(1, A.RowNumber()),
31 EigenVectors(1, A.RowNumber(),
32 1, A.RowNumber()) {
33
34 math_NotSquare_Raise_if(A.RowNumber() != A.ColNumber(), " ");
35
36 AA = A;
37 Standard_Integer Error = Jacobi(AA, EigenValues, EigenVectors, NbRotations);
38 if(!Error) {
39 Done = Standard_True;
40 }
41 else {
42 Done = Standard_False;
43 }
44 }
45
46void math_Jacobi::Dump(Standard_OStream& o) const {
47
48 o <<"math_Jacobi ";
49 if (Done) {
50 o << " Status = Done \n";
04232180 51 o << " The eigenvalues vector is: " << EigenValues << std::endl;
7fd59977 52 }
53 else {
54 o << "Status = not Done \n";
55 }
56}
57
58
59