DMUG-Archiv 2003

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

AW: Mathematica 5.0

Hallo !

Na ja wenn man von der deutschen Mathematica Guru so eine Email bekommt
sollte man
es ernst nehmen.
Den heutigen Tag habe ich damit vberbracht Ihren E_mail zu benatworten.

MFG

Georg


->-----Ursprüngliche Nachricht-----
->Von: owner-demug@XXXXXXX.ch [mailto:owner-demug@XXXXXXX.ch]Im
->Auftrag von Jens-Peer Kuska
->Gesendet: Saturday, September 27, 2003 2:11 PM
->An: Georg Ch. Mellau
->Cc: Deutsche Mathematica News Group
->Betreff: Re: Mathematica 5.0
->
->
->Hallo,
->
->sicher ist die Anbindung an  .NET so "uberfl"ussig wie ein Kropf.


Na ja Mathematica wird nicht nur Mathematiker benutzt sondern noch von
Physiker denen völlig egal ist
ob der Code Schön ist. Sie würden wahrscheinlich mein Code ganz "hässlich"
finden.
Der soll nur funktionieren und die Auswertung der Daten ermöglichen.
Kein Physiker bekommt Loorberen für ein Programm und oft nichmal für ein
neues Algoritmus sondern für die
Ergebnisse der Auswertung.
Die Daten die ich Auswerten bestehen aus 50.000 bis 500.000 x-y Datenpaaren.
Bei der Auswertung ist es unbedingt notwendig
die Eingangsdaten mit der Ergebnisse der Auswertung in ein Plot darzustellen
und interaktiv den Achsenabschnitt zu ändern.
Mathlink für mich zu kompliziert (Zeitintensiv)- ich muss noch Experimente
bauen und durchführen um an die Daten ranzukommen.
Ich habe es am Ende mit FrontEnd Manipulation gelöst was nicht unbedingt die
beste Lösung ist da bei der "überschreiben"
des Plots und der Tabelle der FrontEnd den Fokus ständing ändert und die
Darstellung "zappelt", eine Maus-input ist nicht möglich (
für ein und aus-zoomen der ausgewählten Region).  Besser wäre gewesen das
von anfang an sowas wie C#. Ein Beispiel kann ich dranhängen weil der
Moderator aus Gründen der Dateigrösse es nicht erlaubt aber schicke Ich
gerne Ihnen auf wunsch direkt zu.

Zum Glück sind Sie nicht der die Entwicklung der Mathematica leitet !




->Sicher ist auch das .NET nicht viel mit C# zu tun hat -- schliesslich
->sind alle .NET Sprachen untereinander kompatibel ...

Ich bin noch in Anfänger in C# und .NET aber die obige aussage lässt
vermuten das Sie noch weniger
darüber wissen....

  Im Prinzip ist .NET eine C# kompiler und ausführungsschicht wie JAVA, alle
andere sprachen wozu noch .NET kompatibel sind
sind eher zwischenlösungen um bisherige code weiterzubenutzen. Niemand würde
in .NET einen neuen Projekt in eine andere sprache als C#
starten.

Hier wäre ein bischen zurückhaltung besser gewesen !


->
->Wie man 30 MByte Code zusammen bekommt h"atte ich schon gern gewusst.
->Ist das der Mathematica Quelltext oder die MemoryInUse[] differenz ?

Sie stellen mich in dieser EMail ziemlich dumm hin. Selbstvertändlich ist es
MemoryInUse
alles andere wäre irrelevant. Diese Angabe wart nicht gedacht um sich damit
zu schmücken. Ich habe es als notwendig
bezüglich des Problems gedacht.

Das ist nicht fair !

->
->Sollte es Mathematica Quelltext sein, so m"ochte ich zu bedenken
->geben, das man 364 Tage braucht, wenn man 24 Stunden am Tag tippt und
->pro Sekunde 1 Zeichen eingibt, um 30 MByte zu produzieren.
->
->Das ist ja ganz sch"on viel --- w"urde ich mal sagen.

Ja es ist sehr-sehr viel.  Normalerweise arbeitet man mit Cut-and-Paste, man
tippt einen Funktions oder parameter namen normalerweise
nur einmal. Oft kopiert man ähnliche code von was man hat und ändert es um-
damit kommt man deutlich schneller voran
als wie bei eintippen.

Es ist klar das sie nicht viel programieren wenn sie die Zeichenzahl
berechnen !

->Da ich auch hin und wieder mal programmiere, erscheinen mir
->30 MByte Quelltext eine absurd hohe Zahl -- selbst wenn's FORTRAN w"are.

Auch der Quelltext ist mindestens 30 MB gross.

Absurd ist es nicht !

-> Weiter unten muss ich dann lesen, das der
->Quelltext
->
->> functions (10.000 pages of written code, half of them manipulating the
->> FrontEnd for input/output) which I use for the analysis of high
->resolution
->
->bloss 10.000 Seiten sind - nehmen wir mal Blocksatz an also 65 Zeichen
->pro
->Zeile und 30 Zeilen pro Seite dann gibt das 19 MByte und *nicht* 30
->MByte.
->Nat"urlich ist Blockstatz doch eher selten in Programmen --
->mit der Formatierung aus dem Beispiel-Listing, das so ca 10 Zeichen pro
->Zeile
->hat, kommt man bei 10.000 Seiten auf 3 MByte ...

Na ja wenn ein Mathematiker den Detektiv spielt......


->
->Tja und beim Beispiel-Listing rollen sich einem dann vollens die
->Fussn"agel auf. Denn der geneigte Leser fragt sich schon, wieso
->Listen-Operationen "uberhaupt compiliert werden sollten.


Na ja in ganzen ich habe 3 Seiten mit insgesamt 5 Compilierte funktionen
(geschrieben noch mit 3. irgenwdwas vor vielen Jahren)
keine Ahnung mit welcher Version. Den Code schneller zu machen habe ich
zuesrt ausgeklammert.




->Ein kleiner Test mit 1000000 Elementen in x und 100000 Elementen
->in y ergibt dann auch auf meiner SGI (Mathematica 4.2.1) f"ur
->die Compilierte Funktion 0.42 Sekunden, die Uncompilierte braucht
->nur 0.26 Sekunden ...




->
->Tja, und so begibt es sich leider, das ich Herrn Mellau

->  a) kein Wort glaube

Das ist typisch Kuska : Harte schonungslose Kritik. Aber das ist hier etwas
beleidigend finde ich.

Ich habe lange die Seiten nicht mehr gezählt und nie ausgedruckt, die Angabe
war nur eine Grössnordnung, Abschätzung

In alle *.nb Files mit Code sind die Funktionen in eigene Input Zellen
(Style Sheet default) mit fontsize 9 also "normal".
Der Code ist organiziert mit Section-, Subsection- Subsubsection- Zellen die
bei der "pagebreaking" auch nicht volle Seiten
erzeugen. Den "Seitenzahl" kannman abschätzen wenn man in *.nb file die
Peagebreaking einschaltet

Da ich jetzt den Beweislast habe nachdem ich öffentlich als Lügner
bezichtigt wurde muss ich voll mein Code abzählen


File                     *.nb file  *.m file     Seiten(berechnet wie oben
erklärt)

Program :
 Bandsearch.nb            1.94 MB     1.18 MB    544  (Program für die
Auswertung von hochauflösenden Molekülspektren)
 ResourceBandSearch.nb    0.10 MB     0.07        21
Program :
 Calibration.nb           1.20 MB     0.70 MB    447  (Calibration von
Spektren im Allgemein mit Hilfe von Lineshape-Analyse)
 Resourcecalibration.nb   0.11 MB     0.80 MB     17
Chromatogram
 ABIInterface.nb          0.80        0.46       261  (Liesst binäre
files/schreibt es als Math.-Listen für ABI 310,3100 und 3700 DNA-Sequenzer)
 Chromatograph.nb         0.40        0.20       137  (Algemeine
Datenstrukturen und funktionen für die Chromatographie)
Customer
 Cutomer.nb               0.20        0.09        65  (Kleine
Kundenverwaltungslösung ganz in Mathematica geschrieben, Masken in FrontEnd)
DataAnalysis :
 BackgroundCorrection.nb  0.30        0.15        95  (Automatischre
hintergrund-Korrektur für Spektren)
 DataSetup.nb             0.33        0.16       115  (Parameter
eingabe/ausgabe, manipulation)
 Peaksearch.nb            0.25        0.12        74  (Peak- such algoritmen
und Benutzerinterface)
 DataUtility.nb           0.73        0.42       243  (Allgemeine
Funktionalität für Spektrenbearbeitung, Benutzerinterface)
 DataFit.nb               0.53        0.30       170  (Anpassung von
Linienformen an die Spektren, Benutzerinterface)
DataCalibration:
 DataCalibration          0.14        0.09        41  (Allgemeine
Kalibrationsroutinen, Benutzerinterface)
DataDatabaseSystem :
 DataDatabase             1.00        0.60       371  (Datenstruktur und
funktionalität ganz allgemein für Messdaten, wir von allen programmen
benutzt)
 DataPeaklist             1.12        0.66       411  (Allgemeine
Funktionalität, Benutzerinterface für peaklisten)
 DataPlot                 0.70        0.40       237  (Darstellung der
Daten, Peaks, Kommentare, Linenformen etc... in ein Plot)
Program :
 DNAMatch                 0.50        0.33       163  (Auswertung der
DNA-Ländgenanalysis Daten - wie z.B. Personenidentifizierung,
Vaterschftstest etc..)
DNASequence
 DNASequence              etc..       etc..       25  (Allgemeine DNA
Sequenz definition)
FragmentAnalysis :
 Fragment Analysis                               373  (DNA-Ländgenanalysis)
 Fragment Control                                277  (DNA-Ländgenanalysis
bei vorgegebener genotyp)
 FragmentExport                                   83  (Export
derDNA-Ländgenanalysis zu CSV,XML und StatisticalGenetics)
FTSpektrometer
 BrukerInterface                                 205  (Liesst binäre OPUS
und *.DAT files/schreibt es als Math.-Listen für Bruker Spektrometer)
 FTSpektrometer                                   86  (Algemeine
Datenstrukturen und funktionen für die FT Spektroskopie)
Function                                              (Function Definition
und Benutzerinterface für die Lineshape analyse)
 FunctionBase                                     63
 FunctionEditor                                  163
 FunctionSelectedList                            115
Mathematics
 FitEngine                                       187
MatrixMechanics                                      (Allgemeine
Lösungsansatz für quantumemchanische Berechnungen mit Matrizen)
 MatrixSystem                                     90
 SecondMatrixSystem                               45
 UMatrixSystem                                   550
 SecondUMatrixSystem                              71
 MatrixFit                                       102
 EigenvalueLabel                                 131
 SecondEigenvalueLabel                            58
 Symmetrisation                                   48
 SecondSymmetrisation                             11
SymathDatabase                                       (Bamstruktur der
Energiezustände eines Quantensystems)
 DataCounter                                     202 (Allegemeine Regel um
Quantenzustände zu beschriften, Benutzerinterface)
 FirstDataCounter                                154
 SecondDataCounter                               153
 ResourceDataCounter                              53
 DataType                                        304 (Quantenzustand
Datentyp Definition und Berechnung)
 FormulaSetup                                    200 (Quantenzustand
Parameter, Benutzerinterface)
 FirstFormulaSetup                               140
 SeconFormulaSetup                               120
 GeneralParameters                               203 (Quantenzustand
allgemeine parameter, Benutzerinterface)
 FirstGeneralParameters                          137
 TreeDatabase                                    539 (Bamstruktur erzeugen
editiren darstellen, Benutzerinterface)
 FirstTreeDatabase                               502
 SecondTreeDatabase                              480
 TreeUserInterface                               184
 Symathdatabase                                  157
Program
 Molecule                                        345 (Berechenen der
Quantenzustände eines beliebigen Moleküls)
LinkDatabase                                         (Übergänge eines
Quantensystems)
 LinkDatabase                                    291
 ULinkdatabase                                   956
 LinkFormula                                     367
 SecondLinkFormula                               167

etc....

Das sind 11500 Seiten und noch 5000 die ich hier nicht mehr aufliste. Egal
wie Sie rechnen sind es eben 10000.


Herr Kuska wenn Sie noch zweifel haben, kommen Sie nach Giessen !




->  b) nicht viel von seinen Mathematica-K"unsten halte


Brauchen Sie auch nicht davon zu halten weil es gar nicht existiert. Das
brauche ich auch nicht. Mathematica kann für einen
Mathematiker ein "ziel für sich" sein, für mich ist nur ein Werkzeug. Ich
halte auch gar nicht von die "betriebsistemverückkte"
die ständig Linux oder was auch immer priesen. Für mich ist der ideale
Betriebsysestem den man gar nicht bemerkt das es auf dem Rechner ist.
Ich lerne von Mathematica nur was ich brauche, ich benutze nur ein kleiner
Untermenge von Mathematica.

Wie ich mein Code schreibe hängt von vielen
Punkten ab die für Sie inexistent sind. An der ertse Stelle steht die
möglichkeit einen Fehler in der Code finden zu können.
Die schreibweise, benuzte funktionalität von Mathematica etc. ist von diesem
Gesichtspunkt abhängig.
Ich benutze so wenig wie möglich "wahre" funktionen (der Zeichensalat mit
eine Menge _ und # Charaketere : die Sie so sehr lieben),
da wenn man nach 3 Jahren nach der Erstellung auf so einen Funktionen
draufschaut barucht man einige Stunden zu verstehen was man da eigentlich
wollte.
So gesehen ist Mathematica für mich auch ein "mathematisches C" wo man
vieles (matrizen, eigenwerte, Listen, Graphische Darstellung etc...)
sehr einfach machen kann.
Vor dem ich mich zu Mathematika Konvertiert habe (Zeitgleich mit version
3.0) habe ich viel mit C++ (IBM VisualAge für OS/2 und Windows)
gearbeitet. Ich habe angefangen mit Mathematica zu arbeiten aus 3 Gründen :
     1) Ich bin bis 10 mal schneller vorangekommen
     2) Mit der möglichkeit reine numerische berechnungen mit analytische
aufgaben zu mischen die man automatisch per code durchführt.
     3) Mit der Frontend benutzereingaben und datendarstellungen möglich ist
die man mit C++ ich ein ganzes leben lang nicht zustande bringen konnte



->
->Mathematica 5.0 l"auft prima auf meinen PC's
->sowohl unter Linux als auch unter Windows XP Home/Professionell und
->Windows 2000 ... sowohl mit Intel als auch mit Athlon Prozessoren.
->Ich habe zwar keine 30 MByte Quelltext und bloss
->250 -- 500 MByte Daten... vermutlich wird's wohl daran liegen ...

Was soll das ? Dadurch das SIE keine Probleme haben bedeutet noch nicht das
es andere auch keine haben !


->
->Aber auch ich habe was zu meckern -- es gibt kein Mathematica 5.0
->f"ur SGI's und das h"atte ich schon sehr gern eben *weil* Mathematica
->5.0
->so gut und stabil l"auft.
->
->Gruss
->  Jens
->
->
->"Georg Ch. Mellau" wrote:
->>
->> Liebe Mathematica Freunde,
->>
->> Ich habe einen Email drangehängt die ich WR geschickt habe mit meine
->> Erfahrungen mit Mathematica 5.0.
->> Sicher ist die Anbingung an .NET C# ein Meilenstein in der
->Entwicklung von
->> Mathematica und - vorausgestezt das es so funktioniert wie es verkauft
->> wurde-
->> , damit ist auch eine update auf 5.0 empfehlenswert. Leider ist was mich
->> betrifft nicht der Fall.
->> Da ich insgesamt mehr als 30 MB code und über 100 MB daten is
->Kernel lade
->> könnte sein das im "Normallfall" von mir beschriebene Probleme
->> nicht auftreten.
->>
->> MfG
->>
->> Georg
->>
->> Dear Mathematica developer team,
->>
->> I am using Mathematica very extensively, I have a big set of mathematica
->> functions (10.000 pages of written code, half of them manipulating the
->> FrontEnd for input/output) which I use for the analysis of high
->resolution
->> spectra.
->> >From the version 3.0 I am using daily Mathematica for several hours.
->>
->> I am telling this to you with the hope that you may take the
->following very
->> seriously:
->>
->> MATHEMATICA version 5.0 IS THE MOST UNSTABLE VERSIONS OF ALL MATHEMATICA
->> versions !!!!!!!!!!
->>
->> I used in the last years the version 4.1.2 which was very
->stable, both of
->> them the Kernel and FrontEnd.
->> I passed the version 4.2, there was a big error in the FrontEnd
->(in version
->> 5.0 fixed) so that it was for me useless.
->>
->> I started for some weeks to use my code with the version 5.0.
->It crashes at
->> about every 30-40 minutes with different error messages.
->> What I found very bizarr is the fact that not as usually the FrontEnd
->> crashes, now the Kernel
->> is the one that crashes. It happens very often and there is a
->total crash:
->> one gets only a OS message that the system was doing
->> something wrong.
->>
->> Much worse, in all versions happend time to time that the
->FrontEnd lost the
->> link to the Kernel. In the version 5.0 ist this very often. It
->takes me up
->> to 10 minutes to load all the code and Data and start the
->analysis. After 15
->> minutes I have once 2 Kernels running with all my data in the
->"lost kernel".
->> It is impossible.
->>
->> The system writes error messages as
->>
->> Mathematica has detected a possible internal error. If
->possible, report the
->> error to support@XXXXXXX.com, quoting "Assertion '!"Expression
->written to
->> link when FrontEnd was not expecting any expressions"' failed at
->> KernelBackground.c:435", and describe in as much detail as
->possible what you
->> were doing when the error occurred
->>
->> with a relative high frequency.
->>
->> This Mathematematica "gold" release is not what I am ususually
->used to get
->> from Wolfram Research.
->>
->> With best regards
->>
->>  Dr.Georg Mellau
->>
->> P.S.
->>
->> I found one of the possible reasons (But I am not sure if it is not only
->> side effect): "Compiled" functions seems not to be stable in
->Version 5.0.
->> After I changed the Compile functions with normal ones the
->crash frequency
->> decreased. The function- quite simple-  :
->>
->> Symathreplacearraypart = Compile[
->>       {
->>         {x, _Real, 1},
->>         {y, _Real, 1},
->>         {i, _Integer}
->>         },
->>
->>         If[(i + Length[y] <= Length[x]),
->>         (
->>
->>           Join[
->>             Take[x, {1, i - 1}],
->>             y,
->>             Take[x, {i + Length[y], -1}]]
->>
->>           ),
->>         (
->>
->>           If[(i + Length[y] == Length[x] + 1),
->>             (
->>               Join[
->>                 Take[x, {1, i - 1}],
->>                 y]
->>               ),
->>             (
->>               x
->>               )]
->>
->>           )]
->>
->>       ];
->
->


Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html