Having a set of ordered numbers $$ \{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 \} $$ If you put them in a matrix so the index is at the same time the content

Matrix dimension $=$ row x col $= 3\times 4$ $$ \begin{bmatrix} 1 &2 &3 & 4\\ 5 &6 & 7 & 8\\ 9 &10 &11 &12 \end{bmatrix} $$ examples of getting the coordinates from $n=$index

$f_{row}(n)$ get the row, $f_{col}(n)$ get the column

$f_{row}(2) = 1, f_{col}(2) = 2$

$f_{row}(10) = 3, f_{col}(10) = 2$

$f_{row}(12) = 3, f_{col}(12) = 4$

They seems to be complex functions, i.e. (non-linear, bounded, etc..)

How are $f_{row}$ and $f_{col}$ defined?

I think a software equation, but it has functions like

$\operatorname{int}(\cdot), \operatorname{floor}(\cdot),\operatorname{mod}(\cdot)\ldots$ or worst a sequenced algorithm..

I don't know if there is some "math way" to do this, I mean with "basic operations" an "arithmetic" solution. Of course you could say "Floor and ceiling functions are math and even algorithms!" but simply put: Is there any series expansions/ other path for doing this? I would like to "relate index with dimentions", in some equation.

  • 1
    $\begingroup$ I think you got the numbers reversed for frow(12) and fcol(12). $\endgroup$ – Calle Sep 13 '11 at 22:13
  • $\begingroup$ @Calle you were right, corrected. $\endgroup$ – Hernán Eche Sep 14 '11 at 0:17
  • $\begingroup$ Also you have this $\endgroup$ – user13838 Sep 14 '11 at 11:19

Well... In your case, with the $3 \times 4$-matrix you can express your functions as $$f_\textrm{row}(n) = \lceil n / 4 \rceil$$ where $\lceil x \rceil$ means the smallest integer larger or equal to $x$ ($x$ rounded up), and $$f_\textrm{col}(n) = ((n-1) ~ \% ~ 4) + 1$$ that is, the remainder of $(n-1)/4$ plus one.

If you have a $k \times m$-matrix: $$f_\textrm{row}(n) = \lceil n / m \rceil$$ and $$f_\textrm{col}(n) = ((n-1) ~ \% ~ m) +1$$

EDIT: Sorry, I did not read the last part of your question carefully enough (I assumed you wanted to use the expressions in some kind of computer program).

Given a step function $h$: $$h(x) = \begin{cases} 0 & x < 0 \\ 1 & x \geq 0 \end{cases}$$ you can express $f_\textrm{row}(n)$ for a $k \times m$-matrix as $$f_\textrm{row}(n) = \sum_{i = 0}^k h(n - m i-1)$$ where you can change the upper limit to $\infty$ and it will hold for all $k$.

The first values of $f_\textrm{col}(n)$ is $1, 2, 3, \dots, m, 1, \dots$ so we can set $$f_\textrm{col}(n) = \sum_{i=1}^m h(n-i) ~~ \textrm{for} ~~ n = 1, \dots, m$$ and then we want to make this periodic with period $m$. The easiest way is to use a modulo operation, but it can be achieved by introducing more sums: $$f_\textrm{col}(n) = \sum_{i=1}^m h(n- i) + \sum_{j=1}^k \left( \sum_{i=1}^m h(n-i-jm) - m \cdot h(n-jm-1) \right)$$ Once again you can set $k = \infty$ and still get the correct result for all $k$.

EDIT2: Here is another idea for $f_\textrm{col}$. Since $$f_\textrm{col}(n) = n ~~ \textrm{for} ~~ n = 1, \dots, m$$ you can probably get $f_\textrm{col}$ as a sawtooth wave with frequency $\frac{1}{m}$ and amplitude $m$. One probably should be careful when doing this to make sure that for example $f_\textrm{col}(m) = m$ and not $f_\textrm{col}(m) = 0$.

EDIT3: A sawtooth wave-like $f_\textrm{col}$ can be expressed as:

$$f_\textrm{col}(n) = n - m \sum_{i=1}^k h(n - m i - 1) = n - m(f_\textrm{row}(n) - h(n-1))$$

when $f_\textrm{row}$ is taken as the sum of $h$-functions above.

  • $\begingroup$ Well.. this is a nice answer +1, nonetheless I was trying to avoid using "$\lceil~~\rceil$" and "$~ \% ~$", is good to see in the equation the independence of $k$. I was trying to "mix" these equation by myself, but I see it was out of my scope and perhaps it was already made, upload.wikimedia.org/math/d/4/9/… upload.wikimedia.org/math/8/8/4/… $\endgroup$ – Hernán Eche Sep 14 '11 at 0:39
  • 1
    $\begingroup$ @Hernán Eche, I added another possible solution. I hope this helps more. $\endgroup$ – Calle Sep 14 '11 at 11:06
  • $\begingroup$ although $h$ is not linear and I also realize that $\sum_{}$'s are like algorithm loops, it's a great answer, I will test it, selected, thanks $\endgroup$ – Hernán Eche Sep 14 '11 at 12:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.