Skip to content

Instantly share code, notes, and snippets.

@henrydatei
Created March 11, 2021 18:49
Show Gist options
  • Save henrydatei/9c95dd8274b37f9aab9c00f23ff8c32e to your computer and use it in GitHub Desktop.
Save henrydatei/9c95dd8274b37f9aab9c00f23ff8c32e to your computer and use it in GitHub Desktop.
WolframAlpha für Mathe 1
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{xcolor}
\usepackage[left=2.1cm,right=3.1cm,bottom=3cm,footskip=0.75cm,headsep=0.5cm]{geometry}
\usepackage{enumerate}
\usepackage{enumitem}
\usepackage{marvosym}
\usepackage{tabularx}
\usepackage{hyperref}
\usepackage{parskip}
\hypersetup{colorlinks, linkcolor = blue, urlcolor = blue}
\usepackage{listings}
\definecolor{lightlightgray}{rgb}{0.95,0.95,0.95}
\definecolor{lila}{rgb}{0.8,0,0.8}
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
\definecolor{mygreen}{rgb}{0,0.8,0.26}
\lstdefinestyle{R} {language=R,morekeywords={confint,head,fitdist,ks,test}}
\lstset{language=R,
basicstyle=\ttfamily,
keywordstyle=\color{lila},
commentstyle=\color{lightgray},
stringstyle=\color{mygreen}\ttfamily,
backgroundcolor=\color{white},
showstringspaces=false,
numbers=left,
numbersep=10pt,
numberstyle=\color{mygray}\ttfamily,
identifierstyle=\color{blue},
xleftmargin=.1\textwidth,
%xrightmargin=.1\textwidth,
escapechar=§,
}
\usepackage[utf8]{inputenc}
\renewcommand*{\arraystretch}{1.4}
\renewcommand*{\texttt}[1]{\textcolor{lila}{\tt #1}}
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcommand{\E}{\mathbb{E}}
\DeclareMathOperator{\Var}{Var}
\DeclareMathOperator{\CDF}{CDF}
\title{\textbf{WolframAlpha für Mathe 1}}
\author{\textsc{Henry Haustein}}
\date{}
\begin{document}
\maketitle
Die Webseite WolframAlpha (\url{https://www.wolframalpha.com/}) ist eine Art Suchmaschine, die (u.a. mathematische) Probleme lösen kann. Für mathematische Probleme ist sie mit einem Computer-Algebra-System (CAS) zu vergleichen, insbesondere kann man so Ergebnisse berechnen, die aufgrund ihrer Komplexität oder Allgemeinheit (Variablen, etc.) nicht per Hand oder mittels Taschenrechner zu lösen sind. WolframAlpha ist in der Lage die englische Sprache zu interpretieren, aber diese Interpretation ist manchmal weit von dem entfernt, was man eigentlich wollte. Es gibt deswegen einen Befehlssatz, der immer richtig interpretiert wird.
WolframAlpha bietet auch eine Step-by-Step-Lösung der Probleme an, doch für diese muss man bezahlen.
\section*{Mengenlehre}
Eine Menge wird in WolframAlpha immer mit geschweiften Klammern eingegeben, also $\{2,3\}$ wird zu \texttt{\{2,3\}}. Die Mengenoperationen sind einfach die englischen Wörter dafür, also
\begin{itemize}
\item Vereinigung: union
\item Schnitt: intersection
\item Differenz: set difference
\item symmetrische Differenz: symmetric difference
\item Potenzmenge: power set
\end{itemize}
\textbf{Beispiele:}
\begin{itemize}
\item \texttt{\{2,3\} union \{3,4\}} ergibt \texttt{\{2,3,4\}}
\item \texttt{\{2,3\} intersection \{3,4\}} ergibt \texttt{\{3\}}
\item \texttt{\{2,3\} set difference \{3,4\}} ergibt \texttt{\{2\}}
\item \texttt{\{2,3\} symmetric difference \{3,4\}} ergibt \texttt{\{2,4\}}
\item \texttt{power set \{3,4\}} ergibt \texttt{\{\{\},\{3\},\{4\},\{3,4\}\}}
\end{itemize}
Wenn man nun mit Teilmengen der reellen Zahlen arbeitet, kann man im obigen Beispiel die Mengen auch durch Intervalle ersetzen. So steht z.B. \texttt{interval[1,2]} für $[1,2]$. Achtung: Die eckigen Klammern in \texttt{interval[1,2]} bedeuten nicht, dass es sich um ein abgeschlossenes Intervall handelt, sondern innerhalb dieser Klammern stehen die Argumente für die Funktion \texttt{interval[]}. WolframAlpha unterstützt leider offene Intervalle nicht wirklich gut.
\section*{Matrizen}
Matrizen werden in WolframAlpha zeilenweise in geschweiften Klammern eingegeben. So wird die Matrix
\begin{align}
\begin{pmatrix}
1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9
\end{pmatrix} \notag
\end{align}
zu \texttt{\{\{1,2,3\},\{4,5,6\},\{7,8,9\}\}}. Eine bloße Eingabe einer Matrix liefert eine ganze Reihe an Informationen zu dieser, so z.B. die Determinante, die Spur, den Rang, Eigenwerte und Eigenvektoren, ...
\textbf{Tipp:} Man muss in eine Matrix nicht nur Zahlen schreiben. Es sind auch Variablen möglich, die Ergebnisse sind dann auch in Abhängigkeit von Variablen. So liefert die Eingabe der folgenden Matrix
\begin{align}
\begin{pmatrix}
1 & a & 3 \\ b & 5 & 6 \\ 7 & 8 & c
\end{pmatrix} \notag
\end{align}
in WolframAlpha als \texttt{\{\{1,a,3\},\{b,5,6\},\{7,8,c\}\}} die Determinante von
\begin{align}
a(42-bc) + 24b + 5c - 153 \notag
\end{align}
Die Rechenoperationen für Matrizen funktionieren genau so wie bei Zahlen: \texttt{+} für Addition, \texttt{-} für Subtraktion, \texttt{*} für Multiplikation und wenn man \texttt{inverse} vor die Matrix schreibt, wird die Inverse der Matrix zurückgegeben.
\textbf{Beispiele:}
\begin{itemize}
\item \texttt{\{\{1,2,3\},\{4,5,6\}\} + \{\{7,8,9\},\{10,11,12\}\}} ergibt
\begin{align}
\begin{pmatrix}
8 & 10 & 12 \\ 14 & 16 & 18
\end{pmatrix} \notag
\end{align}
\item \texttt{\{\{1,2,3\},\{4,5,6\}\} - \{\{7,8,9\},\{10,11,12\}\}} ergibt
\begin{align}
\begin{pmatrix}
-6 & -6 & -6 \\ -6 & -6 & -6
\end{pmatrix} \notag
\end{align}
\item \texttt{\{\{1,2,3\},\{4,5,6\}\} * \{\{7,8\},\{9,10\},\{11,12\}\}} ergibt
\begin{align}
\begin{pmatrix}
58 & 64 \\ 139 & 154
\end{pmatrix} \notag
\end{align}
\item \texttt{inverse \{\{1,2\},\{3,4\}\}} ist
\begin{align}
\frac{1}{2}\begin{pmatrix}
-4 & 2 \\ 3 & -1
\end{pmatrix} \notag
\end{align}
\end{itemize}
\section*{Kombinatorik}
Leider ist die Interpretation von WolframAlpha nicht so gut, wenn es ums Verstehen von komplexen Sachverhalten geht, das Übersetzen einer Kombinatorik-Aufgabe ins Englische und lösen lassen von WolframAlpha funktioniert leider (noch) nicht. Die gängigen Kombinatorik-Befehle sind:
\begin{itemize}
\item Fakultät: $n!$ ist \texttt{n!}
\item Binomialkoeffizient: $\binom{n}{k}$ ist \texttt{BinomialCoefficient[n,k]}
\end{itemize}
\section*{(Nicht-)Lineare Optimierung}
Geht es nur um die optimale Lösung, so ist die Eingabe recht einfach, siehe dazu das folgende Beispiel. Tatsächlich ist man hier nicht nur auf lineare Funktionen beschränkt, sondern kann auch nicht-lineare Funktionen eingeben - WolframAlpha kann auch damit umgehen.
Die Befehle sind hier \texttt{maximize} zum Maximieren, \texttt{minimize} zum Minimieren und hinter \texttt{on} kommen die Nebenbedingen, die man auch mit \texttt{and} verknüpfen kann.
\textbf{Beispiel:} Das folgende lineare Optimierungsproblem $2x_1 + 3x_2 \to \max$ unter den Nebenbedingungen
\begin{align}
2x_1 + 4x_2 &\le 16 \notag \\
2x_1 + x_2 &\le 10 \notag \\
4x_1 &\le 20 \notag \\
x_1 + x_2 &\ge 1 \notag
\end{align}
wird in WolframAlpha eingegeben als \texttt{maximize 2x+3y on 2x+4y <= 16 and 2x+y <= 10 and 4x <= 20 and x+y >= 1}. Da WolframAlpha schlecht mit Indizees umgehen kann, benenne ich die Variablen gedanklich einmal um. Natürlich muss man dann beim Aufschreiben der Lösung darauf achten, dass man die Umbenennung wieder rückgängig macht.
Ergebnis von WolframAlpha ist, dass das Maximum 14 ist und bei $x = x_1 =4$ und $y= x_2 = 2$ erreicht wird.
Leider ist es nicht ohne weiteres möglich die einzelnen Simplex-Tableaus mittels WolframAlpha anzugeben, aber dafür gibt es eine Menge andere Seiten im Internet, z.B. diese hier: \url{https://www.matopt.de/werkzeuge/lineare-optimierung/simplexalgorithmus.html}
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment