Octave, GNU Octave, Matlab, Scientific Computing, Language, Interpreter, Compiler, C++, LAPACK, Fortran, Fun , GNU

Tuesday, September 25, 2007

Octave & Set theory

Octave can handle first-order sets, by which I mean, all sets excluding the 'x' (cross, cartesian) operators. This means, we cannot treat power sets properly.

The various set operators and functions that implement them are:

Operation

Function

set definition

create_set

Union

union

Subset

ismember

X’s complement w.r.t Y (Y-X )

complement(X,Y)

X-Y also written (X\Y)

setdiff(X,Y)

(A-B) U (B-A)

setxor(A,B)


Some interesting features to add, would be the capacity to deal with ordered pairs, i.e the same cross product we discussed earlier. We must also be able to define functions on sets, that do operations on such sets; Also we could have subset function return proper & improper subset differences.

I would also suggest generators, for finite sets, and ability to deal with groups. But then we are moving outside the scope of the set theory; this completely limits moves us to having a group theory implementation in Octave, instead of 'solving' this problem. Maybe I dont understand this very well, anyway. Cardinality operator is just the length() function. I also dont write
here the aim of the function 'intersect' that is more like a generic CS problem, as its not a
defined set theoretic operator.

Anyway, trying to force all of mathematics down into a single linear algebra package, seems like masochism.

Polynomials, Sequences...

Polynomial families that make up power series solutions to standard ('special') differential
equations, are useful in a variety of engineering situations (see: Advanced Engineering Mathematics; Kreyzig, Erwin).

Matlab functions for associated Legendre functions; many more functions are present
in Matlab file exchange, but these are either unlicensed or distributed under uncertain
terms; anycase not widely available.

I dont know of better Matlab functions resource for orthogonal polynomial function sets.
I wanted to say, we need the recursive/iterative implementation of these functions, for
GNU Octave.

-Muthu

Friday, September 21, 2007

Information theory toolbox

I've been waiting to write and integrate some of similar code posted,
into the information-theory toolbox today, and this is going to be
possible sometime soon. It extends 3 functions, to make use of sequence
data without having to send in a list of probabilities to compute entropy,
mutual information, and related variables.

An engineering/physics way of thinking about problems includes calculations
and looking at the mental-"picture"; a la the visualization process, is where I
think tools like Octave, Matlab help. They supplement the visualization.

I'm also thinking about making a bunch of functions for doing 1D-matrix optics
using the ABCD matrix formalism. Infact, just have to plugin most of the equations
from the text right into Octave, and its just a simple exercise. Well, then you
could use it to calculate ray-propagation through a optic system, accurate to
the paraxial approximation. Next, we could also study the plane wave gaussian
intensity distributions from the source object plane to the image plane, with
such a system. Ofcourse we have to pick conventions, which makes it hard
for someone (who uses other conventions).

Simply calculating path of each point in the object plane, onto the image place,
we can calculate the intensity of the input beam at the output plane. I think that
is interesting to get a qualitative picture of many Optical instruments, in 1D.

Anyway, I have more plans on the drawing board, than I have time for possibly.
Well, the profiler, oct2mat translator and debugger seem to be shelved indefnitely.
Then, I wanted a small 2D/1D FDTD solver for Maxwell's equations for Octave.
This would be super-cool in my opinion, and sometimes directly useful for my
research work as well!

Best,
-Muthu

Creative Commons License