%\documentclass[]{article}
\documentclass[border=5mm, varwidth]{standalone}
\usepackage{sagetex}
\usepackage{tikz}
\usepackage{amsmath}
\begin{sagesilent}
def P(n,k): return (list(Permutations(n)[k-1])) # Syntax: P(3,2)
def Q(n, k): return matrix([range(1, n + 1), list(Permutations(n)[k-1])]) #Syntax: Q(3,1)
\end{sagesilent}
Test: \\
Tut:\\
$\sage{P(3,1)}$ \\
\foreach \i in {1,...,3}{
\i
}
Tut nicht: \\
\foreach \i in \sage{P(3,1)}{
\i
}
Weitere -positive- Tests:
$\sigma_1 = \sage{Q(3,1)}$
\foreach \i in {1,...,6}{
$\sigma_\i = \sage{Q(3,\i)}$
}
\end{document}
Das ist IMHO das immer gleiche Problem mit
\sage
, das wir hier schon mehrfach hatten:\sage
ist nicht voll expandierbar. Wo immer man also das vollständig expandierte Ergebnis davon haben muss, bekommt man ein Problem.Verdammt! Ich hatte eine Idee, vielleicht könnte man die Werte der Liste, die z.B.
P(3,1)
liefert einzeln auslesen. An sich sowas wieP(3,2)[0]
,P(3,2)[1]
,P(3,2)[2]
(ich glaube so einfach ging es nicht) und die dann wieder zu einer LaTeX-Liste zusammenfassen. Da werde ich mal weiterforschen.