Category: Uncategorized

ปัญหา Path ของ Rtools

rtools มันจำเป็นสำหรับ r package ที่มี code จากภาษาอื่น อย่าง c/c++ หรือ fortran ในที่จะต้องมีการ compile ระหว่างการติดตั้ง โดยปกติแล้วมัน จะถูกลงไว้ที่ PATH="C:\Rtools\bin;${PATH}" ถ้าลงไว้ที่อื่นและต้องการเรียกใช้ใน R ตัวแปรชื่อ BINPREF จะเป็นตัวแปรที่ R จะเรียกหา path ของ rtools ฉะนั้นถ้าจะเรียกใช้ rtools ที่ลงไว้ที่อื่นก็ต้องเซ็ต path ให้กับตัวแปรนี้ เช่น BINPREF="X:/R/Rtools-3.5/mingw_$(WIN)/bin/" ** สังเกตว่า BINPREF ใช้ forward slash นะครับ

OpenCLFunctionLoad

กำลังทำโปรเจคที่ใช้ OpenCL ใน Mathematica มันก็เร็วใช้ได้เลย แต่อาจจะงงๆกับ types https://reference.wolfram.com/language/OpenCLLink/ref/OpenCLFunctionLoad.html

R 3.5.1 กับ RLink

ดูเหมือนวิธีเรียกใช้งาน RLink (Mathematica < 11.3) กับ R เวอร์ชั่นใหม่ 3.5.1 จะมีปัญหา วิธีที่เริ่มจะมีการแชร์ก็คือให้เปลี่ยนไปใช้ JAVA ตัวที่มากับ rJava แทน แทนที่จะใช้ตัวที่ Mathematica มีมาให้ ดูตัวอย่างข้างล่างนี้ครับ ที่มา https://community.wolfram.com/groups/-/m/t/1381936

วาดกราฟ exponential sums

พอดีว่าไปเห็นกราฟที่วาดจาก Exponential sums จากเวบ https://www.maths.unsw.edu.au/about/exponential-sums แล้วดูว่าสวยดีเลยอยากลองทำดูบ้างด้วย Mathematica การวาดกราฟจาก exponential sums หรือที่เขียนอยู่ในรูปแบบ ที่ทำนี้ก็คือถ้าเราค่อยๆบวกเข้าไปทีละเทอมและเอาค่าที่ได้มาพล็อตกราฟใน complex plane โดยที่แกนนอนคือจำนวนจริงและแกนตั้งคือจำนวนจินตภาพ ลองดูที่โค้ดน่าจะเข้าใจมากขึ้นครับ fn[n_] := Log[n]^4 NP = 5000; ls = Accumulate[Table[Exp[2 \[Pi] I fn[n]] // N, {n, 1, NP}]]; Manipulate[ ListPlot[{Re@#, Im@#}\[Transpose] &@(ls[[1 ;; np]]), Joined -> True, AspectRatio -> Full, PlotStyle -> Black, PlotRange -> {{-5, 70}, {-60, 20}}] , {np,

mingw64 libdatrie-libthai-thpronun

ผมเอา code ของ libdatrie 0.2.9 , libthai 0.1.28 และ thpronun 0.2.0 มาคอมไพล์โดยใช้ msys2, mingw64 ครับ เผื่อมีประโยชน์ประหยัดเวลากันบ้างครับ libdatrie 0.2.9 libthai 0.1.28 thpronun 0.2.0 การเอาไปใช้งานก็จะต้องติดตั้ง msys2 ก่อนนะครับ จากนั้นก็เพิ่ม PATH ของ mingw เข้าไป เช่น c:\msys64\ming64\bin

ใช้ OpenMP กับ Rcpp

ที่มา https://github.com/RcppCore/Rcpp/blob/master/inst/examples/OpenMP/OpenMPandInline.r ตัวอย่าง Rcpp กับ OpenMP library(inline) openMPCode <- ‘ // assign to C++ vector std::vector<double> x = Rcpp::as<std::vector< double > >(xs); size_t n = x.size(); #pragma omp parallel for shared(x, n) for (size_t i=0; i<n; i++) { x[i] = ::log(x[i]); } return Rcpp::wrap(x); ‘ settings <- getPlugin("Rcpp") settings$env$PKG_CXXFLAGS <- paste('-fopenmp', settings$env$PKG_CXXFLAGS) settings$env$PKG_LIBS <- paste('-fopenmp -lgomp',

Microsoft Edge เปิด localhost ไม่ได้

พอดีว่าต้องแก้งานที่ใช้ Shiny บางอย่างในเครื่องของที่ทำงานและทดลองใช้กับ MS Edge เพื่อเปิดงานจาก localhost:127.0.0.1 แล้วปรากฏว่ามันเปิดไม่ได้ บอกว่า “Hmmm…can’t reach this page”  แต่พอทดลองเปิดกับ Chrome แล้วใช้ได้ วิธีที่ผมแก้ปัญหาคือ เปิด command prompt (cmd) มาแล้วพิมพ์คำสั่งนี้ลงไปครับ CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe เพื่อให้ Edge มัน loopback กลับมาที่ localhost ครับ หรือไม่ก็พิมพ์ “about:flags”  ในช่อง url ของ MS Edge แล้ว tick ที่ ช่อง Allow localhost loopback ครับ    

การติดตั้ง TeX Live บน Windows 10

มีคนถามมาว่าจะติดตั้ง TeX Live (https://tug.org/texlive/) บน Windows 10 ต้องทำอย่างไร อย่างแรกเลยก็ต้องไป download ตัวติดตั้งมาก่อน ผมแนะนำว่า load มันมาทั้งหมดเลยแล้วกันโดยไป load ตัว iso จาก http://mirror.ctan.org/systems/texlive/Images/  มันอาจจะมีหลายชื่อที่มีสกุล .iso ก็เลือกมาสักตัวแล้วกันครับ เช่น texlive.iso ซึ่งมันจะมีขนาดใหญ่หน่อยครับ ประมาณ 3-4 GB พอ download เสร็จแล้วก็เปิด folder ที่โหลดเก็บไว้ จากนั้นclick ขวาที่ชื่อไฟล์ที่โหลดมาครับ แล้วก็เลือก Mount ซึ่งถ้ามัน Mount หรือต่อกับไฟล์นี้ได้สำเร็จ มันจะเปิด explorer ของไดร์ที่มีตัวติดตั้ง TeX Live ครับ ก็ให้ double click ที่ไฟล์ชื่อ install-tl-windows.bat ได้เลยครับ จากนั้นก็ตอบคำถามไปเรื่อยๆ แล้วก็รอจนมันติดตั้งเสร็จครับ  

ติดตั้ง CmdStan บน Windows 10

ตัวอย่างการติดตั้ง CmdStan (2.17.1) บน Windows 10 ครับ ในที่นี้ ผมใช้กับ Rtools 3.5 ครับ เริ่มจากการที่เราไป download ตัว zip ของ CmdStan แล้วก็ extract ไว้ที่ไหนสักแห่งตามต้องการครับ จากนั้นก็เปิด Command Prompt ของ Windows ครับ แล้วใช้คำสั่ง cd เพื่อเปลี่ยนไปยัง path ของ CmdStan ที่ extract ไว้ครับ แล้วก็ทำการสร้างไฟล์ ชื่อ local (ไม่มีสกุลต่อท้าย) ในโฟลเดอร์ที่ชื่อ make ที่อยู่ path ของ CmdStan โดยในไฟล์ local นี้มีสองรรทัดนี้ครับ CC=g++ CXX=g++ จากนั้นก็พิมพ์ PATH = c:\rtools\mingw_64\bin;c:\rtools\bin;$PATH เพื่อทำการเซ็ตค่า