|
Autor |
Mathematica: gab es mal eine Version die auf eine CD passte? Und Alternativen zu Mathematica |
|
Delastelle
Senior  Dabei seit: 17.11.2006 Mitteilungen: 2306
 | Themenstart: 2020-12-18
|
Hallo Leute!
Ich habe gerade in ein Buch zur Zahlentheorie geschaut und
dort wurde im Anhang Mathematica-Quelltexte angegeben.
Mathematica habe ich aber nicht vorliegen.
Früher habe ich mal mit Mathematica, Maple und Matlab gearbeitet.
Maple 5[Edit: ich meinte Maple 9] passte in den 1990er Jahren auf eine CD.
Auch Matlab 4 und 5 waren in den 1990er Jahren auf einer CD lieferbar.
Der User Buri schrieb einmal, dass Mathematica 2 auf Disketten(?) lieferbar war.
Nur aus Interesse: welche Version von Mathematica passte auf eine CD?
Und: welches kostenlose Programm kann ähnliche Aufgaben bewältigen wie Mathematica?
Viele Grüße
Ronald
Edit: ich habe gerade gesehen es gab mal eine abgerüstete Version auf CD:
Mathematica Teacher's Edition for Windows 95/98/Me/NT/2000/XP, Mac OS 7.5.3 or later
CD-ROM
System-Anforderungen
Plattform: Windows 98 / 2000 / Me / 95 / NT
Medium: CD-ROM
Artikelanzahl: 1
Produktinformation
Erscheinungstermin : 20. November 2002
Hersteller : Wolfram Research
|
Profil
|
Buri
Senior  Dabei seit: 02.08.2003 Mitteilungen: 46781
Wohnort: Dresden
 | Beitrag No.1, eingetragen 2020-12-18
|
Hi Delastelle,
Version 9.1 von Mathematica wurde auf einer CD ausgeliefert.
Gruß Buri
|
Profil
|
Delastelle
Senior  Dabei seit: 17.11.2006 Mitteilungen: 2306
 | Beitrag No.2, vom Themenstarter, eingetragen 2020-12-21
|
Hallo,
@Buri: Danke für die Information!
@all:
es finden sich im Anhang von
David M Burton / Heinz Dalkowski
Handbuch der elementaren Zahlentheorie
Mathematica-Quelltexte.
Man kann sie auch Downloaden über die Verlagsseite:
( siehe: https://www.heldermann.de/BSM/BSM12/bsm12.htm )
Dies sind (181 Zeilen):
\showon
EuklidZahl[p_] := Product[Prime[i], {i, 1, PrimePi[p]}] + 1
GoldbZerlegung[n_] := Delete[
Union[{Null},
Table[If[PrimeQ[n - Prime[i]], {Prime[i], n - Prime[i]}], {i, 1,
PrimePi[n/2]}]], 1]
Quersumme[n_] := Plus @@ IntegerDigits[n]
alternQSumme[n_] := Sum[(-1)^(i - 1)*Reverse[IntegerDigits[n]][[i]], {i, 1,
Length[IntegerDigits[n]]}]
ChinesReste[a_, m_] := Last[{M = Times @@ m; T = M/m;
d = Table[
x /. Delete[Flatten[Solve[{T[[i]]x == 1, Modulus == m[[i]]}, x]],
1], {i, 1, Length[m]}]; Mod[Plus @@ (a*T*d), M]}]
geradeTeiler[n_] := Delete[
Union[Table[
If[EvenQ[Divisors[n][[i]]], Divisors[n][[i]]], {i, 1,
Length[Divisors[n]]}]], -1]
ungeradeTeiler[n_] := Complement[Divisors[n], geradeTeiler[n]]
teilerfrZahlen[n_] := If[Abs[n] == 1, {1},
Delete[Union[Table[If[GCD[n, i] == 1, i], {i, 1, Abs[n]}]], -1]]
nichtTeilerfrZ[n_] := Drop[Union[Table[If[GCD[i, n] > 1, i], {i, 1, n}]], -1]
SummeUeberTeiler[f_, n_] := First[{Teiler = Divisors[n];
Sum[f[Teiler[[i]]], {i, 1, Length[Teiler]}]}]
MangLambda[n_] := If[Length[FactorInteger[n]] == 1,
Log[First[First[FactorInteger[n]]]], 0]
LiouvLambda[n_] := (-1)^If[n == 1, 0, Last[Plus @@ FactorInteger[n]]]
AnzPrimt[n_] := Length[FactorInteger[n]]
symmetrGrfkt[x1_, x2_, x3_, x4_, x5_, x6_, x7_] := {1,
x1 + x2 + x3 + x4 + x5 + x6 + x7,
x1 x2 + x1 x3 + x2 x3 + x1 x4 + x2 x4 + x3 x4 + x1 x5 + x2 x5 + x3 x5 +
x4 x5 + x1 x6 + x2 x6 + x3 x6 + x4 x6 + x5 x6 + x1 x7 + x2 x7 + x3 x7 +
x4 x7 + x5 x7 + x6 x7,
x1 x2 x3 + x1 x2 x4 + x1 x3 x4 + x2 x3 x4 + x1 x2 x5 + x1 x3 x5 + x2 x3 x5 +
x1 x4 x5 + x2 x4 x5 + x3 x4 x5 + x1 x2 x6 + x1 x3 x6 + x2 x3 x6 +
x1 x4 x6 + x2 x4 x6 + x3 x4 x6 + x1 x5 x6 + x2 x5 x6 + x3 x5 x6 +
x4 x5 x6 + x1 x2 x7 + x1 x3 x7 + x2 x3 x7 + x1 x4 x7 + x2 x4 x7 +
x3 x4 x7 + x1 x5 x7 + x2 x5 x7 + x3 x5 x7 + x4 x5 x7 + x1 x6 x7 +
x2 x6 x7 + x3 x6 x7 + x4 x6 x7 + x5 x6 x7,
x1 x2 x3 x4 + x1 x2 x3 x5 + x1 x2 x4 x5 + x1 x3 x4 x5 + x2 x3 x4 x5 +
x1 x2 x3 x6 + x1 x2 x4 x6 + x1 x3 x4 x6 + x2 x3 x4 x6 + x1 x2 x5 x6 +
x1 x3 x5 x6 + x2 x3 x5 x6 + x1 x4 x5 x6 + x2 x4 x5 x6 + x3 x4 x5 x6 +
x1 x2 x3 x7 + x1 x2 x4 x7 + x1 x3 x4 x7 + x2 x3 x4 x7 + x1 x2 x5 x7 +
x1 x3 x5 x7 + x2 x3 x5 x7 + x1 x4 x5 x7 + x2 x4 x5 x7 + x3 x4 x5 x7 +
x1 x2 x6 x7 + x1 x3 x6 x7 + x2 x3 x6 x7 + x1 x4 x6 x7 + x2 x4 x6 x7 +
x3 x4 x6 x7 + x1 x5 x6 x7 + x2 x5 x6 x7 + x3 x5 x6 x7 + x4 x5 x6 x7,
x1 x2 x3 x4 x5 + x1 x2 x3 x4 x6 + x1 x2 x3 x5 x6 + x1 x2 x4 x5 x6 +
x1 x3 x4 x5 x6 + x2 x3 x4 x5 x6 + x1 x2 x3 x4 x7 + x1 x2 x3 x5 x7 +
x1 x2 x4 x5 x7 + x1 x3 x4 x5 x7 + x2 x3 x4 x5 x7 + x1 x2 x3 x6 x7 +
x1 x2 x4 x6 x7 + x1 x3 x4 x6 x7 + x2 x3 x4 x6 x7 + x1 x2 x5 x6 x7 +
x1 x3 x5 x6 x7 + x2 x3 x5 x6 x7 + x1 x4 x5 x6 x7 + x2 x4 x5 x6 x7 +
x3 x4 x5 x6 x7,
x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x7 + x1 x2 x3 x4 x6 x7 +
x1 x2 x3 x5 x6 x7 + x1 x2 x4 x5 x6 x7 + x1 x3 x4 x5 x6 x7 +
x2 x3 x4 x5 x6 x7, x1 x2 x3 x4 x5 x6 x7}
(*
y = {x1, x2, x3, x4, x5, x6, x7};
b = Flatten[Outer[List, y, y, y, y, y, y, y], Length[y] - 1];
c = Union[Table[Union[b[[i]]], {i, 1, Length[b]}]];
ZwL[j_] :=
Delete[Union[Table[If[Length[c[[i]]] == j, c[[i]]], {i, 1, Length[c]}]],
1];
Mult[k_] := Table[Times @@ k[[i]], {i, 1, Length[k]}];
d = Join[{{1}}, Table[Mult[ZwL[i]], {i, 1, Length[y]}]];
e = Table[Plus @@ d[[i]], {i, 1, Length[d]}]
*)
KnapsUewF[a_, V_] := Last[{L = {};
If[V >= a[[Length[a]]], L = Join[{1}, L], L = Join[{0}, L]];
Do[If[V - Plus @@ (Take[a, -i].L) >= a[[Length[a] - i]], L = Join[{1}, L],
L = Join[{0}, L]], {i, 1, Length[a] - 1}];
If[V == Plus @@ (a.L), S = L, S = {}]; S}]
Ordnung[a_, n_] := First[
Sort[Table[
If[IntegerQ[EulerPhi[n]/i], If[Mod[a^i, n] == 1, i]], {i, 1,
EulerPhi[n]}]]]
kleinstePWurzel[n_] := First[{L = Null;
Do[z = 0;
For[k = 1, k < EulerPhi[n], k++,
If[PowerMod[j, k, n] != 1, z = z + 1]];
If[z == EulerPhi[n] - 1 && GCD[j, n] == 1, L = j; Break[]], {j, 1,
n - 1}]; L}]
primWurzeln[n_] := Last[{y = Flatten[{klPW = kleinstePWurzel[n];
Drop[Union[
Table[If[GCD[k, EulerPhi[n]] == 1, Mod[klPW^k, n]], {k, 1,
EulerPhi[n]}]], -1]}];
If[IntegerQ[First[y]], x = y, x = {}]; x}]
primWQ[w_, n_] := TrueQ[MemberQ[primWurzeln[n], Mod[w, n]]]
UniversalExp[n_] :=
LCM @@ (Flatten[{ZwLi = FactorInteger[n]; einHalb[x_] := x - 1;
korrLi = MapAt[einHalb, ZwLi, {1, 2}];
phiF[{x_, y_}] := EulerPhi[x^y];
If[ZwLi[[1, 1]] == 2 && ZwLi[[1, 2]] > 2, Map[phiF, korrLi],
Map[phiF, ZwLi]]}])
Index[a_, r_, p_] := First[
Union[Table[If[PowerMod[r, j, p] == a, j], {j, 1, p - 1}]]]
quadrReste[n_] := Drop[
Union[Table[If[JacobiSymbol[i, n] == 1, i], {i, 1, n - 1}]], -1]
quadrNichtreste[n_] := Drop[
Union[Table[If[JacobiSymbol[i, n] == -1, i], {i, 1, n - 1}]], -1]
vQuaR[n_] := Drop[
Union[Flatten[
Join[{Null},
Table[If[GCD[n, i] == 1, If[IntegerQ[(x^2 - i)/n], i]], {x, 1,
n - 1}, {i, 1, n - 1}]]]], -1]
SummeVonQu[n_, k_] := Flatten[{m = Ceiling[Sqrt[n]];
S = {x1, x2, x3, x4, x5}; M = {m1, m2, m3, m4, m5};
Do[M[[i]] = 0, {i, 1, 5}]; Do[M[[i]] = m, {i, 1, k}];
T = Take[S, k];
x = Table[
If[Plus @@ (T^2) == n, T], {x1, 0, M[[1]]}, {x2, 0, M[[2]]}, {x3, 0,
M[[3]]}, {x4, 0, M[[4]]}, {x5, 0, M[[5]]}];
y = Delete[Union[Flatten[x, 4]], 1];
z = Union[Table[Sort[y[[i]]], {i, 1, Length[y]}]]}, 1]
QuDiff[n_] := Delete[
Union[Table[
If[PotenzQ[i^2 - n, 2], {i, Sqrt[i^2 - n]}], {i, Floor[Sqrt[n] + 1],
n}]], 1]
FiboZahl[n_] := Last[{a = 1; b = 1;
Do[{c = a + b, b1 = b, a1 = a, a = b, b = c}, {n - 1}]; a}]
LucasZahl[n_] := Last[{a = 1; b = 3;
Do[{c = a + b, b1 = b, a1 = a, a = b, b = c}, {n - 1}]; a}]
KBinRZ[L_] := Last[{REDdesKB[a_, b_] := a + 1/b;
r = REDdesKB[L[[-2]], Last[L]];
z = -3; Do[{r = REDdesKB[L[[z]], r], z = z - 1}, {Length[L] - 2}]; r}]
RZinKB[q_] := Last[{s = q; L = {};
While[! IntegerQ[s], {L = Join[L, {Floor[s]}];
s = 1/(s - Floor[s])}]; s = s - 1; L = Join[L, {s, 1}]}]
KBeinerIZ[x_, n_] := Floor[
NestList[Function[{u}, 1/(u - Floor[u])], x, n - 1]]
KONVeinerRZ[q_] := Flatten[{x = RZinKB[q]; L = {x[[1]]};
L = Join[L, {x[[2]]x[[1]] + 1}];
Do[L = Join[L, {x[[i]]L[[i - 1]] + L[[i - 2]]}], {i, 3, Length[x]}];
M = {1, x[[2]]};
Do[M = Join[M, {x[[i]]M[[i - 1]] + M[[i - 2]]}], {i, 3, Length[x]}];
L/M}]
Konvergenten[r_, n_] := Flatten[{x = KBeinerIZ[r, n]; L = {x[[1]]};
L = Join[L, {x[[2]]x[[1]] + 1}];
Do[L = Join[L, {x[[i]]L[[i - 1]] + L[[i - 2]]}], {i, 3, Length[x]}];
M = {1, x[[2]]};
Do[M = Join[M, {x[[i]]M[[i - 1]] + M[[i - 2]]}], {i, 3, Length[x]}];
L/M}]
StellenAnz[n_] := Last[MantissaExponent[N[n]]]
PotenzQ[n_, k_] := TrueQ[IntegerQ[n^(1/k)]]
Primteiler[n_] :=
Flatten[{t = FactorInteger[n]; Table[t[[i, 1]], {i, 1, Length[t]}]}]
\showoff
Ohne Mathematica kann man damit leider nicht arbeiten...
Viele Grüße
Ronald
|
Profil
|
rlk
Senior  Dabei seit: 16.03.2007 Mitteilungen: 11598
Wohnort: Wien
 | Beitrag No.3, eingetragen 2020-12-21
|
Hallo Delastelle,
wenn mich meine Erinnerung nicht täuscht, wurden frühe Versionen von Mathematica noch auf Disketten geliefert.
Die freien Computeralgebra-Programme Axiom, Maxima, PARI/GP oder Reduce sollten in der Lage sein, Programme die denen aus Beitrag No. 2 entsprechen, auszuführen. Ich kenne sie leider zu wenig, um Dir ein bestimmtes empfehlen zu können.
Vielleicht hilft Dir die Übersetzungsliste Rosetta dabei, die Programme in die verschiedenen Sprachen zu übersetzen.
Servus,
Roland
|
Profil
|
AlphaSigma
Senior  Dabei seit: 23.11.2012 Mitteilungen: 405
 | Beitrag No.4, eingetragen 2020-12-21
|
Hallo Delastelle,
warum interessiert dich, ob Mathematica auf eine CD (ca. 800 MByte) passt? Mittlerweile gibt es DVDs, USB-Sticks und Downloads aus dem Internet für Dateien mit mehreren GByte.
rlk hat ja schon einige Alternativen zu Mathematica genannt. Einige davon habe ich unter Linux installiert.
Falls Du gerne Mathematica hättest, es dir aber zu teuer ist, kann ich den Tipp geben, dass bei Raspbian, dem OS für den Raspberry Pi, eine kostenlose legale Version enthalten ist.
Mathematica on Raspberry Pi, for free
Wenn du nicht gerade sehr rechenintensive Probleme lösen musst und einen Raspberry Pi mit 4 GByte RAM hast, kann man das durchaus benutzen.
|
Profil
|
Delastelle
Senior  Dabei seit: 17.11.2006 Mitteilungen: 2306
 | Beitrag No.5, vom Themenstarter, eingetragen 2020-12-22
|
Hallo,
mich hatte interessiert in welcher Zeit Mathematica auf eine CD passte.
Manchmal werden Programme aufgebläht und immer größer.
Das ist nicht immer zum Vorteil von Programmen.
In den 1990er Jahren gab es Matlab 4 und 5 auf einer gemeinsamen CD.
Mathematica-Befehle zur Zahlentheorie sind wahrscheinlich teilweise schon
recht raffiniert programmiert. Im kostenlosen Octave finde ich auch einige Befehle wie "isprime". Aber in Mathematica-Befehlen steckt ja eine Menge Wissen.
Eventuell werde ich mir mal ein paar Mathematica-Alternativen anschauen.
Viele Grüße
Ronald
|
Profil
|
endy
Senior  Dabei seit: 10.01.2011 Mitteilungen: 3270
 | Beitrag No.6, eingetragen 2021-04-02
|
Hallo
Zur Geschichte von mathematica
The Mathematica Story: A Scrapbook
Etwas abschweifend:
Ich habe einmal irgendwo etwa folgendes gelesen von Stephen Wolfram.
Seine Ziele/Motivation für mathematica:
1) Er wollte ein Programm schreiben/erzeugen mit dem man alles tun kann und man braucht kein anderes.
2) Er wollte mindestens 10000000 Dollar damit verdienen
3) Mit diesem Programm wollte er seine Forschung bezüglich der "zellulären Automaten" fortführen.
Fazit:
2) hat er wohl Anfang der 90er Jahre schon geschafft.Würde er heute seine Firma verkaufen bekäme er wohl mindestens 10^9 Dollar.Wird er aber meiner Meinung nach nie tun.Zu1) Irgendwie wächst das Programm wirklich immer irgendwie schneller.Auch Wolfram Alpha wird wirklich immer besser.Wo das hinführen wird?Wer weiss es?Ich nicht.Zu 3) Hm ,ich habe nicht wirklich Ahnung.Aber die theoretische Physik steckt meiner Meinung nach wirklich in einer ernsten Krise.Die Theoretiker sind den Experimenten davon gelaufen. Feynman und Gell-Mann haben übrigens am Caltech sehr viel von Wolfram gehalten und deren Seminare in den 80ziger Jahren waren wohl für viele angehende Wissenschafftler gelinde gesagt ziemlich frustierend.
Gruss endy
|
Profil
|
hyperG
Senior  Dabei seit: 03.02.2017 Mitteilungen: 2009
 | Beitrag No.7, eingetragen 2021-04-03
|
Hallo Ronald,
90% der Funktionen kann man leicht nachprogrammieren (GMP oder YMP ist oft schneller & man kann mehr Threads nutzen) oder mit der kostenlosen Weiterleitung von WolframAlpha.com ausprobieren.
Ich schalte meinen großen PC mit Mathematica auch nur an, wenn die kostenlose Cloud-Version das nicht kann:
- wegen der Größe des Codes
- wegen Timeout (so um 50 s meist)
- wegen In- oder Output großer Datenmengen
Betrachten wir mal das einfache Beispiel aus Deinem Buch
\sourceon Mathematica
FiboZahl[n_] := Last[{a = 1; b = 1;
Do[{c = a + b, b1 = b, a1 = a, a = b, b = c}, {n - 1}]; a}]
\sourceoff
Von den vielen Algorithmen einer der langsamsten!
Man kann über WolframAlpha.com eine einfache Gleichung eingeben (z.B. 2*x^2=4 ) und dann unter "Plain Text" weiter...
https://matheplanet.com/matheplanet/nuke/html/uploads/b/47407_WolframCloud.png
...und schon ist man in der kostenlosen Cloud mit 90% aller Funktionen:
https://matheplanet.com/matheplanet/nuke/html/uploads/b/47407_WolframCloud2.png
Sogar die Hilfe funktioniert (mit Maus über den Befehl oder Befehl markieren & F1).
Nun sieht man sofort, dass die Funktion "aus Deinem Buch":
- nicht nur langsam
- nicht für reelle (& negative) Zahlen funktioniert
- beim Argument 0 auch noch falsch ist
Beachte:
- Semikolon ";" am Ende der Zeile bedeutet "rechnen aber keine Ausgabe"
- Berechnung eines "Abschnittes" mit Shift + ENTER
- Funktionsnamen fangen fast immer mit Großem Buchstaben an und Funktions- & Array-Klammern sind Eckig.
Wenn man über 1 Mrd. Stellen berechnen will (egal ob Ganzzahl oder Nachkommastellen), ist YMP zig mal schneller -> siehe hier im Forum
Grüße Gerd
|
Profil
|
AlphaSigma
Senior  Dabei seit: 23.11.2012 Mitteilungen: 405
 | Beitrag No.8, eingetragen 2021-04-03
|
\quoteon(2021-04-02 21:54 - endy in Beitrag No. 6)
...
1) Er wollte ein Programm schreiben/erzeugen mit dem man alles tun kann und man braucht kein anderes.
\quoteoff
So ein Programm gab es doch schon: Emacs, ein Betriebssystem mit eingebautem Editor. Der Emacs hat u.a. auch einen Psychiater eingebaut.
[Die Antwort wurde nach Beitrag No.6 begonnen.]
|
Profil
|
hyperG
Senior  Dabei seit: 03.02.2017 Mitteilungen: 2009
 | Beitrag No.9, eingetragen 2021-04-03
|
\quoteon(2020-12-18 02:36 - Delastelle im Themenstart)
...
Edit: ich habe gerade gesehen es gab mal eine abgerüstete Version auf CD:
Mathematica Teacher's Edition for Windows 95/98/Me/NT/2000/XP, Mac OS 7.5.3 or later
CD-ROM...
\quoteoff
Wenn Du CD kaufen möchtest, kann man bei
additive-net.de
nachfragen. Der deutsche Händler verkaufte bis vor kurzem noch CDs.
Bedenke aber, dass die alten Versionen noch:
- weniger Funktionen hatten
- langsamer waren
- viele Funktionen nicht aus Internet nachladen konnten (Musikinstrumente, Karten,...)
Da ich immer alles genau nachrechne (und Zeiten richtig stoppe statt mit Timing), kamen interessante Fakten zusammen:
Versionsvergleich
|
Profil
|
Kay_S
Senior  Dabei seit: 06.03.2007 Mitteilungen: 1437
Wohnort: Koblenz (früher: Berlin)
 | Beitrag No.10, eingetragen 2021-04-03
|
Ich habe nochmals die alten Programme aus Studententagen rausgesucht. Mathematica 5.2 passte auf eine CD, Matlab 7 brauchte 3 CD's. Auch für Delphi 7 und MiKTeX 2.3 reichte eine CD.
Nicht jedoch SuSE Linux 9.2, kam auf einer Double-Layer-DVD daher. 😊
|
Profil
|
Delastelle hat die Antworten auf ihre/seine Frage gesehen. Delastelle hat selbst das Ok-Häkchen gesetzt. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|