Die Mathe-Redaktion - 17.01.2018 18:56 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
ListenpunktSchwätz / Top 15
ListenpunktWerde Mathe-Millionär!
ListenpunktZur Award-Abstimmung
ListenpunktFormeleditor fedgeo
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden oder den Newsletter bestellen.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 823 Gäste und 32 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von Bilbo matph
Angewandte Informatik » Computergrafik » Grafik für Divisormatrizen
Druckversion
Druckversion
Antworten
Antworten
Autor
Kein bestimmter Bereich Grafik für Divisormatrizen
blindmessenger
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 02.08.2016
Mitteilungen: 718
Aus: NRW
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2018-01-07 10:26


Hallo,
ich hatte in dem Artikel "Divisormatrizen" die Möglichkeit vorgestellt aus ungeraden Zahlen bestimmte Matrizen erzeugen. Cis hatte sich aufgemacht einen Latexcode zu schreiben der diese Matrizen automatisiert erstellt. Zur Präsentation ist das sehr schön, aber wenn man größere Matrizen dieser Art genauer untersuchen möchte ist das nicht so gut geeignet. Deshalb hat Slash die Idee gehabt, ob man nicht mit einem kleinen Programm so eine Grafik mit farbigen Pixeln generieren lässt. Vielleicht sogar so, dass man wirklich nur noch die Zahl eingibt und dass dann die komplette Matrixgrafik generiert wird...
Der Hintergrund dabei ist, diese Grafiken aufgrund ihrer Muster zu kategorisieren, sodass man dann vielleicht Rückschlüsse auf die zu betrachteten Zahlen ziehen kann.
Hat vielleicht jemand eine Idee dazu?  


-----------------
Gruß blindmessenger



Wahlurne Für blindmessenger bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 13949
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2018-01-07 15:17

\(\begingroup\)
Also wahrscheinlich sind die "Primzahl-Cossisten" hier umfassend informiert und wissen genau, was gesucht ist, was man braucht und worauf es rausläuft.

Ich, der ich vom Thema keine Ahnung habe und auch an den entsprechenden Diskussionen in diversen Primzahlthreads nicht teilgenommen habe, musste mir das erstmal alles zusammenreimen und schätze den Fall so ein (wie ich auch schon im Artikel "Divisormatrizen" kommentiert habe):

Es geht darum Matrizen des Typs
<math>

\usetikzlibrary{matrix}
% Muss auf dem MP angegeben werden!

%%%%%%%%%%%
% EINGABEN! %%%%%%
%%%%%%%%%%%%%
% 1. Lege den Divisior der Divisormatrix fest.
\pgfmathtruncatemacro{\Divisor}{5}        % Divisor  der Divisormatrix
%
\newcommand\Einleitungstext{%
M_{\text{di}}(\Divisor) = M_{\text{M}} \cdot \dfrac{1}{\Divisor} =
}%  wahlweise leer lassen / auskommentieren...

% 2a. Lege die Dimensionen der Divisormatrix fest.
\def\nMaxZeile{5}                         % Länge der Mersenne Folge in Zeilen
\def\nMaxSpalte{4}                 % Länge der Mersenne Folge in Spalten

% 2b.   Passe die Syntax für die spätere tikz-Matrix an.
\def\MatrixZeile{  \&  \&  \&  \\ }        % "nMaxSpalte minus 1"  \&-Zeichen setzen
\def\MatrixZeilen{%                        % "nMaxZeile" Stück eintragen
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
}%
%%%%%%%%%%%%%
%%%    fertig!    %%%%%
%%%%%%%%%%%%%
% 3. Passe evtl. noch       row sep = ****em,   column sep = ****em,
%     in der späteren tikz-Matrix optisch an.
%%%%%%%%%%%%%
%%%%%%%%%%%%%

\tikzmath{
% Berechnung der Folgenglieder
function Mersenne(\K, \N) {return int((2*\K-1)*2^\N-1);};
% Bestimmung des Reduzierten Bruches
function RedZaehler(\zaehler,\nenner) {return int(\zaehler/gcd(\zaehler,\nenner));};
function RedNenner(\zaehler,\nenner) {return int(\nenner/gcd(\zaehler,\nenner));};
% Bestimmung von Zähler und Nenner im MersenneBruch
function MersenneNenner(\K,\N,\divisor) {return int(RedNenner(Mersenne(\K,\N),\divisor));};
function MersenneZaehler(\K,\N,\divisor) {return int(RedZaehler(Mersenne(\K,\N),\divisor));};
}

% Farbige Ausgabe des reduzierten Mersenne Bruches
% \MersenneBruch{<k>}{<n>}
\newcommand\MersenneBruch[2]{%%%%%%%%%%%%%%%%%%
\pgfmathsetmacro{\Eins}{1}  % als Vergleichsoperator
% Zähler und Nenner des Mersenne-Bruches festlegen
\pgfmathtruncatemacro{\Nenner}{MersenneNenner(#1,#2,\Divisor)}%
\pgfmathtruncatemacro{\Zaehler}{MersenneZaehler(#1,#2,\Divisor)}%
%
\pgfmathsetmacro{\y}{0}
\foreach \Spalte in {1,...,\nMaxSpalte}{%
\pgfmathtruncatemacro{\MNenner}{MersenneNenner(#1,\Spalte,\Divisor)}%
\ifx  \MNenner\Eins%Prüfen,ob in 1,...,\nMaxSpalte eine 1 im Nenner
\global\let\y=\MNenner%  %\pgfmathsetmacro{\y}{\MNenner}
\else
\let\y=0%
\fi
}%
\ifx        \y\Eins%         %Wenn in 1,...,\nMaxSpalte eine 1 im Nenner...
\ifx \Nenner\Eins%
\textcolor{red}{\Zaehler}%
\else
$\frac{\Zaehler}{\Nenner}$%
\fi
\else
$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$%
\fi
}%%%%%%%%%%%%%%%%%%%%%%%%%
%Test:  \MersenneBruch{1}{1}, \MersenneBruch{1}{4}, \MersenneBruch{6}{1},\MersenneBruch{2}{1}


% Mersenne-Matrix setzen
$\Einleitungstext
\begin{matrix} % normale Matrix damit angepasst an Rest
\begin{tikzpicture}
\matrix (m) [                % tikz-Matrix
ampersand replacement=\&,
matrix of math nodes,
nodes in empty cells,
row sep = 1.125em,                % Zeilenabstand optisch anpassen!
column sep = 1.25em,        % Spaletenabstand optisch anpassen!
left delimiter  = (, right delimiter  = ), % Klammern
]
{%
\MatrixZeilen
};

% Matrixelemente hervorheben
% \nennerode[fill=red!50, minimum width = 1.5em, minimum height = 1.25em,
% rounded corners=1.5pt,
% align=right] at (m-1-3) {};

% Matrix füllen mit Zahlen
\foreach \k in {1,...,\nMaxZeile}
\foreach \n in {1,...,\nMaxSpalte}
\node[align=center] at (m-\k-\n) {\MersenneBruch{\k}{\n}};
% Test:
%\node[align=right, text=blue] at (m-2-1) {};
\end{tikzpicture}
\end{matrix}$

</math>
zu erstellen.


Um effektiv an dem Problem zu arbeiten, würde ich das so machen (<math>k,n,d</math> positiv, ganz):

· Man hat Mersenne-Zahlen: <math>M(n)=2^n - 1</math>.

· Dann hat man "Mersenne-Zahlen <math>k</math>-ter Stufe": <math>M(k,n) = (2k-1)\cdot 2^n - 1</math>
(ob das offiziell so genannt wird, weiß ich nicht, ist auch nicht so wichtig).

· Schließlich hat man "Mersenne-Brüche mit festem Divisor <math>d</math>":  
<math>M(k,n,d) = \dfrac{M(k,n)}{d} = \dfrac{Z(k,n,d)}{N(k,n,d)}</math>,
wobei die Brüche, d.h. Zähler und Nenner, voll gekürzt sind.

Wenn man das übersichtlich in einer Matrix zusammenfassen möchte, braucht man eine Textdatei, die folgende Informationen enthält
Z(1,1,d)/N(1,1,d), Z(1,2,d)/N(1,2,d), ... Z(1,*,d)/1
Z(2,1,d)/N(2,1,d), Z(2,2,d)/N(2,2,d), ... Z(2,*,d)/N(2,*,d)
..........
Z(d,1,d)/N(d,1,d), Z(d,2,d)/N(d,2,d), ... Z(d,*,d)/N(d,*,d)
'/' hier als Trennzeichen verwendet.

 - Die Anzahl der Spalten ist durch den Nenner N(1,*,d) = 1 festgelegt, für den der Mersenne-Bruch 1. Stufe erstmals ganzzahlig ausfällt.
 - Die Anzahl der Zeilen ist d.

Nun will man, zur späteren Hervorhebung, noch eine Eigenschaft (e), z.B. rot/schwarz/blau, also r/s/b. Der Mersenne-Bruch soll
 - rot gesetzt werden, wenn er Ganzzahl ist
 - schwarz gesetzt werden, wenn er in einer Zeile (Stufe) steht, die eine Ganzzahl enthält.
 - blau gesetzt werden "sonst", also wenn seine Zeile (Stufe) keine Ganzzahl enthält.


Was man also braucht ist eine Textdatei des Typs:
Z(1,1,d)/N(1,1,d)/s,    Z(1,2,d)/N(1,2,d)/s,    ...  Z(1,*,d)/1/r
Z(2,1,d)/N(2,1,d)/e21,  Z(2,2,d)/N(2,2,d)/e22,  ...  Z(2,*,d)/N(2,*,d)/e2*
..........
Z(d,1,d)/N(d,1,d)/e_d1, Z(d,2,d)/N(d,2,d)/e_d2, ...  Z(d,*,d)/N(2,*,d)/e_d*
'/' hier als Trennzeichen verwendet.



Für das einfache Beispiel
<math>

\usetikzlibrary{matrix}
% Muss auf dem MP angegeben werden!

%%%%%%%%%%%
% EINGABEN! %%%%%%
%%%%%%%%%%%%%
% 1. Lege den Divisior der Divisormatrix fest.
\pgfmathtruncatemacro{\Divisor}{5}        % Divisor  der Divisormatrix
%
\newcommand\Einleitungstext{%
M_{\text{di}}(\Divisor) = M_{\text{M}} \cdot \dfrac{1}{\Divisor} =
}%  wahlweise leer lassen / auskommentieren...

% 2a. Lege die Dimensionen der Divisormatrix fest.
\def\nMaxZeile{5}                         % Länge der Mersenne Folge in Zeilen
\def\nMaxSpalte{4}                 % Länge der Mersenne Folge in Spalten

% 2b.   Passe die Syntax für die spätere tikz-Matrix an.
\def\MatrixZeile{  \&  \&  \&  \\ }        % "nMaxSpalte minus 1"  \&-Zeichen setzen
\def\MatrixZeilen{%                        % "nMaxZeile" Stück eintragen
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
}%
%%%%%%%%%%%%%
%%%    fertig!    %%%%%
%%%%%%%%%%%%%
% 3. Passe evtl. noch       row sep = ****em,   column sep = ****em,
%     in der späteren tikz-Matrix optisch an.
%%%%%%%%%%%%%
%%%%%%%%%%%%%

\tikzmath{
% Berechnung der Folgenglieder
function Mersenne(\K, \N) {return int((2*\K-1)*2^\N-1);};
% Bestimmung des Reduzierten Bruches
function RedZaehler(\zaehler,\nenner) {return int(\zaehler/gcd(\zaehler,\nenner));};
function RedNenner(\zaehler,\nenner) {return int(\nenner/gcd(\zaehler,\nenner));};
% Bestimmung von Zähler und Nenner im MersenneBruch
function MersenneNenner(\K,\N,\divisor) {return int(RedNenner(Mersenne(\K,\N),\divisor));};
function MersenneZaehler(\K,\N,\divisor) {return int(RedZaehler(Mersenne(\K,\N),\divisor));};
}

% Farbige Ausgabe des reduzierten Mersenne Bruches
% \MersenneBruch{<k>}{<n>}
\newcommand\MersenneBruch[2]{%%%%%%%%%%%%%%%%%%
\pgfmathsetmacro{\Eins}{1}  % als Vergleichsoperator
% Zähler und Nenner des Mersenne-Bruches festlegen
\pgfmathtruncatemacro{\Nenner}{MersenneNenner(#1,#2,\Divisor)}%
\pgfmathtruncatemacro{\Zaehler}{MersenneZaehler(#1,#2,\Divisor)}%
%
\pgfmathsetmacro{\y}{0}
\foreach \Spalte in {1,...,\nMaxSpalte}{%
\pgfmathtruncatemacro{\MNenner}{MersenneNenner(#1,\Spalte,\Divisor)}%
\ifx  \MNenner\Eins%Prüfen,ob in 1,...,\nMaxSpalte eine 1 im Nenner
\global\let\y=\MNenner%  %\pgfmathsetmacro{\y}{\MNenner}
\else
\let\y=0%
\fi
}%
\ifx        \y\Eins%         %Wenn in 1,...,\nMaxSpalte eine 1 im Nenner...
\ifx \Nenner\Eins%
\textcolor{red}{\Zaehler}%
\else
$\frac{\Zaehler}{\Nenner}$%
\fi
\else
$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$%
\fi
}%%%%%%%%%%%%%%%%%%%%%%%%%
%Test:  \MersenneBruch{1}{1}, \MersenneBruch{1}{4}, \MersenneBruch{6}{1},\MersenneBruch{2}{1}


% Mersenne-Matrix setzen
$\Einleitungstext
\begin{matrix} % normale Matrix damit angepasst an Rest
\begin{tikzpicture}
\matrix (m) [                % tikz-Matrix
ampersand replacement=\&,
matrix of math nodes,
nodes in empty cells,
row sep = 1.125em,                % Zeilenabstand optisch anpassen!
column sep = 1.25em,        % Spaletenabstand optisch anpassen!
left delimiter  = (, right delimiter  = ), % Klammern
]
{%
\MatrixZeilen
};

% Matrixelemente hervorheben
% \nennerode[fill=red!50, minimum width = 1.5em, minimum height = 1.25em,
% rounded corners=1.5pt,
% align=right] at (m-1-3) {};

% Matrix füllen mit Zahlen
\foreach \k in {1,...,\nMaxZeile}
\foreach \n in {1,...,\nMaxSpalte}
\node[align=center] at (m-\k-\n) {\MersenneBruch{\k}{\n}};
% Test:
%\node[align=right, text=blue] at (m-2-1) {};
\end{tikzpicture}
\end{matrix}$

</math>

sähe das dann so aus:
1/5/s,  3/5/s,  7/5/s,  3/1/r
1/1/r,  11/5/s, 23/5/s, 47/5,s
9/5/b,  19/5/b, 39/5/b, 79/5/b
13/5/s, 27/5/s, 11/1/r, 111/5/s
17/5/s, 7/1/s,  71/5/s, 143/5/s
'/' als Trennzeichen verwendet


Und so eine Textdatei sollte man am besten mit sowas wie Mathematica
erstellen.

Hat man erstmal so eine Textdatei, lässt sich auch die visuelle Verarbeitung leicht mit LaTeX, tikz/pgf umsetzen.
Nur ist es ungünstig, die Berechnungen mit LaTeX selbst vorzunehmen, da TeX bald an seine Grenzen der Berechenbarkeit stoßen wird.





-----------------
Wenn man alles ausgeschaltet hat, was unmöglich ist, bleibt am Ende etwas übrig, das die Wahrheit enthalten muß - mag es auch noch so unwahrscheinlich sein...
(Sherlock Holmes)
·
\(\endgroup\)


Wahlurne Für cis bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
blindmessenger
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 02.08.2016
Mitteilungen: 718
Aus: NRW
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, vom Themenstarter, eingetragen 2018-01-07 16:06

\(\begingroup\)
Mit Mathematica kenne ich mich nicht aus... Ich weiß nur, dass wenn wir uns Matrizen bis 1000x1000 anschauen wollen, dann haben wir ja im schlimmsten Fall Zahlen der Größe

$1999 \cdot 2^{999}-1$

Wenn man solche Zahlen teilen will dann brauchen wir glaube ich die diskrete Exponentialfunktion...


-----------------
Gruß blindmessenger
\(\endgroup\)


Wahlurne Für blindmessenger bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
matph
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 20.11.2006
Mitteilungen: 5306
Aus: A
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2018-01-07 17:12

\(\begingroup\)
Hallo,

Falls du an den Grafiken interessiert bist, schreibe etwas der folgenden Form smile
Tcl
if {$::argc!=1} {
  puts stderr "$::argv0 int"
  exit 1}
 
package require Tk
 
set size 200
set num [lindex $::argv 0]
pack [canvas .c -width [expr {$size*2}] -height [expr {$size*2}] -bg white]
 
for {set i 1} {$i<=$size} {incr i} {
  for {set j 1} {$j<=$size} {incr j} {
    if {!(((2*$j-1)*2**$i-1)%$num)} {
      set cx [expr {$i*2}]
      set cy [expr {$j*2}]
      .c create rectangle $cx $cy $cx $cy -fill #000000}}}

--
mfg
matph


-----------------
Wir müssen wissen, wir werden wissen. Hilbert
Das Buch der Natur ist in der Sprache der Mathematik geschrieben. Galilei
\(\endgroup\)


Wahlurne Für matph bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
blindmessenger
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 02.08.2016
Mitteilungen: 718
Aus: NRW
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2018-01-07 17:36


Ja danke... Muss ich mir mal ansehen...


-----------------
Gruß blindmessenger



Wahlurne Für blindmessenger bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 13949
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, eingetragen 2018-01-07 17:46

\(\begingroup\)
"Tcl". Wer benutzt denn sowas?  smile

2018-01-07 17:12 - matph in Beitrag No. 3 schreibt:
Falls du an den Grafiken interessiert bist...

Das war in #1 eher exemplarisch zu verstehen. Bei der d-Divisormatix wird man für z.B. d ~ 1000 vermutlich keine Brüchlein mehr ausgeben, sondern Pixelgraphiken.

Daher halte ich es für den Kern des Ganzen, einen geeigneten Datensatz als txt-Datei zu erstellen.
Wie man das dann veranschaulicht, ist dann eine (trivale) Ergänzungsaufgabe.

_________________

<math>

% Muss auf dem MP angegeben werden!
\usetikzlibrary{matrix}

$M(k,n) = (2k-1)\cdot 2^n - 1 \text{ mit } k,n \in \mathbb{N}_{> 0}$ \\


%%%%%%%%%%%%%
% EINGABEN! %%%%%%
%%%%%%%%%%%%%
% 1. Lege den Divisior der Divisormatrix fest.
\pgfmathtruncatemacro{\Divisor}{5}        % Divisor  der Divisormatrix
%
\newcommand\Einleitungstext{%
M_{\text{di}}(\Divisor) = M_{\text{M}} \cdot \dfrac{1}{\Divisor} =
}%  wahlweise leer lassen / auskommentieren...

% 2a. Lege die Dimensionen der Divisormatrix fest.
\def\nMaxZeile{5}                         % Länge der Mersenne Folge in Zeilen
\def\nMaxSpalte{4}                 % Länge der Mersenne Folge in Spalten

% 2b.   Passe die Syntax für die spätere tikz-Matrix an.
\def\MatrixZeile{  \&  \&  \& \\ }        % "nMaxSpalte minus 1"  \&-Zeichen setzen
\def\MatrixZeilen{%                        % "nMaxZeile" Stück eintragen
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
}%
%%%%%%%%%%%%%
%%%    fertig!    %%%%%
%%%%%%%%%%%%%
% 3. Ausgabe festlegen
\tikzset{
MyStyle/.style={rectangle, rounded corners=1pt},%draw
MySize/.style={ rounded corners =1pt,
minimum width=2.5em,
minimum height=1.75em,}
}
\newcommand\GANZZAHL{%
%$\textcolor{red}{\Zaehler}$
% oder
\tikz[] \node[MyStyle, fill=red]{};
% oder beides
%\tikz[] \node[MyStyle, MySize, fill=red!30]{$\textcolor{red}{\Zaehler}$};
}
%
\newcommand\BRUCHNORMAL{%
%$\frac{\Zaehler}{\Nenner}$
% oder
\tikz[] \node[MyStyle, fill]{};
% oder beides
%\tikz[] \node[MyStyle, MySize, fill=lightgray]{$\frac{\Zaehler}{\Nenner}$};
}
%
\newcommand\BRUCHBLAU{%
%$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$
% oder
\tikz[] \node[MyStyle, fill=blue]{};
% oder beides
%\tikz[] \node[MyStyle, MySize, fill=blue!30]{$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$};
}
% 4. Evtl.  Zeilen- und Spaltenabstand nach Augenmaß anpassen
\def\RowSep{.5em}
\def\ColumnSep{.5em}
%%%%%%%%%%%%%
%%%%%%%%%%%%%



\tikzmath{
% Berechnung der Folgenglieder
function Mersenne(\K, \N) {return int((2*\K-1)*2^\N-1);};
% Bestimmung des Reduzierten Bruches
function RedZaehler(\zaehler,\nenner) {return int(\zaehler/gcd(\zaehler,\nenner));};
function RedNenner(\zaehler,\nenner) {return int(\nenner/gcd(\zaehler,\nenner));};
% Bestimmung von Zähler und Nenner im MersenneBruch
function MersenneNenner(\K,\N,\divisor) {return int(RedNenner(Mersenne(\K,\N),\divisor) );};
function MersenneZaehler(\K,\N,\divisor) {return int(RedZaehler(Mersenne(\K,\N),\divisor) );};
}

% Farbige Ausgabe des reduzierten Mersenne Bruches
% \MersenneBruch{<k>}{<n>}
\newcommand\MersenneBruch[2]{%%%%%%%%%%%%%%%%%%
\begingroup
\pgfmathsetmacro{\Eins}{1}  % als Vergleichsoperator
% Zähler und Nenner des Mersenne-Bruches festlegen
\pgfmathtruncatemacro{\Nenner}{MersenneNenner(#1,#2,\Divisor)}%
\pgfmathtruncatemacro{\Zaehler}{MersenneZaehler(#1,#2,\Divisor)}%
%
\pgfmathsetmacro{\y}{0}
\foreach \Spalte in {1,...,\nMaxSpalte}{%
\pgfmathtruncatemacro{\MNenner}{MersenneNenner(#1,\Spalte,\Divisor)}%
\ifx  \MNenner\Eins%Prüfen,ob in 1,...,\nMaxSpalte eine 1 im Nenner
\global\let\y=\MNenner%  %\pgfmathsetmacro{\y}{\MNenner}
\else
\let\y=0%
\fi
}%
\ifx        \y\Eins%         %Wenn in 1,...,\nMaxSpalte eine 1 im Nenner...
\ifx \Nenner\Eins%
\GANZZAHL%
\else
\BRUCHNORMAL%
\fi
\else
\BRUCHBLAU%
\fi
\endgroup
}%%%%%%%%%%%%%%%%%%%%%%%%%
%Test:  \MersenneBruch{1}{1}, \MersenneBruch{1}{4}, \MersenneBruch{6}{1},\MersenneBruch{2}{1}


% Mersenne-Matrix setzen
$\Einleitungstext
\begin{matrix} % normale Matrix damit angepasst an Rest
\begin{tikzpicture}
\matrix (m) [                % tikz-Matrix
ampersand replacement=\&,
matrix of math nodes,
nodes in empty cells,
row sep = \RowSep,                % Zeilenabstand optisch anpassen!
column sep = \ColumnSep,        % Spaletenabstand optisch anpassen!
%left delimiter  = (, right delimiter  = ), % Klammern
]
{%
\MatrixZeilen
};

% Matrixelemente hervorheben
% \nennerode[fill=red!50, minimum width = 1.5em, minimum height = 1.25em,
% rounded corners=1.5pt,
% align=right] at (m-1-3) {};

% Matrix füllen mit Zahlen
\foreach \k in {1,...,\nMaxZeile}
\foreach \n in {1,...,\nMaxSpalte}
\node[align=center] at (m-\k-\n) {\MersenneBruch{\k}{\n}};
% Test:
%\node[align=right, text=blue] at (m-2-1) {};

\end{tikzpicture}
\end{matrix}$


</math>

oder beides

<math>

% Muss auf dem MP angegeben werden!
\usetikzlibrary{matrix}

%$M(k,n) = (2k-1)\cdot 2^n - 1 \text{ mit } k,n \in \mathbb{N}_{> 0}$ \\


%%%%%%%%%%%%%
% EINGABEN! %%%%%%
%%%%%%%%%%%%%
% 1. Lege den Divisior der Divisormatrix fest.
\pgfmathtruncatemacro{\Divisor}{5}        % Divisor  der Divisormatrix
%
\newcommand\Einleitungstext{%
M_{\text{di}}(\Divisor) = M_{\text{M}} \cdot \dfrac{1}{\Divisor} =
}%  wahlweise leer lassen / auskommentieren...

% 2a. Lege die Dimensionen der Divisormatrix fest.
\def\nMaxZeile{5}                         % Länge der Mersenne Folge in Zeilen
\def\nMaxSpalte{4}                 % Länge der Mersenne Folge in Spalten

% 2b.   Passe die Syntax für die spätere tikz-Matrix an.
\def\MatrixZeile{  \&  \&  \& \\ }        % "nMaxSpalte minus 1"  \&-Zeichen setzen
\def\MatrixZeilen{%                        % "nMaxZeile" Stück eintragen
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
}%
%%%%%%%%%%%%%
%%%    fertig!    %%%%%
%%%%%%%%%%%%%
% 3. Ausgabe festlegen
\tikzset{
MyStyle/.style={rectangle,},%draw
MySize/.style={ rounded corners =2pt,
minimum width=2.5em,
minimum height=1.75em,}
}
\newcommand\GANZZAHL{%
%$\textcolor{red}{\Zaehler}$
% oder
%\tikz[] \node[MyStyle, fill=red]{};
% oder beides
\tikz[] \node[MyStyle, MySize, fill=red!30]{$\textcolor{red}{\Zaehler}$};
}
%
\newcommand\BRUCHNORMAL{%
%$\frac{\Zaehler}{\Nenner}$
% oder
%\tikz[] \node[MyStyle, fill]{};
% oder beides
\tikz[] \node[MyStyle, MySize, fill=lightgray]{$\frac{\Zaehler}{\Nenner}$};
}
%
\newcommand\BRUCHBLAU{%
%$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$
% oder
%\tikz[] \node[MyStyle, fill=blue]{};
% oder beides
\tikz[] \node[MyStyle, MySize, fill=blue!30]{$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$};
}
% 4. Evtl.  Zeilen- und Spaltenabstand nach Augenmaß anpassen
\def\RowSep{1.5em}
\def\ColumnSep{2.5em}
%%%%%%%%%%%%%
%%%%%%%%%%%%%



\tikzmath{
% Berechnung der Folgenglieder
function Mersenne(\K, \N) {return int((2*\K-1)*2^\N-1);};
% Bestimmung des Reduzierten Bruches
function RedZaehler(\zaehler,\nenner) {return int(\zaehler/gcd(\zaehler,\nenner));};
function RedNenner(\zaehler,\nenner) {return int(\nenner/gcd(\zaehler,\nenner));};
% Bestimmung von Zähler und Nenner im MersenneBruch
function MersenneNenner(\K,\N,\divisor) {return int(RedNenner(Mersenne(\K,\N),\divisor) );};
function MersenneZaehler(\K,\N,\divisor) {return int(RedZaehler(Mersenne(\K,\N),\divisor) );};
}

% Farbige Ausgabe des reduzierten Mersenne Bruches
% \MersenneBruch{<k>}{<n>}
\newcommand\MersenneBruch[2]{%%%%%%%%%%%%%%%%%%
\begingroup
\pgfmathsetmacro{\Eins}{1}  % als Vergleichsoperator
% Zähler und Nenner des Mersenne-Bruches festlegen
\pgfmathtruncatemacro{\Nenner}{MersenneNenner(#1,#2,\Divisor)}%
\pgfmathtruncatemacro{\Zaehler}{MersenneZaehler(#1,#2,\Divisor)}%
%
\pgfmathsetmacro{\y}{0}
\foreach \Spalte in {1,...,\nMaxSpalte}{%
\pgfmathtruncatemacro{\MNenner}{MersenneNenner(#1,\Spalte,\Divisor)}%
\ifx  \MNenner\Eins%Prüfen,ob in 1,...,\nMaxSpalte eine 1 im Nenner
\global\let\y=\MNenner%  %\pgfmathsetmacro{\y}{\MNenner}
\else
\let\y=0%
\fi
}%
\ifx        \y\Eins%         %Wenn in 1,...,\nMaxSpalte eine 1 im Nenner...
\ifx \Nenner\Eins%
\GANZZAHL%
\else
\BRUCHNORMAL%
\fi
\else
\BRUCHBLAU%
\fi
\endgroup
}%%%%%%%%%%%%%%%%%%%%%%%%%
%Test:  \MersenneBruch{1}{1}, \MersenneBruch{1}{4}, \MersenneBruch{6}{1},\MersenneBruch{2}{1}


% Mersenne-Matrix setzen
$\Einleitungstext
\begin{matrix} % normale Matrix damit angepasst an Rest
\begin{tikzpicture}
\matrix (m) [                % tikz-Matrix
ampersand replacement=\&,
matrix of math nodes,
nodes in empty cells,
row sep = \RowSep,                % Zeilenabstand optisch anpassen!
column sep = \ColumnSep,        % Spaletenabstand optisch anpassen!
%left delimiter  = (, right delimiter  = ), % Klammern
]
{%
\MatrixZeilen
};

% Matrixelemente hervorheben
% \nennerode[fill=red!50, minimum width = 1.5em, minimum height = 1.25em,
% rounded corners=1.5pt,
% align=right] at (m-1-3) {};

% Matrix füllen mit Zahlen
\foreach \k in {1,...,\nMaxZeile}
\foreach \n in {1,...,\nMaxSpalte}
\node[align=center] at (m-\k-\n) {\MersenneBruch{\k}{\n}};
% Test:
%\node[align=right, text=blue] at (m-2-1) {};

\end{tikzpicture}
\end{matrix}$


</math>




[Die Antwort wurde nach Beitrag No.3 begonnen.]
\(\endgroup\)


Wahlurne Für cis bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 26137
Aus: Hessen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, eingetragen 2018-01-07 20:08


Das Bild habe ich auch im Artikel gepostet:



Leider habe ich es noch nicht geschafft, GMP in mein Borland C++ zu integrieren. Deshalb rechne ich nur mit einer eigenen Bruch-Klasse (64-bit Integer), und die ist bei diesen Potenzen schnell überfordert. Auch dieses Bild ist manuell aufgefüllt; eigentlich ist noch nicht mal der 2. Spaltenblock ganz gefüllt.


-----------------
Bild



Wahlurne Für viertel bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
blindmessenger
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 02.08.2016
Mitteilungen: 718
Aus: NRW
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, vom Themenstarter, eingetragen 2018-01-07 20:44


Ja, sehr cool! So sieht man gleich viel mehr...


-----------------
Gruß blindmessenger



Wahlurne Für blindmessenger bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 13949
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.8, eingetragen 2018-01-07 21:32


Müsste man nicht Divisor-Matrizen verschiedener Divisoren gegenüberstellen?



Wahlurne Für cis bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
blindmessenger
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 02.08.2016
Mitteilungen: 718
Aus: NRW
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.9, vom Themenstarter, eingetragen 2018-01-07 21:39


Ja genau... Letztendlich kann man die untereinander verglichen um Gemeinsamkeiten und Unterschiede herauszuarbeiten... Das ist aber wohl ein langwieriger Prozess... Dafür bräuchte man eine Datenbank.

Dann müsste man auch erstmal Merkmale herausarbeiten. Z.B. gibt es weitaus weniger Divisormatrizen mit einer ungeraden Anzahl an Spalten. Der "Rang" von Primzahlen könnte vermerkt werden (Berechnet sich aus dem Verhältnis der Anzahl von Reihen und Spalten...)

Die Ganzzahlmuster müssten kategorisiert werden. Und auch das Muster der Anordnung der blauen Reihen in denen keine ganze Zahlen auftreten könnte kategorisiert werden.

Man könnte Kurven durch die ganzen Zahlen legen, weil ja in jeder Spalte nur maximal eine ganze Zahl auftreten kann.

Und man könnte schauen ob sich für bestimmte Primzahlränge noch mehr Gemeinsamkeiten herausarbeiten lassen.


-----------------
Gruß blindmessenger



Wahlurne Für blindmessenger bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 13949
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.10, eingetragen 2018-01-08 13:14

\(\begingroup\)
Viertel #6 hatte möglicherweise das gleiche Problem wie ich. Die Unterscheidung Bruch/Ganzzahl war noch leicht. Aber die Unterscheidung Zeile mit Ganzzahl gegenüber Zeilen mit nur Brüchen machte das Ganze recht aufwendig.

Also mit normalem tikzmath kann ich maximal n=8 Spalten herstellen.  smile

<math>

% Muss auf dem MP angegeben werden!
\usetikzlibrary{matrix}



%$M(k,n) = (2k-1)\cdot 2^n - 1 \text{ mit } k,n \in \mathbb{N}_{> 0}$ \\


%%%%%%%%%%%%%
% EINGABEN! %%%%%%
%%%%%%%%%%%%%
% 1. Lege den Divisior der Divisormatrix fest.
\pgfmathtruncatemacro{\Divisor}{17}        % Divisor  der Divisormatrix
%
\newcommand\Einleitungstext{%
M_{\text{di}}(\Divisor) = M_{\text{M}} \cdot \dfrac{1}{\Divisor} =\\
}%  wahlweise leer lassen / auskommentieren...

% 2a. Lege die Dimensionen der Divisormatrix fest.
\def\nMaxZeile{17}                         % Länge der Mersenne Folge in Zeilen
\def\nMaxSpalte{8}                 % Länge der Mersenne Folge in Spalten

% 2b.   Passe die Syntax für die spätere tikz-Matrix an.
\def\MatrixZeile{  \&  \&  \&  \& \&  \& \&  \\ }        % "nMaxSpalte minus 1"  \&-Zeichen setzen
\def\MatrixZeilen{%                        % "nMaxZeile" Stück eintragen
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
}%
%%%%%%%%%%%%%
%%%    fertig!    %%%%%
%%%%%%%%%%%%%
% 3. Ausgabe festlegen
\tikzset{
MyStyle/.style={rectangle,},%draw
MySize/.style={ rounded corners =2pt,
minimum width=2.5em,
minimum height=1.75em,}
}
\newcommand\GANZZAHL{%
%$\textcolor{red}{\Zaehler}$
% oder
\tikz[] \node[MyStyle, fill=red]{};
% oder beides
%\tikz[] \node[MyStyle, MySize, fill=red!30]{$\textcolor{red}{\Zaehler}$};
}
%
\newcommand\BRUCHNORMAL{%
%$\frac{\Zaehler}{\Nenner}$
% oder
\tikz[] \node[MyStyle, fill]{};
% oder beides
%\tikz[] \node[MyStyle, MySize, fill=lightgray]{$\frac{\Zaehler}{\Nenner}$};
}
%
\newcommand\BRUCHBLAU{%
%$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$
% oder
\tikz[] \node[MyStyle, fill=blue]{};
% oder beides
%\tikz[] \node[MyStyle, MySize, fill=blue!30]{$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$};
}
% 4. Evtl.  Zeilen- und Spaltenabstand nach Augenmaß anpassen
\def\RowSep{.5em}
\def\ColumnSep{.5em}
%%%%%%%%%%%%%
%%%%%%%%%%%%%



\tikzmath{
% Berechnung der Folgenglieder
function Mersenne(\K, \N) {return int((2*\K-1)*2^\N-1);};
% Bestimmung des Reduzierten Bruches
function RedZaehler(\zaehler,\nenner) {return int(\zaehler/gcd(\zaehler,\nenner));};
function RedNenner(\zaehler,\nenner) {return int(\nenner/gcd(\zaehler,\nenner));};
% Bestimmung von Zähler und Nenner im MersenneBruch
function MersenneNenner(\K,\N,\divisor) {return int(RedNenner(Mersenne(\K,\N),\divisor) );};
function MersenneZaehler(\K,\N,\divisor) {return int(RedZaehler(Mersenne(\K,\N),\divisor) );};
}

% Farbige Ausgabe des reduzierten Mersenne Bruches
% \MersenneBruch{<k>}{<n>}
\newcommand\MersenneBruch[2]{%%%%%%%%%%%%%%%%%%
\begingroup
\pgfmathsetmacro{\Eins}{1}  % als Vergleichsoperator
% Zähler und Nenner des Mersenne-Bruches festlegen
\pgfmathtruncatemacro{\Nenner}{MersenneNenner(#1,#2,\Divisor)}%
\pgfmathtruncatemacro{\Zaehler}{MersenneZaehler(#1,#2,\Divisor)}%
%
\pgfmathsetmacro{\y}{0}
\foreach \Spalte in {1,...,\nMaxSpalte}{%
\pgfmathtruncatemacro{\MNenner}{MersenneNenner(#1,\Spalte,\Divisor)}%
\ifx  \MNenner\Eins%Prüfen,ob in 1,...,\nMaxSpalte eine 1 im Nenner
\global\let\y=\MNenner%  %\pgfmathsetmacro{\y}{\MNenner}
\else
\let\y=0%
\fi
}%
\ifx        \y\Eins%         %Wenn in 1,...,\nMaxSpalte eine 1 im Nenner...
\ifx \Nenner\Eins%
\GANZZAHL%
\else
\BRUCHNORMAL%
\fi
\else
\BRUCHBLAU%
\fi
\endgroup
}%%%%%%%%%%%%%%%%%%%%%%%%%
%Test:  \MersenneBruch{1}{1}, \MersenneBruch{1}{4}, \MersenneBruch{6}{1},\MersenneBruch{2}{1}


% Mersenne-Matrix setzen
$\Einleitungstext
\begin{matrix} % normale Matrix damit angepasst an Rest
\begin{tikzpicture}
\matrix (m) [                % tikz-Matrix
ampersand replacement=\&,
matrix of math nodes,
nodes in empty cells,
row sep = \RowSep,                % Zeilenabstand optisch anpassen!
column sep = \ColumnSep,        % Spaletenabstand optisch anpassen!
%left delimiter  = (, right delimiter  = ), % Klammern
]
{%
\MatrixZeilen
};

% Matrixelemente hervorheben
% \nennerode[fill=red!50, minimum width = 1.5em, minimum height = 1.25em,
% rounded corners=1.5pt,
% align=right] at (m-1-3) {};

% Matrix füllen mit Zahlen
\foreach \k in {1,...,\nMaxZeile}
\foreach \n in {1,...,\nMaxSpalte}
\node[align=center] at (m-\k-\n) {\MersenneBruch{\k}{\n}};
% Test:
%\node[align=right, text=blue] at (m-2-1) {};

\end{tikzpicture}
\end{matrix}$

</math>
\(\endgroup\)


Wahlurne Für cis bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
juergen007
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 17.08.2006
Mitteilungen: 2177
Aus: Braunschweig
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.11, eingetragen 2018-01-08 16:23

\(\begingroup\)
Sry das ist jetzt doppelt, weil ich es erst als Kommentar zu dem artikel "Divisormatrizen" schrieb passt aber besser hierhin.

Zum Begriff Divisormatrizen, den blindmessenger wohl einführte auch vor seinem Artikel hier.
Also solche "Divisormatrizen" wie in LinkPrimitivwurzeln; sind hier wohl nicht gemeint, oder.

Diese habe ich aus der Latexversion von blindmessenger´s Artikel
extrahiert und etwas umgewandelt, z.B.: color statt textcolor mit editor, so dass die MP-fähig wurden.
So können sie auch breiter als 9 werden. Wir haben dummerweise jetzt eine doppelte Bedeutung von "Divisormatrizen".
Ich meine diese für p =23.
Was die Schwarz-, Grün- und Rot-Markierungen ja beispielhaft für 23 klärt in LinkPrimitivwurzeln Siehe Matrix unten.
Die Bildungsformel ist dort $(2i-1)*2^j,\quad (i,j\in \mathbb N^*, j=1..11, i=1..23 )$

Wie Tabellenbreite und Höhe zusammenhängen ist an sich für alle p oder Pseudoprime der Basis 2 (fast ;)) geklärt. (Rang!)

Wenn man diese "alten" "Divisormatrizen" z.B. modulo 23 betrachtet, wird vieles klarer und ändert nichts an den Farben.
Ich bin grad dabei, so was wie "Coloured Modulo Tabellen" - Erzeugung in PHP für alle p etwa bis 127 zu schreiben. Auch für einige Pseudoprimes. Vielleicht geht das besser in Tcl, wovon ich keine Ahnung habe.
Die gesuchten $2^j$ werden natürlich schnell gross
Denn selbst für kleine n = 0..32 (etwa) wird das kleinste j > 0, so dass \(2n+1 \mid 2^{j-1}\) , schnell sehr groß , über $2^{60}$.
Das geht aber mit biginteger bzw. GMP zu machen.
Siehe Reihe A002326
Oder man erzeugt solche Textzeilen wie cis.
Nochmal die alte Divisormatrix für 23: Besser nennen wir die Primzahlentabelle mit Untergruppen (schwarz) und Restklassen (grün).

\[\begin{pmatrix}
2&4&8&16&32&64&128&256&512&1024&\color{red}{2048}\\
6&12&\color{red}{24}&48&96&192&384&768&1536&3072&6144\\
\color{green}{10}&\color{green}{20}&\color{green}{40}&\color{green}{80}&\color{green}{160}&\color{green}{320}&\color{green}{640}&\color{green}{1280}&\color{green}{2560}&\color{green}{5120}&\color{green}{10240}\\
\color{green}{14}&\color{green}{28}&\color{green}{56}&\color{green}{112}&\color{green}{224}&\color{green}{448}&\color{green}{896}&\color{green}{1792}&\color{green}{3584}&\color{green}{7168}&\color{green}{14336}\\
18&36&72&144&288&\color{red}{576}&1152&2304&4608&9216&18432\\
\color{green}{22}&\color{green}{44}&\color{green}{88}&\color{green}{176}&\color{green}{352}&\color{green}{704}&\color{green}{1408}&\color{green}{2816}&\color{green}{5632}&\color{green}{11264}&\color{green}{22528}\\
26&52&104&\color{red}{208}&416&832&1664&3328&6656&13312&26624\\
\color{green}{30}&\color{green}{60}&\color{green}{120}&\color{green}{240}&\color{green}{480}&\color{green}{960}&\color{green}{1920}&\color{green}{3840}&\color{green}{7680}&\color{green}{15360}&\color{green}{30720}\\
\color{green}{34}&\color{green}{68}&\color{green}{136}&\color{green}{272}&\color{green}{544}&\color{green}{1088}&\color{green}{2176}&\color{green}{4352}&\color{green}{8704}&\color{green}{17408}&\color{green}{34816}\\
\color{green}{38}&\color{green}{76}&\color{green}{152}&\color{green}{304}&\color{green}{608}&\color{green}{1216}&\color{green}{2432}&\color{green}{4864}&\color{green}{9728}&\color{green}{19456}&\color{green}{38912}\\
\color{green}{42}&\color{green}{84}&\color{green}{168}&\color{green}{336}&\color{green}{672}&\color{green}{1344}&\color{green}{2688}&\color{green}{5376}&\color{green}{10752}&\color{green}{21504}&\color{green}{43008}\\
\color{green}{46}&\color{green}{92}&\color{green}{184}&\color{green}{368}&\color{green}{736}&\color{green}{1472}&\color{green}{2944}&\color{green}{5888}&\color{green}{11776}&\color{green}{23552}&\color{green}{47104}\\
50&100&200&400&800&1600&3200&6400&12800&\color{red}{25600}&51200\\
54&108&216&432&864&1728&3456&6912&\color{red}{13824}&27648&55296\\
58&\color{red}{116}&232&464&928&1856&3712&7424&14848&29696&59392\\
62&124&248&496&992&1984&3968&\color{red}{7936}&15872&31744&63488\\
\color{green}{66}&\color{green}{132}&\color{green}{264}&\color{green}{528}&\color{green}{1056}&\color{green}{2112}&\color{green}{4224}&\color{green}{8448}&\color{green}{16896}&\color{green}{33792}&\color{green}{76584}\\
\color{red}{70}&140&280&560&1120&2240&4480&8960&17920&35840&71680\\
\color{green}{74}&\color{green}{145}&\color{green}{296}&\color{green}{592}&\color{green}{1184}&\color{green}{2368}&\color{green}{4736}&\color{green}{9472}&\color{green}{18944}&\color{green}{37888}&\color{green}{75776}\\
78&156&312&624&1248&2496&\color{red}{4992}&9984&19968&39936&79872\\
82&164&328&656&\color{red}{1312}&2624&5248&10496&20992&41984&83968\\
\color{green}{86}&\color{green}{172}&\color{green}{344}&\color{green}{688}&\color{green}{1376}&\color{green}{2752}&\color{green}{5504}&\color{green}{11008}&\color{green}{22016}&\color{green}{44032}&\color{green}{88064}\\
\color{green}{90}&\color{green}{180}&\color{green}{360}&\color{green}{720}&\color{green}{1440}&\color{green}{2880}&\color{green}{5760}&\color{green}{11520}&\color{green}{23040}&\color{green}{46080}&\color{green}{ 92160}\\
\end{pmatrix}
\]



\(\endgroup\)


Wahlurne Für juergen007 bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
juergen007
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 17.08.2006
Mitteilungen: 2177
Aus: Braunschweig
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.12, eingetragen 2018-01-09 15:49


Tach,
@ viertel
Kannst du den C++ Code fuer deine obigen Kommentar  edit.php?what=comments&keyval=16397§ion=comment&key2=1816

freigeben?
Ich verstehe nicht, was jedes blaue Pixel-Kästchen bedeutet..
DANKE!
(Sry das ist jetz der edit-link ich fand nicht den direkten.)





Wahlurne Für juergen007 bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 26137
Aus: Hessen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.13, eingetragen 2018-01-09 17:56


2018-01-09 15:49 - juergen007 in Beitrag No. 12 schreibt:
@ viertel
Kannst du den C++ Code fuer deine obigen Kommentar  edit.php?what=comments&keyval=16397§ion=comment&key2=1816
freigeben?
Könnte ich, dürfte aber nix bringen, da C++ Builder mit VCL.

juergen007 schreibt:
Ich verstehe nicht, was jedes blaue Pixel-Kästchen bedeutet..
Kann ich verstehen, daß du das nicht verstehst biggrin
Ich habe schlichtweg die Farben verwechselt. Blau müßte nach cis' Farbschema eigentlich schwarz sein (Brüche in Zeilen mit ganzer Zahl), und Zeilen ohne ganze Zahl (deren es aber in meinem Bild keine gibt) blau.
Sorry für Verwirrung.



Wahlurne Für viertel bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 13949
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.14, eingetragen 2018-01-09 18:07


2018-01-09 17:56 - viertel in Beitrag No. 13 schreibt:
... und Zeilen ohne ganze Zahl (deren es aber in meinem Bild keine gibt) blau.

Gibt es doch:



Wahlurne Für cis bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 5988
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.15, eingetragen 2018-01-09 19:40


Ich verstehe ja den blauen Hintergrund nicht so ganz. confused Warum nicht einfach die roten Pixel schwarz und sonst nichts.

Jetzt wäre ein Vergleichsalgorithmus erforderlich, der die "Matrizen" auf Deckungsgleichheit prüft. Das muss aber keinesfalls grafisch erfolgen. Oder gibt es einen einfachen Grund, dass sie immer gleich sein müssen, also die Quadrate?


-----------------
Difficilia quae pulchra



Wahlurne Für Slash bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
blindmessenger
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 02.08.2016
Mitteilungen: 718
Aus: NRW
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.16, vom Themenstarter, eingetragen 2018-01-09 20:08


Das mit den blauen Zeilen habe ich mir mal überlegt weil diese Reihen ohne Ganzzahlen oftmals eine bestimmte Anordnung zur mittleren Reihe haben. So kann man das besser erkennen. Ist aber natürlich nicht zwingend erforderlich...


-----------------
Gruß blindmessenger



Wahlurne Für blindmessenger bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
juergen007
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 17.08.2006
Mitteilungen: 2177
Aus: Braunschweig
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.17, eingetragen 2018-01-09 21:30


2018-01-09 17:56 - viertel in Beitrag No. 13 schreibt:
2018-01-09 15:49 - juergen007 in Beitrag No. 12 schreibt:
@ viertel
Kannst du den C++ Code fuer deine obigen Kommentar  edit.php?what=comments&keyval=16397§ion=comment&key2=1816
freigeben?
Könnte ich, dürfte aber nix bringen, da C++ Builder mit VCL.

juergen007 schreibt:
Ich verstehe nicht, was jedes blaue Pixel-Kästchen bedeutet..
Kann ich verstehen, daß du das nicht verstehst biggrin
Sorry für Verwirrung.
Was ist n VCL confused Nicht so wichtig.
Was ich da sehe, sind ca 36 Kästchen der Breite und Höhe 29 geteilt durch eine rote Mittellinie, alle identisch meine ich nach 10 facher Vergrösserung.
Die sind alle irgendwie erzeugt durch 29.
Eine solche in Gross.png würde mir mal reichen, um das Prinzip dieser "Divisormatratzen" von blindiMausi wink zu durchschauen. Single upper Inverted quadrat oder was? biggrin

Thx



[Die Antwort wurde nach Beitrag No.11 begonnen.]



Wahlurne Für juergen007 bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 13949
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.18, eingetragen 2018-01-09 21:51


2018-01-09 21:30 - juergen007 in Beitrag No. 17 schreibt:
2018-01-09 17:56 - viertel in Beitrag No. 13 schreibt:
2018-01-09 15:49 - juergen007 in Beitrag No. 12 schreibt:
@ viertel
Kannst du den C++ Code ... freigeben?
Könnte ich, dürfte aber nix bringen, da C++ Builder mit VCL.


Deshalb sage ich ja, das Beste wäre eine Textdatei des in #1 genannten Typs. Diese kann man dann auf verschiedene Weise auswerten. Das dort Beschriebene lässt sich ggf. nochmal vereinfachen, da man nicht jeden Nenner explizit ausrechnen muss.
Ich muss mich halt erst mal wieder in Mathematica reinfinden, was ich hier für am sinnvollsten halte; und LaTeX für die Veranschaulichung.



Wahlurne Für cis bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
viertel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 04.03.2003
Mitteilungen: 26137
Aus: Hessen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.19, eingetragen 2018-01-09 22:18


2018-01-09 19:40 - Slash in Beitrag No. 15 schreibt:
Ich verstehe ja den blauen Hintergrund nicht so ganz.
Was für ein blauer Hintergrund?
Ich habe doch geschrieben, daß ich nur das Farbschema von cis verwendet habe, dummerweise mit vertauschten Farben. Und, wie sich herausgestellt hat, mit Rechenfehlern.



Wahlurne Für viertel bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
Slash
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 23.03.2005
Mitteilungen: 5988
Aus: New York
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.20, eingetragen 2018-01-09 23:46


2018-01-09 22:18 - viertel in Beitrag No. 19 schreibt:
2018-01-09 19:40 - Slash in Beitrag No. 15 schreibt:
Ich verstehe ja den blauen Hintergrund nicht so ganz.
Was für ein blauer Hintergrund?
Ich habe doch geschrieben, daß ich nur das Farbschema von cis verwendet habe, dummerweise mit vertauschten Farben. Und, wie sich herausgestellt hat, mit Rechenfehlern.

Ja, dann verstehe ich das blau jetzt. cool


-----------------
Difficilia quae pulchra



Wahlurne Für Slash bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
juergen007
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 17.08.2006
Mitteilungen: 2177
Aus: Braunschweig
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.21, eingetragen 2018-01-12 23:46

\(\begingroup\)
Ich poste das nochmal als Auszug aus den Kommentaren zum article.php?sid=1816

Weil ich alle Kommentare weglassen wollte in der Annahme, dass % Zahlen Kommentare klammern oder einleiten.
Also ich habe kaum Ahnung von tikz.
Aber manche Zeilen wie
" % Berechnung der Folgenglieder" - siehe Quelltext von unterer Matrix(11) - kann man nicht einfach loeschen. Warum nicht?
Wie genau wird das % Zeichen verwendet?
Thx
Jürgen


Singlematrix:
<math>
\usetikzlibrary{matrix}
\pgfmathtruncatemacro{\Divisor}{11}
\newcommand\Einleitungstext{%
M_{\text{di}}(\Divisor) = M_{\text{M}} \cdot \dfrac{1}{\Divisor} = }

\def\nMaxZeile{11}
\def\nMaxSpalte{10}

\def\MatrixZeile{  \&  \&  \&  \&  \& \&  \&  \&  \&  \\ }
\def\MatrixZeilen{
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
}

\tikzmath{
% Berechnung der Folgenglieder
function Mersenne(\K, \N) {return int((2*\K-1)*2^\N-1);};
% Bestimmung des Reduzierten Bruches
function RedZaehler(\zaehler,\nenner) {return int(\zaehler/gcd(\zaehler,\nenner));};
function RedNenner(\zaehler,\nenner) {return int(\nenner/gcd(\zaehler,\nenner));};
% Bestimmung von Zähler und Nenner im MersenneBruch
function MersenneNenner(\K,\N,\divisor) {return int(RedNenner(Mersenne(\K,\N),\divisor));};
function MersenneZaehler(\K,\N,\divisor) {return int(RedZaehler(Mersenne(\K,\N),\divisor));};
}


% \MersenneBruch{<k>}{<n>}
\newcommand\MersenneBruch[2]{%%%%%%%%%%%%%%%%%%
\pgfmathsetmacro{\Eins}{1}  % als Vergleichsoperator

\pgfmathtruncatemacro{\Nenner}{MersenneNenner(#1,#2,\Divisor)}%
\pgfmathtruncatemacro{\Zaehler}{MersenneZaehler(#1,#2,\Divisor)}%
%
\pgfmathsetmacro{\y}{0}
\foreach \Spalte in {1,...,\nMaxSpalte}{%
\pgfmathtruncatemacro{\MNenner}{MersenneNenner(#1,\Spalte,\Divisor)}%
\ifx  \MNenner\Eins%Prüfen,ob in 1,...,\nMaxSpalte eine 1 im Nenner
\global\let\y=\MNenner%  %\pgfmathsetmacro{\y}{\MNenner}
\else
\let\y=0%
\fi
}%
\ifx        \y\Eins%         %Wenn in 1,...,\nMaxSpalte eine 1 im Nenner...
\ifx \Nenner\Eins%
\textcolor{red}{\Zaehler}%
\else
$\frac{\Zaehler}{\Nenner}$%
\fi
\else
$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$%
\fi
}
%Test:  \MersenneBruch{1}{1}, \MersenneBruch{1}{4}, \MersenneBruch{6}{1},\MersenneBruch{2}{1}


$\Einleitungstext
\begin{matrix} % normale Matrix damit angepasst an Rest
\begin{tikzpicture}
\matrix (m) [
ampersand replacement=\&,
matrix of math nodes,
nodes in empty cells,
row sep = 1.125em,
column sep = 1.25em,
left delimiter  = (, right delimiter  = ), % Klammern
]
{%
\MatrixZeilen
};

\foreach \k in {1,...,\nMaxZeile}
\foreach \n in {1,...,\nMaxSpalte}
\node[align=center] at (m-\k-\n) {\MersenneBruch{\k}{\n}};

\end{tikzpicture}
\end{matrix}$
</math>
\(\endgroup\)


Wahlurne Für juergen007 bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 13949
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.22, eingetragen 2018-01-13 05:24

\(\begingroup\)
2018-01-12 23:46 - juergen007 in Beitrag No. 21 schreibt:
1. " % Berechnung der Folgenglieder" ... kann man nicht einfach loeschen. Warum nicht?

2. Wie genau wird das % Zeichen verwendet?

1. Ich weiß auch nicht, warum du das löschen willst. Das kannst du einfach stehen lassen (die "Anleitung" wurde ja nicht aus Jux dazugeschrieben); denn

2. Mit dem %-Zeichen wird bei LaTeX auskommentiert.


Dieses TikZ-Template ist aber nur gut, für einfache Darstellungen in einem Artikel o.ä. Für Primzahlforschungen ist es ungeeignet (wie oben schon gezeigt), da es ab 9 Spalten, d.h. für $2^9-1$, an die Rechengrenzen von tikzmath stößt.

Es gibt mittlerweile etwas Besseres. Das werde ich demnächst präsentieren.


 

\(\endgroup\)


Wahlurne Für cis bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
juergen007
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 17.08.2006
Mitteilungen: 2177
Aus: Braunschweig
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.23, eingetragen 2018-01-13 13:47

\(\begingroup\)
2018-01-13 05:24 - cis in Beitrag No. 22 schreibt:
2018-01-12 23:46 - juergen007 in Beitrag No. 21 schreibt:
1. " % Berechnung der Folgenglieder" ... kann man nicht einfach loeschen. Warum nicht?

2. Wie genau wird das % Zeichen verwendet?

1. Ich weiß auch nicht, warum du das löschen willst. Das kannst du einfach stehen lassen (die "Anleitung" wurde ja nicht aus Jux dazugeschrieben); denn

2. Mit dem %-Zeichen wird bei LaTeX auskommentiert.

Ist klar, Kommentarzeilen sind nützlich und nowendig aber dürften den "Aufruf" nicht beeinflussen. Ich wollte eine Art "Roh"-version erzeugen, da diese Beispiel 10 (!) Spalten enthält. Oder ich mach da was falsch?

Dieses TikZ-Template ist aber nur gut, für einfache Darstellungen in einem Artikel o.ä. Für Primzahlforschungen ist es ungeeignet (wie oben schon gezeigt), da es ab 9 Spalten, d.h. für $2^9-1$, an die Rechengrenzen von tikzmath stößt.
Es gibt mittlerweile etwas Besseres. Das werde ich demnächst präsentieren.

Darauf bin ich sehr gespannt!
Wenn ich die o.a. Kommentarzeile
% Berechnung der Folgenglieder
 streiche, funktioniert der Aufruf in MP nicht mehr komischerweise.
Und es erscheint sowohl bei Firefox als auch Chrome Browser eine Fehlermeldung. s.u. Aber was ist falsch?
 
Singlematrix:
<math> \usetikzlibrary{matrix} \pgfmathtruncatemacro{\Divisor}{11} \newcommand\Einleitungstext{% M_{\text{di}}(\Divisor) = M_{\text{M}} \cdot \dfrac{1}{\Divisor} = } \def\nMaxZeile{11} \def\nMaxSpalte{10} \def\MatrixZeile{ \& \& \& \& \& \& \& \& \& \\ } \def\MatrixZeilen{ \MatrixZeile \MatrixZeile \MatrixZeile \MatrixZeile \MatrixZeile \MatrixZeile \MatrixZeile \MatrixZeile \MatrixZeile \MatrixZeile \MatrixZeile } \tikzmath{ function Mersenne(\K, \N) {return int((2*\K-1)*2^\N-1);}; % Bestimmung des Reduzierten Bruches function RedZaehler(\zaehler,\nenner) {return int(\zaehler/gcd(\zaehler,\nenner));}; function RedNenner(\zaehler,\nenner) {return int(\nenner/gcd(\zaehler,\nenner));}; % Bestimmung von Zähler und Nenner im MersenneBruch function MersenneNenner(\K,\N,\divisor) {return int(RedNenner(Mersenne(\K,\N),\divisor));}; function MersenneZaehler(\K,\N,\divisor) {return int(RedZaehler(Mersenne(\K,\N),\divisor));}; } % \MersenneBruch{<k>}{<n>} \newcommand\MersenneBruch[2]{%%%%%%%%%%%%%%%%%% \pgfmathsetmacro{\Eins}{1} % als Vergleichsoperator \pgfmathtruncatemacro{\Nenner}{MersenneNenner(#1,#2,\Divisor)}% \pgfmathtruncatemacro{\Zaehler}{MersenneZaehler(#1,#2,\Divisor)}% % \pgfmathsetmacro{\y}{0} \foreach \Spalte in {1,...,\nMaxSpalte}{% \pgfmathtruncatemacro{\MNenner}{MersenneNenner(#1,\Spalte,\Divisor)}% \ifx \MNenner\Eins%Prüfen,ob in 1,...,\nMaxSpalte eine 1 im Nenner \global\let\y=\MNenner% %\pgfmathsetmacro{\y}{\MNenner} \else \let\y=0% \fi }% \ifx \y\Eins% %Wenn in 1,...,\nMaxSpalte eine 1 im Nenner... \ifx \Nenner\Eins% \textcolor{red}{\Zaehler}% \else $\frac{\Zaehler}{\Nenner}$% \fi \else $\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$% \fi } %Test: \MersenneBruch{1}{1}, \MersenneBruch{1}{4}, \MersenneBruch{6}{1},\MersenneBruch{2}{1} $\Einleitungstext \begin{matrix} % normale Matrix damit angepasst an Rest \begin{tikzpicture} \matrix (m) [ ampersand replacement=\&, matrix of math nodes, nodes in empty cells, row sep = 1.125em, column sep = 1.25em, left delimiter = (, right delimiter = ), % Klammern ] {% \MatrixZeilen }; \foreach \k in {1,...,\nMaxZeile} \foreach \n in {1,...,\nMaxSpalte} \node[align=center] at (m-\k-\n) {\MersenneBruch{\k}{\n}}; % Test: %\node[align=right, text=blue] at (m-2-1) {}; \end{tikzpicture} \end{matrix}$ </math>

Singlematrix:
<math>
\usetikzlibrary{matrix}

\pgfmathtruncatemacro{\Divisor}{11}

\newcommand\Einleitungstext{%
M_{\text{di}}(\Divisor) = M_{\text{M}} \cdot \dfrac{1}{\Divisor} = }

\def\nMaxZeile{11}
\def\nMaxSpalte{10}

\def\MatrixZeile{  \&  \&  \&  \&  \& \&  \&  \&  \&  \\ }
\def\MatrixZeilen{
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
}

\tikzmath{

function Mersenne(\K, \N) {return int((2*\K-1)*2^\N-1);};
% Bestimmung des Reduzierten Bruches
function RedZaehler(\zaehler,\nenner) {return int(\zaehler/gcd(\zaehler,\nenner));};
function RedNenner(\zaehler,\nenner) {return int(\nenner/gcd(\zaehler,\nenner));};
% Bestimmung von Zähler und Nenner im MersenneBruch
function MersenneNenner(\K,\N,\divisor) {return int(RedNenner(Mersenne(\K,\N),\divisor));};
function MersenneZaehler(\K,\N,\divisor) {return int(RedZaehler(Mersenne(\K,\N),\divisor));};
}


% \MersenneBruch{<k>}{<n>}
\newcommand\MersenneBruch[2]{%%%%%%%%%%%%%%%%%%
\pgfmathsetmacro{\Eins}{1}  % als Vergleichsoperator

\pgfmathtruncatemacro{\Nenner}{MersenneNenner(#1,#2,\Divisor)}%
\pgfmathtruncatemacro{\Zaehler}{MersenneZaehler(#1,#2,\Divisor)}%
%
\pgfmathsetmacro{\y}{0}
\foreach \Spalte in {1,...,\nMaxSpalte}{%
\pgfmathtruncatemacro{\MNenner}{MersenneNenner(#1,\Spalte,\Divisor)}%
\ifx  \MNenner\Eins%Prüfen,ob in 1,...,\nMaxSpalte eine 1 im Nenner
\global\let\y=\MNenner%  %\pgfmathsetmacro{\y}{\MNenner}
\else
\let\y=0%
\fi
}%
\ifx        \y\Eins%         %Wenn in 1,...,\nMaxSpalte eine 1 im Nenner...
\ifx \Nenner\Eins%
\textcolor{red}{\Zaehler}%
\else
$\frac{\Zaehler}{\Nenner}$%
\fi
\else
$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$%
\fi
}
%Test:  \MersenneBruch{1}{1}, \MersenneBruch{1}{4}, \MersenneBruch{6}{1},\MersenneBruch{2}{1}


$\Einleitungstext
\begin{matrix} % normale Matrix damit angepasst an Rest
\begin{tikzpicture}
\matrix (m) [
ampersand replacement=\&,
matrix of math nodes,
nodes in empty cells,
row sep = 1.125em,
column sep = 1.25em,
left delimiter  = (, right delimiter  = ), % Klammern
]
{%
\MatrixZeilen
};

\foreach \k in {1,...,\nMaxZeile}
\foreach \n in {1,...,\nMaxSpalte}
\node[align=center] at (m-\k-\n) {\MersenneBruch{\k}{\n}};

% Test:
%\node[align=right, text=blue] at (m-2-1) {};
\end{tikzpicture}
\end{matrix}$
</math>
\(\endgroup\)


Wahlurne Für juergen007 bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 13949
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.24, eingetragen 2018-01-13 21:40

\(\begingroup\)
2018-01-13 13:47 - juergen007 in Beitrag No. 23 schreibt:
Singlematrix:
<math>
\usetikzlibrary{matrix}

\pgfmathtruncatemacro{\Divisor}{11}

\newcommand\Einleitungstext{%
M_{\text{di}}(\Divisor) = M_{\text{M}} \cdot \dfrac{1}{\Divisor} = }

\def\nMaxZeile{11}
\def\nMaxSpalte{10}

\def\MatrixZeile{  \&  \&  \&  \&  \& \&  \&  \&  \&  \\ }
\def\MatrixZeilen{
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
}

\tikzmath{

function Mersenne(\K, \N) {return int((2*\K-1)*2^\N-1);};
% Bestimmung des Reduzierten Bruches
function RedZaehler(\zaehler,\nenner) {return int(\zaehler/gcd(\zaehler,\nenner));};
function RedNenner(\zaehler,\nenner) {return int(\nenner/gcd(\zaehler,\nenner));};
% Bestimmung von Zähler und Nenner im MersenneBruch
function MersenneNenner(\K,\N,\divisor) {return int(RedNenner(Mersenne(\K,\N),\divisor));};
function MersenneZaehler(\K,\N,\divisor) {return int(RedZaehler(Mersenne(\K,\N),\divisor));};
}


% \MersenneBruch{<k>}{<n>}
\newcommand\MersenneBruch[2]{%%%%%%%%%%%%%%%%%%
\pgfmathsetmacro{\Eins}{1}  % als Vergleichsoperator

\pgfmathtruncatemacro{\Nenner}{MersenneNenner(#1,#2,\Divisor)}%
\pgfmathtruncatemacro{\Zaehler}{MersenneZaehler(#1,#2,\Divisor)}%
%
\pgfmathsetmacro{\y}{0}
\foreach \Spalte in {1,...,\nMaxSpalte}{%
\pgfmathtruncatemacro{\MNenner}{MersenneNenner(#1,\Spalte,\Divisor)}%
\ifx  \MNenner\Eins%Prüfen,ob in 1,...,\nMaxSpalte eine 1 im Nenner
\global\let\y=\MNenner%  %\pgfmathsetmacro{\y}{\MNenner}
\else
\let\y=0%
\fi
}%
\ifx        \y\Eins%         %Wenn in 1,...,\nMaxSpalte eine 1 im Nenner...
\ifx \Nenner\Eins%
\textcolor{red}{\Zaehler}%
\else
$\frac{\Zaehler}{\Nenner}$%
\fi
\else
$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$%
\fi
}
%Test:  \MersenneBruch{1}{1}, \MersenneBruch{1}{4}, \MersenneBruch{6}{1},\MersenneBruch{2}{1}


$\Einleitungstext
\begin{matrix} % normale Matrix damit angepasst an Rest
\begin{tikzpicture}
\matrix (m) [
ampersand replacement=\&,
matrix of math nodes,
nodes in empty cells,
row sep = 1.125em,
column sep = 1.25em,
left delimiter  = (, right delimiter  = ), % Klammern
]
{%
\MatrixZeilen
};

\foreach \k in {1,...,\nMaxZeile}
\foreach \n in {1,...,\nMaxSpalte}
\node[align=center] at (m-\k-\n) {\MersenneBruch{\k}{\n}};

% Test:
%\node[align=right, text=blue] at (m-2-1) {};
\end{tikzpicture}
\end{matrix}$
</math>


Ich weiß auch nicht, warum du da -auf Teufel komm raus- sämtliche Annotationen löschen willst, die als Hilfestellung für die Bedienung gedacht waren.
Ich hatte hier eine Anleitung gegeben, wie das Template zu bedienen ist. Wenn man sich an das dort Geschriebene hält und ansonsten nicht im Code rumpfuscht, dann funktioniert das auch.

<math>

\usetikzlibrary{matrix}
% Muss auf dem MP angegeben werden!

%%%%%%%%%%%
% EINGABEN! %%%%%%
%%%%%%%%%%%%%
% 1. Lege den Divisior der Divisormatrix fest.
\pgfmathtruncatemacro{\Divisor}{11}        % Divisor  der Divisormatrix
%
\newcommand\Einleitungstext{%
M_{\text{di}}(\Divisor) = M_{\text{M}} \cdot \dfrac{1}{\Divisor} =
}%  wahlweise leer lassen / auskommentieren...

% 2a. Lege die Dimensionen der Divisormatrix fest.
\def\nMaxZeile{11}                         % Länge der Mersenne Folge in Zeilen
\def\nMaxSpalte{10}                 % Länge der Mersenne Folge in Spalten

% 2b.   Passe die Syntax für die spätere tikz-Matrix an.
\def\MatrixZeile{\&  \&\&  \&\&  \&  \&  \&  \&    \\ }        % "nMaxSpalte minus 1"  \&-Zeichen setzen
\def\MatrixZeilen{%                        % "nMaxZeile" Stück eintragen
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
\MatrixZeile
}%
%%%%%%%%%%%%%
%%%    fertig!    %%%%%
%%%%%%%%%%%%%
% 3. Passe evtl. noch       row sep = ****em,   column sep = ****em,
%     in der späteren tikz-Matrix optisch an.
%%%%%%%%%%%%%
%%%%%%%%%%%%%

\tikzmath{
% Berechnung der Folgenglieder
function Mersenne(\K, \N) {return int((2*\K-1)*2^\N-1);};
% Bestimmung des Reduzierten Bruches
function RedZaehler(\zaehler,\nenner) {return int(\zaehler/gcd(\zaehler,\nenner));};
function RedNenner(\zaehler,\nenner) {return int(\nenner/gcd(\zaehler,\nenner));};
% Bestimmung von Zähler und Nenner im MersenneBruch
function MersenneNenner(\K,\N,\divisor) {return int(RedNenner(Mersenne(\K,\N),\divisor));};
function MersenneZaehler(\K,\N,\divisor) {return int(RedZaehler(Mersenne(\K,\N),\divisor));};
}

% Farbige Ausgabe des reduzierten Mersenne Bruches
% \MersenneBruch{<k>}{<n>}
\newcommand\MersenneBruch[2]{%%%%%%%%%%%%%%%%%%
\pgfmathsetmacro{\Eins}{1}  % als Vergleichsoperator
% Zähler und Nenner des Mersenne-Bruches festlegen
\pgfmathtruncatemacro{\Nenner}{MersenneNenner(#1,#2,\Divisor)}%
\pgfmathtruncatemacro{\Zaehler}{MersenneZaehler(#1,#2,\Divisor)}%
%
\pgfmathsetmacro{\y}{0}
\foreach \Spalte in {1,...,\nMaxSpalte}{%
\pgfmathtruncatemacro{\MNenner}{MersenneNenner(#1,\Spalte,\Divisor)}%
\ifx  \MNenner\Eins%Prüfen,ob in 1,...,\nMaxSpalte eine 1 im Nenner
\global\let\y=\MNenner%  %\pgfmathsetmacro{\y}{\MNenner}
\else
\let\y=0%
\fi
}%
\ifx        \y\Eins%         %Wenn in 1,...,\nMaxSpalte eine 1 im Nenner...
\ifx \Nenner\Eins%
\textcolor{red}{\Zaehler}%
\else
$\frac{\Zaehler}{\Nenner}$%
\fi
\else
$\textcolor{blue}{\frac{\Zaehler}{\Nenner}}$%
\fi
}%%%%%%%%%%%%%%%%%%%%%%%%%
%Test:  \MersenneBruch{1}{1}, \MersenneBruch{1}{4}, \MersenneBruch{6}{1},\MersenneBruch{2}{1}


% Mersenne-Matrix setzen
$\Einleitungstext
\begin{matrix} % normale Matrix damit angepasst an Rest
\begin{tikzpicture}
\matrix (m) [                % tikz-Matrix
ampersand replacement=\&,
matrix of math nodes,
nodes in empty cells,
row sep = 1.125em,                % Zeilenabstand optisch anpassen!
column sep = 1.25em,        % Spaletenabstand optisch anpassen!
left delimiter  = (, right delimiter  = ), % Klammern
]
{%
\MatrixZeilen
};

% Matrixelemente hervorheben
% \nennerode[fill=red!50, minimum width = 1.5em, minimum height = 1.25em,
% rounded corners=1.5pt,
% align=right] at (m-1-3) {};

% Matrix füllen mit Zahlen
\foreach \k in {1,...,\nMaxZeile}
\foreach \n in {1,...,\nMaxSpalte}
\node[align=center] at (m-\k-\n) {\MersenneBruch{\k}{\n}};
% Test:
%\node[align=right, text=blue] at (m-2-1) {};
\end{tikzpicture}
\end{matrix}$

</math>
\(\endgroup\)


Wahlurne Für cis bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
juergen007
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 17.08.2006
Mitteilungen: 2177
Aus: Braunschweig
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.25, eingetragen 2018-01-14 11:45

\(\begingroup\)
2018-01-13 21:40 - cis in Beitrag No. 24 schreibt:

Ich weiß auch nicht, warum du da -auf Teufel komm raus- sämtliche Annotationen löschen willst, die als Hilfestellung für die Bedienung gedacht waren.
Ich hatte hier eine Anleitung gegeben, wie das Template zu bedienen ist. Wenn man sich an das dort Geschriebene hält und ansonsten nicht im Code rumpfuscht, dann funktioniert das auch.

Ja ist schon ok:)
Was ich an sich wollte, ist mithilfe diese Ansatzes eine Matrix zu erstellen in der NUR die Zähler des "Mersennebruches" stehen, mit derselben Färbung.

Das krieg ich wohl auch hin,oder?  confused

Und eine endliche Version einer anderen Matrix (1..11,1..23) mittels tikz nach deiner Anleitung, s.u..
Das Bildungsgvesetz ist ein anderes.
Das würde aufwendiger sein. Ich müsste das Matrix -füllen und -färben ändern, mal sehen...

In PHP übergebe ich 2 2-dimensionale arrays mit Zahlen bzw. Farben , skizziert:
PHP
for ($i = 1; $i < $AnzahlZeilen; $i++)
	{
	for ($j = 1; $j < $AnzahlSpalten; $j++)
	{
		$Number [$i][j]= berechne($Zahlen,$i,$j);
		$Farben [$i][j]= ermittle($Number,$i,$j);
	}
}
$Dateiname = 'colouredHtmlOutputData.html';
Colured_Html_Output($Zahlen,$Farben,$Dateiname);


an eine Ausgabe routine, die eine HTML Table erzeugt. Daran arbeite ich noch.
Du deutetest ja an, Du hast was besseres "neugierig" smile in Arbeit in mathematica  , was ich auch nicht habe. Was kostet das eigentlich. Ich kann das alles selber erforschen.


Zunächst meine ich exemplarisch die "Matrix" oder Tabelle" aus  Jonas´ Arbeit, Seite 21, "Inverted Mirror Matrix".

Wie stellt man diese dar ohne Zahlen evtl auch nur mit farbigen Kreisen wie du es mal in der Nachtwache machtest? siehe LinkNachtwache 2018
Danke!


\(
\begin{pmatrix}
2&4&8&16&32&64&128&256&512&1024&\color{red}{2048}\\
6&12&\color{red}{24}&48&96&192&384&768&1536&3072&6144\\
\color{blue}{10}&\color{blue}{20}&\color{blue}{40}&\color{blue}{80}&\color{blue}{160}&\color{blue}{320}&\color{blue}{640}&\color{blue}{1280}&\color{blue}{2560}&\color{blue}{5120}&\color{blue}{10240}\\
\color{blue}{14}&\color{blue}{28}&\color{blue}{56}&\color{blue}{112}&\color{blue}{224}&\color{blue}{448}&\color{blue}{896}&\color{blue}{1792}&\color{blue}{3584}&\color{blue}{7168}&\color{blue}{14336}\\
18&36&72&144&288&\color{red}{576}&1152&2304&4608&9216&18432\\
\color{blue}{22}&\color{blue}{44}&\color{blue}{88}&\color{blue}{176}&\color{blue}{352}&\color{blue}{704}&\color{blue}{1408}&\color{blue}{2816}&\color{blue}{5632}&\color{blue}{11264}&\color{blue}{22528}\\
26&52&104&\color{red}{208}&416&832&1664&3328&6656&13312&26624\\
\color{blue}{30}&\color{blue}{60}&\color{blue}{120}&\color{blue}{240}&\color{blue}{480}&\color{blue}{960}&\color{blue}{1920}&\color{blue}{3840}&\color{blue}{7680}&\color{blue}{15360}&\color{blue}{30720}\\
\color{blue}{34}&\color{blue}{68}&\color{blue}{136}&\color{blue}{272}&\color{blue}{544}&\color{blue}{1088}&\color{blue}{2176}&\color{blue}{4352}&\color{blue}{8704}&\color{blue}{17408}&\color{blue}{34816}\\
\color{blue}{38}&\color{blue}{76}&\color{blue}{152}&\color{blue}{304}&\color{blue}{608}&\color{blue}{1216}&\color{blue}{2432}&\color{blue}{4864}&\color{blue}{9728}&\color{blue}{19456}&\color{blue}{38912}\\
\color{blue}{42}&\color{blue}{84}&\color{blue}{168}&\color{blue}{336}&\color{blue}{672}&\color{blue}{1344}&\color{blue}{2688}&\color{blue}{5376}&\color{blue}{10752}&\color{blue}{21504}&\color{blue}{43008}\\
\color{blue}{46}&\color{blue}{92}&\color{blue}{184}&\color{blue}{368}&\color{blue}{736}&\color{blue}{1472}&\color{blue}{2944}&\color{blue}{5888}&\color{blue}{11776}&\color{blue}{23552}&\color{blue}{47104}\\
50&100&200&400&800&1600&3200&6400&12800&\color{red}{25600}&51200\\
54&108&216&432&864&1728&3456&6912&\color{red}{13824}&27648&55296\\
58&\color{red}{116}&232&464&928&1856&3712&7424&14848&29696&59392\\
62&124&248&496&992&1984&3968&\color{red}{7936}&15872&31744&63488\\
\color{blue}{66}&\color{blue}{132}&\color{blue}{264}&\color{blue}{528}&\color{blue}{1056}&\color{blue}{2112}&\color{blue}{4224}&\color{blue}{8448}&\color{blue}{16896}&\color{blue}{33792}&\color{blue}{76584}\\
\color{red}{70}&140&280&560&1120&2240&4480&8960&17920&35840&71680\\
\color{blue}{74}&\color{blue}{145}&\color{blue}{296}&\color{blue}{592}&\color{blue}{1184}&\color{blue}{2368}&\color{blue}{4736}&\color{blue}{9472}&\color{blue}{18944}&\color{blue}{37888}&\color{blue}{75776}\\
78&156&312&624&1248&2496&\color{red}{4992}&9984&19968&39936&79872\\
82&164&328&656&\color{red}{1312}&2624&5248&10496&20992&41984&83968\\
\color{blue}{86}&\color{blue}{172}&\color{blue}{344}&\color{blue}{688}&\color{blue}{1376}&\color{blue}{2752}&\color{blue}{5504}&\color{blue}{11008}&\color{blue}{22016}&\color{blue}{44032}&\color{blue}{88064}\\
\color{blue}{90}&\color{blue}{180}&\color{blue}{360}&\color{blue}{720}&\color{blue}{1440}&\color{blue}{2880}&\color{blue}{5760}&\color{blue}{11520}&\color{blue}{23040}&\color{blue}{46080}&\color{blue}{ 92160}\\
\end{pmatrix}
\)
\(\endgroup\)


Wahlurne Für juergen007 bei den Matheplanet-Awards stimmen
  Profil  Quote  Link auf diesen Beitrag Link
blindmessenger hat die Antworten auf ihre/seine Frage gesehen.
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2017 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. 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]