[root] / trunk / hist / hist / inc / TPrincipal.h Repository:
ViewVC logotype

Log of /trunk/hist/hist/inc/TPrincipal.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 22694 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 17 20:23:21 2008 UTC (6 years, 10 months ago) by rdm
File length: 3573 byte(s)
Diff to previous 20882
move hist, histpainter, spectrum and spectrumpainter in the hist package.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/hist/inc/TPrincipal.h
File length: 3573 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/hist/inc/TPrincipal.h
File length: 3573 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/hist/inc/TPrincipal.h
File length: 3625 byte(s)
Diff to previous 15134
remove :$ from tag line

Revision 15134 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/hist/inc/TPrincipal.h
File length: 3635 byte(s)
Diff to previous 15072
From Federico Carminati:

"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."

Revision 15072 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 17 09:37:21 2006 UTC (8 years, 8 months ago) by couet
Original Path: trunk/hist/inc/TPrincipal.h
File length: 3554 byte(s)
Diff to previous 9154
- Coding conventions.

Revision 9154 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 9 13:40:02 2004 UTC (10 years, 7 months ago) by brun
Original Path: trunk/hist/inc/TPrincipal.h
File length: 3513 byte(s)
Diff to previous 8195
From Eddy Offermann
Replave TMatrixDSym by TMatrixD for back compatibility with old versions of TPrincipal
saved in ROOT files.

Revision 8195 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 13 14:27:00 2004 UTC (10 years, 11 months ago) by rdm
Original Path: trunk/hist/inc/TPrincipal.h
File length: 3462 byte(s)
Diff to previous 8013
added missing cvs "// @(#)..." ident lines.

Revision 8013 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jan 25 20:33:32 2004 UTC (11 years ago) by brun
Original Path: trunk/hist/inc/TPrincipal.h
File length: 2999 byte(s)
Diff to previous 3578
New Linear Algebra package from Eddy Offermann.
This new package reimplements the previous classes TMatrix and TMatrixD.
The new classes should be back compatible with the previous version except
the function GetElements.
New classes have been introduced for symmetric matrices,
lazy matrices.
New algorithms (LU, SVD) have been introduced.
A new test suite test/stressLinear.cxx is introduced.
A complete description of this package will be posted in the coming days.
The classes are well documented in the implementation headers.

Revision 3578 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 4 08:07:38 2002 UTC (13 years ago) by brun
Original Path: trunk/hist/inc/TPrincipal.h
File length: 2921 byte(s)
Diff to previous 3326
Implement the following improvements by Eddy A.J.M. Offermann (Renaissance Technologies Corp.)
Somebody at Renaissance asked me how to get eigenvectors/values with ROOT.
I knew of the existance of the proper routines in TPrincipal by Christian.
However, no convenient way existed to apply them to an existing matrix.
So I did the following:

1) Took the routines to Tridiagonalize, Calculate eigenvectors/values
    and Sort and inserted them into TMatrix(D)
2) Have TPrincipal use the TMatrixD method EigenVector
3) Have the three routines mentioned above directly access the TMatrix/
   TVector data member fElements, so no having the go through the
   "()" operator (remember that TMatrix stores Fortran-wise)
4) Have the routine index starting at 0 instead of 1 (Still puzzles me
   how Cambridge-Press let them get away with it in Num. Recipes)
5) Change TPrincipal so that it also starts indexing at 0, changed also
   the tex/html comments.
6) Changed TVector(D).h so that TMatrix is also a friend (TVector was
    already a friend of TMatrix)
7) Checked that principal.C in tutorials still does its thing.

What is still lacking:

1) Support for non-symmetrical matrices.
   I might tackle this by importing Single-Value-Decomposition routines.
   Although maybe not the most efficient solution, it does have the
   advantage of also making those routines available.
2) Support for returning/calculating only those eigenvectors
   that belong to the largest eigenvalues.

Revision 3326 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 29 08:27:39 2001 UTC (13 years, 1 month ago) by brun
Original Path: trunk/hist/inc/TPrincipal.h
File length: 3014 byte(s)
Diff to previous 1719
Christion Holm Christensen has made the following improvements:
I've just realised that I've done something extreemly stupid in
TPrincipal::MakeHistograms which can make one waste enourmous amounts
of space and time.  The problem was, that the method looped over the
user data wether or not you actually wanted to plot it or not, thereby
wasting a lot of time.  Also, I allocated arrays via new in each
iteration, which is ofcourse a waste of time, so I moved that outside
the loop and added a zeroing loop instead.

Further,  I added the option 'd' to the CTOR, so that one may opt to
_not_ store the input data.  This reguired a new data member, and
hence a version bumb.  The default is to store the input data.  I
think this is a useful option for some, since the data arrays can
become quite large.

Thirdly, I modified the histogram names to be 0 padded upto 3 digits.
That is, the format is "%03d" rather than "%d", since that allows for
better overview in the browser.

Revision 1719 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 28 11:04:07 2001 UTC (13 years, 10 months ago) by brun
Original Path: trunk/hist/inc/TPrincipal.h
File length: 2945 byte(s)
Diff to previous 1205
More changes (hopefully last cleanup) introducing constness in the API.

Revision 1205 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 13 15:13:57 2000 UTC (14 years, 1 month ago) by brun
Original Path: trunk/hist/inc/TPrincipal.h
File length: 2921 byte(s)
Diff to previous 568
      W A R N I N G   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     ==================================================================
A very long list of changes in this pre-release of version 3.00.
We have modified the signature of many functions (in particular TObject)
to introduce more constness in the system.
You must change your code if your class derives from TObject and uses
one of the modified functions such as ls, Print, Compare, Hash, etc.
The modified functions in TObject have the following signature:
   virtual TObject    *Clone() const;
   virtual Int_t       Compare(const TObject *obj) const;
   virtual void        Delete(Option_t *option=""); // *MENU*
   virtual void        DrawClass() const; // *MENU*
   virtual void        DrawClone(Option_t *option="") const; // *MENU*
   virtual void        Dump() const; // *MENU*
   virtual TObject    *FindObject(const TObject *obj) const;
   virtual char       *GetObjectInfo(Int_t px, Int_t py) const;
   virtual ULong_t     Hash() const;
   virtual void        Inspect() const; // *MENU*
   virtual Bool_t      IsEqual(const TObject *obj) const;
   virtual void        ls(Option_t *option="") const;
   virtual void        Print(Option_t *option="") const;

A similar operation has been done with classes such as TH1, TVirtualPad,
TTree, etc.

Revision 568 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 5 09:21:24 2000 UTC (14 years, 4 months ago) by brun
Original Path: trunk/hist/inc/TPrincipal.h
File length: 2909 byte(s)
Diff to previous 488
The following headers and classes have been modified to take into account;
  - the new signature of IsFolder (now const)
  - the new TObject::FindObject
  - the fact that the static functions of TObject have been moved to TROOT.

Revision 488 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 17 09:44:43 2000 UTC (14 years, 5 months ago) by brun
Original Path: trunk/hist/inc/TPrincipal.h
File length: 2903 byte(s)
Diff to previous 472
TPrincipal is now derived from TNamed instead of TObject.
In the constructor, the TPrincipal object, named "principal" by default
is automatically added the gROOT->GetListOfSpecials().

Revision 472 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 15 09:49:21 2000 UTC (14 years, 5 months ago) by brun
Original Path: trunk/hist/inc/TPrincipal.h
File length: 2962 byte(s)
Diff to previous 459
Replace Char_t by char and convert source to usual Root style

Revision 459 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue Aug 15 07:48:50 2000 UTC (14 years, 5 months ago) by brun
Original Path: trunk/hist/inc/TPrincipal.h
File length: 2976 byte(s)
Introduction of a new class TPrincipal implemented by Christian Holm Cristensen.
The Principal Components Analysis class
=======================================
In many applications of various fields of research, the treatment of
large amounts of data requires powerful techniques capable of rapid
data reduction and analysis. Usually, the quantities most
conveniently measured by the experimentalist, are not necessarily the
most significant for classification and analysis of the data. It is
then useful to have a way of selecting an optimal set of variables
necessary for the recognition process and reducing the dimensionality
of the problem, resulting in an easier classification procedure.

TPrincipal is the implementation of one such method of
feature selection, namely the principal components analysis.
This multidimensional technique is well known in the field of pattern
recognition and and its use in Particle Physics has been documented
elsewhere (cf. H. Wind, <I>Function Parameterization</I>, CERN
72-21).

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9