Norm cone

normcone

กิเลสผมนั้นคือเห็นใครทำอะไรได้ ผมก็อยากทำได้บ้าง อย่างรูปข้างบนนั้นเป็นฝีมือ
ของ Prof. Stephen Boyd วาดลงบนหนังสือของท่าน ด้วยความมั่นใจพอสมควรว่า
ท่านเหล่านี้วาดด้วยคอมพิวเตอร์จะด้วยวิธีการใด ๆ ก็แล้วแต่ แต่ผมว่าพวกท่านนั้น
สามารถวาดด้วย MATLAB ได้ ผมเลยใช้เวลาตลอดบ่ายนั่งทำบ้าง ซึ่งถ้าวาดด้วย
Mesh มันจะเป็นอีกแบบไม่ใช่แบบที่ต้องการ (จริง ๆ ผมค่อนข้างมั่นใจว่าเป็นการ
วาดรูปด้วย pstricks มากกว่า เพราะวงกลมดูจะเป็นวงกลมจริง ๆ มากกว่าการลาก
ต่อจุดแบบ MATLAB ถึงอย่างไรก็ตามก็เข้าใจว่าอัลกอริธึมน่าจะเป็นรูปแบบเดียวกัน
ไว้วันหลังจะวาดด้วย pstricks ให้ดูครับ)

สำหรับ MATLAB หลักการก็คือวาดรูปวงกลมไว้ที่ t = 1 ซะก่อน จากนั้น
ก็ต่อจุดจากตำแหน่ง (0,0,0) ไปยังวงกลม (ด้วยความที่ไม่คุ้นกับฟังก์ชัน plot3 ก็
เลยเสียเวลาในการคิดมาก ๆ )

ฟังก์ชันหลักก็คือ plot3(x,y,z) ซึ่งมันจะวาดรูปตามลำดับสมาชิกของ x,y,z เช่น

plot3([0,1],[0,2],[0,4])

ก็จะเป็นการเชื่อมต่อจุด (0,0,0) ไปยังจุด (1,2,4) ถ้าจะเชื่อมต่อสามจุดก็เพิ่มคู่ลำดับ
ไปก็เท่านั้นเอง จากความรู้นี้ก็สามารถวาดรูปข้างต้นได้

t = 0:2*pi/200:2*pi;
y = sin(t);
x = cos(t);
hold off
for i=1:4:size(x,2)
plot3(sin(t),cos(t),ones(1,size(t,2)));
plot3([0,x(i)],[0,y(i)],[0,1]);
hold on
end
xlabel(‘$$x_1$$’,’Interpreter’,’Latex’,’FontSize’,16);
ylabel(‘$$x_2$$’,’Interpreter’,’Latex’,’FontSize’,16);
zlabel(‘$$t$$’,’Interpreter’,’Latex’,’FontSize’,16);
set(gcf,’PaperPositionMode’,’auto’);
print -depsc conenorm.eps

คือวาดวงกลมก่อน แล้วก็เชื่อมจากจุด (0,0,0) ไปยังจุดต่าง ๆ ที่อยู่บนวงกลม เป็น
อันเสร็จเรื่อง

*รูปที่โพส แปลงจาก eps เป็น png โดยใช้ Ghostscript+GhostView และใช้
IrfanView ในการ crop รูป

Laplace Transform กับดัก

Laplace Transform เป็นผลงานของ Pierre-Simon
Laplace (1749-1827) (น่าแปลกที่ z Transform พึ่งมี
อายุได้แค่ 50 ปีเท่านั้นเอง)

Laplace Transform มีสูตรง่าย ๆ ดังนี้
X(s) = \mathcal{L}[x(t)] \triangleq \displaystyle{\int^\infty_{-\infty}x(t)e^{-st} dt}
ในระบบทั่วไปเราจะถือว่าเวลา t<0 นั้น x(0^-) = 0 ดังนั้นเราจะใช้ Laplace Transform แค่ข้างเดียว คือเริ่มต้นจาก 0

วันนี้ที่ภาควิชาได้อ่านเอกสารวิชาการด้วยกัน และมีความตอนหนึ่งว่า

Let z denote a positive zero of the asymptotically stable transfer function G . The Laplace transform Y(s) of the output y(t) for a unit step input is given by Y(s) = G(s) \displaystyle{\frac{1}{s}} Setting s=z yields Y(s) = G(z)(1/z) . Since G(z) = 0 , it follows that Y(z) = 0 , and thus \displaystyle{\int^\infty_0 e^{-zt}y(t)dt = 0}

เพื่อนก็ตั้งคำถามว่า แล้วกรณีที่ z เป็นค่าลบหล่ะ ข้อความที่ว่าไม่เป็นจริง
หรือเพราะมันก็ทำให้ Y(s)=0 เหมือนกัน กว่าพวกเราจะหาคำตอบนี้ได้เล่น
เอาเหงื่อตก สุดท้ายโปรฯ คนเก่งก็หาคำตอบได้

ที่มาของปัญหาคือเรื่องของ region of convergence (ROC) โดยกรณีที่สำคัญและ
ไม่ได้ตระหนักถึงในตอนแรกสำหรับปัญหาข้างต้นคือ \mathcal{L}[u(t)] = \displaystyle{\frac{1}{s}} เมื่อ u(t) คือ unit-step function ซึ่งในกรณีนี้ Laplace Transform ของ u(t) จะมีได้ก็ต่อเมื่อ Re[s] > 0 ลองดูตัวอย่าง

G(s) = \displaystyle{\frac{s-1}{s(s+5)}}

กรณีนี้ไม่มีปัญหาเพราะ ในกรณีที่ s=z นั้น Re[s] > 0 (positive zero) แต่กรณีนี้

G(s) = \displaystyle{\frac{s+1}{s(s+5)}}

เมื่อ s=z (negative zero) นั้น G(s=z) ไม่นิยามเพราะ z ไม่ได้อยู่ใน ROC โดเมนเวลา y(t) = \left(\displaystyle{\frac{1}{5} + \frac{4}{5}e^{-5t}}\right)u(t)

แต่อย่างพึ่งดีใจเพราะถ้า G(s=z) ไม่นิยามแล้ว เราจะเรียกมันว่า zero หรือ
แม้กระทั้ง pole ได้อย่างไร สรุปในตอนนี้เราไม่ควรใช้ ROC ในทุก ๆ กรณี เพราะไม่
เช่นนั้น pole และ zero เราหายหมด

ย่อหน้าข้างบนนั้นเป็นความเข้าใจที่ผิด เพราะ pole และ zero นั้นนิยามสำหรับ
โพลิโนเมียลทั่วไป ไม่ได้นิยามหลังจากแปลงลาปลาซแล้ว พูดง่าย ๆ คือ pole และ zero
นั้นมีได้ ถึงแม้ว่าจะแปลงลาปลาซไม่ได้ ดังนั้นที่อาจารย์เข้าใจก็ถูกแล้วครับผม

\newcommand ซะหน่อย

ใน \LaTeX นั้นคุณสามารถสร้างคำสั่งใหม่เพื่อใช้ส่วนตัวได้ด้วยคำสั่ง

\newcommand{cmd}[args]{definition}
\newcommand{cmd}[args][default]{definition}

แบบนี้ ซึ่งสะดวกมาก ยกตัวอย่างถ้าคุณต้องการเขียนสมการแบบนี้

x_1 + x_2 + \cdots + x_n

แต่บางครั้งในเอกสารจำเป็นต้องเปลี่ยน x ไปเป็น y บ้าง z
บ้าง และต้องเขียนแบบนี้เยอะมากในรายงาน การทำคำสั่งใหม่ไว้ใช้ก็เป็นความคิดที่ดี
ซึ่งทำได้ดังนี้

\newcommand{\xse}[1][x]{#1_1 + #1_2 + \cdots + #1_n}

เวลาเรียกใช้งานถ้าสั่งแค่ \xse ค่าโดยปริยายก็จะแสดงเป็น x แต่ถ้าสั่งเป็น
\xse[y] เราก็จะได้อนุกรมของ y แทนซึงสะดวกดี

ข้อจำกัดของคำสั่งนี้ก็คือคุณจะใส่ค่าโดยปริยายได้เพียงแค่ค่าแรกค่าเดียวเท่านั้นเอง
ทางแก้ง่าย ๆ ก็คือไม่ต้องมีค่า

สำหรับในกรณีสองตัวแปรเช่นในบางกรณีต้องการเปลี่ยนค่าสุดท้ายจาก n
ไปเป็นแบบอื่น ก็

\newcommand{\xse}[2][x]{#1_1 + #1_2 + \cdots + #1_#2}

ถ้าต้องการได้

z_1+z_2 + \cdots + z_m

ก็สั่ง \xse[z]{m} เป็นต้น

ความหมายของคำว่า affine

คำว่า affine ถูกใช้บ่อยมาก ๆ ในคณิตศาสตร์ เช่น affine function ฯลฯ ผมออกจะ
มีปัญหานะกับเรื่องพวกนี้เพราะคำจำกัดความของคำศัพท์พวกนี้ถ้าไม่เข้าใจก็เอาไป
ใช้ไม่ได้

ปัญหาที่ผมมักเจอก็เสมอก็คือเราใช้คำศัพท์พวกนี้โดยไม่เข้าใจความหมายในสาขา
นั้น ๆ ที่พึ่งเดียวที่เด็กไทยมีอยู่คือ ศัพท์บัญญัติราชบัณฑิตยสถาน แต่ขอโทษครับ
มีแค่ศัพท์บัญญัติแต่ไม่บรรจุความหมาย จึงมีประโยชน์สำหรับผู้พยายามแปลหนังสือ
เท่านั้น ตัวอย่างการค้นคำว่า affine ในพจนานุกรมศัพท์บัญญัติราชบัณฑิตยสถาน

affine – การเปลี่ยนแปลงเชิงสัมพันธ์ สาขาธรณีวิทยา

affine – สัมพรรค สาขาคณิตศาสตร์

อันแรกไม่ดีนะครับ เพราะยาว อันที่สองดีแต่มันคืออะไรวะ

อย่างนี้เด็กที่อ่านหนังสือภาษาอังกฤษ แล้วเจอคำศัพท์เหล่านี้จากหนังสือขั้นสูงแล้ว
ซึ่งส่วนใหญ่จะไม่อธิบายความหมายของศัพท์ที่รู้กันทั่วไปของประเทศที่ใช้ภาษา
อังกฤษมาก เด็กไทยต้องทำอย่างไรครับ ค้นคว้าเองว่าคำนี้หมายความว่าอะไร (ในรูป
แบบที่เข้าใจง่าย ๆ ได้ใจความ) คำตอบคือเสียเวลามาก ๆ แล้วไม่ใช่ว่าจะเข้าใจได้
ถูกต้อง (การถามคำถามพื้นฐานเหล่านี้ สังคมไทยจะมองในลักษณะที่ไม่ดี เช่น ถาม
จุกจิก ถามโง่ ๆ รบกวนการสอนโดยใช่เหตุ ซึ่งปัญหาเหล่านี้ต้องใช้เวลาในการปรับตัว
และเปลี่ยนทัศนคติไม่ใช่สั่งปุ๊บก็ทำได้ ลองดูการประชุมวิชาการไทย ๆ ก็ได้ครับ พวก
ครูอาจารย์เองก็นั่งแถวสามเว้นไว้สองแถว แล้วไม่ค่อยจะถาม คนถามก็หน้าเดิม ๆ
เป็นต้น)

มาดูพจนานุกรมทั่วไป

affine – บุคคลที่เกี่ยวดองกันด้วยการแต่งงาน

affine – ลอกเลียน, เลียนแบบ

เห็นแล้วใช่ไหมว่าพจนานุกรมเฉพาะทางสำคัญแค่ไหน

จาก wiki

Adjective

affine

  1. (mathematics) Assigning finite values to finite quantities.
  2. (mathematics) Describing a function expressible as f(x)=ax+b (which is not linear, but is similar).
  3. Of or pertaining to a transformation that maps parallel lines to parallel lines and finite points to finite points.

เห็นความหมายที่สองไหมครับ ชัดเจนดีมาก ๆ แปลให้ได้ใจความก็คือ ฟังก์ชันเชิง
เส้น (linear function) บวกด้วยค่าคงที่ นั่นเอง

TeX capacity exceeded, sorry

เคยคอมไพล์ \LaTeX แล้ว เจอแบบนี้ไหมครับ

! TeX capacity exceeded, sorry [main memory size=1500000].

bla bla bla

If you really absolutely need more capacity,
you can ask a wizard to enlarge me.

ประโยคสุดท้ายน่ารักไหมครับ มีอีเมลก็น่าจะรู้จักประโยคพวกนี้ดี เข้าเรื่อง ผมเจอ
กรณีนี้เนื่องจากไฟล์สร้างรูปภาพใหญ่เกิน นั่งหาวิธีแก้อยู่นานเหมือนกัน

สำหรับ MiKTeX 2.7 ให้สั่งคำสั่งตามด้วยตัวเลือกเพิ่มหน่วยความจำ เช่น

pdflatex -extra-mem-top=7500000 main.tex

หรือ

latex -extra-mem-top=7500000 main.tex

ตัวเลข 7500000 คือหน่วยความจำที่ยอมให้เพิ่ม สำหรับเวอร์ชันที่ต่ำกว่า 2.7 ก็ต้อง
ไปดูตัวเลือกของ command line เอา มีอยู่แล้วใน release note ของ 2.7