1Math::NumSeq::PrimeIndeUxsPerrimCeosn(t3r)ibuted Perl DoMcautmhe:n:tNautmiSoenq::PrimeIndexPrimes(3)
2
3
4
6 Math::NumSeq::PrimeIndexPrimes -- primes with prime number indexes
7
9 use Math::NumSeq::PrimeIndexPrimes;
10 my $seq = Math::NumSeq::PrimeIndexPrimes->new;
11 my ($i, $value) = $seq->next;
12
14 This is the sequence of primes which are at prime indexes,
15
16 3, 5, 11, 17, 31, 41, 59, 67, 83, 109, 127, 157, 179, 191, ...
17 starting i=1
18
19 The primes begin
20
21 index prime
22 1 2
23 2 3 <--+ primes at prime indexes
24 3 5 <--+
25 4 7 |
26 5 11 <--+
27 6 13 |
28 7 17 <--+
29 8 19
30
31 The primes marked "<--" have an index which is prime too.
32
33 Level
34 Optional "level" controls how many repetitions of the prime indexing is
35 to be applied. The level is based on the order of primeness by Neil
36 Fernandez in the PrimeIndexOrder sequence.
37
38 <http://www.borve.org/primeness/FOP.html>
39
40 The default is level=2, asking for primes with an order of primeness
41 >=2. level=1 gives all primes, and level=0 gives all integers.
42
43 The next higher level=3 restricts to primes whose index is prime, and
44 then in addition demands that prime is at an index which is prime.
45
46 level => 3
47 5, 11, 31, 59, 127, 179, 277, 331, 431, 599, ...
48
49 Successive levels filter further and the remaining values soon become
50 quite large. For example level=11 starts at 9737333 (and is quite slow
51 to generate).
52
53 Level Exact
54 Optional "level_type=>'exact'" asks for values which have exactly
55 "level" as their order of primeness.
56
57 With the default level 2 this means primes whose index is a prime, but
58 then the index of that index is not a prime, ie. the iterations of
59 prime index stops there,
60
61 level_type => 'exact', level => 2
62 3, 17, 41, 67, 83, 109, 157, 191, 211, 241, 283, 353, ...
63
64 Here 11 is not in the sequence because its order of primeness is 3,
65 since 11 is at index 5, 5 is at index 3, 3 is at index 2.
66
67 level_type=exact,level=1 means those primes which are at composite
68 indexes. This is all the primes which are not prime index primes, ie.
69 primes not in the default prime-index-primes sequence.
70
71 level_type => 'exact', level => 1
72 2, 7, 13, 19, 23, 29, 37, 43, 47, 53, 61, 71, 73, 79, ...
73
74 level_type=exact,level=0 means integers which have order of primeness
75 0, which is the composites, ie. the non-primes.
76
78 See "FUNCTIONS" in Math::NumSeq for behaviour common to all sequence
79 classes.
80
81 "$seq = Math::NumSeq::PrimeIndexPrimes->new (level => $n)"
82 Create and return a new sequence object.
83
84 "$i = $seq->value_to_i_estimate($value)"
85 Return an estimate of the i corresponding to $value. $value can be
86 any size.
87
89 Value to i Estimate
90 The i for a given value can be estimated by applying the prime-to-i
91 estimate of the plain primes sequence ("Value to i Estimate" in
92 Math::NumSeq::Primes) according to the "level" parameter.
93
94 repeat level many times
95 value = Primes value_to_i_estimate(value)
96
97 if level_type eq "exact"
98 value = value - Primes value_to_i_estimate(value)
99
100 i_estimate = value
101
102 For example the default level=2 prime index primes applies the Primes
103 estimate twice. A given value is presumed to be a prime, it's index is
104 estimated. Then that index also has to be a prime (so the original
105 value is a prime index prime), and the index of that is again estimated
106 by the Primes module.
107
108 For "level_type=>'exact'" the final index must be a composite, as
109 opposed to "minimum" where it can be either prime or composite. That
110 restriction means an extra final Composite value to i, derived from the
111 Primes by simply
112
113 Composite value_to_i_estimate(x)
114 = value - Primes value_to_i_estimate(x)
115
117 Math::NumSeq, Math::NumSeq::Primes, Math::NumSeq::PrimeIndexOrder
118
120 <http://user42.tuxfamily.org/math-numseq/index.html>
121
123 Copyright 2011, 2012, 2013, 2014, 2016, 2019, 2020 Kevin Ryde
124
125 Math-NumSeq is free software; you can redistribute it and/or modify it
126 under the terms of the GNU General Public License as published by the
127 Free Software Foundation; either version 3, or (at your option) any
128 later version.
129
130 Math-NumSeq is distributed in the hope that it will be useful, but
131 WITHOUT ANY WARRANTY; without even the implied warranty of
132 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
133 General Public License for more details.
134
135 You should have received a copy of the GNU General Public License along
136 with Math-NumSeq. If not, see <http://www.gnu.org/licenses/>.
137
138
139
140perl v5.36.0 2023-01-20 Math::NumSeq::PrimeIndexPrimes(3)