symbolic
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 132
Math::Symbolic 0.508
Math::Symbolic is a Perl module for symbolic calculations. more>>
Math::Symbolic is a Perl module for symbolic calculations.
SYNOPSIS
use Math::Symbolic;
my $tree = Math::Symbolic->parse_from_string(1/2 * m * v^2);
# Now do symbolic calculations with $tree.
# ... like deriving it...
my ($sub) = Math::Symbolic::Compiler->compile_to_sub($tree);
my $kinetic_energy = $sub->($mass, $velocity);
Math::Symbolic is intended to offer symbolic calculation capabilities to the Perl programmer without using external (and commercial) libraries and/or applications.
Unless, however, some interested and knowledgable developers turn up to participate in the development, the library will be severely limited by my experience in the area. Symbolic calculations are an active field of research in CS.
There are several ways to construct Math::Symbolic trees. There are no actual Math::Symbolic objects, but rather trees of objects of subclasses of Math::Symbolic. The most general but unfortunately also the least intuitive way of constructing trees is to use the constructors of the Math::Symbolic::Operator, Math::Symbolic::Variable, and Math::Symbolic::Constant classes to create (nested) objects of the corresponding types.
Furthermore, you may use the overloaded interface to apply the standard Perl operators (and functions, see "OVERLOADED OPERATORS") to existing Math::Symbolic trees and standard Perl expressions.
Possibly the most convenient way of constructing Math::Symbolic trees is using the builtin parser to generate trees from expressions such as 2 * x^5. You may use the Math::Symbolic->parse_from_string() class method for this.
Of course, you may combine the overloaded interface with the parser to generate trees with Perl code such as "$term * 5 * sin(omega*t+phi)" which will create a tree of the existing tree $term times 5 times the sine of the vars omega times t plus phi.
There are several modules in the distribution that contain subroutines related to calculus. These are not loaded by Math::Symbolic by default. Furthermore, there are several extensions to Math::Symbolic availlable from CPAN as separate distributions. Please refer to "SEE ALSO" for an incomplete list of these.
For example, Math::Symbolic::MiscCalculus come with Math::Symbolic and contains routines to compute Taylor Polynomials and the associated errors.
Routines related to vector calculus such as grad, div, rot, and Jacobi- and Hesse matrices are availlable through the Math::Symbolic::VectorCalculus module. This module is also able to compute Taylor Polynomials of functions of two variables, directional derivatives, total differentials, and Wronskian Determinants.
Some basic support for linear algebra can be found in Math::Symbolic::MiscAlgebra. This includes a routine to compute the determinant of a matrix of Math::Symbolic trees.
<<lessSYNOPSIS
use Math::Symbolic;
my $tree = Math::Symbolic->parse_from_string(1/2 * m * v^2);
# Now do symbolic calculations with $tree.
# ... like deriving it...
my ($sub) = Math::Symbolic::Compiler->compile_to_sub($tree);
my $kinetic_energy = $sub->($mass, $velocity);
Math::Symbolic is intended to offer symbolic calculation capabilities to the Perl programmer without using external (and commercial) libraries and/or applications.
Unless, however, some interested and knowledgable developers turn up to participate in the development, the library will be severely limited by my experience in the area. Symbolic calculations are an active field of research in CS.
There are several ways to construct Math::Symbolic trees. There are no actual Math::Symbolic objects, but rather trees of objects of subclasses of Math::Symbolic. The most general but unfortunately also the least intuitive way of constructing trees is to use the constructors of the Math::Symbolic::Operator, Math::Symbolic::Variable, and Math::Symbolic::Constant classes to create (nested) objects of the corresponding types.
Furthermore, you may use the overloaded interface to apply the standard Perl operators (and functions, see "OVERLOADED OPERATORS") to existing Math::Symbolic trees and standard Perl expressions.
Possibly the most convenient way of constructing Math::Symbolic trees is using the builtin parser to generate trees from expressions such as 2 * x^5. You may use the Math::Symbolic->parse_from_string() class method for this.
Of course, you may combine the overloaded interface with the parser to generate trees with Perl code such as "$term * 5 * sin(omega*t+phi)" which will create a tree of the existing tree $term times 5 times the sine of the vars omega times t plus phi.
There are several modules in the distribution that contain subroutines related to calculus. These are not loaded by Math::Symbolic by default. Furthermore, there are several extensions to Math::Symbolic availlable from CPAN as separate distributions. Please refer to "SEE ALSO" for an incomplete list of these.
For example, Math::Symbolic::MiscCalculus come with Math::Symbolic and contains routines to compute Taylor Polynomials and the associated errors.
Routines related to vector calculus such as grad, div, rot, and Jacobi- and Hesse matrices are availlable through the Math::Symbolic::VectorCalculus module. This module is also able to compute Taylor Polynomials of functions of two variables, directional derivatives, total differentials, and Wronskian Determinants.
Some basic support for linear algebra can be found in Math::Symbolic::MiscAlgebra. This includes a routine to compute the determinant of a matrix of Math::Symbolic trees.
Download (0.10MB)
Added: 2007-07-19 License: Perl Artistic License Price:
827 downloads
Math::Symbolic::Base 0.508
Math::Symbolic::Base is a case class for symbols in symbolic calculations. more>>
Math::Symbolic::Base is a case class for symbols in symbolic calculations.
SYNOPSIS
use Math::Symbolic::Base;
This is a base class for all Math::Symbolic::* terms such as Math::Symbolic::Operator, Math::Symbolic::Variable and Math::Symbolic::Constant objects.
METHODS
Method to_string
Default method for stringification just returns the objects value.
Method value
value() evaluates the Math::Symbolic tree to its numeric representation.
value() without arguments requires that every variable in the tree contains a defined value attribute. Please note that this refers to every variable object, not just every named variable.
value() with one argument sets the objects value (in case of a variable or constant).
value() with named arguments (key/value pairs) associates variables in the tree with the value-arguments if the corresponging key matches the variable name. (Can one say this any more complicated?) Since version 0.132, an alternative syntax is to pass a single hash reference.
Example: $tree->value(x => 1, y => 2, z => 3, t => 0) assigns the value 1 to any occurrances of variables of the name "x", aso.
If a variable in the tree has no value set (and no argument of value sets it temporarily), the call to value() returns undef.
Method signature
signature() returns a trees signature.
In the context of Math::Symbolic, signatures are the list of variables any given tree depends on. That means the tree "v*t+x" depends on the variables v, t, and x. Thus, applying signature() on the tree that would be parsed from above example yields the sorted list (t, v, x).
Constants do not depend on any variables and therefore return the empty list. Obviously, operators dependencies vary.
Math::Symbolic::Variable objects, however, may have a slightly more involved signature. By convention, Math::Symbolic variables depend on themselves. That means their signature contains their own name. But they can also depend on various other variables because variables themselves can be viewed as placeholders for more compicated terms. For example in mechanics, the acceleration of a particle depends on its mass and the sum of all forces acting on it. So the variable acceleration would have the signature (acceleration, force1, force2,..., mass, time).
If youre just looking for a list of the names of all variables in the tree, you should use the explicit_signature() method instead.
Method explicit_signature
explicit_signature() returns a lexicographically sorted list of variable names in the tree.
See also: signature().
Method set_signature
set_signature expects any number of variable identifiers as arguments. It sets a variables signature to this list of identifiers.
Method implement
implement() works in-place!
Takes key/value pairs as arguments. The keys are to be variable names and the values must be valid Math::Symbolic trees. All occurrances of the variables will be replaced with their implementation.
Method replace
First argument must be a valid Math::Symbolic tree.
replace() modifies the object it is called on in-place in that it replaces it with its first argument. Doing that, it retains the original object reference. This destroys the object it is called on.
However, this also means that you can create recursive trees of objects if the new tree is to contain the old tree. So make sure you clone the old tree using the new() method before using it in the replacement tree or you will end up with a program that eats your memory fast.
fill_in_vars
This method returns a modified copy of the tree it was called on.
It walks the tree and replaces all variables whose value attribute is defined (either done at the time of object creation or using set_value()) with the corresponding constant objects. Variables whose value is not defined are unaffected. Take, for example, the following code:
$tree = parse_from_string(a*b+a*c);
$tree->set_value(a => 4, c => 10); # value of b still not defined.
print $tree->fill_in_vars();
# prints "(4 * b) + (4 * 10)"
Method simplify
Minimum method for term simpilification just clones.
Method descending_operands
When called on an operator, descending_operands tries hard to determine which operands to descend into. (Which usually means all operands.) A list of these is returned.
When called on a constant or a variable, it returns the empty list.
Of course, some routines may have to descend into different branches of the Math::Symbolic tree, but this routine returns the default operands.
The first argument to this method may control its behaviour. If it is any of the following key-words, behaviour is modified accordingly:
default -- obvious. Use default heuristics.
These are all supersets of default:
all -- returns ALL operands. Use with caution.
all_vars -- returns all operands that may contain vars.
<<lessSYNOPSIS
use Math::Symbolic::Base;
This is a base class for all Math::Symbolic::* terms such as Math::Symbolic::Operator, Math::Symbolic::Variable and Math::Symbolic::Constant objects.
METHODS
Method to_string
Default method for stringification just returns the objects value.
Method value
value() evaluates the Math::Symbolic tree to its numeric representation.
value() without arguments requires that every variable in the tree contains a defined value attribute. Please note that this refers to every variable object, not just every named variable.
value() with one argument sets the objects value (in case of a variable or constant).
value() with named arguments (key/value pairs) associates variables in the tree with the value-arguments if the corresponging key matches the variable name. (Can one say this any more complicated?) Since version 0.132, an alternative syntax is to pass a single hash reference.
Example: $tree->value(x => 1, y => 2, z => 3, t => 0) assigns the value 1 to any occurrances of variables of the name "x", aso.
If a variable in the tree has no value set (and no argument of value sets it temporarily), the call to value() returns undef.
Method signature
signature() returns a trees signature.
In the context of Math::Symbolic, signatures are the list of variables any given tree depends on. That means the tree "v*t+x" depends on the variables v, t, and x. Thus, applying signature() on the tree that would be parsed from above example yields the sorted list (t, v, x).
Constants do not depend on any variables and therefore return the empty list. Obviously, operators dependencies vary.
Math::Symbolic::Variable objects, however, may have a slightly more involved signature. By convention, Math::Symbolic variables depend on themselves. That means their signature contains their own name. But they can also depend on various other variables because variables themselves can be viewed as placeholders for more compicated terms. For example in mechanics, the acceleration of a particle depends on its mass and the sum of all forces acting on it. So the variable acceleration would have the signature (acceleration, force1, force2,..., mass, time).
If youre just looking for a list of the names of all variables in the tree, you should use the explicit_signature() method instead.
Method explicit_signature
explicit_signature() returns a lexicographically sorted list of variable names in the tree.
See also: signature().
Method set_signature
set_signature expects any number of variable identifiers as arguments. It sets a variables signature to this list of identifiers.
Method implement
implement() works in-place!
Takes key/value pairs as arguments. The keys are to be variable names and the values must be valid Math::Symbolic trees. All occurrances of the variables will be replaced with their implementation.
Method replace
First argument must be a valid Math::Symbolic tree.
replace() modifies the object it is called on in-place in that it replaces it with its first argument. Doing that, it retains the original object reference. This destroys the object it is called on.
However, this also means that you can create recursive trees of objects if the new tree is to contain the old tree. So make sure you clone the old tree using the new() method before using it in the replacement tree or you will end up with a program that eats your memory fast.
fill_in_vars
This method returns a modified copy of the tree it was called on.
It walks the tree and replaces all variables whose value attribute is defined (either done at the time of object creation or using set_value()) with the corresponding constant objects. Variables whose value is not defined are unaffected. Take, for example, the following code:
$tree = parse_from_string(a*b+a*c);
$tree->set_value(a => 4, c => 10); # value of b still not defined.
print $tree->fill_in_vars();
# prints "(4 * b) + (4 * 10)"
Method simplify
Minimum method for term simpilification just clones.
Method descending_operands
When called on an operator, descending_operands tries hard to determine which operands to descend into. (Which usually means all operands.) A list of these is returned.
When called on a constant or a variable, it returns the empty list.
Of course, some routines may have to descend into different branches of the Math::Symbolic tree, but this routine returns the default operands.
The first argument to this method may control its behaviour. If it is any of the following key-words, behaviour is modified accordingly:
default -- obvious. Use default heuristics.
These are all supersets of default:
all -- returns ALL operands. Use with caution.
all_vars -- returns all operands that may contain vars.
Download (0.10MB)
Added: 2007-08-09 License: Perl Artistic License Price:
806 downloads
Math::Symbolic::Compiler 0.508
Math::Symbolic::Compiler is a Perl module that can compile Math::Symbolic trees to Perl code. more>>
Math::Symbolic::Compiler is a Perl module that can compile Math::Symbolic trees to Perl code.
SYNOPSIS
use Math::Symbolic::Compiler;
# A tree to compile
my $tree = Math::Symbolic->parse_from_string(a^2 + b * c * 2);
# The Math::Symbolic::Variable a will be evaluated to $_[1], etc.
my $vars = [qw(b a c)];
my ($closure, $code, $trees) =
Math::Symbolic::Compiler->compile($tree, $vars);
print $closure->(2, 3, 5); # (b, a, c)
# prints 29 (= 3^2 + 2 * 5 * 2)
# or:
($closure, $trees) =
Math::Symbolic::Compiler->compile_to_sub($tree, $vars);
($code, $trees) = Math::Symbolic::Compiler->compile_to_code($tree, $vars);
This module allows to compile Math::Symbolic trees to Perl code and/or anonymous subroutines whose arguments will be positionally mapped to the variables of the compiled Math::Symbolic tree.
The reason youd want to do this is that evaluating a Math::Symbolic tree to its numeric value is extremely slow. So is compiling, but once youve done all necessary symbolic calculations, you can take advantage of the speed gain of invoking a closure instead of evaluating a tree.
<<lessSYNOPSIS
use Math::Symbolic::Compiler;
# A tree to compile
my $tree = Math::Symbolic->parse_from_string(a^2 + b * c * 2);
# The Math::Symbolic::Variable a will be evaluated to $_[1], etc.
my $vars = [qw(b a c)];
my ($closure, $code, $trees) =
Math::Symbolic::Compiler->compile($tree, $vars);
print $closure->(2, 3, 5); # (b, a, c)
# prints 29 (= 3^2 + 2 * 5 * 2)
# or:
($closure, $trees) =
Math::Symbolic::Compiler->compile_to_sub($tree, $vars);
($code, $trees) = Math::Symbolic::Compiler->compile_to_code($tree, $vars);
This module allows to compile Math::Symbolic trees to Perl code and/or anonymous subroutines whose arguments will be positionally mapped to the variables of the compiled Math::Symbolic tree.
The reason youd want to do this is that evaluating a Math::Symbolic tree to its numeric value is extremely slow. So is compiling, but once youve done all necessary symbolic calculations, you can take advantage of the speed gain of invoking a closure instead of evaluating a tree.
Download (0.10MB)
Added: 2007-07-10 License: Perl Artistic License Price:
836 downloads
Math::Symbolic::MiscAlgebra 0.508
Math::Symbolic::MiscAlgebra contains miscellaneous algebra routines like det(). more>>
Math::Symbolic::MiscAlgebra contains miscellaneous algebra routines like det().
SYNOPSIS
use Math::Symbolic qw/:all/;
use Math::Symbolic::MiscAlgebra qw/:all/; # not loaded by Math::Symbolic
@matrix = ([x*y, z*x, y*z],[x, z, z],[x, x, y]);
$det = det @matrix;
@vector = (x, y, z);
$solution = solve_linear(@matrix, @vector);
This module provides several subroutines related to algebra such as computing the determinant of quadratic matrices, solving linear equation systems and computation of Bell Polynomials.
Please note that the code herein may or may not be refactored into the OO-interface of the Math::Symbolic module in the future.
You may choose to have any of the following routines exported to the calling namespace. :all tag exports all of the following:
det
linear_solve
bell_polynomial
<<lessSYNOPSIS
use Math::Symbolic qw/:all/;
use Math::Symbolic::MiscAlgebra qw/:all/; # not loaded by Math::Symbolic
@matrix = ([x*y, z*x, y*z],[x, z, z],[x, x, y]);
$det = det @matrix;
@vector = (x, y, z);
$solution = solve_linear(@matrix, @vector);
This module provides several subroutines related to algebra such as computing the determinant of quadratic matrices, solving linear equation systems and computation of Bell Polynomials.
Please note that the code herein may or may not be refactored into the OO-interface of the Math::Symbolic module in the future.
You may choose to have any of the following routines exported to the calling namespace. :all tag exports all of the following:
det
linear_solve
bell_polynomial
Download (0.10MB)
Added: 2007-08-09 License: Perl Artistic License Price:
806 downloads
GoboLinux 014 RC1
GoboLinux is pretty different from the other Linux distributions you may be used to. more>>
GoboLinux is a Linux distribution that breaks with the historical Unix directory hierarchy. Basically, this means that there are no directories such as /usr and /etc. The main idea of the alternative hierarchy is to store all files belonging to an application in its own separate subtree; therefore we have directories such as /Programs/GCC/2.95.3/lib.
To allow the system to find these files, they are logically grouped in directories such as /System/Links/Executables, which, you guessed it, contains symbolic links to all executable files inside the Programs hierarchy.
To maintain backwards compatibility with traditional Unix/Linux apps, there are symbolic links that mimic the Unix tree, such as "/usr/bin -> /System/Links/Executables", and "/sbin -> /System/Links/Executables" (this example shows that arbitrary differentiations between files of the same category were also removed).
It is geared towards people who prefer to install applications from the original source packages. That is the main reason why each application gets its own directory: so you can install it from source there and then remove it with an "rm -rf". So, you see, GoboLinux is oriented at the experienced user who doesnt like things to be automagical. Our scripts merely automate procedures, but they dont "make decisions", and whenever they have to, they ask first.
The binary package collection was created as a way to avoid duplication of effort between users. The source package project was created to store "compilation rules" of the original source packages of the applications. We do not wish to estabilish a "packaging standard" such as RPM. We think that there is no real need for "packages" if the original .tar.gz is properly made. For instance, when an application uses the GNU AutoTools (autoconf, automake...) you dont need any GoboLinux package to keep your system consistent.
However, given the more logical directory tree, GoboLinux could be made, with a comprehensive binary package collection and graphical front-ends to the scripts, into a newbie-friendly distribution, but that is not a specific goal we seek (at least not in short or mid term).
GoboLinux relies on a series of tools that automate various tasks, such as generation, installation and removal of packages, and most importantly, maintainance of the symbolic links that keep the system consistent. These tools (mostly are shell scripts, actually) are fairly stable, since the idea behind GoboLinux is not new (see question about the origins of GoboLinux).
Another important issue when using a distribution is the availability of packages, ie, software that you can download in binary form and install in it straight away. In this aspect, GoboLinux is very young and far behind the other estabilished distributions. We have, however, all packages needed to get a running system (all packages that are part of "Linux From Scratch" and "Beyond Linux From Scratch" projects, for example), plus many others, such as KDE and all related packages, Tcl/Tk, and the list just wont stop growing. Check out the latest list. In this sense, is important to popin out that we are working to bring other distributions facilities, such as the Gentoo Portage system, to GoboLinux.
Enhancements:
- The first release candidate for GoboLinux 014 is out! Among other things, it includes a massive update of packages, including glibc 2.5, X.Org 7.2, GCC 4.1.2 and KDE 3.5.6, with Linux kernel 2.6.20.4 + UTF-8 support. We have now a better printing support, with a few basic drivers included in the live CD. And there were many, many bug fixes in the GoboLinux tools since 013, so we hope to provide a better experience for you all.
<<lessTo allow the system to find these files, they are logically grouped in directories such as /System/Links/Executables, which, you guessed it, contains symbolic links to all executable files inside the Programs hierarchy.
To maintain backwards compatibility with traditional Unix/Linux apps, there are symbolic links that mimic the Unix tree, such as "/usr/bin -> /System/Links/Executables", and "/sbin -> /System/Links/Executables" (this example shows that arbitrary differentiations between files of the same category were also removed).
It is geared towards people who prefer to install applications from the original source packages. That is the main reason why each application gets its own directory: so you can install it from source there and then remove it with an "rm -rf". So, you see, GoboLinux is oriented at the experienced user who doesnt like things to be automagical. Our scripts merely automate procedures, but they dont "make decisions", and whenever they have to, they ask first.
The binary package collection was created as a way to avoid duplication of effort between users. The source package project was created to store "compilation rules" of the original source packages of the applications. We do not wish to estabilish a "packaging standard" such as RPM. We think that there is no real need for "packages" if the original .tar.gz is properly made. For instance, when an application uses the GNU AutoTools (autoconf, automake...) you dont need any GoboLinux package to keep your system consistent.
However, given the more logical directory tree, GoboLinux could be made, with a comprehensive binary package collection and graphical front-ends to the scripts, into a newbie-friendly distribution, but that is not a specific goal we seek (at least not in short or mid term).
GoboLinux relies on a series of tools that automate various tasks, such as generation, installation and removal of packages, and most importantly, maintainance of the symbolic links that keep the system consistent. These tools (mostly are shell scripts, actually) are fairly stable, since the idea behind GoboLinux is not new (see question about the origins of GoboLinux).
Another important issue when using a distribution is the availability of packages, ie, software that you can download in binary form and install in it straight away. In this aspect, GoboLinux is very young and far behind the other estabilished distributions. We have, however, all packages needed to get a running system (all packages that are part of "Linux From Scratch" and "Beyond Linux From Scratch" projects, for example), plus many others, such as KDE and all related packages, Tcl/Tk, and the list just wont stop growing. Check out the latest list. In this sense, is important to popin out that we are working to bring other distributions facilities, such as the Gentoo Portage system, to GoboLinux.
Enhancements:
- The first release candidate for GoboLinux 014 is out! Among other things, it includes a massive update of packages, including glibc 2.5, X.Org 7.2, GCC 4.1.2 and KDE 3.5.6, with Linux kernel 2.6.20.4 + UTF-8 support. We have now a better printing support, with a few basic drivers included in the live CD. And there were many, many bug fixes in the GoboLinux tools since 013, so we hope to provide a better experience for you all.
Download (700MB)
Added: 2007-04-12 License: GPL (GNU General Public License) Price:
925 downloads
SyFi 0.4.0
SyFi is a C++ library built on top of the symbolic math library GiNaC. more>>
SyFi is a C++ library built on top of the symbolic math library GiNaC. The name SyFi stands for Symbolic Finite Elements.
The package provides polygonal domains, polynomial spaces, and degrees of freedom as symbolic expressions that are easily manipulated. This makes it easy to define finite elements.
<<lessThe package provides polygonal domains, polynomial spaces, and degrees of freedom as symbolic expressions that are easily manipulated. This makes it easy to define finite elements.
Download (6.5MB)
Added: 2007-01-10 License: GPL (GNU General Public License) Price:
1018 downloads
Osicat 0.5
Osicat is lightweight operating system interface for Common Lisp on POSIX-like systems. more>>
Osicat is lightweight operating system interface for Common Lisp on POSIX-like systems.
Osicat uses UFFI for foreign bindings, so it is relatively portable, though most active development happens on SBCL and Debian GNU/Linux, so other platforms may experience wrinkles.
Main features:
- directory iteration and deletion
- environment variables
- symbolic links
- file permissions
- file-type identification
Installation:
If you have asdf-install, just:
$ asdf-install osicat
Sample usage:
- (with-directory-iterator (next "/")
(loop for entry = (next)
while entry
when (member group-write (file-permissions entry))
collect entry))
(#P"/home" #P"/vmlinuz" #P"/tmp" #P"/initrd.img" #P"/initrd.img.old")
- (file-permissions "/initrd.img")
(USER-READ USER-WRITE
USER-EXEC
GROUP-READ
GROUP-WRITE
GROUP-EXEC
OTHER-READ
OTHER-WRITE
OTHER-EXEC)
- (file-kind "/initrd.img")
:SYMBOLIC-LINK
- (read-link "/initrd.img")
#P"boot/initrd.img-2.4.20-3-686"
*
<<lessOsicat uses UFFI for foreign bindings, so it is relatively portable, though most active development happens on SBCL and Debian GNU/Linux, so other platforms may experience wrinkles.
Main features:
- directory iteration and deletion
- environment variables
- symbolic links
- file permissions
- file-type identification
Installation:
If you have asdf-install, just:
$ asdf-install osicat
Sample usage:
- (with-directory-iterator (next "/")
(loop for entry = (next)
while entry
when (member group-write (file-permissions entry))
collect entry))
(#P"/home" #P"/vmlinuz" #P"/tmp" #P"/initrd.img" #P"/initrd.img.old")
- (file-permissions "/initrd.img")
(USER-READ USER-WRITE
USER-EXEC
GROUP-READ
GROUP-WRITE
GROUP-EXEC
OTHER-READ
OTHER-WRITE
OTHER-EXEC)
- (file-kind "/initrd.img")
:SYMBOLIC-LINK
- (read-link "/initrd.img")
#P"boot/initrd.img-2.4.20-3-686"
*
Download (0.014MB)
Added: 2006-03-17 License: MIT/X Consortium License Price:
1316 downloads
Mathomatic 12.7.5
Mathomatic is a symbolic math program. more>>
Mathomatic is a highly portable, general purpose symbolic math program that can solve, simplify, combine, differentiate, integrate, and compare algebraic equations.
It can do standard, complex number, and polynomial arithmetic. Mathomatic is extremely easy to use and has pretty colored, easily readable display of equations.
Main features:
- Solve equations,
- Completely simplify equations,
- Do calculus transformations,
- Do sensitivity and finite series analysis,
- Do complex number and polynomial arithmetic,
- Generate efficient C or Java code,
- And more!
Enhancements:
- Minor code, documentation, and makefile improvements were made.
<<lessIt can do standard, complex number, and polynomial arithmetic. Mathomatic is extremely easy to use and has pretty colored, easily readable display of equations.
Main features:
- Solve equations,
- Completely simplify equations,
- Do calculus transformations,
- Do sensitivity and finite series analysis,
- Do complex number and polynomial arithmetic,
- Generate efficient C or Java code,
- And more!
Enhancements:
- Minor code, documentation, and makefile improvements were made.
Download (0.12MB)
Added: 2007-06-23 License: LGPL (GNU Lesser General Public License) Price:
857 downloads
mirrorlinks 1.0.0
mirrorlinks is a small script that automatically mirrors the contents of a directory into another directory using symbolic links more>>
mirrorlinks project is a small script that automatically mirrors the contents of a directory into another directory using symbolic links, so you dont waste unnecessary disk space in copies.
This is better explained by example, of course:
You have directories Music, Movies and Shared.
You want to mirror both the contents of Music and the contents of Movies into Shared. For some specific reason, you dont want to place links to Movies and Music into Shared,
With mirrorlinks, thats easy to do:
mirrorlinks Music Shared
mirrorlinks Music Movies
Now Shared has the contents of both the Music and Movies directories. To be more accurate, Shared has the directory structure of both Music and Movies merged into one single directory, with symbolic links pointing to the actual files. So if you had files into Music/ATB, Shared would contain a folder named ATB, and this folder would contain links to the files in Music/ATB.
<<lessThis is better explained by example, of course:
You have directories Music, Movies and Shared.
You want to mirror both the contents of Music and the contents of Movies into Shared. For some specific reason, you dont want to place links to Movies and Music into Shared,
With mirrorlinks, thats easy to do:
mirrorlinks Music Shared
mirrorlinks Music Movies
Now Shared has the contents of both the Music and Movies directories. To be more accurate, Shared has the directory structure of both Music and Movies merged into one single directory, with symbolic links pointing to the actual files. So if you had files into Music/ATB, Shared would contain a folder named ATB, and this folder would contain links to the files in Music/ATB.
Download (0.002MB)
Added: 2006-06-30 License: GPL (GNU General Public License) Price:
1211 downloads
Sympy 0.4.1
Sympy is a symbolic manipulation package, written in pure Python more>>
Sympy is a symbolic manipulation package, written in pure Python. Sympys aim is to become a full featured CAS in Python, while keeping the code as simple as possible in order to be comprehensible and easily extensible.
Currently, Sympy has only around 1600 lines of code (including comments), and its capabilities include basic arithmetics, basic simplification, series expansion, functions (exp, ln, sin, cos, tan, etc.), differentiation, integration (currently it can do only very simple integrals), basic substitution, arbitrary precision integers and rationals, standard (Python) floats, basic complex numbers, and symbolic limits.
Main features:
- basic arithmetics *,/,+,-
- basic simplification (like a*b*b + 2*b*a*b -> 3*a*b^2)
- expansion (like (a+b)^2 -> a^2 + 2*a*b + b^2)
- functions (exp, ln, sin, cos, tan, ...)
- complex numbers (like exp(I*x).evalc() -> cos(x)+I*sin(x))
- differentiation
- taylor series
- basic substitution (like x-> ln(x))
- arbitrary precision integers and rationals
- standard (python) floats
Then there are SymPy modules (1000 lines) for these tasks:
- limits (like limit(x*log(x), x, 0) -> 0)
- integration (currently it can only do very simple integrals)
- symbolic matrices
<<lessCurrently, Sympy has only around 1600 lines of code (including comments), and its capabilities include basic arithmetics, basic simplification, series expansion, functions (exp, ln, sin, cos, tan, etc.), differentiation, integration (currently it can do only very simple integrals), basic substitution, arbitrary precision integers and rationals, standard (Python) floats, basic complex numbers, and symbolic limits.
Main features:
- basic arithmetics *,/,+,-
- basic simplification (like a*b*b + 2*b*a*b -> 3*a*b^2)
- expansion (like (a+b)^2 -> a^2 + 2*a*b + b^2)
- functions (exp, ln, sin, cos, tan, ...)
- complex numbers (like exp(I*x).evalc() -> cos(x)+I*sin(x))
- differentiation
- taylor series
- basic substitution (like x-> ln(x))
- arbitrary precision integers and rationals
- standard (python) floats
Then there are SymPy modules (1000 lines) for these tasks:
- limits (like limit(x*log(x), x, 0) -> 0)
- integration (currently it can only do very simple integrals)
- symbolic matrices
Download (0.026MB)
Added: 2007-06-20 License: BSD License Price:
856 downloads
htmlcat 1.0
htmlcat is a script that combines a number of HTML files into one. more>>
htmlcat is a script that combines a number of HTML files into one.
The beginning of the first file (up to and including < body ... >) is used for all the files since only their bodies are concatenated. An optional divider followed by the label of a file is used between files.
Note that:
* the code relies on the calling shell to expand wildcard filenames like *.html; this is automatic in a Unix shell, but does not happen at a DOS prompt
* the original files must conform to HTML conventions; if necessary use htmlfix first to correct major problems
* < body ... > and < /body > must be on a line of their own; any other information on these lines will be lost
* in anchors, href="..." and name="..." must be not be split across a line
* any material after "< /body >" (such as HTML comments) will be lost
* the script might get confused by a symbolic directory index link or references to files in remote directories (though it does its best)
* if you move the concatenated HTML file, remember to move any other local files (e.g. images) to the same relative location (e.g. the same directory)
* for use with a frame-based collection of files, exclude the frameset definition file from the list of inputs and probably start with a contents file
Options:
The command line options are:
-d
print divider between concatenated files
-h
print usage as help
-o file
name output file (this will be ignored if present in the input list, e.g. due to giving *.html)
-s
sort input files into case-insensitive alphabetical order (putting the index file first if necessary, and removing the file it points to from the inputs if it is a symbolic link)
Usage:
Run on one or more HTML files. Warning messages are sent to standard error. Examples of usage are:
htmlcat -o some.html def.html res.html
concatenate def.html and res.html to some.html
htmlcat -d -o all.html *.html
concatenate all HTML files to all.html with dividers between them
htmlcat -o -s out.html *.html
sort then concatenate all HTML files to out.html
htmlcat *.html > /tmp/all.html
concatenate all HTML files to standard output (here /tmp/all.html); for this method, do not create a concatenated file in the same directory or the script will run indefinitely on its own output!
The only things likely to need changed for installation are the directory index filename and the nature of a file divider (see customise subroutine in the code).
Change the first line of the script according to where Perl is located. Although tested with Perl5, the script may work with only minor changes for Perl4.
<<lessThe beginning of the first file (up to and including < body ... >) is used for all the files since only their bodies are concatenated. An optional divider followed by the label of a file is used between files.
Note that:
* the code relies on the calling shell to expand wildcard filenames like *.html; this is automatic in a Unix shell, but does not happen at a DOS prompt
* the original files must conform to HTML conventions; if necessary use htmlfix first to correct major problems
* < body ... > and < /body > must be on a line of their own; any other information on these lines will be lost
* in anchors, href="..." and name="..." must be not be split across a line
* any material after "< /body >" (such as HTML comments) will be lost
* the script might get confused by a symbolic directory index link or references to files in remote directories (though it does its best)
* if you move the concatenated HTML file, remember to move any other local files (e.g. images) to the same relative location (e.g. the same directory)
* for use with a frame-based collection of files, exclude the frameset definition file from the list of inputs and probably start with a contents file
Options:
The command line options are:
-d
print divider between concatenated files
-h
print usage as help
-o file
name output file (this will be ignored if present in the input list, e.g. due to giving *.html)
-s
sort input files into case-insensitive alphabetical order (putting the index file first if necessary, and removing the file it points to from the inputs if it is a symbolic link)
Usage:
Run on one or more HTML files. Warning messages are sent to standard error. Examples of usage are:
htmlcat -o some.html def.html res.html
concatenate def.html and res.html to some.html
htmlcat -d -o all.html *.html
concatenate all HTML files to all.html with dividers between them
htmlcat -o -s out.html *.html
sort then concatenate all HTML files to out.html
htmlcat *.html > /tmp/all.html
concatenate all HTML files to standard output (here /tmp/all.html); for this method, do not create a concatenated file in the same directory or the script will run indefinitely on its own output!
The only things likely to need changed for installation are the directory index filename and the nature of a file divider (see customise subroutine in the code).
Change the first line of the script according to where Perl is located. Although tested with Perl5, the script may work with only minor changes for Perl4.
Download (0.004MB)
Added: 2005-09-27 License: GPL (GNU General Public License) Price:
1489 downloads
DirSync 1.11
DirSync is a directory synchronizer. more>>
DirSync is a directory synchronizer. It takes two arguments: the source directory and the destination directory.
It recursively makes the two directories identical. DirSync can be used to make an incremental copy of large data. For example, if your file server is in the /data you can make a copy in /backup with the command dirsync /data /backup.
The first time, all data will be copied, but when you issue the command again, only the changed files are copied.
Enhancements:
- This release fixes a bug, compiles on Sun, and adds support for symbolic links.
<<lessIt recursively makes the two directories identical. DirSync can be used to make an incremental copy of large data. For example, if your file server is in the /data you can make a copy in /backup with the command dirsync /data /backup.
The first time, all data will be copied, but when you issue the command again, only the changed files are copied.
Enhancements:
- This release fixes a bug, compiles on Sun, and adds support for symbolic links.
Download (0.10MB)
Added: 2006-04-11 License: Freeware Price:
740 downloads
nautilus-follow-symlink 1.0.2
nautilus-follow-symlink is a nautilus extension that adds a menu entry on symbolic links to directories. more>>
nautilus-follow-symlink is a nautilus extension that adds a menu entry on symbolic links to directories which open the pointed directory (the real path).
nautilus-follow-symlink does so both when right clicking on a the folder icon or on the contents of an opened symbolic link.
Enhancements:
- The icon was fixed. In newer versions of GNOME, the icon wasnt loaded and a default big, empty icon was shown in its place.
<<lessnautilus-follow-symlink does so both when right clicking on a the folder icon or on the contents of an opened symbolic link.
Enhancements:
- The icon was fixed. In newer versions of GNOME, the icon wasnt loaded and a default big, empty icon was shown in its place.
Download (0.021MB)
Added: 2007-05-13 License: LGPL (GNU Lesser General Public License) Price:
895 downloads
B::Lint::StrictOO 0.02
B::Lint::StrictOO is a Perl module that applys strict to classes and methods. more>>
B::Lint::StrictOO is a Perl module that apply strict to classes and methods.
SYNOPSIS
Validates that classes exist, that methods that are called on classes and objects, and variables arent used as method names.
$ perl -MB::Lint::StrictOO -MO=Lint,oo my_file.pl
sub Hickory::Dickory::dock;
Mouse->dockk; # Class Mouse doesnt exist
Hickory::Dickory->dock;
Hickory::Dickory->$_; # Symbolic method call
$obj->dockk; # Object cant do method
$obj->dock;
$obj->$_; # Symbolic method call
<<lessSYNOPSIS
Validates that classes exist, that methods that are called on classes and objects, and variables arent used as method names.
$ perl -MB::Lint::StrictOO -MO=Lint,oo my_file.pl
sub Hickory::Dickory::dock;
Mouse->dockk; # Class Mouse doesnt exist
Hickory::Dickory->dock;
Hickory::Dickory->$_; # Symbolic method call
$obj->dockk; # Object cant do method
$obj->dock;
$obj->$_; # Symbolic method call
Download (0.004MB)
Added: 2007-06-26 License: Perl Artistic License Price:
850 downloads
songanizer 0.8
Songanizer is a shell script to organize a directory containing a collection of MP3 files. more>>
Songanizer is a shell script to organize a directory containing a collection of MP3 files. The goal is to create virtual directory structures, which give different view of the data, but without having redundant copies of the files themselves.
The files are organized according to information gathered from the tags of files stored in subdirectories located under the base directory, which bear the prefix _data in their name. Parallel virtual directory structures containing symbolic links to the actual files are created, which give different views of the same data. Each virtual directory stucture gives a view based on a particular attribute specified by the user. The _data directories themselves can be symbolic links to directories on other devices, and can have multiple levels of sub-directories within them holding the actual song files.
After songanization, the BASE directory will contain the following directories:
(i) _data* --> All directories starting with _data contain the real data.
(ii) _artist --> Contains the link structure on the basis of the artist tag.
(iii) _genre --> Contains the link structure on the basis of the genre tag.
(iv) _initial --> Contains the link structure on the basis of the initial.
... and more, depending on the switches passed to the script
Since Songanizer is a shell script, a running shell is the first and foremost requirement. Preferably it should be a Bourne Again SHell. You may report problems encountered on any shell to the project maintainer.
Getopt (enhanced) is needed to extract the options from the command line arguments. Alongwith that you should have gettext for internationalization support.
The mp3info tool should be installed in the system to process the file tags. It can be downloaded from http://ibiblio.org/mp3info/.
<<lessThe files are organized according to information gathered from the tags of files stored in subdirectories located under the base directory, which bear the prefix _data in their name. Parallel virtual directory structures containing symbolic links to the actual files are created, which give different views of the same data. Each virtual directory stucture gives a view based on a particular attribute specified by the user. The _data directories themselves can be symbolic links to directories on other devices, and can have multiple levels of sub-directories within them holding the actual song files.
After songanization, the BASE directory will contain the following directories:
(i) _data* --> All directories starting with _data contain the real data.
(ii) _artist --> Contains the link structure on the basis of the artist tag.
(iii) _genre --> Contains the link structure on the basis of the genre tag.
(iv) _initial --> Contains the link structure on the basis of the initial.
... and more, depending on the switches passed to the script
Since Songanizer is a shell script, a running shell is the first and foremost requirement. Preferably it should be a Bourne Again SHell. You may report problems encountered on any shell to the project maintainer.
Getopt (enhanced) is needed to extract the options from the command line arguments. Alongwith that you should have gettext for internationalization support.
The mp3info tool should be installed in the system to process the file tags. It can be downloaded from http://ibiblio.org/mp3info/.
Download (0.013MB)
Added: 2006-07-18 License: GPL (GNU General Public License) Price:
1193 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above symbolic search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed