# Pattern recognition

**URL:** <https://discourse.julialang.org/t/pattern-recognition/110028>\
**Category:** New to Julia\
**Created:** [February 10, 2024, 12:34pm UTC](https://discourse.julialang.org/t/pattern-recognition/110028 "2024-02-10T12:34:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andrew\_Palfreyman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/andrew_palfreyman/32/206924_2.png) [@Andrew\_Palfreyman](https://discourse.julialang.org/u/Andrew_Palfreyman)\
**Post date:** [February 10, 2024, 12:34pm UTC](https://discourse.julialang.org/t/pattern-recognition/110028/1 "2024-02-10T12:34:33Z")

</div>

I am a novice Julia user and investigating its capabilities. Is it capable of pattern recognition? Here’s an example:  
For E(n)=n^2 -n + p, p=41, p \<=n \<2p;  
There exists a mixture of primes and composites. The composites form a pattern. Can Julia detect it?

---

<div class="post-metadata">

**Author:** ![rocco\_sprmnt21](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rocco_sprmnt21/32/20127_2.png) [@rocco\_sprmnt21](https://discourse.julialang.org/u/rocco_sprmnt21)\
**Post date:** [February 10, 2024, 3:16pm UTC](https://discourse.julialang.org/t/pattern-recognition/110028/2 "2024-02-10T15:16:55Z")

</div>

> **Summary**
>
> ```julia
> (p+k^2)^2 -k^2 = (p+k^2+k)(p+k^2-k)
> 
> ```

---

<div class="post-metadata">

**Author:** ![SortofDamocles](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sortofdamocles/32/15709_2.png) [@SortofDamocles](https://discourse.julialang.org/u/SortofDamocles)\
**Post date:** [February 10, 2024, 3:21pm UTC](https://discourse.julialang.org/t/pattern-recognition/110028/3 "2024-02-10T15:21:55Z")

</div>

Are you asking about compiler optimization? I think it’s a little unclear what you mean, maybe some clarification would help get a good answer.

---

<div class="post-metadata">

**Author:** ![rocco\_sprmnt21](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rocco_sprmnt21/32/20127_2.png) [@rocco\_sprmnt21](https://discourse.julialang.org/u/rocco_sprmnt21)\
**Post date:** [February 10, 2024, 3:51pm UTC](https://discourse.julialang.org/t/pattern-recognition/110028/4 "2024-02-10T15:51:21Z")

</div>

Julia can put you on the right track to finding the pattern. But the rest is up to you, I think

```julia
julia> for n in p:2p-1
           X=n^2 -n + p
           isprime(X) &&continue
           show((n-p, factor(Vector, X)))
           println()
       end
(0, [41, 41])
(1, [41, 43])
(4, [43, 47])
(9, [47, 53])
(16, [53, 61])
(25, [61, 71])
(36, [71, 83])

```
