Kategoriearchiv: IT

Schöne Formeln mit LaTeX bzw. QuickLaTeX in WP

[latexpage]
Aktualisierung:
Da das Modul „Schöne Mathematik“ im Jetpack-Plugin sehr schnell an seine Grenzen stieß, habe ich es unter https://yourjetpack.blog/wp-admin/admin.php?page=jetpack_modules deaktiviert und statt dessen QuickLaTeX installiert.
Test:

ergibt:
\begin{tikzpicture}
[+preamble]
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
[/preamble]
\begin{axis}
\addplot3[surf,domain=0:360,samples=40] {cos(x)*cos(y)};
\end{axis}
\end{tikzpicture}


Da ich Mathe-Formeln in meine nächsten Artikel einbauen möchte, suchte ich nach einem WP-Plugin, dass mich LaTeX verwenden lässt. Zu meinem Erstaunen stellte ich fest, dass ich bereits Jetpack installiert hatte und dies die Verwendung von LaTeX ermöglicht und die Packages amsmath, amsfonts, und amssymb ebenfalls schon installiert sind. Siehe dazu Beautiful Math with LaTeX.
Mein Versuch mit dem Beispiel von Jetpack ergibt tatsächlich $latex i\hbar\frac{\partial}{\partial t}\left|\Psi(t)\right>=H\left|\Psi(t)\right>$

Also sorgt Jetpack schon dafür, dass ich schöne Formeln in meinen Artikeln verwenden kann. Ach so, ein kleines Problem könnte noch auftreten, denn man muss natürlich LaTeX können. 😉
Aber das ist kein Problem, suchen Sie nach „LaTeX Tutorial“ und schon ist das Problem fast gelöst, denn jetzt brauchen Sie nur noch eines durchgehen.
Manchen mag ja schon das LaTeX Cheat Sheet genügen

[pdfjs-viewer url=https://notizblog.digital/wp-content/uploads/2018/10/latexsheet-a4.pdf viewer_width=600px viewer_height=400px fullscreen=true download=true print=true openfile=false]

andere hingegen werden ein ausführliches Tutorial bevorzugen, wie Getting to Grips with LaTeX oder Getting started with TeX, LaTeX, and friends
Für Perfektionist ist TeX Live eine Option als Einstieg, denn das ist de facto der Standard unter den LaTeX-Distributionen und wird für alle gängigen Betriebssysteme angeboten. Es beinhaltet alle TeX bezogenen Programme, Makropakete, Schriften und auch Sprachsupport für viele unterschiedliche Sprachen.
Auch auf LaTeX@TU Graz kann man sich schlau machen, oder wer nur schnell kurze Infos benötigt findet einige wichtige auf LaTeX Wiki.

Weitere Weblinks:

TeX Live
Kile – an Integrated LaTeX Editing Environment
Das Handbuch zu Kile
Xfig
User’s Guide for the amsmath Package
amsmath
Mathematischer Satz mit dem Paket amsmath
LaTeX

Darüber hinaus gibt es natürlich auch Tutorials auf YouTube.

Qt SDK für Ovi, Nokia und Handyapplications

Ich verfolge die interessante Entwicklung von Quasar über Trolltech zu Nokia Qt SDK. Quelltext und API sind eben cute. Merke mir dazu auch Ovi und Develop.

The Nokia Qt SDK leverages the power of the Qt framework and tools, combining them with tools designed specifically to streamline the creation of apps for Symbian, Maemo, and forthcoming MeeGo devices from Nokia. Final versions of the SDK are available for computers running Microsoft Windows and Linux, while a beta version is available for Apple Mac computers. …

Ein Lernalgorithmus in Python für ein Perzeptron

Was man sich vorher ansehen sollte.
NumPy: Quickstart tutorial bzw. NumPy v1.12.dev0 Manual oder Tentative NumPy Tutorial bzw. auf GitHub scipy-tentative-numpy-tutorials. Wer ein älteres pdf bevorzugt findet es hier doc_numpy-pdf_1

Pandas: https://pandas.pydata.org/pandas-docs/stable/tutorials.html
Matplotlib: https://matplotlib.org/users/beginner.html

Von Python sollte eine 3er Version installiert sein. python -V sagt mir, dass ich Python 3.5.2 installiert habe, womit ich zufrieden bin.
Auf Python 3.5.2 documentation findet man die Doku zu Python und um pip braucht man sich seit der 3.4 Version auch nicht mehr kümmern, da der Paketmanager für PyPI schon automatisch mitinstalliert wird.
Wir verwenden also NumPy, pandas und matplotlib zum Einlesen, Verarbeiten und Visualisieren der Daten und wir werden einen einfachen Algorithmus zur linearen Klassifikation implementieren.
Zuerst schaue ich einmal, ob ich die neueste Version von pip habe und komme mit „pip install –upgrade pip“ auf pip-9.0.1 und schon habe ich falsch gedacht. Ich muss ja pip für Python 3.x installieren mit sudo apt install python3-pip Dann wieder ein –upgrade und ein sudo pip3 install numpy

 

 

 

 

 

Zum Code:

import numpy as np
class Perceptron(object):
"""Perceptron classifier.

Parameters
------------
eta : float
Learning rate (between 0.0 and 1.0)
n_iter : int
Passes over the training dataset.

Attributes
-----------
w_ : 1d-array
Weights after fitting.
errors_ : list
Number of misclassifications in every epoch.

"""
def __init__(self, eta=0.01, n_iter=10):
self.eta = eta
self.n_iter = n_iter

def fit(self, X, y):
"""Fit training data.

Parameters
----------
X : {array-like}, shape = [n_samples, n_features]
Training vectors, where n_samples is the number of samples and
n_features is the number of features.
y : array-like, shape = [n_samples]
Target values.

Returns
-------
self : object

"""
self.w_ = np.zeros(1 + X.shape[1])
self.errors_ = []

for _ in range(self.n_iter):
errors = 0
for xi, target in zip(X, y):
update = self.eta * (target - self.predict(xi))
self.w_[1:] += update * xi
self.w_[0] += update
errors += int(update != 0.0)
self.errors_.append(errors)
return self

def net_input(self, X):
"""Calculate net input"""
return np.dot(X, self.w_[1:]) + self.w_[0]

def predict(self, X):
"""Return class label after unit step"""
return np.where(self.net_input(X) >= 0.0, 1, -1)

 

 
So, soweit funktioniert es und nächstes mal werde ich das Perzeptron-Modell mit den Iris Datensätzen trainieren.


Quelle: Python Machine Learning von Sebastian Raschka; Published 2015-09-23
Weblinks:
https://github.com/arnaudbenard/python-machine-learning
https://stackoverflow.com/questions/36532585/passing-an-array-to-numpy-dot-in-python-implementation-of-perceptron-learning
https://github.com/rasbt/python-machine-learning-book/blob/master/code/optional-py-scripts/ch02.py
https://natureofcode.com/book/chapter-10-neural-networks/
https://stackoverflow.com/questions/36532585/passing-an-array-to-numpy-dot-in-python-implementation-of-perceptron-learning

Axiom, ein weiteres Computer Algebra System (CAS) auf Ubuntu

Beginnt bitte nicht mir der Installation, bevor ihr den ganzen Artikel gelesen habt.
Nach Mathics habe ich mir Axiom installiert und etwas angesehen. Ursprünglich plante ich zwar, Mathics, Axiom und Maxima ein wenig unter die Lupe zu nehmen, aber jetzt bin ich mir da nicht mehr so sicher, ob ich überhaupt jemals zu Maxima kommen werde. Schon die elegante und professionelle Installation hat mich beeindruckt, die auf meinem Ubuntu, wie folgt aussah:
Zitat von Axiom:

echo 0 >/proc/sys/kernel/randomize_va_space
apt-get install m4 libxpm-dev libxt-dev libx11-dev
apt-get install libxext-dev gettext git-core texlive gawk texlive-fonts-extra
git clone git://github.com/daly/axiom.git
cd axiom
export AXIOM=`pwd`/mnt/ubuntu
export PATH=$AXIOM/bin:$PATH
make

Also note that Ubuntu ships a broken xterm setting for the emacs alt key
where alt is supposed to be meta. Add the following line
XTerm*metaSendsEscape: true
in your .Xresources file

Zuerst ASLR auf statisch setzten, dann geht es los mit der Installation, wobei mann für texlive und das Git Repository schon ein wenig Platz bereithalten darf.

firefox front end
firefox front end
Mit LISP habe ich vor langer Zeit ein wenig herum gespielt, aber dann habe ich die Programmiersprache wieder aus den Augen verloren. Jetzt gibt es ein freudiges Wiedersehen. Darüber hinaus, wird hier endlich wieder einmal ein Programm bei der Installation direkt aus dem Source kompiliert, was heute immer seltener wird (es werden auf der Download-Seite aber auch vorkompilierte binaries angeboten.
Ein freies, kostenloses CAS mit BSD Lizenz und einer guten Dokumentation bzw. hier das online Buch, was will man noch mehr, wenn man ein CAS benutzen möchte?

So, die CPU glüht und der Compiler hat seine Arbeit getan. Jetzt wird getestet und gespielt und die Dokumentation über das Firefox front end studiert.
ubuntu_axiom
Nein, das kann doch nicht sein, ich hätte mir alles ersparen können, denn Ubuntu hat Axiom im Software-Center. Ein Klick auf installieren hätte genügt und ich ziehe die Software aus dem Software-Center sogar vor, da ich mich dann nicht um Updates kümmern muss. Also alles zurück deinstallieren, löschen und dann auf „installieren“ klicken.
Was habt ihr daraus gelernt? Seht immer zuerst nach, ob euer System die SW bereit stellt, auch wenn ihr es nicht erwartet. 😉
Gut jetzt habe ich Axiom und OpenAxiom über das System installiert und ein wenig damit gespielt. Die Oberfläche ist gewöhnungsbedürftig und ein wenig enttäuschend, weshalb ich mir nun doch auch noch Maxima und Sage ansehe, bevor ich mir die Beispiele genauer ansehe.
Nun, was denkt ihr, mache ich dazu wohl als erstes?

Weblinks:
Axiom Homepage des CAS
Was ist ein Axiom eigentlich? Axiom (Wikipedia)
How Effective is ASLR on Linux Systems?
How can I temporarily disable ASLR (Address space layout randomization)?
OpenAxiom: The Open Scientific Computation Platform

Warum jQuery von der Google Api verwenden?

Zum Beispiel

Die unzähligen Beispiele mit jQuery über die Google Api, die ich gerade auf diversen Seiten gesehen habe sind ganz schön stange für mich.

Toggle Effect


Warum also jQuery von der Google Api verwenden?
Das frage ich mich gerade und ich finde eigentlich keine vernünftigen Antworten, aber vielleicht kann es mir jemand erklären.
Ok, vielleicht gibt es sogar Google-Jünger die sich ihr WordPress von Google hosten lassen und die App-Engine dazu benützen. Mir ist es relativ gleichgültig, selbst wenn sie nichts akzeptieren was nicht wenigstens über Google kommt, wenn es schon nicht direkt von Google ist, bzw. noch nicht gekauft wurde. Aber wenn man verschiedene Plugins installiert hat und einfach ein zusätzliches jQuery über die Google-Api einbindet, sollte man sich nicht wundern, wenn nichts funktioniert.

Ich frage mich deshalb, weil ich gerade gesehen habe, wie die meisten WP-User jQuery verwenden.
Also, ich selbst benutze es einfach so:

Klicke auf diesen Text.


Der verwendete Source direkt hier im Artikel ohne Plugin oder irgend etwas installiert, enabled, oder eingebunden zu haben:

<p id=“HH_Test“ style=“color:red; font-size:120%;>Klicke auf diesen Text.</p>
<script>
jQuery(„#HH_Test“).click(function(){
jQuery(this).before(„das geht doch so einfach, oder?“);
});
</script>

Das ist alles, also wozu die Google Api verwenden, damit es ja nichts gibt, nicht einmal so einen billigen Effekt auf der eigenen Seite, bei dem man nicht von Google abhängig ist?
Ok, ich weiß es nicht, also duckduckgote ich ausnahmsweise einmal nicht, sondern googelte nach „jquery google api vs local“ und ja, der allererste Links auf der Seite 1 der SERPs war „https://www.google.at/interstitial?url=https://encosia.com/3-reasons-why-you-should-let-google-host-jquery-for-you/“ ein Klick darauf brachte mir folgendes:
warnung
Na gut, das brauche ich nicht, also schaue ich weiter und erfahre nur wie man da lokale jQuery replacen kann und mit dem viel tolleren (keine Ahnung warum) Google Api jQuery ersetzen kann. Ich finde dann sogar noch Is there a link to the “latest” jQuery library on Google APIs?. Ja, der aktuellste Link soll es im blinden Vertrauen auf Google auch noch sein! Wenn einem overhead, caching und garbage relativ egal ist, weil sich normalerweise (nicht hier natürlich) eine gute Programmiersprache oder eben ein Framework darum kümmert und so viel Terrabyte Müll durch die Gegend und im Kreis geschickt wird, dass es mir auf das Laden von lokalen Bibliotheken nicht ankommt, dann versteht man das wohl kaum. Oder habe ich da etwas übersehen? Auf diesem Abstraktionsniveau interessiert mich das Laden einer Bibliothek jedenfalls genau so viel, wie ein Speicherbelegungsplan, nämlich nil. Gut, manche empfehlen dann wenigstens ein fallback einzubauen, aber verstehen kann ich es trotzdem nicht.
jquery_applications
Ich habe dann noch im Plugin Verzeichnis von WordPress nachgesehen, was es da zu jQuery so gibt und da stockte mir der Atem. Das gibt’s doch nicht, für jede Mini-Funktion gibt es eigenes Plugin und zig Plugins, um JS-Code verwenden zu können. Was ist da los, bitte? Auch um jQuery einbinden zu können, obwohl es doch in meiner aktuellen Version von WP schon vorhanden ist und dann finde ich da auch noch unzählige Hacks in der function.php. Ist das alles auf Zeiten zurückzuführen, in denen jQuery noch nicht standardmäßig in WordPress implementiert war? Ach, ich sehe gerade, andere machen es doch auch so einfach JAVASCRIPT UND JQUERY IN EINEM WORDPRESS-BLOG VERWENDEN und im Beispiel mit der function.php wird erfreulicher weise kein google api jQuery eingebunden. Das finde ich beruhigend.
Naja, sonst spielt das ja keine Rolle für mich, aber wozu man sich unbedingt von Google abhängig machen möchte, das kapiere ich trotzdem noch immer nicht. Oder ist das jQuery auf Google besser als das jQuery von jQuery?
jQuery ist mir jedenfalls symphatisch und ich bin froh, dass es standardmäßig Teil von WordPress ist.

Bestätigt fühle ich mich jetzt auch durch
What about loading jQuery from Google CDN? (https://matthewruddy.com/):

A lot of people do this for various different reasons. In-fact, I have too in the past. But having learnt from my own experiences, I’d recommend you don’t do it. As mentioned, WordPress loads jQuery in No Conflict Mode, jQuery loaded from Google doesn’t. This will cause problems.

Now, you’re enlightened! Spread the word!

Weitere Weblinks:
Function Reference/wp enqueue script
jQuery.noConflict()
jqueryui.com