คำถามติดแท็ก sparse-matrix

7
SparseArray กับ HashMap
ฉันคิดได้หลายสาเหตุว่าทำไมHashMaps ที่มีคีย์จำนวนเต็มดีกว่าSparseArrays: เอกสาร Android สำหรับการSparseArrayพูดว่า "โดยทั่วไปช้ากว่าแบบดั้งเดิมHashMap" หากคุณเขียนโค้ดโดยใช้HashMaps แทนSparseArrayรหัสของคุณจะทำงานร่วมกับการใช้งานแผนที่อื่น ๆ และคุณจะสามารถใช้ Java APIs ทั้งหมดที่ออกแบบมาสำหรับแผนที่ หากคุณเขียนรหัสโดยใช้HashMaps แทนSparseArrayรหัสของคุณจะทำงานในโครงการที่ไม่ใช่ Android การแทนที่แผนที่equals()และhashCode()ที่SparseArrayอื่น ๆ แต่เมื่อใดก็ตามที่ฉันพยายามใช้HashMapคีย์ที่มีจำนวนเต็มในโครงการ Android IntelliJ บอกฉันว่าฉันควรใช้SparseArrayแทน ฉันพบว่ามันยากที่จะเข้าใจ ไม่มีใครรู้เหตุผลที่น่าสนใจสำหรับการใช้งานSparseArrayของ?

7
อาร์เรย์ Javascript กระจัดกระจายหรือไม่
นั่นคือถ้าฉันใช้เวลาปัจจุบันเป็นดัชนีในอาร์เรย์: array[Date.getTime()] = value; ล่ามจะสร้างอินสแตนซ์องค์ประกอบทั้งหมดจาก 0 ถึงตอนนี้หรือไม่ เบราว์เซอร์ต่างๆทำแตกต่างกันหรือไม่? ฉันจำได้ว่าเคยมีบั๊กในเคอร์เนลAIXซึ่งจะสร้าง pseudo-ttys ตามคำขอ แต่ถ้าคุณทำให้พูดว่า "echo> / dev / pty10000000000" มันจะสร้าง / dev / pty0, / dev / pty1, .... แล้วล้มทับตาย. มันสนุกมากที่งานแสดงสินค้า แต่ฉันไม่อยากให้สิ่งนี้เกิดขึ้นกับลูกค้าของฉัน

3
การหาค่าไอเก็นน้อยที่สุดของเมทริกซ์กระจัดกระจายขนาดใหญ่ช้ากว่า SciPy มากกว่า 100 เท่าใน Octave
ฉันพยายามคำนวณ eigenvector เพียงไม่กี่ (5-500) ที่สอดคล้องกับค่าลักษณะเฉพาะขนาดเล็กที่สุดของเมทริกซ์กระจัดกระจาย - สมมาตรขนาดใหญ่ (สูงสุด 30000x30000) โดยน้อยกว่า 0.1% ของค่าที่ไม่ใช่ศูนย์ ขณะนี้ฉันกำลังใช้ scipy.sparse.linalg.eigsh ในโหมด shift-invert (sigma = 0.0) ซึ่งฉันคิดว่าผ่านการโพสต์ต่างๆในหัวข้อเป็นวิธีที่ต้องการ อย่างไรก็ตามอาจใช้เวลาถึง 1 ชั่วโมงในการแก้ปัญหาในกรณีส่วนใหญ่ ในทางกลับกันฟังก์ชั่นนั้นเร็วมากถ้าฉันขอค่าลักษณะเฉพาะที่ใหญ่ที่สุด (วินาทีย่อยในระบบของฉัน) ซึ่งคาดว่าจากเอกสาร เนื่องจากฉันคุ้นเคยกับ Matlab มากขึ้นจากการทำงานฉันพยายามแก้ไขปัญหาใน Octave ซึ่งให้ผลลัพธ์แบบเดียวกันกับฉันโดยใช้ eigs (sigma = 0) ในเวลาเพียงไม่กี่วินาที (ช่วงย่อย 10 วินาที) เนื่องจากฉันต้องการทำการกวาดพารามิเตอร์ของอัลกอริธึมรวมถึงการคำนวณ eigenvector การเพิ่มเวลาแบบนั้นน่าจะเป็นเรื่องที่ดีสำหรับไพ ธ อนเช่นกัน ฉันก่อนเปลี่ยนพารามิเตอร์ (โดยเฉพาะอย่างยิ่งความอดทน) แต่นั่นไม่ได้เปลี่ยนแปลงมากใน timescales ฉันใช้ Anaconda …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.