ಆಕ್ಟೇವ್ ಗಣಿತ ತಂತ್ರಾಂಶ

ಆಕ್ಟೇವ್ (Octave) ಎಂಬುದು ಒಂದು ಮುಕ್ತ ಗಣಿತ ತಂತ್ರಾಂಶ.   ಗಣಿತಜ್ಞರಲ್ಲದೆ ಇಂಜಿನಿಯರುಗಳಿಗೆ ಆಕ್ಟೇವ್ ಅತ್ಯುಪಯುಕ್ತ.   ಮ್ಯಾಟ್ ಲ್ಯಾಬ್ (MATLAB) ತಂತ್ರಾಂಶವನ್ನು ಬಹಳಷ್ಟು ಹೋಲುವ ಆಕ್ಟೇವ್, ವಿಂಡೋಸ್, ಲಿನಕ್ಸ್ ಮೊದಲಾಗಿ ಅನೇಕ ಪ್ಲಾಟ್ ಫಾರ್ಮ್ ಗಳ ಮೇಲೆ ಲಭ್ಯ. 

ಆಲ್ಜೀಬ್ರಾ, ಟ್ರಿಗನಾಮೆಟ್ರಿ, ಕ್ಯಾಲ್ಕ್ಯುಲಸ್, ಪ್ರಾಬಬಿಲಿಟಿ ಥಿಯರಿ, ಸ್ಟಾಟಿಸ್ಟಿಕ್ಸ್, ಆಪರೇಷನ್ಸ್ ರಿಸರ್ಚ್ ಮೊದಲಾಗಿ  ಗಣಿತದ ಎಲ್ಲಾ ವಿಭಾಗಗಳಲ್ಲೂ ಆಕ್ಟೇವ್ ಉಪಯುಕ್ತ,    ಸಿಗ್ನಲ್ ಪ್ರಾಸೆಸಿಂಗ್, ಕಂಟ್ರೋಲ್ ಥಿಯರಿ, ಮಷೀನ್ ಲರ್ನಿಂಗ್ ಮುಂತಾದ ಕ್ಷೇತ್ರಗಳಲ್ಲೂ ಆಕ್ಟೇವ್ ತಂತ್ರಾಂಶದ ಬಳಕೆ ಸಾಧ್ಯ.  ಆಕ್ಟೇವ್ ಎಂಬ ಹೆಸರು ಪ್ರೊ ಆಕ್ಟೇವ್ ಲೆವೆನ್ ಸ್ಪೀಲ್ ಎಂಬ ಪ್ರಾಧ್ಯಾಪಕರ ಹೆಸರಿನಿಂದ ಪಡೆದುಕೊಳ್ಳಲಾಗಿದೆ.  ಆಕ್ಟೇವ್ ತಂತ್ರಾಂಶದ ಮೂಲ ರಚನಾಕಾರರಾದ ಜೇಮ್ಸ್ ಬಿ ರಾಲಿಂಗ್ಸ್ ಅವರಿಗೆ ಆಕ್ಟೇವ್ ಲೆವೆನ್ ಸ್ಪೀಲ್ ಪಾಠ ಮಾಡಿದ ಗುರುವಾಗಿದ್ದರು. ಈ ತಂತ್ರಾಂಶದ ಮೂಲ ಉದ್ದೇಶವು ಕೆಮಿಕಲ್ ಇಂಜಿನಿಯರಿಂಗ್ ಕ್ಷೇತ್ರದಲ್ಲಿ ಬೇಕಾಗುವ ಗಣಿತ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹಾರ ಮಾಡುವುದಾಗಿತ್ತು.  ಮುಂದೆ ಜೀಎನ್ಯೂ (GNU) ಫೌಂಡೇಷನ್ ಸಂಸ್ಥೆಯು ಆಕ್ಟೇವ್ ತಂತ್ರಾಂಶವನ್ನು ಇನ್ನಷ್ಟು ಅಭಿವೃದ್ಧಿಪಡಿಸಿ ಬಿಡುಗಡೆ ಮಾಡಿತು.  ಈಗಾಗಲೇ ಆಕ್ಟೇವ್ ಎಂಟನೇ ಆವೃತ್ತಿಯಲ್ಲಿ ಲಭ್ಯವಾಗಿದೆ.  ಜೀಎನ್ಯೂ ಆಗಾಗ ಆಕ್ಟೇವ್ ತಂತ್ರಾಂಶದ ಹೊಸ ಆವೃತ್ತಿಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡುತ್ತದೆ.  ಆಕ್ಟೇವ್ ಫೋರ್ಜ್ ಎಂಬುದು ಆಕ್ಟೇವ್ ತಂತ್ರಾಂಶದಲ್ಲಿ ಅಭಿವೃದ್ಧಿ ಪಡಿಸಿದ ಉದಾಹರಣೆಗಳು, ಪ್ಯಾಕೇಜ್ ಇವೆಲ್ಲ ಉಪಯುಕ್ತ ತಂತ್ರಾಂಶಗಳ ಆರ್ಕೈವ್.

 ನಿರ್ದೇಶ ಭಾಷೆ (command language) 
ಆಕ್ಟೇವ್ ಭಾಷೆಯು ಬಹುಮಟ್ಟಿಗೆ ಮ್ಯಾಟ್ ಲ್ಯಾಬ್ ಭಾಷೆಯನ್ನು ಹೋಲುತ್ತದೆ.   ಹೀಗಾಗಿ ಆಕ್ಟೇವ್ ಬಳಸಿ ತಯಾರಿಸಲಾದ ಪ್ರೋಗ್ರಾಮ್ ಅಥವಾ ಸ್ಕ್ರಿಪ್ಟ್ ಗಳನ್ನು ಮ್ಯಾಟ್ ಲ್ಯಾಬ್ ತಂತ್ರಾಂಶದಲ್ಲೂ ನಡೆಸಬಹುದು. ಮ್ಯಾಟ್ ಲಾಬ್ ನಲ್ಲಿರುವಂತೆ ಆಕ್ಟೇವ್ ತಂತ್ರಾಂಶದಲ್ಲೂ ಕಮಾಂಡ್ ವಿಂಡೋ ಇದೆ. ಈ ಕಿಟಕಿಯಲ್ಲಿ ಬಳಕೆದಾರರು ನಿರ್ದೇಶಗಳನ್ನು ನೀಡಬಹುದು.  ಹೀಗಾಗಿ ಬಳಕೆದಾರರು  interactive ಅಥವಾ  ಸಂಭಾಷಣಾ ಮಾರ್ಗದಲ್ಲಿ ವ್ಯವಹರಿಸಬಹುದು. ಇದಲ್ಲದೆ ಎಡಿಟರ್ ಕಿಟಕಿಯಲ್ಲಿ ಒಂದು ಇಡೀ ಪ್ರೋಗ್ರಾಮ್ ಬರೆದು ಅದನ್ನು ನಡೆಸಲು ಅವಕಾಶವಿದೆ. ಆಕ್ಟೇವ್ ಪ್ರೋಗ್ರಾಮುಗಳ ಹೆಸರು ".m" ಎಂಬುದರಿಂದ ಕೊನೆಗೊಳ್ಳುತ್ತವೆ.   

 % ಪರ್ಸೆಂಟೇಜ್  ಚಿಹ್ನೆಯ ನಂತರ ಏನು ಬರೆದರೂ ಅದೊಂದು ಟಿಪ್ಪಣಿ 
 # ಪೌಂಡ್ ಚಿಹ್ನೆಯನ್ನೂ ಇದೇ ರೀತಿ ಕಾಮೆಂಟ್ ಬರೆಯಲು ಬಳಸಬಹುದು 
 >> y=3+4j  % ಒಂದು ಕಾಂಪ್ಲೆಕ್ಸ್ ಸಂಖ್ಯೆ 
 >> disp( sqrt ( y ) ) % ಅದರ ವರ್ಗಮೂಲ 
 X = [1 2 3] ; % X ಎಂಬುದು  ಒಂದು  ವೆಕ್ಟರ್  
 Y = [1,2,3; 3,2,1; 2, 3, 1]; %Y ಎಂಬುದು ಒಂದು 
 Z = Y(1:2,2:3); % ಕೊನೆಗೆ ಸೆಮಿಕೋಲನ್ ಬರೆದರೆ ಆಕ್ಟೇವ್ ಮೌನವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ 
 W = Z’  % ಸೆಮಿಕೋಲನ್ ಬರೆಯದಿದ್ದರೆ ಉತ್ತರವನ್ನು ಪ್ರಕಟಿಸುತ್ತದೆ 
 for n=1:10
    if ( X(n) > 1)  
 disp(  X(n) )
    end   #ಆಕ್ಟೇವ್ endif ಬಳಕೆಯನ್ನೂ ಸ್ವೀಕರಿಸುತ್ತದೆ 
 end #ಇಲ್ಲಿ endfor ಎಂಬ ಬಳಕೆಯೂ ಓಕೆ

 ಫಂಕ್ಷನ್ ಗಳ ವೈಪುಲ್ಯ   
ಆಕ್ಟೇವ್ ತಂತ್ರಾಂಶದಲ್ಲಿ ಗಣಿತಕ್ಕೆ ಸಂಬಂಧಿಸಿದ  function ಗಳು ದೊಡ್ಡ ಸಂಖ್ಯೆಯಲ್ಲಿವೆ.  ಕೆಲವು function ಗಳನ್ನು  ಕೆಳಗೆ ಉದಾಹರಣೆಯಾಗಿ  ನೀಡಲಾಗಿದೆ.  help ಎಂಬ function ಬಳಸಿ ಅಥವಾ doc ಎಂಬ function ಬಳಸಿ ಯಾವುದೇ ವಿಷಯದ ಬಗ್ಗೆ ಸಹಾಯ ಯಾಚಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ doc("hist") ಎಂದಾಗ "hist" ಎಂಬ function ಕುರಿತು ಮಾಹಿತಿಯನ್ನು ಆಕ್ಟೇವ್ ಪ್ರಕಟಿಸುತ್ತದೆ.

 theta = pi/3;
 disp( sin(theta)  ) # ತ್ರಿಕೋಣಮಿತಿಯ ಸೈನ್ 
 disp( sqrt( tan(theta) ) ) # ವರ್ಗಲಬ್ಧ 
 disp ( nchoosek (10, 2) ) # ಹತ್ತು ವಸ್ತುಗಳಲ್ಲಿ ಎರಡನ್ನು ಆಯ್ಕೆ ಮಾಡಿಕೊಳ್ಳುವ ವಿಧಾನಗಳ ಸಂಖ್ಯೆ 
 x = 0 : 0.01 : 1 
 y = 1 ./ sqrt (1 + x.*x)
 area = sum(y) * 0.01 ;  # ಕೂಡುವುದು

 ಪ್ಲಾಟಿಂಗ್ 
ಅನೇಕ ಬಗೆಯ ನಕಾಶೆಗಳನ್ನು ಆಕ್ಟೇವ್ ರಚಿಸಬಲ್ಲದು - ಉದಾಹರಣೆಗೆ ಲೈನ್ ಪ್ಲಾಟ್, ಸ್ಕಾಟರ್ ಪ್ಲಾಟ್, ಬಾರ್ ಚಾರ್ಟ್, ಹಿಸ್ಟೋಗ್ರಾಮ್, ಪೈ ಚಾರ್ಟ್, ಇತ್ಯಾದಿ.  ಸರ್ಫೇಸ್ ಪ್ಲಾಟ್, ಕಾಂಟೂರ್ ಪ್ಲಾಟ್ ಇವೆಲ್ಲವೂ ಕೂಡಾ ಲಭ್ಯ.

 x = 1:10
 y = sqrt(x)
 plot(x,y) %ಸರಳ ಲೈನ್ ಪ್ಲಾಟ್ 
 plot(randn(1,100)*10+250) # ನಾರ್ಮಲ್ ಡಿಸ್ಟ್ರಿಬ್ಯೂಷನ್ ಉಳ್ಳ ನೂರು  ರಾಂಡಮ್ ಸಂಖ್ಯೆಗಳ ಚಿತ್ರ 
 hist(randn(1,100)*10+250) # ಅದೇ ರಾಂಡಮ್ ಸಂಖ್ಯೆಗಳ ಹಿಸ್ಟೋಗ್ರಾಮ್    
 expenses = [200 300 5000 450 320]
 pie(expenses) % ಪೈ ಚಾರ್ಟ್

 ಪ್ಯಾಕೇಜ್ 
೪. ಅನೇಕ ಪ್ಯಾಕೇಜ್ ಗಳನ್ನು ಆಕ್ಟೇವ್ ಒಳಗೊಂಡಿದೆ. ಇವುಗಳನ್ನು ಬಳಸಿ ತಂತ್ರಾಂಶದ ಕ್ಷಮತೆಯನ್ನು ಇನ್ನಷ್ಟು ವಿಸ್ತರಿಸುವುದು ಸಾಧ್ಯ. ಕೆಲವು ಉದಾಹರಣೆಗಳು ಕೆಳಗೆ ಕೊಟ್ಟಿವೆ.

>> pkg load symbolic #ಸಿಂಬಾಲಿಕ್ ಕಂಪ್ಯೂಟಿಂಗ್

>> x = sym('x')

>> y = 1 + x + 2*x^2 + 3*x^3  #ಈಗ y ಎಂಬುದು ಒಂದು ಸಿಂಬಾಲಿಕ್ function

>> diff(y,x) #ಡಿಫರೆನ್ಷಿಯೇಷನ್

>>int(y,x) # ಇಂಟೆಗ್ರೇಷನ್

>> pkg load control # ಕಂಟ್ರೋಲ್ ಥಿಯರಿ

>> s=tf('s') #s ಎಂಬ transfer  function

>> step(1/(s+1)) #  1/(s+1) ಎಂಬ transfer function  ಸ್ಟೆಪ್ ರೆಸ್ಪಾನ್ಸ್

>> ramp(1/(s+1)) #ರಾಂಪ್ ರೆಸ್ಪಾನ್ಸ್

 ಬಳಕೆಗಳು 

 ಇಂಜಿನಿಯರಿಂಗ್ - ಮೆಕ್ಯಾನಿಕಲ್, ಎಲೆಕ್ಟ್ರಿಕಲ್, ಎಲೆಕ್ಟ್ರಾನಿಕ್ಸ್, ಕೆಮಿಕಲ್ ಮುಂತಾಗಿ ಎಲ್ಲಾ ಇಂಜಿನಿಯರಿಂಗ್ ವಿಭಾಗಗಳಲ್ಲೂ ಆಕ್ಟೇವ್ ಬಳಸಬಹುದು. 
 ಸೈನ್ಸ್ - ವಿಜ್ಞಾನದ ಎಲ್ಲಾ ವಿಭಾಗಗಳಲ್ಲೂ ಆಕ್ಟೇವ್ ಉಪಯುಕ್ತ; ವಿಶೇಷವಾಗಿ ಫಿಸಿಕ್ಸ್ ಕ್ಷೇತ್ರದಲ್ಲಿ ಇದರ ಬಳಕೆ ಹೆಚ್ಚು. 
 ಡೇಟಾ ಸೈನ್ಸ್ - ಬೃಹತ್ ಗಾತ್ರದ ದತ್ತಕೋಶವನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಪೈಥನ್ ಮತ್ತು R ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಿಗೆ ಆಕ್ಟೇವ್ ಒಂದು ಪರ್ಯಾಯ ವ್ಯವಸ್ಥೆ. 
 ಶಿಕ್ಷಣ ಕ್ಷೇತ್ರದಲ್ಲಿ - ಆಕ್ಟೇವ್ ಮುಕ್ತವಾಗಿ ಲಭ್ಯವಾದ ಕಾರಣ ಇದನ್ನು ಶಾಲೆ ಮತ್ತು ಕಾಲೇಜುಗಳಲ್ಲಿ ಬಳಸಬಹುದು. GNU ವೆಬ್ ತಾಣದಿಂದ ಆಕ್ಟೇವ್ ತಂತ್ರಾಂಶವನ್ನು ಇಳಿಸಿಕೊಳ್ಳಬಹುದು.