Pārlūkot izejas kodu

added jordan normal form

Martin Thoma 13 gadi atpakaļ
vecāks
revīzija
5c57d6808a

+ 32 - 0
tikz/jordan-normal-form-block/Makefile

@@ -0,0 +1,32 @@
+SOURCE = jordan-normal-form-block
+DELAY = 80
+DENSITY = 300
+WIDTH = 500
+
+make:
+	pdflatex $(SOURCE).tex -output-format=pdf
+	pdflatex $(SOURCE).tex -output-format=pdf
+	make clean
+
+clean:
+	rm -rf  $(TARGET) *.class *.html *.log *.aux
+
+gif:
+	pdfcrop $(SOURCE).pdf
+	convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif
+	make clean
+
+png:
+	make
+	make svg
+	inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png
+
+transparentGif:
+	convert $(SOURCE).pdf -transparent white result.gif
+	make clean
+
+svg:
+	#inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg
+	pdf2svg $(SOURCE).pdf $(SOURCE).svg
+	# Necessary, as pdf2svg does not always create valid svgs:
+	inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg

+ 44 - 0
tikz/jordan-normal-form-block/jordan-normal-form-block.tex

@@ -0,0 +1,44 @@
+\documentclass{article}
+\usepackage[pdftex,active,tightpage]{preview}
+\setlength\PreviewBorder{2mm}
+\usepackage{tikz}
+\usetikzlibrary{fit,matrix,positioning}
+
+\tikzset{%
+  highlight/.style={
+    rectangle,
+    rounded corners,
+    fill=#1!15,
+    draw,
+    fill opacity=0.5,
+    %thick,
+    inner sep=1pt
+  }
+}
+\newcommand{\tikzmark}[2]{
+    \tikz[overlay,remember picture,baseline=(#1.base)] \node (#1) {#2};
+}
+
+\newcommand{\Highlight}[3]{%
+    \tikz[overlay,remember picture]{
+    \node[highlight=#3,fit=(#1.north west) (#2.south east)]  {};}
+}
+
+\begin{document}
+\begin{preview}
+$
+  A_{\lambda_i} = 
+    \left(
+      \begin{array}{*5{c}}
+       \tikzmark{1}{$\lambda_i$}     &     1         &    0      &         &  0        \\
+                                        & \lambda_i     &    1      &         &           \\
+                                        &               & \lambda_i\tikzmark{2}{} &         &           \\
+                                        &               &           &  \ddots &           \\
+                             0          &               &           &         & \tikzmark{3}{$\lambda_i$} \tikzmark{4}{} \\
+      \end{array}
+    \right)
+  \Highlight{1}{2}{blue} 
+  \Highlight{3}{4}{red} 
+$
+\end{preview}
+\end{document}

+ 32 - 0
tikz/jordan-normal-form/Makefile

@@ -0,0 +1,32 @@
+SOURCE = jordan-normal-form
+DELAY = 80
+DENSITY = 300
+WIDTH = 500
+
+make:
+	pdflatex $(SOURCE).tex -output-format=pdf
+	pdflatex $(SOURCE).tex -output-format=pdf
+	make clean
+
+clean:
+	rm -rf  $(TARGET) *.class *.html *.log *.aux
+
+gif:
+	pdfcrop $(SOURCE).pdf
+	convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif
+	make clean
+
+png:
+	make
+	make svg
+	inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png
+
+transparentGif:
+	convert $(SOURCE).pdf -transparent white result.gif
+	make clean
+
+svg:
+	#inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg
+	pdf2svg $(SOURCE).pdf $(SOURCE).svg
+	# Necessary, as pdf2svg does not always create valid svgs:
+	inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg

BIN
tikz/jordan-normal-form/jordan-normal-form.pdf


+ 22 - 0
tikz/jordan-normal-form/jordan-normal-form.tex

@@ -0,0 +1,22 @@
+\documentclass{article}
+\usepackage[pdftex,active,tightpage]{preview}
+\setlength\PreviewBorder{2mm}
+\usepackage{tikz}
+\usetikzlibrary{fit,matrix,positioning}
+
+
+\begin{document}
+\begin{preview}
+$
+  J = 
+    \left(
+      \begin{array}{*4{c}}
+        A_{\lambda_1} &               &        & 0\\
+                      & A_{\lambda_2} &        &  \\
+                      &               & \ddots &  \\
+           0          &               &        & A_{\lambda_k}
+      \end{array}
+    \right)
+$
+\end{preview}
+\end{document}