Professional Interests: Algorithms and Data Structures, Numerical Analysis

Answered

Is there a better way to randomly generate a Doubly Stochastic Matrix?

@Matt, You are a true blue Matlabber. With just matrix indexing you have written a function which is many times faster than mine...

Is there a better way to randomly generate a Doubly Stochastic Matrix?

@Matt, You are a true blue Matlabber. With just matrix indexing you have written a function which is many times faster than mine...

6 years ago | 0

Question

Is there a better way to randomly generate a Doubly Stochastic Matrix?

Here is a profile of the call |n = 2*10^3; M = DStochMat02(n,ones(n)./n);| More specifically, can the hot-spot, statement 1...

6 years ago | 2 answers | 0

Answered

Memory Utilization of a program in matlab.

A few years ago I suggested to Mathworks that they include memory usage in their Profiler. They said they were thinking about it...

Memory Utilization of a program in matlab.

A few years ago I suggested to Mathworks that they include memory usage in their Profiler. They said they were thinking about it...

6 years ago | 0

Answered

How to count consuctive 0's inbetween values of 1

This discussion might be useful: <http://www.mathworks.co.uk/matlabcentral/answers/16356-finding-sequences-of-1-s-values>

How to count consuctive 0's inbetween values of 1

This discussion might be useful: <http://www.mathworks.co.uk/matlabcentral/answers/16356-finding-sequences-of-1-s-values>

6 years ago | 0

Submitted

The Bellman-Ford-Moore Shortest Path Algorithm

A simple, efficient sparse implementation of the original Bellman-Ford-Moore Shortest Path Algorithm

6 years ago | 13 downloads |

Answered

Poisson random number generator

This is a cleaner fix of |PoissonSamp| % ------------------------------------------------------------- function S = Po...

Poisson random number generator

This is a cleaner fix of |PoissonSamp| % ------------------------------------------------------------- function S = Po...

7 years ago | 1

Answered

Poisson random number generator

I would like to thank Kang Wook Lee of Berkeley for pointing out an error in the code above. The last line should be |S(i) = k-1...

Poisson random number generator

I would like to thank Kang Wook Lee of Berkeley for pointing out an error in the code above. The last line should be |S(i) = k-1...

7 years ago | 0

Answered

Matlab gives wrong determinant value of 2x2 Matrix without warning.

@Nitin, The "issue" here is not round-off. It is the ill-condition of your matrix. Floating point arithmetic and its rounding...

Matlab gives wrong determinant value of 2x2 Matrix without warning.

@Nitin, The "issue" here is not round-off. It is the ill-condition of your matrix. Floating point arithmetic and its rounding...

7 years ago | 1

Answered

Matlab gives wrong determinant value of 2x2 Matrix without warning.

The products above are too big to fit in 32-bit integers. You can get the correct result by switching to 64-bit integers: ...

Matlab gives wrong determinant value of 2x2 Matrix without warning.

The products above are too big to fit in 32-bit integers. You can get the correct result by switching to 64-bit integers: ...

7 years ago | 0

Answered

Variation on the travelling salesman problem

@Walter, you're right, I mis-interpreted the problem. So back to the Zero-One LP solution. Given 2 3 1 A = ...

Variation on the travelling salesman problem

@Walter, you're right, I mis-interpreted the problem. So back to the Zero-One LP solution. Given 2 3 1 A = ...

7 years ago | 0

Answered

Variation on the travelling salesman problem

It can be solved as a _Zero-One Linear Program_: Let |xij = 1| if the number |aij| is chosen for row |i|, zero otherwise. ...

Variation on the travelling salesman problem

It can be solved as a _Zero-One Linear Program_: Let |xij = 1| if the number |aij| is chosen for row |i|, zero otherwise. ...

7 years ago | 0

Answered

Inversion of a boolean matrix

*WRONG AGAIN* In testing Walter's suggestion about row and column sums I realized that |isInvBool2| is wrong. Try |B = [true...

Inversion of a boolean matrix

*WRONG AGAIN* In testing Walter's suggestion about row and column sums I realized that |isInvBool2| is wrong. Try |B = [true...

7 years ago | 1

| accepted

Answered

Inversion of a boolean matrix

I am adding this crude |O(n^2)| invertibility test as a separate answer because my previous answer has become too long. %...

Inversion of a boolean matrix

I am adding this crude |O(n^2)| invertibility test as a separate answer because my previous answer has become too long. %...

7 years ago | 0

Question

Why are the BLAS functions in R2011b much faster than R2008a?

Here are the results of a simple Matrix Benchmark test with |n = 10^3; A = rand(n,n)| Dell Precision 690, 2x4-Core Xeon 354...

7 years ago | 1 answer | 0

Answered

Do you think that MATLAB is expensive?

The academic version of Matlab at about €500 is too expensive for me, a retired lecturer. Cleve Moler in his SIAM oral history i...

Do you think that MATLAB is expensive?

The academic version of Matlab at about €500 is too expensive for me, a retired lecturer. Cleve Moler in his SIAM oral history i...

7 years ago | 4

Answered

Poisson random number generator

I prefer this: % ------------------------------------------------------------- function S = PoissonSamp(lambda,ns); ...

Poisson random number generator

I prefer this: % ------------------------------------------------------------- function S = PoissonSamp(lambda,ns); ...

7 years ago | 0

Answered

Poisson random number generator

@Ahmed, you're correct, it is not correct. The function below is a Matlab translation of Kroese's algorithm. It seems to wor...

Poisson random number generator

@Ahmed, you're correct, it is not correct. The function below is a Matlab translation of Kroese's algorithm. It seems to wor...

7 years ago | 0

Answered

Poisson random number generator

Dirk Kroese has excellent notes here: <http://www.maths.uq.edu.au/~kroese/mccourse.pdf>, which are based on his book: D.P. Kr...

Poisson random number generator

Dirk Kroese has excellent notes here: <http://www.maths.uq.edu.au/~kroese/mccourse.pdf>, which are based on his book: D.P. Kr...

7 years ago | 0

Answered

When to use the Secant Method of finding roots?

I would like to qualify what John says: "Methods like the secant method are rarely very good choices anyway." This is arguabl...

When to use the Secant Method of finding roots?

I would like to qualify what John says: "Methods like the secant method are rarely very good choices anyway." This is arguabl...

7 years ago | 1

Answered

randsample issues and generating random numbers from large populations

Here are two functions for taking a sample |S| of size |Ns| from a large, simply-defined population |P| of size |Np|. Both use ...

randsample issues and generating random numbers from large populations

Here are two functions for taking a sample |S| of size |Ns| from a large, simply-defined population |P| of size |Np|. Both use ...

7 years ago | 1

Answered

Random sample without replacement

If you don't have access to *|R2011b|* and |randsample|, then the function below is reasonably fast on my |Dell Precision 690, ...

Random sample without replacement

If you don't have access to *|R2011b|* and |randsample|, then the function below is reasonably fast on my |Dell Precision 690, ...

7 years ago | 1

Answered

Solve for x in (A^k)*x=b (sequentially, LU factorization)

Contrary to what Walter says, LU Decomposition is a great help in this problem. See my solution notes to Lab Exercise 6 --- LU...

Solve for x in (A^k)*x=b (sequentially, LU factorization)

Contrary to what Walter says, LU Decomposition is a great help in this problem. See my solution notes to Lab Exercise 6 --- LU...

7 years ago | 0

Answered

speed up finding common values in multiple matrices

Here are some tests on loopy alternatives to vectorized functions. %----------------------------------- function [z,A,...

speed up finding common values in multiple matrices

Here are some tests on loopy alternatives to vectorized functions. %----------------------------------- function [z,A,...

7 years ago | 0

Answered

Finding Sequences of 1's values

Jan, I'm using the Add-an-Answer window because the comment window is hard to use for all but short, text-only replies. I post...

Finding Sequences of 1's values

Jan, I'm using the Add-an-Answer window because the comment window is hard to use for all but short, text-only replies. I post...

7 years ago | 0

Answered

Finding Sequences of 1's values

This is a more general and simpler solution than my previous answer. %-------------------------------------------------------...

Finding Sequences of 1's values

This is a more general and simpler solution than my previous answer. %-------------------------------------------------------...

7 years ago | 0

Answered

Finding Sequences of 1's values

If you don't have any toolboxes then this plain Matlab function may help. It is based loosely on the WordCount procedure in Kern...

Finding Sequences of 1's values

If you don't have any toolboxes then this plain Matlab function may help. It is based loosely on the WordCount procedure in Kern...

7 years ago | 1

Answered

Inversion of a boolean matrix

*THEOREM*. _If a Boolean matrix B possesses a one-sided inverse, that inverse is also a two-sided inverse. Furthermore suc...

Inversion of a boolean matrix

*THEOREM*. _If a Boolean matrix B possesses a one-sided inverse, that inverse is also a two-sided inverse. Furthermore suc...

7 years ago | 4

Answered

What frustrates you about MATLAB?

At Walter Roberson's request I'm reposting this answer here. *Boredom Forecast*: High(78/100). _Discussion of Syntax_. First,...

What frustrates you about MATLAB?

At Walter Roberson's request I'm reposting this answer here. *Boredom Forecast*: High(78/100). _Discussion of Syntax_. First,...

7 years ago | 1

Answered

Problem with execution of "nested if" commands.

*Boredom Forecast*: _Discussion of Syntax_. High: (78/100) First, get the preferred indentation by using "smart indent" in the...

Problem with execution of "nested if" commands.

*Boredom Forecast*: _Discussion of Syntax_. High: (78/100) First, get the preferred indentation by using "smart indent" in the...

7 years ago | 0