by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 31 2019 21:02
    LukaJCB commented #758
  • Jan 31 2019 20:29

    tixxit on master

    Fix Polynomial Gen Merge pull request #758 from Lu… (compare)

  • Jan 31 2019 20:29
    tixxit closed #758
  • Jan 31 2019 18:55
    LukaJCB commented #758
  • Jan 31 2019 12:07
    lmazzon starred non/spire
  • Jan 31 2019 03:06
    SethTisue commented #742
  • Jan 30 2019 23:41
    niebloomj starred non/spire
  • Jan 30 2019 21:11
    GusevTimofey starred non/spire
  • Jan 30 2019 15:12
    qsctr starred non/spire
  • Jan 30 2019 14:00
    tusharbihani starred non/spire
  • Jan 28 2019 15:07
    roman0x58 starred non/spire
  • Jan 25 2019 14:56
    invkrh starred non/spire
  • Jan 23 2019 18:00
  • Jan 23 2019 12:20
    cwheikki starred non/spire
  • Jan 23 2019 02:18
  • Jan 22 2019 15:44
    paulhirschi starred non/spire
  • Jan 22 2019 09:46
    shreyanshp starred non/spire
  • Jan 20 2019 12:39
    midnio starred non/spire
  • Jan 20 2019 12:37
    midnio starred non/spire
  • Jan 20 2019 12:34
    midnio starred non/spire
Luciano
@lJoublanc
Excuse my ignorance, but I'm looking to implement a toy crypto system, which requires a finite field under mod N, and wondered whether there was already an instance in spire (or friends)?
Am I also right in that there is no integral Field because integral multiplication inverse isn't well defined? Or something to do with complexity of implementing gcd etc.?
Denis Rosset
@denisrosset
What is an integral field?
Finite fields can be implemented in Spire for sure; fields have trivial euclidean division (as all non zero elements have an inverse), and the GCD is more or less arbitrary.
Denis Rosset
@denisrosset
And indeed, integers do not form a field, rather an Euclidean ring because not all nonzero elements have a multiplicative inverse.
Luciano
@lJoublanc

Thanks Denis. I'm probably not using the correct terminology, sorry.

What is an integral field?

I mean a finite field over the integers modulo N, with it's additive operation being multiplication modulo N, and it's multiplicative operation being exponentiation mod N.

And indeed, integers do not form a field,

Thanks. This makes sense to me now. The set I'm looking at is definitely a field.

Denis Rosset
@denisrosset
Finite fields are fields, so you are fine!
JerrySwan
@JerrySwan
Hi all. Is there a simple way to implement a function:
def restrict(restrictMe: Interval[Double], restrictTo: Interval[Double]): Interval[Double]
such that:
restrict(restrictMe,restrictTo).isSubsetOf(restrictTo)?
Denis Rosset
@denisrosset
On my phone, but there should be a method for interval intersection.
Denis Rosset
@denisrosset
@JerrySwan it is interval1.intersect(interval2)
Grigory
@pomadchin
hey guys, are there any plans to bump up deps in spire?
we depend on cats 1.4 and what to depend on latest spire
but it looks like https://mvnrepository.com/artifact/org.typelevel/algebra_2.12/1.0.0 depends on old cats version
):
Denis Rosset
@denisrosset
Cats 1.0 is binary compatible across releases, so I haven't had any problems mixing versions.
Moreover, Spire depends on cats-kernel, which evolves much slower.
Grigory
@pomadchin
Actually we exeprience a problem with Order type class
it looks like cats are not binary compatible across versions
java.lang.NoSuchMethodError: spire.std.package$any$.OrderProduct2(Lcats/kernel/Order;Lcats/kernel/Order;)Lcats/kernel/Order;
                      at geotrellis.raster.render.BreakMap.geotrellis$raster$render$BreakMap$$vmTree$lzycompute(BreakMap.scala:83)
Btw FYI, we had a huge problems with updating FS2 up to 1.0 and still having a dependency of cats core lower than 1.4 :/ that's probably also caused by changes in cats-effects and a lil bit a differnet story, but it looks like they don't follow semver really well.
Grigory
@pomadchin
Hm.... but i see you point... mb we have smth weird in our deps internally
I'll doublecheck that
or with imports and it weirdly works in some cases. anyway, thanks for your response. Mb we bumped up a version and smth went wrong. Wonderin why tests are passing.
Denis Rosset
@denisrosset
The missing method is actually in Spire; check that you don't have multiple versions present
Note that Spire does not have binary compatibilities as we are not yet at the 1.0 release
Grigory
@pomadchin
no worries there and sorry for a lil bit messy messages; i haven't investigated the problem well enough, agree with you, sounds like you're right
Denis Rosset
@denisrosset
good luck!
Grigory
@pomadchin
just evening... thank you!
Grigory
@pomadchin

all right, it is a spark classpath; sry for bringing some messy messages there @denisrosset

it looks like spark 2.x has spire 0.13 in its classpath by default

Denis Rosset
@denisrosset
No prob, thanks for clarifying!
Luciano
@lJoublanc
Can somebody confirm if the ULong AnyVal implementation has full 64-bit precision?
Denis Rosset
@denisrosset
yes, that's the point! but it boxes in an array, beware
Jakub Kozłowski
@kubukoz
hi, is there a way to get all values inside an Interval?
actually, that makes no sense. Forget it ;P
Denis Rosset
@denisrosset
depends on A !
Jakub Kozłowski
@kubukoz
I was thinking LocalDateTime
turned out I needed a Set instead of an Interval, though (for subtraction and intersection)
Denis Rosset
@denisrosset
@kubukoz There are sets/seqs of intervals in spire-extras, although I've never used them
Jakub Kozłowski
@kubukoz
I'll take a look
Luka Jacobowitz
@LukaJCB
What’s the best way to get a serializable reprsentation of polynomials? I was thinking a list of terms, but that seems to be giving me some weird index out of boundexceptions
Luciano
@lJoublanc
Are you just using java serialization? You'll need both the coefficients and exponents (or alternatively 0 terms for exponents that you skip).
Luka Jacobowitz
@LukaJCB
I'm trying to write a circe codec
I turn it into a list of terms and serialize that
And then I decode in the same way
Luciano
@lJoublanc
I was actually thinking about this the other day ... you know scala 2.13 has support for opaque types, that I believe allows creating new types that are unboxed arrays essentially.
If there was an implementation using this as the data type (currently I don't think spire's polynomial is implemente like this), then that would be really efficient to serialize. It would just be an array with each element being the coefficient (with zeros for those powers that are missing).
So essentially no need to serialize at all, as the scala representation could match the binary representation.
It would also allow really efficient vectorized computation.
Luka Jacobowitz
@LukaJCB
Any idea why using PolySparse.apply would give me an index out of bounds exception? 🤔
Luka Jacobowitz
@LukaJCB
I’ve minimized the problem