Fractals can be represented by means of L-systems (Development Grammars), together with a graphic interpretation. Two families of graphic interpretations have been used: turtle graphics and vector graphics. This paper describes an APL2/PC system able to draw fractals represented by L-systems, with both graphic interpretations. A theorem is proved on the equivalence conditions for both interpretations. Another point shown is the fact that supposed deficiencies in L-systems that have prompted proposals of extensions are really deficiencies in the graphic translation scheme.
Economic forecasting is of great importance when some economic mechanism is changed rapidly as in Russia nowadays. Any economic system is a deterministic/stochastic entity of great complexity. Because of this, informative models which offer the interplay of the most sigfnificant factors are inadequate to satisfactory long-term forecasting. The paper describes a forecasting procedure based upon the joint use of formalized method (numerical simulation) and adaptive method (simulation with neural network) when the model structure is formed by incoming information. Combination of forecasts selected by experts allows to make the most likely forecast from the fan of probable tracks. APL-implementation of this procedure has been used for forecasting of municipal expenditures and has given the high economic effect. APL code for the paper.
Andymmo stands for An_imation of dy_namics of m_echanical mo_dels. Its a German acronym, I hope the translation to English is not too bad.
Andymmo is a workspace for easily and quickly creating 2-d animations for data which comes from simulations. Simulation data may be created by a build in modul or from other simulation tools like matlab, simulink or others which create ASCCI files. The movements of graphical objects are generated by coordinate transformations. Creation of graphical objects is done by a graphics editor. Additionaly and in parallel to animation of the objects the function curves of the simulation results are displayed. This feature allows comparison between animation and traditional data plots. The workspace is developed under APL2/6000. A migration to APL2/2 is planned.
APL and J are seldom, if ever, used in the teaching of college or university courses. As a result, students rarely experience the benefits of learning and using these languages which are well known to expert practioners of APL and J. One outcome of this alarming fact is that APL and J are destined to be nothing more than, perhaps, obscure languages used only by a small number of experts in a few selected fields. Since few new people are being trained, uses of APL and J may cease completely because companies cannot afford the risk of systems based on a technology which has no skilled labor force.
Recently, the author has developed a new laboratory based computer science course for liberal arts students in which students are introduced to 13 core computer science topics. Programming language is used in an expository fashion to describe each topic by building simple working models of each topic. These models are then used as the basis of laboratory experiments in a co-requisite laboratory course. Students are not taught programming in this course, but rather, are taught just enough of the syntax and semantics of the language to be able to read and understand the exposition and models. Initially, Scheme was used in the lecture notes and laboratory materials developed for this course. Recently, however, an experiment is under way to replace the use of Scheme in this course by J. The development of this course and laboratory was funded by the Meadows Foundation and NSF grant DUE 9452050.
Abstract This paper is to touch the lack of mechanism to pass arguments back from defined functions other than return values if return values are already used as error codes, especially for functions working as call-backs to the events of GUI objects. This paper also proposes a solution to utilize Call-by-Reference mechanism of function arguments passing, in addition to return values of defined function, to pass results of defined functions back to calling functions. The programming environment is in Dyalog APL/W 7.1.2. This interpreter is robust itself and is feature-rich in terms of the integration with MS Windows environment.
This paper starts with a description of problems encountered when programming in GUI environment with call-back functions as well as the difference of programming style among procedural programming and event-driven in design program running flow. Secondly, this paper presents a brief description of two different mechanisms to pass arguments into and out from defined functions. Thirdly, this paper presents a design solution to the problems based on the mechanisms described in second part. Last, a conclusion and potential pitfalls are explained. All code segments demonstrated here are implemented in Dyalog APL/W 7.1.2.
This paper uses J to illustrate the meaning of the derived function or a derivative which is a fundamental concept in the study of calculus. To make the idea more understandable we can demonstrate the notion using visual representations. First fill polygons and consider them as graphic objects. Then present them at successive intervals along the curve. Next, rotate each polygon by an angle obtained from the derivative. This will cause the object to appear to turn in as it appears to move along the curve. Using animation techniques of drawing and erasing the figure, it will appear to move appropriately along the curve. When the derivative is incorrect, the figure will appear to spin aimlessly along the curve. Hopefully this aspect of the slope of the curve will motivate and enliven the study of the derivative. In addition, it may provide an interesting twist to a study of animation.
Human economic decisions are characterized by a number of factors which make them difficult to model with standard mathematical tools. Decisions can be more easily described by a set of rules, and some of them may be rules of thumb. Economic behaviour is adaptive, in that people are able to adjust to a changing environment. It is argued in this paper that the classifier system framework is a suitable means of modeling human economic decisions. A case of a simple economic decision of finding an optimal price is discussed, which is later made more complex by introducing an input variable that affects the optimal price. It is shown that classifier systems can be used in both tasks, and their performance is compared to human decisions in the same set of circumstances.
The power of APL2 was applied to design and prototype a wide area differential GPS system in a matter of months. This system is designed to have all the capabilities of the GPS control segment, but with dramatically more accurate geolocation estimates for civilian users. The prototype was implemented on a single workstation and demonstrated in real time with live GPS satellite signals.
An APL2 simulation of the main elements of the system was created in two labor months. This included precise simulation of satellite orbits, sensor measurements and the random walk of atomic clocks, as well as measurement processing and state estimation. A full APL simulation, including user algorithms, was completed in two more labor months. Then the simulation was evolved to process recorded GPS satellite measurements instead of simulated measurements. Particularly complex processing of the actual measurements was found necessary. This evolution was completed in less than three months.
An effective graphical demonstration using AP207 was created on a laptop computer for marketing the system to potential customers in the international market. Real-time processing of measurements simultaneously gathered from five GPS receivers was achieved, demonstrating user location accuracy of a very few meters.
The cross-tabulation technique is a common tool for data analysis and other statistical purposes. But when the datasets are large the standard software such as spreadsheet programs cannot process all the data or the database programs are too slow. It is therefore necessary to offer efficient APL programs which are well designed for cross-tabulations. There are various algorithms in APL but which ones are appropriate for such tasks?
Statistical science is the most subject worth to learn for any fields of reseachers and students. Statistical method,in short,is to abstruct the essential information from observed data. Especially,selection of moderate MODEL is the most important. We introduce the most powerful tool, so-called Akaike Information Criterion (AIC) and present some programs by J which is extensively useful to analyze the real data.
Linear Mathematics is one of the most fundamental tools for various fields of students. Mastering it, however, can hardly not in a short period of time. There are many concepts which is hard to understand. For example, linear independence of vectors, dimension of linear spaces, kernel and rank of linear mapping, eigenvalue problem, and so on.
J-language is as convenient as APL to calculate any kind of liner mathematics.We present typical programs of CAI for teaching linear mathematics.
The least-action principle, one of the fundaments of Physics, has never been given a definition for computer science. APL is the best notation to try to reformulate it in modern terms.
At the Technical University of Denmark APL2 has often been used in a credit course. The objective of the course exercise has been to analyse the vocalisations of Sperm Whales. In January 1996 the course was run again, this time using the IBM SP/2 supercomputer to solve the problem. An additional objective in this course was to utilize the possibilities of this powerful parallel computer.
During the three weeks of the course the students learned the APL language, solved a nontrivial problem, used a very powerful computer for the solution and wrote a detailed report.
Parity logic is a new methodology for scientific modeling from scratch and emerged from intensive computational investigations in experimental algorithmics and algorithmic compressions due to the French physicist Gérard A. Langlet.
The name parity logic was coined by the author in view of the fact that it is based on the parity function p in binary algebra, where p is represented by the eXclusive-OR function (Unequal) and its generalization to two monadic operators, called the binary scalar integral (Unequal-Reduction) and the binary vector integral (Unequal-Scan). Together, these concepts constitute the mathematical foundations of parity logic. The paper provides a survey of the logical calculus regarding XOR, and several distinguished fields of application, in particular binary signal analysis, ecological physics and intrinsic measurement bases, parity feedback machines for generating genitons, paritons, and fanions, and finally a new approach to evolutionary computation with Unequal-Scan viz. parity integration as its main operator, thereby providing algorithmic compressions of genetic algorithms. Further perspectives regarding the scope of parity logic are summarized in conclusion.
The paper describes application oriented approach to genetic algorithms technique. The software implemented in APL2 with exploiting benefits of user defined operators and separating of general purpose and problem specific code. The paper present result of genetic algorithms application to solve real life problem of simulation and prediction input stream of orders to large consulting and service company. In the complete variant of the paper implementation of GUI interface to genetic algorithm software in APL2 for OS/2 is described.
Abstract: In the past, individual portfolios were managed by investment advisors where management fees and broker commissions where charged separately. Today, many individual accounts are billed using a wrap fee system which combines transaction costs and management fees; however, the total fees are based on the market value of each account.
In PORTVUE, an APL-based portfolio management system, each account is assigned a fee schedule, which is basically an APL function which calculates the annual fees from the accounts current market value. Although the existing system was written in APL, an extensive redesign was undertaken to handle the proliferation of fee schedule functions used in the billing of wrap accounts. This paper shows how using APLs array-handling capabilities in conjunction with relational database design resulted in a more efficient and user-friendly billing system.
In order to avoid this, the author of a utility function must make an extra effort to ensure that his function is designed properly.
APL is easy to learn because its primitives behave consistently, work on arrays as well as scalars, can handle edge conditions, often use default values, and are totally encapsulated from the user. We can learn from this by designing utility functions in the same way, allowing them to become an extension of APL and its set of primitives. This workshop will show some design techniques and examples. Attendees will be encouraged to bring in their own examples.
Joint Deterministic/Adaptive Method for Economic Forecasting
Andymmo (An_imation of dy_namics of m_echanical mo_dels)
Using J as an Expository Language in the Teaching of Computer Science to Liberal Arts Students
A Proposal For Calling Conventions For APL Defined Functions In GUI Environment Provided By Dyadic APL/W 7.1.2
The Derivative is for Dancing
Classifier Systems and Economic Modeling
Real-time APL Prototype of a Wide Area Differential GPS* System
User Interfaces with Object-Oriented Programming in APL2
New Look of Statistical Analysis using J-language
CAI with J language for teaching linear Mathematics
The Least-Action Principle (LAP) in APL
The Song of the Whale
Studies in the Foundations of Parity Logic
Genetic Algorithms: APL2 Implementation and Real Life Applications
Using APL to Redesign a Portfolio Management Billing System
Workshop How to Write an APL Utility Function