Hmm. Non mi sembra un modo per immagazzinare i biginteger di Python in una serie numpy. C'è qualcosa di speciale che devi fare, dichiarare una matrice numpy con bigints?C'è un biginteger intorpidito?
risposta
Non specificamente, n. È possibile creare un array con dtype='object'
, che crea una matrice di oggetti Python (inclusi ma non limitati a ints). Questo ti farà avere molte funzionalità in stile Numpy ma pochi o nessuno dei benefici in termini di prestazioni.
Vale a dire, una matrice di oggetti Python non è significativamente diversa da Python list
in termini di prestazioni della memoria. Anche se è necessario utilizzare bigints, potrebbe comunque essere preferibile utilizzare uno list
poiché si continuano a ottenere operazioni aritmetiche element-wise, incluso quando si eseguono operazioni con altri array di Numpy. Per esempio:
In [1]: import numpy as np
In [2]: big = np.array([10**100, 10**101, 10**102], dtype='object')
In [3]: big
Out[3]:
array([ 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000], dtype=object)
In [4]: big + np.array([1, 2, 3])
Out[4]:
array([ 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,
100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002,
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003], dtype=object)
non ho mai usato questa capacità me stesso, però, così non sono del tutto sicuro di quello che altri potrebbero sorgere limitazioni sorprendenti.
- 1. BigInteger o non BigInteger?
- 2. BigInteger copia
- 3. rotolo di pitone intorpidito con imbottitura
- 4. da byteArray a bigInteger
- 5. Utilizzo dell'operatore BigInteger Multiply
- 6. StackOverflowError computing factorial di un BigInteger?
- 7. Alternativa Java BigInteger
- 8. Android BigInteger ArithmeticException
- 9. tempo Moltiplicazione in BigInteger
- 10. BigInteger è immutabile o no?
- 11. % operatore per BigInteger in java
- 12. Motivo per cui il rolagismo intorpidito è così confuso?
- 13. Come generare un valore BigInteger casuale in Java?
- 14. Come posso convertire una stringa in un BigInteger?
- 15. Come assegnare un numero molto grande a BigInteger?
- 16. errore quando si assegna un grande numero di BigInteger
- 17. Conversione di una stringa in BigInteger
- 18. Clojure BigInt non è Java BigInteger
- 19. Conversione da numero intero a BigInteger
- 20. come convertire BigInteger a String in Java
- 21. Spring Data MongoDB: conversione BigInteger to ObjectId
- 22. Operazione bit a bit Java Vs BigInteger
- 23. Algoritmo di Karatsuba senza utilizzo di BigInteger
- 24. Come faccio a ricevere un avvertimento intorpidito come se fosse un'eccezione (non solo per i test)?
- 25. Come si converte un numero binario in un BigInteger in Java?
- 26. Algoritmo più veloce per scoprire se un BigInteger è un numero primo o no?
- 27. Qual è l'approccio migliore per serializzare BigDecimal/BigInteger su ProtocolBuffers
- 28. Campo di incremento automatico di Django BigInteger come chiave primaria?
- 29. Utilizzo della GPU per accelerare i calcoli BigInteger
- 30. Come convertire il valore BigInteger in Hex in Java
Sembra funzionare bene. Ho giocato con i numeri di calcolo di Fibonacci usando matrici 'numpy' popolate con int e tutto funziona, comprese operazioni come' punto' e 'matrice_power'. – aickley