Mathjaxのv2からv3へのアップデート

Github pages上で公開しているページのMathjaxのアップデートやったのでメモ。 v2からv3へのMathjaxの変更は公式ページに記載してある。 Upgrading from v2 to v3 — MathJax 3.2 documentation 公式から設定の変換ツールがあるので、設定の変換はツールを使…

Could not fetch specs from https://rubygems.org/

rubyで bundle installしたときに Could not fetch specs from https://rubygems.org/ のエラーが出る場合がある。問題の原因は色々考えられるが代表的な直し方は ruby/bundleの再インストール IPv6を使わない。OSXの場合はSystem Preference -> Network -> …

Zshでmvの補完をするとcommand not found: _mv

OSXのzshでmvとtypeした後にTABで補完すると以下のようなerrorがでる mv (eval):1: command not found: _mv もしくは (eval):1: _mv: function definition file not found 原因はzshのinstall directoryのzsh/share/zsh/functions/ の _mv が何かの理由で読…

Mathjaxで写像/関数の定義域の制限

Mathjaxでrestriction map/functionを書く。 基本的にはtex/latexと同じである。 method1 Definition:Restriction/Mapping - ProofWiki Proofwikiやでは|の過度な仕様を避けるため、harpoon \(\upharpoonright\) 記号を使うことを推奨している。 f_{\restric…

Airflowのconfigで環境変数を使う

documentなどに明示的に記載されてないが、Airflowのconfig file airflow.cfgでは環境変数が使える。 AIRFLOW_HOMEが環境変数として設定されていれば、以下のようにかける。 [core] # The home folder for airflow, default is ~/airflow airflow_home = ${A…

OSX Sierraで Could not resolve host: github.com

xcodeを9.2にupdateしたら? git-pushで以下のerrorがでるようになった。 fatal: unable to access 'https://github.com/username/repository.git/': Could not resolve host: github.com xcodeのcommand line toolsが消えていたようで、command line toolsを…

scikit imageでHue(色相), Saturation(彩度)の変更をする

scikit-image: Image processing in Python — scikit-image Hue(色相)とSaturation(彩度)の変更方法は、RGBをHSV変換して、HとSのchannelを変更すれば良い。 どの程度変更すれば良いかがわかりにくいので、GIMPと同じになるように値を調整したものを作成した…

GitHub ioでjekyllをdisableにする

GitHub ioで静的web siteを公開する際にはdefaultではjekyllがONになっており、GitHubにpushした後jekyllによってcodeが処理される。 この時、jekyllのmeta directory _で始まるfolderなどが存在すると、除外されるなど、既にrepository内に静的HTMLを追加し…

sphinx + breatheでAttributeError: 'NoneType' object has no attribute 'replace'

以下のようなエラーがSphinx + Breatheで出る。 # Sphinx version: 1.6.3 # Python version: 3.6.2rc1 (CPython) # Docutils version: 0.13.1 release # Jinja2 version: 2.9.6 # Last messages: # building [mo]: targets for 0 po files that are out of d…

numpyの演算

numpyの演算は、二次元の配列と一次元の配列を明確に区別している。 一次元の配列はvectorとして、二次元の配列はmatrixとして、数学的に許された演算のみ可能。 例えば、[0 1 2 3 4 5]と[[0 1 2 3 4 5]]の演算はできない。 def printVar(var, symboltable):…

有限体の勉強するのに良い本

finite fields - Books on advanced galois theory - MathOverflow より引用。 Amazon.co.jp: Finite Fields (Encyclopedia of Mathematics and its Applications): Rudolf Lidl, Harald Niederreiter: 洋書 Amazon.co.jp: Introduction to Finite Fields …

Sierraのkarabiner elementsで日本語キーボードをUSキーボードっぽく使う

Mac

KarabinerはSierraにまだ対応していない。 Karabiner elementsでキーボードの配列を変更できるので、キーボードの配列を一文字ずついじってUSっぽく使うことはできる。 ~/.config/karabiner/karabiner.jsonにキーの設定ファイルがあるので、以下を追記する。…

std::stringでtolower/toupper

C++

#include <algorithm> #include <string> std::string data = "Abc"; std::transform(data.begin(), data.end(), data.begin(), ::tolower); std::transform(data.begin(), data.end(), data.begin(), ::toupper); Reference c++ - How to convert std::string to lower case? -</string></algorithm>…

MathJaxでQED記号をかく

MathJaxで証明終了の記号をかく。 記号自体は\Boxで与えられるが、右寄せにhtmlタグを使う必要がある。 <div class="QED" style="text-align: right">$\Box$</div> class="QED"は特に意味がないので、消しても良い。

Travis CIでビルドの回数を抑える時

C++の場合は、一回のビルド・テストに非常に時間がかかるので、ビルドを減らしたい場合がある。 Travis CIでは、設定で Build pushs push時にビルド Build pull requests pull request 時にビルド がある。 両方ONにすると、PR時に2回ビルドが走ることになる…

Travis CIのOSXのビルドの開始が遅い

OSXのビルドは、物理マシンを利用しているので、利用者が多い場合は開始に時間がかかる。 下記にTravis CIのビルドステータスがある。 Travis CI Status OSXでのjob数はずっと同じ値になっており、Jobがスタックしているのが分かる。 Reference OSX builds e…

MathJaxで最適化問題を書く

TeXで最適化問題を書く時と同じで良い。 \begin{align} \max_{\beta_{0} \in \mathbb{R}, \beta \in \mathbb{R}^{d}} & & & M \nonumber \\ \mathrm{subject\ to} & & & y_{i} \frac{f(x_{i})}{\| \beta \|} \ge M, \quad \forall i = 1, \ldots, N \nonumbe…

vimscript中でコマンドを実行

vim

vimscriptの中で:vsplit variableのようなことをやりたい。 if cond execute "vsplit " . variable endif で良い。 if cond vsplit variable endif だとvariableは文字列として認識される。

jekyllのliquid templateで配列を扱う

GitHub Pagesは内部でjekyllを利用しmarkdownからhtmlファイルを生成している。 jekyllではrubyのliquid templateが利用できる。 liquid templateで配列を扱う方法がやや特殊なので、めも。 配列の代入 空の配列の代入は以下のように行う。 {% assign array1…

reveal.jsで画像の中央揃えとサイズ変更をする

htmlで書くしかない。 外部markdownファイルを使っている場合も、htmlに直接書いている場合も以下のように書けば良い。 <div style="text-align:center;"> <img src="path/to/img.png" style="width:40%;"/> </div> 外側のsytle="text-align:center;"が中央揃えの設定である。 右揃えにしたければrightにすれば良い imgタグに画像ファイルへのpathと…

Github Pagesでbuild failureがでる

12/8にGithub Pagesのupdateがあり、今までと仕様がいくつか変わっている。 Publishing with GitHub Pages, now as easy as 1, 2, 3 大きな変更点は、repositoryのmarkdown fileが全てbuildの対象になったという点。 今までは、ヘッダーに---を記載したMdフ…

hubでpull-request: Unprocessable Entity (HTTP 422) Invalid value for "head"とでる

Git

ReferenceにあるようにError Messageが適切でない場合があるので、下記の方法で必ずしも解決するかは不明。 github上にbranchがないのにpull-requestを作っているのが問題 --pushで、今いるbranchをpushしてpull requestを作ってくれる。 hub pull-request -…

boost::numeric::ublas::matrixのiterator

boostのublas::matrixにはbegin1とbegin2のiteratorがある。 どういうものか記載がなかったのでメモ。 答えは、行列の1行目と1列目のitetator namespace ublas = boost::numeric::ublas; ublas::matrix<double> m(3, 3); m(0, 0) = 0.0; m(0, 1) = 1.0; m(0, 2) = 2.</double>…

boostでdemangleする

C++

boost/coreにはいくつかのutility系の機能がある。 boost/core/demangle.hppはdemangleを提供する。 使い方 #include <boost/core/demangle.hpp> #include <typeinfo> #include <iostream> template<class T> struct X { }; int main() { char const * name = typeid( X<int> ).name(); std::cout << name << std::endl; </int></class></iostream></typeinfo></boost/core/demangle.hpp>…

Aligntaでvimで行末のコメントを揃える

vimで行末のコメントを揃えるときの話。 矩型選択などを利用して揃えるものはあるが、プラグインを使った解説をしているものがなかったのでメモ。 準備 Aligntaを入れる。 Alingtaは、文章整形用のvim plugin。 同様のツールにAlignがあるが、Aligntaの方が…

pythonのpackagesのimportまとめ

pythonのpackagesのimportの仕方と使いかたのメモ。 pythonはディレクトリ内に__init__.pyを置いておくと、ディレクトリはpackagesとして認識される。 __init__.pyはpackagesの初期化処理を記述し、なければ空で良い。 まとめ packages内のフォルダ名及びフ…

ublasのouter_prodの計算式

C++

boostのublasにはouter_prodというベクトルとベクトルの転置の積を計算する関数が存在する。 どちらのベクトルが転置されているかちゃんと書いたものがなかったのでメモ。 直積の演算としては直感通りの式。 $$ x = \left( \begin{array}{c} x_{1} \\ x_{2} …

数式が使える最強のプレゼンテーション環境

Git

うれしい markdownでかける webで見れる githubで管理できる MathJaxでlatexの数式が使える markdownとMathJaxの組み合わせで起こりがちの_などのエスケープ問題を回避できる。 使うもの Remark.js github jsをurlで読み込めるので、ネットにつながる環境な…

NeoBundleCleanが使えない

vim

NeoBundleCleanはdangerousなので削除したとのこと。 How to Uninstall Packages? · Issue #356 · Shougo/neobundle.vim · GitHub プラグインを読み込まないようにしたい場合は、NeoBundle hoge/fuga.vimの記述を消せば読み込まれないとのこと。 プラグイン…

C++で配列の型のtypedef

C++

配列のtypedefをするときは次のようにする。 //int[2]のtypedef typedef int type[2];