70 Error(
"TMatrixDEigen(TMatrixD &)",
"matrix should be square");
123 for (
m = low+1;
m <= high-1;
m++) {
129 for (i =
m; i <= high; i++) {
138 for (i = high; i >=
m; i--) {
152 for (
j =
m;
j <
n;
j++) {
154 for (i = high; i >=
m; i--) {
159 for (i =
m; i <= high; i++) {
165 for (i = 0; i <= high; i++) {
168 for (
j = high;
j >=
m;
j--)
171 for (
j =
m;
j <= high;
j++)
181 for (i = 0; i <
n; i++) {
183 for (
j = 0;
j <
n;
j++)
187 for (
m = high-1;
m >= low+1;
m--) {
190 for (i =
m+1; i <= high; i++) {
194 for (
j =
m;
j <= high;
j++) {
196 for (i =
m; i <= high; i++) {
202 for (i =
m; i <= high; i++) {
257 for (i = 0; i <
nn; i++) {
259 if ((i < low) || (i > high)) {
300 }
else if (
l ==
n-1) {
332 for (
j =
n-1;
j <
nn;
j++) {
340 for (i = 0; i <=
n; i++) {
349 for (i = low; i <= high; i++) {
385 for (i = low; i <=
n; i++) {
403 s =
x-
w/((
y-
x)/2.0+s);
404 for (i = low; i <=
n; i++) {
414 Error(
"MakeSchurr",
"too many iterations");
445 for (i =
m+2; i <=
n; i++) {
454 for (k =
m; k <=
n-1; k++) {
490 for (
j = k;
j <
nn;
j++) {
515 for (i = low; i <= high; i++) {
535 for (
n =
nn-1;
n >= 0;
n--) {
545 for (i =
n-1; i >= 0; i--) {
550 for (
j =
l;
j <=
n;
j++) {
576 pH[i+1+
n] = (-s-
y*t)/z;
583 for (
j = i;
j <=
n;
j++) {
609 for (i =
n-2; i >= 0; i--) {
614 for (
j =
l;
j <=
n;
j++) {
639 if ((
vr == 0.0) && (
vi == 0.0)) {
660 for (
j = i;
j <=
n;
j++) {
673 for (i = 0; i <
nn; i++) {
676 for (
j = i;
j <
nn;
j++)
683 for (
j =
nn-1;
j >= low;
j--) {
684 for (i = low; i <= high; i++) {
711 Double_t eps = std::numeric_limits<Double_t>::epsilon();
713 for (
Int_t i = 0; i <
n-1; i++) {
717 for (
j = i+1;
j <
n;
j++) {
724 if ((std::fabs(
pD[i] -
pD[
j]) <= eps) && (std::fabs(
pE[i] +
pE[
j]) <= eps)) {
740 for (
j = 0;
j <
n;
j++) {
824 }
else if (
pe[i] < 0) {
double Double_t
Double 8 bytes.
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
#define R__ASSERT(e)
Checks condition e and reports a fatal error if it's false.
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.