This site is supported by donations to The OEIS Foundation.

# Lodumo transform

The Lodumom transform of a sequence s(n) (sometimes written lodm s) is defined by a(n) = smallest nonnegative integer not yet in the list a such that a(n) ≡ s(n) (mod m). It is not a standard transformation from the mathematical literature, but is occasionally used in the OEIS. It was created by Philippe Deléham.

It creates a sequence without duplicates which is equivalent to the original sequence mod m. The resulting sequence is a permutation of the nonnegative integers if and only if all residue classes mod m appear infinitely often in the original sequence.

### Maple

```# @param L the input list of non-negative numbers
# @param m  the remainder of the modulo operation. This is  only useful
#           if it's a number larger than 1.
# @return the sequence of nonnegative numbers a(n)
#
# Example: generate A160016 from A159833:
#     A159833 := [seq(n^2*(n^2+15)/4,n=0..100) ];
#     LODUMO(A159833,2) ;
#
# Example: generate A160081 from A000045:
#     A000045 := [combinat[fibonacci](n),n=0..100) ];
#     LODUMO(A000045,5) ;
#
# Richard J. Mathar, 2009-04-30
LODUMO := proc(L,m)
local a,n, an;
if not type(L,'list') then
ERROR("Expected list type argument instead of ",whattype(L) ) ;
end if;
a := [] ;
for n from 1 to nops(L) do
for an from op(n,L) mod m by m do
if not an in a then
a := [op(a),an] ;
break;
fi;
od:
end do;
a ;
end proc:
```

### Perl

```sub lodumo { #  Georg Fischer, Feb 15 2019
my (\$m, @list) = @_;
my @a = ();
my \$il = 0;
while (\$il < scalar(@list)) {
my \$busy = 1;
my \$an = \$list[\$il] % \$m;
while (\$busy == 1) {
if (scalar(grep {\$_ == \$an} @a) == 0) {
push(@a, \$an);
\$busy = 0;
}
\$an += \$m;
} # while \$busy
\$il ++;
} # while
return @a;
} # sub lodumo

my @a = &lodumo(\$m, @list);
for (my \$n = 0; \$n < scalar(@list); \$n ++) {
print "\$n \$a[\$n]\n";
} # for
```

## Cite this as

Charles R Greathouse IV and Georg Fischer, Lodumo transform.— From the On-Line Encyclopedia of Integer Sequences® Wiki (OEIS® Wiki). [https://oeis.org/wiki/Lodumo_transform]