71 Error(
"TMatrixDEigen(TMatrixD &)",
"matrix should be square");
124 for (
m = low+1;
m <= high-1;
m++) {
130 for (i =
m; i <= high; i++) {
139 for (i = high; i >=
m; i--) {
153 for (
j =
m;
j <
n;
j++) {
155 for (i = high; i >=
m; i--) {
160 for (i =
m; i <= high; i++) {
166 for (i = 0; i <= high; i++) {
169 for (
j = high;
j >=
m;
j--)
172 for (
j =
m;
j <= high;
j++)
182 for (i = 0; i <
n; i++) {
184 for (
j = 0;
j <
n;
j++)
188 for (
m = high-1;
m >= low+1;
m--) {
191 for (i =
m+1; i <= high; i++) {
195 for (
j =
m;
j <= high;
j++) {
197 for (i =
m; i <= high; i++) {
203 for (i =
m; i <= high; i++) {
241 const Int_t nn =
v.GetNrows();
244 const Int_t high = nn-1;
258 for (i = 0; i < nn; i++) {
260 if ((i < low) || (i > high)) {
301 }
else if (
l ==
n-1) {
333 for (
j =
n-1;
j < nn;
j++) {
341 for (i = 0; i <=
n; i++) {
350 for (i = low; i <= high; i++) {
386 for (i = low; i <=
n; i++) {
404 s =
x-
w/((
y-
x)/2.0+s);
405 for (i = low; i <=
n; i++) {
415 Error(
"MakeSchurr",
"too many iterations");
446 for (i =
m+2; i <=
n; i++) {
455 for (k =
m; k <=
n-1; k++) {
491 for (
j = k;
j < nn;
j++) {
516 for (i = low; i <= high; i++) {
536 for (
n = nn-1;
n >= 0;
n--) {
546 for (i =
n-1; i >= 0; i--) {
551 for (
j =
l;
j <=
n;
j++) {
577 pH[i+1+
n] = (-s-
y*t)/z;
584 for (
j = i;
j <=
n;
j++) {
610 for (i =
n-2; i >= 0; i--) {
615 for (
j =
l;
j <=
n;
j++) {
640 if ((
vr == 0.0) && (
vi == 0.0)) {
661 for (
j = i;
j <=
n;
j++) {
674 for (i = 0; i < nn; i++) {
677 for (
j = i;
j < nn;
j++)
684 for (
j = nn-1;
j >= low;
j--) {
685 for (i = low; i <= high; i++) {
712 Double_t eps = std::numeric_limits<Double_t>::epsilon();
714 for (
Int_t i = 0; i <
n-1; i++) {
718 for (
j = i+1;
j <
n;
j++) {
725 if ((std::fabs(
pD[i] -
pD[
j]) <= eps) && (std::fabs(
pE[i] +
pE[
j]) <= eps)) {
741 for (
j = 0;
j <
n;
j++) {
825 }
else if (
pe[i] < 0) {
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
static void cdiv(Double_t xr, Double_t xi, Double_t yr, Double_t yi)
static Double_t gCdivr
Complex scalar division.
static void MakeHessenBerg(TMatrixD &v, TVectorD &ortho, TMatrixD &H)
Nonsymmetric reduction to Hessenberg form.
const TMatrixD GetEigenValues() const
Computes the block diagonal eigenvalue matrix.
TMatrixDEigen & operator=(const TMatrixDEigen &source)
Assignment operator.
static void Sort(TMatrixD &v, TVectorD &d, TVectorD &e)
Sort eigenvalues and corresponding vectors in descending order of Re^2+Im^2 of the complex eigenvalue...
static void MakeSchurr(TMatrixD &v, TVectorD &d, TVectorD &e, TMatrixD &H)
Nonsymmetric reduction from Hessenberg to real Schur form.
TMatrixTBase< Element > & ResizeTo(Int_t nrows, Int_t ncols, Int_t=-1) override
Set size of the matrix to nrows x ncols New dynamic elements are created, the overlapping part of the...
TVectorT< Element > & ResizeTo(Int_t lwb, Int_t upb)
Resize the vector to [lwb:upb] .
Element * GetMatrixArray()
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
Double_t Sqrt(Double_t x)
Returns the square root of x.
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Returns x raised to the power y.
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.