# This is the main index of functions in octave/octave-forge.
# It organizes functions by toolbox and by category within
# each toolbox.  Individual directories may have their own
# INDEX file specifying their own toolboxes, or their own
# categories within the "extra" toolbox.  In general if you
# are adding a function to a directory and it does not already
# have an INDEX file, then you should add it here.  If you
# are adding a new directory, you should probably add a new
# INDEX file.

# An index file has the following format:
#
#  toolbox >> Toolbox name
#  Category Name
#   fn fn fn
#   fn fn fn
#  Category Name
#   fn

# Toolbox and category definitions are on the left, function
# lists are indented.

# If no toolbox is specified, then the categories will go into
# extra.  Only use this if you are contributing a small number
# of specialized functions.

# Lines starting with # are comment lines.

# Some functions may be unavailable in octave or octave-forge.
# If they are not implemented they can be listed as usual
# and they will show up with a description of "not implemented".
# If there is a work around or if the function is available
# elsewhere, you can instead use:
#  fn = workaround description
# This workaround description can use any html markup, but
# keep in mind that it is in a bold-italic environment.  For
# the special case of:
#  fn = use <code>alternate expression</code>
# the bold-italic is automatically suppressed.  You will need
# to use <code> even in references:
#  fn = use <a href="someothersite.html"><code>fn</code></a>
# Sometimes functions are only partially compatible, in which
# case you can list the non-compatible cases separately. To
# refer to another function in the package, use <f>fn</f>.
# E.g.,
#  eig(A,B) = use <f>qz</f>

# Since sites may have many missing functions, you can define
# a macro rather than typing the same link over and again.
#  $id = expansion
# defines the macro id.  You can use $id anywhere in the
# description and it will be expanded.  E.g.,
#  $TSA = see <a href="link_to_spctools">SPC Tools</a>
#  arcov = $TSA <code>armcv</code>
# id is any string of letters, numbers and _.

$COMPAT= http://octave.sf.net/compatibility.html
$EG= Etienne Grossman's <a href="http://www.isr.ist.utl.pt/~etienne/octave/">Octave code</a>

interpreter >> Interpreter
Help
 help 
 demo 
 ver = use <f>version</f>
 version 
Variables
 who 
 whos
 whos_line_format 
 workspace 
 clear 
 pack 
 load 
 save 
 append_save
 quit
 document
 temp_name
 class
Functions
 autoload
 alias
 what 
 type
 isa 
 dispatch
 dispatch_help
 edit 
 open 
 lookfor 
 which 
 pcode 
 inmem = use <f>who</f> with -functions
 mex= install octave-forge mex package and use <f>system</f><code>(["mex ", name])</code>
 source
 mark_as_command unmark_command
 mark_as_rawcommand unmark_rawcommand
 iscommand israwcommand
Load path
 path 
 addpath 
 rmpath 
 pathtool 
 file_in_path file_in_loadpath find_first_of_in_loadpath
 rehash
Output
 echo 
 more 
 diary 
 format 
Environment
 cd pwd
 dir=alias for <f>ls</f>
 ls
 mkdir isdir
 copyfile= use <f>system</f><code>("[cp ", source, " ", dest])</code>
 delete = use <f>unlink</f> 
 getenv 
 putenv
 dos
 vms= use <f>system</f>
 unix
 web 
 computer 
 isieee
 isunix ispc
 system
 ! = use <f>system</f><code>("command")</code>
 dump_prefs
 bug_report warranty
 native_float_format
 license ver
 uname
Debugging
 dbclear
 dbstatus
 dbstop
 dbtype
 dbwhere
 debug_on_error
 debug_on_interrupt
 debug_on_warning
 debug_symtab_lookups
Profiling
 profile 
 flops 
Demos and Tests.
 example  demo  test  assert  fail speed 

variables >> System Configuration Variables
Command input
 history history_file history_size edit_history
 saving_history run_history read_readline_init_file
 completion_append_char completion_matches
 history_timestamp_format_string
Function
 ignore_function_time_stamp
Display
 echo_executing_commands
 page_screen_output page_output_immediately
 print_answer_id_name print_empty_dimensions print_rhs_assign_val
 struct_levels_to_print
 split_long_rows silent_functions
 suppress_verbose_help_message
 output_max_field_width output_precision
 PS1 PS2 PS4 fixed_point_format
Error Handling
 crash_dumps_octave_core
 octave_core_file_options
 octave_core_file_limit
 octave_core_file_name
 beep_on_error
 debug_on_error
 debug_on_warning
 errno
 errno_list
 warn_divide_by_zero
 warn_function_name_clash
 warn_future_time_stamp
 warn_missing_semicolon
 warn_separator_insert
 warn_variable_switch_label
 warn_assign_as_truth_value
 warn_reload_forces_clear
 warn_single_quote_string
 warn_precedence_change
 warn_matlab_incompatible
 warn_fortran_indexing
 warn_imag_to_real
 warn_undefined_return_values 
 warn_empty_list_elements
 warn_num_to_str
 warn_str_to_num
 warn_neg_dim_as_zero
 warn_resize_on_range_error
 warn_associativity_change
 warn_string_concat
Processing
 variables_can_hide_functions
 max_recursion_depth
 string_fill_char
 casesen
 sighup_dumps_octave_core
 sigterm_dumps_octave_core
File output
 default_save_options
 save_precision
 save_header_format_string
Support programs
 EDITOR INFO_FILE INFO_PROGRAM MAKEINFO_PROGRAM PAGER gnuplot_binary
 toggle_grace_use
Constants
 F_DUPFD F_GETFD F_GETFL F_SETFD F_SETFL
 O_APPEND O_ASYNC O_CREAT O_EXCL O_NONBLOCK O_RDONLY
 O_RDWR O_SYNC O_TRUNC O_WRONLY
 SEEK_CUR SEEK_END SEEK_SET
 OCTAVE_HOME OCTAVE_VERSION OCTAVE_FORGE_VERSION
 DEFAULT_LOADPATH DEFAULT_EXEC_PATH
 octave_config_info
 program_name argv
 program_invocation_name
Variables
 LOADPATH EXEC_PATH IMAGEPATH

system >> System Utilities
Clock functions
 now 
 date 
 clock 
 cputime 
 tic 
 toc 
 etime gmtime
 ctime time localtime mktime
Date conversion
 is_leap_year
 asctime
 datenum 
 datestr 
 datevec 
 weekday 
 eomday 
 calendar 
 datetick=use <code>gset xdata time; gset timefmt "%d/%m"; gset format x "%b %d"</code>
 strftime 
 strptime
Controlling subprocesses
 system
 popen popen2 pclose
 fork exec pipe waitpid kill
 EXEC_PATH sleep usleep
Process information
 getrusage
 getpgrp
 getpid
 getppid
 geteuid
 getuid
 getegid
 getgid
 getgrgid
Password Database
 getpwent
 getpwuid
 getpwnam
 setpwent
 endpwent
Group Database
 getgrent
 getgrnam
 setgrent
 endgrent

language >> Programming
Logical functions
 xor 
 any 
 all 
 true
 false
 isbool
Bit operations
 bitand 
 bitcmp 
 bitor 
 bitmax 
 bitxor 
 bitset 
 bitget 
 bitshift
 intmax
 intmin 
Sets
 union 
 unique create_set
 intersect intersection
 setdiff  complement
 setxor 
 ismember 
Control structures
 if 
 else 
 elseif 
 end 
 for 
 while 
 break 
 switch 
 case 
 otherwise 
 try 
 catch 
 return 
Interpreter interface
 iskeyword isvarname
 eval 
 evalc 
 feval
 leval temp_name
 evalin 
 builtin 
 assignin 
 ans 
 input_event_hook atexit 
 func2str str2func functions
Constants
 eps 
 realmax 
 realmin 
 pi e
 i j I J
 Inf inf isinf
 isfinite finite
 NaN nan isnan 
 NA isna
Symbol table
 exist
 global
 isglobal
 static
 persistent
 mfilename 
 mlock 
 munlock 
 mislocked
 command typeinfo
 initialize_global_variables
Function arguments
 nargchk 
 nargin 
 nargout 
 varargin
 varargout
 inputname
 fcnchk 
 read_options
 va_start va_arg vr_val
 usage
 argn = string names of the input parameters
User I/O
 disp printf puts
 error 
 warning 
 lasterr 
 lastwarn 
 clc 
 home 
 input 
 keyboard kbhit
 pause menu
 waitbar beep
Inline functions
 inline
 argnames 
 formula 
 char 
 vectorize 
Cell arrays
 cell 
 iscell 
 deref
 cellfun 
 celldisp 
 cellplot 
 num2cell 
 deal
 cell2mat 
 cell2struct 
 struct2cell 
Structures
 struct 
 fieldnames 
 getfield 
 setfield 
 rmfield 
 isfield 
 isstruct
 struct_contains
 struct_elements
Lists
 list islist
 nth
 append
 reverse
 splice
 leval
 map
Operations
 comma horzcat semicolon vertcat not paren cat
Types
 sparse cell struct 
 int8 int16 int32 int64
 uint8 uint16 uint32 uint64
 sizeof

matrix >> Linear Algehra
Generating matrices
 zeros 
 ones 
 eye 
 rand texas_lotto
 randn rande randg randp
 linspace 
 logspace 
 randperm
 meshgrid meshdom
Matrix properties
 size rows columns common_size ndims
 length 
 isempty 
 isequal 
 isnumeric iscomplex
 islogical isdefinite
 logical 
 isscalar isvector ismatrix issquare 
 issymmetric is_duplicate_entry
Rearranging matrices
 reshape 
 tril 
 triu 
 fliplr 
 flipud 
 flipdim
 rot90 
 rotdim
 repmat 
 diag 
 blkdiag 
 kron 
 find 
 sub2ind 
 ind2sub 
 transpose ctranspose
 prepad postpad shift vec vech
 permute ipermute squeeze numel
 circshift shiftdim
Special matrices
 compan 
 commutation_matrix
 duplication_matrix
 sylvester_matrix
 hankel 
 hilb 
 invhilb 
 lauchli
 magic 
 pascal 
 rosser 
 toeplitz 
 vander 
 wilkinson 
 $TESTMAT= available in Nick Higham's <a href="http://www.ma.man.ac.uk/~higham/testmat.html">Test Matrix Toolbox</a>
 gallery= $TESTMAT
 hadamard= $TESTMAT
Linear algebra
 dmult
 cross 
 dot
 norm 
 rank 
 det 
 trace 
 null 
 orth 
 rref 
 subspace=use Andrew Knyazev's <a href="ftp://ftp.mathworks.com/pub/contrib/v5/linalg/subspace.m"><code>subspace</code></a>
 cond 
 inv inverse 
 pinv 
 lscov 
 eig 
 eig(A,B)= use <f>qz</f>
 polyeig 
 condeig 
 trisolve
 syl
 pcg
Matrix factorization
 chol 
 lu 
 qr 
 svd 
 gsvd 
 hess 
 qz 
 schur 
 rsf2csf 
 cdf2rdf 
 balance 
 qrdelete 
 qrinsert 
 planerot 
 cholupdate
 chol2inv
 cholinv 
 qrupdate 
 housh
 krylov
 krylovb
 qzhess
 givens
Matrix functions
 expm 
 logm 
 sqrtm 
 funm thfm
Banded matrices
  BandToFull BandToSparse FullToBand
  SBBacksub SBEig SBFactor SBFactor2 SBProd SBSolve
  ExampleEigenValues ExampleGenEigenValues gapTest

math >> Mathematics
Trigonometry
 sin 
 sinh 
 asin 
 asinh 
 cos 
 cosh 
 acos 
 acosh 
 tan 
 tanh 
 atan 
 atan2 
 atanh 
 sec 
 sech 
 asec 
 asech 
 csc 
 csch 
 acsc 
 acsch 
 cot 
 coth 
 acot 
 acoth 
Exponentials
 exp 
 log 
 log10 
 log2 
 pow2 
 sqrt 
 nextpow2 
 nthroot
Complex numbers
 abs 
 angle arg
 complex 
 conj 
 imag 
 real 
 unwrap 
 isreal 
 cplxpair 
Floating point operations
 fix 
 floor 
 ceil 
 round 
 sign 
Special functions
 airy 
 besselj 
 bessely 
 besselh 
 besseli 
 besselk  bessel 
 beta 
 betainc  betai
 betaln 
 ellipj 
 ellipke 
 erf 
 erfc 
 erfcx 
 erfinv 
 expint 
 gamma
 gamma(complex)= use Tim Reluga's <a href="http://www.octave.org/mailing-lists/octave-sources/2002/9">Gamma.m</a> or Eyal Doron's <a href="http://www.octave.org/mailing-lists/octave-sources/1996/3">cgamma.m</a>
 gammainc gammai
 gammaln lgamma 
 lambertw
 legendre 
Number theory
 mod fmod
 rem 
 factor 
 isprime 
 primes list_primes
 gcd 
 lcm 
 rat 
 rats 
 perms 
 nchoosek bincoeff 
 factorial 
 SHA1
Coordinate transformations
 cart2sph 
 cart2pol 
 pol2cart 
 sph2cart 
 deg2rad rad2deg azimuth distance

analysis >> Data analysis
Sorting
 sort 
 sortrows 
Filtering
 filter 
 filter2 
 conv fftconv
 conv2 
 convn 
 deconv 
 detrend center clip
Fourier analysis
 fft fftw_wisdom
 fft2 
 fftn 
 ifft 
 ifft2 
 ifftn 
 fftshift 
 ifftshift
 FFTW_WISDOM_PROGRAM
Interpolation
 bicubic
 interp1 
 interpft 
 interp2 
 interp3 
 interpn 
 spline 
 pchip pchip_deriv
 ppval fnval
 mkpp 
 unmkpp 
 lookup
Spline functions
 interp1
 csapi
 csape
 csaps
 fnplt fnder
 gcvspl
Geometry
 delaunay 
 delaunay3
 delaunayn
 dsearch 
 dsearchn
 tsearch 
 convhull 
 convhulln
 voronoi 
 voronoin
 griddata 
 griddata3
 griddatan
 inpolygon=  use David Doolin's <a href="http://www.che.wisc.edu/octave/mailing-lists/octave-sources/1999/12">inpoly.m</a>, but with <a href="http://www.che.wisc.edu/octave/mailing-lists/octave-sources/1999/13">caveats</a>

 rectint 
 polyarea 
 __voronoi__
Polynomials
 cheb
 roots 
 poly 
 polyval 
 polyvalm 
 residue
 residue(r,p,k)=use Bradley T. Burchett's <code><a href="ftp://ftp.mathworks.com/pub/contrib/v5/control/resid2wp.m">resid2wp</a></code>
 polyfit 
 polyder polyderiv
 polyinteg polyreduce polyout polygcd
Quaternions
 quaternion
 demoquat qconj qcoordinate_plot qderiv qderivmat qinv qmult
 qtrans qtransv qtransvmat

calculus >> Calculus
Integration
 quad 
 quadl
 quad8 
 dblquad 
 quad_options
 count cquadnd crule crule2d crule2dgen
 gquad gquad2d gquad2d6 gquad2dgen gquad6 gquadnd
 grule grule2d grule2dgen innerfun ncrule quad2dc
 quad2dcgen quad2dg quad2dggen quadc quadg quadndg
Differentiation
 diff 
 gradient 
 del2 
Ordinary differential equations
 ode23 ode45 ode78
 penddot
 pendulum
 rk2fixed rk4fixed rk8fixed
 lsode lsode_options
 dassl dassl_options
 daspk daspk_options
 dasrt dasrt_options
 colloc

plot >> Plotting
Line plots
 plot mplot fplot
 plot3 
 loglog 
 semilogx 
 semilogy 
 polar 
 plotyy= use <f>__gnuplot_raw</f> with <code> ... axes x1y2</code>
 errorbar semilogxerr semilogyerr loglogerr
 scatter 
 plotmatrix 
 stem 
 stem3 
 stairs 
 comet 
 feather 
Business graphs
 pie 
 pie3 
 area 
 bar dhbar
 barh 
 bar3 
 bar3h 
 ribbon 
 pareto 
 fill 
Contour plots
 contour 
 contourf 
 contour3 
 clabel 
 pcolor 
Surface plots
 mesh 
 surf 
 comet3 
 quiver 
 meshc 
 meshz 
 scatter3 
 surfc 
 trisurf 
 trimesh 
 waterfall 
 fill3 
 sombrero
 peaks

plotcontrol >> Plot controls
Figure controls
 newplot 	 
 figure 	 
 clf 	 
 shg 	 
 close 	 
 refresh= try <f>replot</f>
 drawnow
 automatic_replot clearplot closeplot
 clg
 replot
Axis controls
 axis 
 zoom= use <f>gzoom</f>
 grid 
 hold 
 ishold 
 subplot 
 multiplot subwindow oneplot plot_border
 datetick
 tics
Labels
 title bottom_title top_title
 xlabel 
 ylabel 
 zlabel 
 legend 
 colorbar 
 texlabel 
 gtext 
Primitives
 text 
 patch 
Printing
 print 
 printopt 
 orient 
 dxfwrite

Colour controls
 colormap 
 spinmap 
 rgbplot 
 caxis 
 brighten 
Colour maps
 gray 
 ocean
 hsv rainbow
 hot 
 bone 
 copper 
 pink 
 white 
 flag 
 jet 
 prism 
 cool 
 autumn 
 spring 
 winter 
 summer 
 lines 
 colorcube 
 vga 
 contrast 
 colorgradient
View control
 view 
 viewmtx 
 rotate3d 
User input
 ginput gget grab gzoom gpick
 dragrect 
 rbbox 
Gnuplot Interface
 gnuplot_binary
 gnuplot_command_axes gnuplot_command_end gnuplot_command_plot
 gnuplot_command_replot gnuplot_command_splot gnuplot_command_title
 gnuplot_command_using gnuplot_command_with purge_tmp_files
 __gnuplot_raw__ __gnuplot_set__ __gnuplot_show__ __gnuplot_plot__
 __gnuplot_splot__ __gnuplot_replot__

file >> File I/O
Basic handle operations
 fopen 
 fclose 
 fread 
 fwrite 
 ferror perror strerror
 feof 
 fseek 
 ftell 
 frewind 
 fflush
 freport
 dup2
 fcntl
 stdin stdout stderr
 isstreamoff streamoff
Formatted I/O
 fgetl 
 fgets 
 fputs
 fprintf
 fdisp
 fscanf 
 scanf
File operations
 fileattrib
 tempdir 
 mkstemp
 tmpfile
 tmpnam
 tempname = use <f>tmpnam</f>
 prefdir 
 rename link unlink symlink readlink 
 mkfifo umask stat lstat
 mark_for_deletion
Directory operations
 cd pwd ls dir
 filesep 
 pathsep 
 fullfile 
 fileparts 
 partialpath 
 readdir mkdir rmdir
 glob
 tilde_expand
 file_in_path
 file_in_loadpath
 canonicalize_file_name
Import/Export
 csv2cell cell2csv
 textread
 dlmread dlmwrite 
 csvread csvwrite
 xmlread xmlwrite xlsread
 wk1read wk1write 
 wavread wavwrite
 auload ausave
 imread imwrite
 hdf = use <f>load</f>/<f>save</f> with <code>-hdf5</code>
 aload/asave= flat ascii file read/write, available from <a href="ftp://ftp.ci.tuwien.ac.at/pub/octave/octave-ci.tar.gz">Octave-ci</a>

optimization >> Optimization
Linear programming
 glpk
 sqp
 qp

extra >> Extra packages
Finance
 fv fvl irr nper npv pmt pv pvl rate vol
Server
 listen send senderror

