Define a subclass of matrix called sparsematrix

Assignment Help Computer Engineering
Reference no: EM132114929

IN PYTHON:

Write a class Matrix. Objects in this class maintain an m×n matrix. (We'll handle pairs of numbers as tuples). Store the matrix in a list or list of lists, whichever you prefer.

Keep track of the shape m × n. Include the following basic methods.

Matrix((m,n)) Provide a constructor that sets the shape of the matrix and sets all the entries to a default value of zero.

newMatrix The call newMatrix((m,n)) clears the existing data in the Matrix and sets it to a matrix of zeros of shape (m,n)

getShape getShape() returns a tuple giving the shape of the matrix. getElement The call getElement((i,j)) returns the element at row i

and column j.
setElement The call setElement((i,j), value) sets the entry at position (i, j) to value.

The rest of the methods should use those above in order to be independent

of the internal implementation of the matrix.

setElements Takes a dictionary D where the keys are tuples (i,j) and the values are numbers. For each key, it sets the element at position (i,j) to D[i,j].

SetByRows Takes a list of lists. The inner lists give values for each row, so the outer list describes the matrix. For example [[1,2], [3,4]] sets the matrix to the matrix with first row 1 2 and second row 3 4 . This method will clear the existing data and reset the shape.

For the matrix operations, we want the user to provide the target object. So, if we have A and B, the user should provide an existing matrix object C to store the result.

Thus C.add(A,B) should reset the data in C (using methods above) to the matrix sum of A and B. For simplicity, C should not be A or B. Provide methods for scalar multiplication and matrix multiplication. For example C.scalarMult(num, A) should set C to the result of multiplying A by the scalar num. For matrix multiplication, C.mult(A,B) should set C to the matrix product of A and B.

Also provide a method duplicate so that C.duplicate(A) sets C to the same mathematical matrix as A.

B. In many applications, you have huge matrices, but most of the elements of the matrix are zeros. It's inefficient to store all those zeros, it's only necessary to store the nonzero elements. Here is one approach to this idea.

Define a subclass of Matrix called SparseMatrix. In a sparse matrix, we keep track of the nonzero elements in a dictionary. The keys are tuples (i,j) giving the location of the element and the value assigned to this key gives the value of the nonzero element.

If a tuple (i,j) does not appear in the dictionary, the matrix element at that location is assumed to be zero. When creating or modifying a sparse matrix, we don't want to store zero entries.

In the class SparseMatrix override some (but as few as possible) of the parent class Matrix to make sparse matrices work anywhere you can put a Matrix.

Reference no: EM132114929

Questions Cloud

Sample mean cholesterol level for woman : If the sample mean cholesterol level for this woman after three tests is above 6.2 mmol/l, what could you conclude?
Compute the surface area and volume of a sphere : The program should prompt the user for the radius and then print out the surface area and volume.
What rainfall amount are 90% of all yearly rainfalls : Assume rainfall is normally distributed. What rainfall amount are 90% of all yearly rainfalls more than?
A functtion to translates english language text to pig latin : Write a function that translates English language text to "Pig Latin" according to the following rules for translating one word.
Define a subclass of matrix called sparsematrix : Define a subclass of Matrix called SparseMatrix. In a sparse matrix, we keep track of the nonzero elements in a dictionary.
What is the probability that it will rain on the first day : Given that there is a 21% chance it will rain on any day, what is the probability that it will rain on the first day and be clear (not rain) on the next two day
Access the appropriate list elements in order to perform : Access the appropriate list elements in order to perform the following calculation for the profit: number_sold * (price_item - cost_item).
Write a function replist that receives two input arguments : In python, write a function repList that receives two input arguments: a list and the number of times each element is to be duplicated.
Design a single cycle data path of mips processor : Design a single cycle data path of MIPS processor with specifying detailed about each of its components.

Reviews

Write a Review

Computer Engineering Questions & Answers

  Mathematics in computing

Binary search tree, and postorder and preorder traversal Determine the shortest path in Graph

  Ict governance

ICT is defined as the term of Information and communication technologies, it is diverse set of technical tools and resources used by the government agencies to communicate and produce, circulate, store, and manage all information.

  Implementation of memory management

Assignment covers the following eight topics and explore the implementation of memory management, processes and threads.

  Realize business and organizational data storage

Realize business and organizational data storage and fast access times are much more important than they have ever been. Compare and contrast magnetic tapes, magnetic disks, optical discs

  What is the protocol overhead

What are the advantages of using a compiled language over an interpreted one? Under what circumstances would you select to use an interpreted language?

  Implementation of memory management

Paper describes about memory management. How memory is used in executing programs and its critical support for applications.

  Define open and closed loop control systems

Define open and closed loop cotrol systems.Explain difference between time varying and time invariant control system wth suitable example.

  Prepare a proposal to deploy windows server

Prepare a proposal to deploy Windows Server onto an existing network based on the provided scenario.

  Security policy document project

Analyze security requirements and develop a security policy

  Write a procedure that produces independent stack objects

Write a procedure (make-stack) that produces independent stack objects, using a message-passing style, e.g.

  Define a suitable functional unit

Define a suitable functional unit for a comparative study between two different types of paint.

  Calculate yield to maturity and bond prices

Calculate yield to maturity (YTM) and bond prices

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd