Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.369.095 Times

trilin 1.0

  Date Added: June 10, 2013  |  Visits: 387

trilin

Report Broken Link
Printer Friendly Version


Product Homepage
Download (39 downloads)



If you like the idea behind MATLAB's linsolve or Tim Davis' linfactor, you might find trilin useful as well.Let's say you have a generalized least squares problem, x = C * u C = inv(N)where N = inv(A' * inv(V) * A) u = A' * inv(V) * bMatrices A and V are dense and large, and V is not diagonal. Matrix C is one of the desired final results, not just an intermediary result to obtain the vector x. Normally you'd want to use MATLAB's own lslin to solve this type of problem.Assume further the system to be sufficiently well conditioned. In this case, the method of solution based on explicit normal equations is the method of choice, specially for large problems. That's because (1) it remains well conditioned and (2) it is much faster than, e.g., QR (that would be necessary were the system poorly conditioned).This could be implemented using the backslash operator as follows: Vf = chol(V, 'lower'); Ag = Vf A; bg = Vf b; N = Ag' * Ag; u = Ag' * bg; Nf = chol(N, 'lower'); x = Nf' (Nf * u); C = Nf' (Nf * eye(size(N)));Numerical analysits, don't be alarmed! As we said above, although one could do QR as in, e.g., x = Ag bg, here we don't want to do that because size(A,1) >> size(A,2); furthermore, this is harmless under the assumption that rcond(Ag) ~ 1.Using MATLAB's linsolve, you would do: opt = struct('LT',true); optt = struct('LT',true, 'TRANSA',true); Vf = chol(V, 'lower'); Ag = linsolve(A, Vf, opt); bg = linsolve(b, Vf, opt); N = Ag' * Ag; u = Ag' * bg; Nf = chol(N, 'lower'); x = linsolve(Nf, linsolve(Nf, u, opt), optt); C = linsolve(Nf, linsolve(Nf, eye(size(N)), opt), optt);Using Tim Davis' linfactor, you could do better: opt = struct('LT',true); Vf = linfactor(Vf); Ag = linsolve(A, Vf.L, opt); % not Ag = linfactor(Vf, A); bg = linsolve(b, Vf.L, opt); % not bg = linfactor(Vf, b); N = Ag' * Ag; u = Ag' * bg; Nf = linfactor(N); x = linfactor(Nf, u); C = linfactor(Nf, eye(size(N)));Finally, using the trilin package, you would do "simply": optp = struct('type','positive-definite', 'uplow','lower'); optt = struct('type','triangular', 'uplow','lower', 'trans','no'); Vf = trifactor(V, optp); Ag = trisolve(A, Vf, optt); bg = trisolve(b, Vf, optt); N = Ag' * Ag; u = Ag' * bg; Nf = trifactor(N, optp); x = trisolve(u, Nf, optp); C = triinv(Nf, optp, true);The advantages brought by trilin are mainly due to reduced overhead. E.g., functions need not to discover the matrix structure prior to applying a solver; also the upper/lower triangular part of the Cholesky factor needs not be zeroed out explicitly; the inverse, whenever necessary, is calculated without forming an explicit identity matrix. Although inconsequential for small problems, these few-percent improvements may amount to hours of processing for very large problems that we are concerned with here.The "smoking gun" for trilin might be in the estimation of condition numbers. With trilin you'd do simply: Vc = tricond (norm(V,1), Vf, optp); Nc = tricond (norm(N,1), Nf, optp);MATLAB instead would recompute the matrix factorizations Vf, Nf; moreover, it'd not exploit the strucut of V,N. (As per documentation for rcond, it computes an LU factorization of a general matrix, followed by estimation of the condition number of a general matrix.) So think of trilin as a shortcut when you already have the factorizations precomputed, with the additional benefit of using the best estimation algorithm, given the general, positive-definite, symmetric, or triangular matrix at hand.LAPACK routines are called internally, facilitated by Tim Toolan's excellent package (slightly modified). In a sense, trilin is "just" a wrapper around the functionality already present in LAPACK (not unlike MATLAB itself in its beginning). A helpful and non-trivial one, though -- calling LAPACK directly often feels like walking on eggs, segfaults always lurking around the corner.Complex data is not supported currently.LAPACK's support for symmetric non postive definite matrices is exposed.In total, the following matrix structures are supported: diagonal, triangular, symmetric, positive-definite, general.Sparse data has poor support, meaning it won't break but there will be a performance penalty -- contributions welcome.It comes with an extensive test suite.To install it, unzip the file contents to, e.g., c:workfxtrilin, then do: addpath(genpath('c:workfxtrilin')) lapack test_trilinwhere the first line is NOT to be confused with addpath(genpath('c:workfxtrilintrilin')) % WRONG!

Requirements: No special requirements
Platforms: Matlab
Keyword: Computes Documentation Factorization Factorizations General Number Rcond
Users rating: 0/10

License: Shareware Size: 92.16 KB
USER REVIEWS
More Reviews or Write Review


TRILIN RELATED
Education  -  PARI/GP 2. 3. 2004
PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical...
7 MB  
Programming  -  c++-gtk-utils for Linux 2.0.0 RC1
c++-gtk-utils is a lightweight library containing a number of classes and functions for programming GTK+ programs using C++ in POSIX (unix-like) environments, where the user does not want to use a full-on wrapper such as gtkmm or wxWidgets, or is...
1.78 MB  
Development Tools  -  Real-time DAQ and sound card visualization 1.0
Matlab code to read analog signal coming from a daq or from your sound card. This code allows to display the data in real-time or when the acquisition finished.The real-time visualization method is better for monitoring.The non real-time...
10 KB  
Libraries  -  Mail::Abuse 1.025
Mail::Abuse is a Perl module that helps parse and respond to miscellaneous abuse complaints. SYNOPSIS use Mail::Abuse; This module and the accompaining software can be used to automatically parse and respond to various formats of abuse...
92.16 KB  
Arcade Style Games  -  Brave Dwarves 2 1.0
Your ingenuity and dwarves' courage will make this quest easy as a game. But how many amazing hours will it give to you and your friends! Features of the full version: Number of unique items 20 + 12 artefacts Number of unique weapons 12 items...
4.8 MB  
Arcade Style Games  -  Brave Dwarves 2 Gold 1.22
Charming challenge for two brave dwarves - Frederik and Thorvald! Happy years are gone without notice. Grateful people of the DreamLand have composed many songs and tales about the dwarves' adventures. Many sumptuous feasts were made up. But the...
4.69 MB  
Libraries  -  Mail::Addressbook::Convert 1.1
Mail::Addressbook::Convert is a Perl module that can convert to and from many e-mail addressbooks. SYNOPSIS These modules allow to to convert between the following e-mail addressbook formats From To csv csv ( Note: MS Outlook. Outlook Express...
30.72 KB  
Development Tools  -  rand_extended computes a random number in the interval [a,b] 1.0
rand_extended computes a random number in the interval [a,b]It is basically an extended version of the command randInputs: a: the lower bound of the interval b: the upper bound of the interval m,n(optional): dimensions of the matrix of random...
10 KB  
Education  -  MB Inner Dreams Number 1.70
MB Free Inner Dreams Number Software is a highly informative and user-friendly software which gives you valuable information about your outer self, your appearance and how others tend to see you in general. These are the general aspects of your...
1.16 MB  
Snippets  -  Vechicle VIN number check digit calculator 1.0
Vechicle VIN number check digit calculator - Put in a 17 digit VIN number and it tells you if the check digit computes or not.
 
NEW DOWNLOADS IN SCRIPTS, DEVELOPMENT TOOLS
Scripts  -  Freelancer Script 5.05
Main Features: 100% Secured. Email Support (3 Years). FREE Updates (3 Years). Post projects. Featured projects. Private projects. Sealed projects. Edit/delete projects. Select freelancers....
5.49 MB  
Scripts  -  B2B Script 4.20
Main Features: 100% Secured. Email Support (3 Years). FREE Updates (3 Years). Sign-up Account (Registration of account). Lead generation tools (for the sellers). Email verification to...
5.49 MB  
Scripts  -  B2C Script 5.06
Main Features: 100% Secured. Email Support (3 Years). FREE Updates (3 Years). The script comes with totally editable site colors, icons and graphics Multilevel categories allows extensive browsing Admin can change Category ordering or...
5.49 MB  
Scripts  -  Social Networking Script 2.86
Main Features: 100% Secured. Email Support (3 Years). FREE Updates (3 Years). Registration with name, email, password, date of birth etc. User can add multiple school, college, university with start...
5.49 MB  
Scripts  -  Business Networking Script 8.04
Main Features: 100% Secured. Email Support (3 Years). FREE Updates (3 Years). Ajax based interface. Profile creation. Different types of profile. Profile for jobseekers, employers and employed...
5.49 MB  
Development Tools  -  Aml2CHM 3.50
Those who use the popular Aml Pages text editor might be looking out for a way of generating help files from their text and notes. Aml2CHM is a plug-in that was developed to offer people a quick and efficient way of converting Aml Pages documents...
549.99 KB  
Development Tools  -  VMP Viewer 1.0
This is a very rudimentary tool to visualize the VMP files generated by BrainVoyager. Useful to share files with people who do not have BV.
10 KB  
Development Tools  -  Sending reports and timestamped file by emailing 1.0
main executing reference usage:[1] usage_send_mail.mIllustrates email sending with multiple separate files or single timestamped tar file. Attachment failure is properly handled, with continuation of report emailing without the attachment.[2]...
768 KB  
Development Tools  -  IrisMVC 2.0 rc1
IrisMVC is an OOP PHP framework that developers can use as a strong and secure foundation to build on various web applications following the Model-View-Controller (MVC) pattern. It provides the basic functionality developers need, without...
51.2 KB  
Development Tools  -  7-Zip for Script 4.42
7-Zip is a file archiver with a high compression ratio.Features:- High compression ratio in new 7z format with LZMA compression- Supported formats:- Packing / unpacking: 7z, ZIP, GZIP, BZIP2 and TAR- Unpacking only: RAR, CAB, ISO, ARJ, LZH, CHM,...
624.64 KB