Is it possible to do calculus in Ruby? [closed] - ruby

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
What I mean is differentiation and integration, stuff that a CAS would do? (like a Typical handheld CAS if not better.)
Is this possible? What gem(s) would I need to install? Does anyone have any experience with this?

Here are a few gems - in different states of development and completeness - that help increase the "mathing" power of Ruby:
numo-linalg Linear Algebra Library for Ruby/Numo::NArray
nmatrix Dense and sparse linear algebra library for Ruby via SciRuby
rb-gsl Ruby interface to the GNU Scientific Library
daru Data Analysis in Ruby
mathn Deprecated library that extends math operations
mathematical Convert mathematical equations to SVGs, PNGs, or MathML
Unfortunately, Ruby as a language has mostly been used for rapid web application prototyping and development and NOT scientific analysis or data science. Thus, it's capabilities in this area - when compared to other languages such as a Python - are still somewhat lacking.

Related

Looking for Connected Component Labelling algorithm implementation [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I am looking for an optimized 4-connectivity or 8-connectivity Connected Component Labelling source code in MATLAB or C++. I saw many implementation of connected component labelling (4-connectivity) in MATLAB.
One of the implementations that works faster is the recursive implementation explained here: http://www.mathworks.com/matlabcentral/fileexchange/38010-connected-component-labeling-like-bwlabel
MATLAB has a built-in bwlabeln or bwlabel, which is far more optimized. They claim to use union-find method from two-pass algorithm described in Sedgewick's Algorithms in C, Addison-Wesley. However, it is hard to find any source code of it. Does anyone have idea about it? An optimized code is really needed.
You can indeed work by scanning the image in scanline order and when you meet a component seed-fill it.
You will find two efficient (and very similar) algorithms in Graphics GEMS 1:
A SEED FILL ALGORITHM, Paul S. Heckbert
FILLING A REGION IN A FRAME BUFFER, Ken Fishkin
and with a little effort some implementations. (The papers give Pascal-like code which is easy to translate.)
They run in linear time, use an explicit stack and don't require union-find.

Where are the C++ implementations of the advanced ellipse detection algorithms? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 months ago.
Improve this question
I'm a novice in the field of ellipse detection/extraction. But I know this topic has a long history. Although there are tons of papers addressing ellipse detection, I can hardly find any C++ implementations of these advanced algorithms such as Straight Line HT (SLHT), Fast Ellipse Hough Transform (FEHT), and Randomized HT (RHT). I'm curious Why the researchers don't put their code online such that more people can benefit from them? Can anyone kindly tell me where I can find any of the C++ implementations? Thanks.
(PS: I'm familiar with OpenCV. I know OpenCV has few implementations such as fitEllipse and HoughCircle.)
A lot of image processing research is done in Matlab, there are generally implementations available in that language. The reason you don't see any C++ implementations is because they would be much more about the details of implementation (memory management, performance, etc) rather than the actual algorithm; Matlab is much more succinct about this.
If you really want to get to learn about image processing algorithms, you'll probably want to learn to read Matlab code.

Musical pitch class detection audio library [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
Does anyone know a good open-source library with detection of harmonic pitch class intensities (chroma) of audio signal? That is, for a given piece of audio, intensity of each of 12 musical pitches.
http://en.wikipedia.org/wiki/Harmonic_pitch_class_profiles
It can be in c, c++, or java as long as the speed (complexity) is good. I don't need it for real-time use, but would use it on hours of material, so speed is a bit more important than quality.
Have a look at the Chromagram plugin in the QM Vamp Plugin library. To make sure it's exactly what you want, you can download a binary and test it in Sonic Visualizer before compiling it yourself.
Take a look a this webpage. The Website of Dan Ellis has tons of sound-related MATLAB examples
http://www.ee.columbia.edu/~dpwe/resources/matlab/chroma-ansyn/

Good books and resources on data parallel programming and algorithms [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I've read the following and most of the NVIDIA manuals and other content. I was also at GTC last year for the papers and talks.
CUDA by Example: An Introduction to General-Purpose GPU Programming
Programming Massively Parallel Processors: A Hands-on Approach
And I'm aware of the latest GPU Computing Gems Emerald Edition but haven't read it yet.
What other books and resources would you recommend? For instance I'm sure there's some great content from the first wave of data parallel programming in the 80s (the Connection Machine etc). I know a lot of research was done on data parallel algorithms for that generation of hardware.
Followup... 30/Mar/2011
I also discovered that the GPU Gems books 1-3 have some chapters on GPU computing, not just graphics. They're available free online, http://developer.nvidia.com/object/gpu_gems_home.html. I've not had a chance to read them yet.
Hillis & Steele [1986], "Data Parallel Algorithms".
Optimizing Applications for Mulit-Core Processors - Stewart Taylor (Intel Press)

Relationships between complexity theory and software engineering? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I'm interested to know if there is any literature out there on the relationship of complexity theory (emergence, complex systems, evolution) and software development processes. I read somewhere that SCRUM philosophy came out of the theory of punctuated equilibrium in evolution theory. Are there any additional studies/researches on this subject?
Thanks!
There's a slightly tongue-in-cheek book called Systemantics. Because a software program is a type of system, its observations are applicable to software: for example,
The bigger the system, the narrower and more specialized the interface with individuals.
A complex system cannot be "made" to work. It either works or it doesn't.
A simple system, designed from scratch, sometimes works.
Some complex systems actually work.
A complex system that works is invariably found to have evolved from a simple system that works.
A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system.
There interesting blog posts by Jurgen Appelo of NOOP.NL fame, which are related to application of complexity theory to software engineering and project management:
Your Project Will Suffer From Power Laws
What (Else) Can Agile Learn from Complexity?
These can be helpful in researching this topic.

Resources