linear-algebra


Numerical Economic Computability Algorithm


I know these types of questions are discouraged as being subjective but after receiving a number of 'less than helpful' answers to my more specific version of this question, I would like to try again. My problem is an 'economic computability' problem that involves solving a massive sparse system of linear equations using a numerical/iterative approximation algorithm. Specifically, an input-output table which computes the amount of work/labor put into each individual good and service in the economy(fully disaggregated) in terms of the amount of hours of labor each one takes to produce. Since each commodity only has a few, at most hundreds of other commodities as inputs, the matrix is likely to be sparse. In a small modern economy, there is likely to be more than 10 million+ individual goods and services, for a larger one there is likely to be hundreds of millions. A better description:
The input–output table for an economy is in practice likely to be mostly blanks. In reality each product has on average only a few tens or at most hundreds of inputs to its production rather than a million. This makes it more economical to represent the system in terms of a vector of lists rather than a matrix. In consequence, there are short-cuts which can be taken to arrive at a result. We can use another approach, that of successive approximation.The idea here is that as a first approximation we ignore all inputs to the production process apart from directly expended labour. This gives us a first, approximate estimate of each product’s labour value. It will be an underestimate because it ignores the non-labour inputs to the production process. To arrive at our second approximation we add in the non-labour inputs valued on the basis of the labour values computed in the first phase. This will get us one step closer to the true labour values. Repeated application of this process will give us the answer to the desired degree of accuracy. If about half the value of an average product is derived from direct labour inputs then each iteration round our approximation process will add one binary digit of significance to our answer. An answer correct to four significant decimal digits (which is better than the market can achieve) would require about 15 iterations round our approximation process.
The time order complexity of this algorithm is proportional to the number of products times the average number of inputs per product, times the desired accuracy of the result in digits. On our previous assumptions this could be computed on a supercomputer in a few minutes, rather than the thousands of years required for Gaussian elimination(8).
(8)Hodgson (1984, p. 170) states that the best method for solving an input–output table involves n^2 calculations. While he doesn’t give any explanation for this claim, we assume that he must be recognizing the use of an iterative technique (or else the complexity would be n^3), but he fails to recognise that the technical coefficient matrix would be sparse. A better use of data structures reduces the complexity substantially, as argued above.
My questions would be:
-Is this even possible?
-Is there a better, more accurate, or more tractable algorithm than the one described above?
-What is the best language/library for doing this sort of thing?
Thanks
Your problem, as it is formulated, sounds like a whole research and development project. Unless more details of the matrix you are dealing with are provided, it is unlikely that you obtain a concrete answer: which sparse linear solver to use. Here is some information you can start from.
Yes, it is possible to solve systems of millions linear algebraic equations with sparse matrices, using just an ordinary PC. Software that can handle such problems does exist.
You will definitely need to use a program based on an iterative approach. This is because a direct algorithm (Gauss/LU-fact/Cholesky, etc.) would require enormous amounts of RAM, which is not available on an ordinary PC; and data exchange with the hard drive would be inappropriately slow.
Efficient algorithms can only be implemented using a language that allows arithmetic and memory operations "down to the core". C is the language of choice.
As an example of such program, I suggest that you consider a product described in the following webpage:
http://members.ozemail.com.au/~comecau/CMA_Sparse.htm

Related Links

Matrix Division
How to represent a bus ride in linear programming?
Matlab : How do I ensure that the covariance matrix is positive definite when using Kalman Filter
Computing singular values vs eigenvalues when you have the choice
Solving of a linear system with parameters
Upper Division Linear Algebra
positive solutions to a homogeneous linear system
Use LispLab within AutoCAD
Eigenvalues of large symmetric matrices
Eigen - directly compute log determinant of huge sparse matrix
Calculating the coefficients of a separable state
When to use eigen and when to use Blas
Numerical Economic Computability Algorithm
Index of a maximum element in TensorFlow tensor
Efficiently multiplying matrix with transpose using cuBlas
Linear Algebra Derivation in Gertler-Karadi (2015) AEJ

Categories

HOME
oracle12c
nunit
jax-rs
jwplayer
composite-primary-key
parameters
tail
computer-science
spin
arangodb
syntaxnet
rtf
php-5.6
speech-synthesis
magnetic-cards
gruntfile
modbus-tcp
aws-sdk
imessage
google-container-registry
guzzle
babel
cgbitmapcontext
question2answer
named-entity-recognition
windows-server-2003
syntax-highlighting
bulletphysics
corpus
appirater
8051
wcag
spotipy
magento-1.8
playstation-portable
autolisp
hibernate-search
sharding
yowsup
reactivekit
dcmtk
preloader
dapper-simplecrud
x++
gitlist
context-sensitive-grammar
modelsim
android-testing
jqchart
monkey
reporting-services-2012
segment-io
udpclient
jtwig
cassia
lua-telegram-bot
nupic
grass
linklabel
dllimport
fiware-monitoring
extjs-grid
node-serialport
iiop
post-commit-hook
easyrtc
spy++
rmysql
trdion2011
named-parameters
file-not-found
fpdi
amslidemenu
hidapi
beaker-testing
intersect
uimanageddocument
adobe-media-server
azman
ikimagebrowserview
codebase
collectionviewsource
presentation-layer
facebook-iframe
folding

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App